訓練神經網路注意項

2021-09-29 15:05:11 字數 504 閱讀 9442

一.batchsize相關

1、batchsize並非越大越好,極限自然是訓練樣本總數。但是gd(gradient descent)的效果很差(建議使用sgd),容易陷入到區域性極小值或鞍點。

2、batchsize選取,以128作為分水嶺,向下*0.5,向上*2。訓練後比較測試結果,然後重複,直到效果不再提公升。

3、對於一階梯度下降法,如sgd,adagrad,adam等,建議較小的batchsize(幾十或幾百)。而二階優化演算法,如共軛梯度,l-bfgs,建議大batchsize(幾千甚至上萬)。

4、有人提出gpu對於2次冪的batchsize比整數倍的更有效果,如2,4,8,16...

5、lecun表示對大於32的batchsize不太喜歡,來自於他讀完《revisiting small batch training for deep neural networks》**的感想(有待考證)。該**指出,2~32之間的batchsize的效果最好。與第3條矛盾,歡迎實踐證明。本人平時訓練,基本32或64。

神經網路訓練

學習了bp神經網路演算法,剛開始最終要的一點不明白的就是前一層和後一層 這裡指的只有三層,輸入層,隱藏層,輸出層 的權重,其實神經網路演算法中,前一層的每乙個節點和後一層的每乙個節點都有連線權重,初始權重是隨機的。而更新權重是通過輸出層的值來反向更新的。基本過程如下 1.輸入第乙個訓練樣本 對應的就...

神經網路訓練技巧

1 學習速率。首先設學習速率為乙個較大的值,確保training cost在不斷下降。當accuracyy在n個epoch內不再增加時,使得學習速率減小一半。重複迭代,直到學習速率變成原來的1 1024。2 學習速率要根據訓練cost調。但是網路層數和神經元數目,mini batch size要根據...

神經網路的訓練

既然我們希望網路的輸出盡可能的接近真正想要 的值。那麼就可以通過比較當前網路的 值和我們真正想要的目標值,再根據兩者的差異情況來更新每一層的權重矩陣 比如,如果網路的 值高了,就調整權重讓它 低一些,不斷調整,直到能夠 出目標值 因此就需要先定義 如何比較 值和目標值的差異 這便是損失函式或目標函式...