深度學習中的部分常見問題

(1)爲什麼算法有時候會陷入局部最優?

通常情況下,目標函數是權值的複雜的非線性函數,往往存在多個局部極小點。梯度下降法如果收斂到一個局部極小值點,梯度就等於或接近於0,無法進一步改進目標函數,導致學習過程無法收斂到全局最優解。

(2)如何選擇合適的初始權值?

BP算法的最終收斂結果有時受初始權值的影響很大。各個初始權值不能爲0,也不能都相同,而是應該採用較小的隨機數。在實驗應用中,如果算法很難收斂,可以嘗試改變初值。

(3)如何選擇學習率?

如果學習率太大,可能剛開始收斂速度比較快,但很容易出現震盪而不能收斂或收斂很慢;如果學習率太小,則權值調整會比較慢,導致算法收斂太慢,容易陷入局部極小。

爲了兼顧訓練過程和訓練精度,有時採用變學習率的辦法,開始時採用較大的學習率,隨着學習的進行逐漸減小學習率。

(4)過擬合和欠擬合:

過擬合:過強的學習能力可能導致神經網絡的推廣能力弱,即雖然訓練誤差很快收斂到很小,但是在新的獨立樣本上的測試誤差卻很大,這種情況稱作過擬合;

欠擬合:如果隱層節點數量過少,則神經網絡的能力就越小,無法構造複雜的非線性分類面,對於複雜的數據很難得到小的訓練誤差,在測試樣本上也無法得到滿意的表現。這種情況稱作欠擬合。

(5)CNN 在進行卷積操作的計算:

(1)進行卷積操作時,採用向下取整策略。(即:9/2=4)

(2)卷積時的參數量和連接量:

參數量:PCN=前一層的 channel *(核寬度^2)*本次卷積核數量

如果有偏置,PBN=本次卷積核的數量;

總的參數量:PN=PCN+PBN

連接量:CN=PN*卷積後特徵層寬度^2

(3)池化時的參數量和計算量:

(如果是參數池化)參數量:特徵的 channel 數量*(池化參數量+1)

(如果是最大池化,則池化層沒有參數。)連接量:特徵的 channel 數量*(池化核寬度^2,如果存在偏置,則+1)*池化後特徵層

寬度^2

(4)全連接時的參數量和計算量:

1)卷積層-全連接層:

參數量:FCN=卷積層的 channel *卷積層寬度^2*全連接層單元數

如果有偏置:FBN=全連接層單元數

總的參數量:FN=FCN+FBN

連接量:FN

2)全連接層 P-全連接層 B

參數量:FFN=P 的單元個數*B 的單元個數;

如果有偏置:FBN=B 的單元個數;

總的參數量:FN=FFN+FBN

連接量:FN

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章