關於深度學習的幾個問題(一)

2021-09-10 13:13:37 字數 1256 閱讀 6632

1.關於deep learning(主要指cnn)調參的經驗?

解析:深度學習整體上是越來越成熟的,不管是框架還是卷積神經網路,關於每個網路初始化引數和超引數的配置雖然有區別,但相似點似乎更多。

1)啟用函式,首選relu。

2)dropout 。這個從alexnet延續至今,理由很簡單可有效防止過擬合。不宜設定過大,太大的話容易造成網路的不收斂。一般設定0.5。

3)資料預處理,做shuffle 和augmentation。shuffle的最大作用我認為是打亂樣本順序,繞開區域性最優解,隨機化了梯度下降。augmentation基於資料,可以的話還是有必要擴大資料集的(opencv就可以的,如果資料實在很棒可以上gan試試)

4)降學習率。fine-tuning的時候也要根據網路設定合適的學習率。一般學習率越小越好。

5)看日誌。tensorflow可以通過檢視tensorboard(埠預設6006),caffe可以解析log日誌,畫圖檢視學習率\迭代次數、loss的關係。至於pytorch可以用visdom 。

6)batchsize。batchsize的話看機器設定,通常設定為2的n次冪。機器允許的情況設定值盡量大。

7)減mean。

8)batchnormalize。批規範化,bn本質上解決的是反向傳播過程中的梯度問題,為了防止梯度瀰散。可嘗試用來解決梯度**問題。

2.lstm為什麼比rnn好?

解析:因為lstm有進有出且當前的cell informaton是通過input gate控制之後疊加的,rnn是疊乘,因此lstm可以防止梯度消失或者**。

3.關於cnn中啟用函式?

解析:主要使用的relu,tanh,sigmoid。巴拉巴拉看鏈結。

人工智慧的概念太大了,不發表意見。

機器學習演算法主要包括:分類、回歸、聚類、推薦等等。這裡面又有很多經典的演算法,比如貝葉斯演算法,svm,決策樹,隨機森林等等。

深度學習目前主要應用比較成功的領域主要有:影象識別、語音識別和自然語言處理(nlp)。我主要做影象這塊,這塊目前主要涉及影象目標檢測、目標識別、影象語義分割。影象目標檢測主要分為one-step(ssd\yolo系列)和two-step(faster-rcnn)。影象語義分割主要演算法有mask-rcnn、deeplab系列。建議以上涉及演算法詳細看看(強化學習和遷移學習並列與深度學習,也可了解一下)。

5.什麼情況下不建議使用深度學習?

1)資料集太小,資料集太小的話,深度學習相對其它機器學習演算法,沒有明顯優勢。

2)資料集沒有區域性相關特性。如影象的資料格式和語音的資料格式就不一樣。

關於深度學習的幾個問題

機器學習 監督學習 有資料有標籤的 非監督學習 只有資料,沒有標籤。半監督學習 用少量有標籤樣本和大量沒標籤樣本 強化學習 從經驗中總結提公升 遺傳演算法 適者生存,不適者淘汰。神經網路 卷積神經網路nn 迴圈神經網路rnn,lstm 長短期記憶,最流行的rnn技術之一。自編碼autoencodin...

關於FPGA學習的幾個問題

如何學好fpga呢,很多人很困惑,多數停留在基礎位置徘徊,我就這方面問題給大家談幾點自己的看法。1.基礎問題 fpga的基礎就是數位電路和hdl語言,想學好fpga的人,建議床頭都有一本數位電路的書,不管是那個版本的,這個是基礎,多了解也有助於形成硬體設計的思想。在語言方面,建議初學者學習veril...

關於FPGA學習的幾個問題

關於fpga學習的幾個問題 如何學好fpga呢,很多人很困惑,多數停留在基礎位置徘徊,我就這方面問題給大家談幾點自己的看法。1.基礎問題 fpga的基礎就是數位電路和hdl語言,想學好fpga的人,建議床頭都有一本數位電路的書,不管是那個版本的,這個是基礎,多了解也有助於形成硬體設計的思想。在語言方...