神經網絡訓練方法(pytorch)

神經網絡訓練方法

以下內容是根據torch官網和莫煩python學習所得

SGD隨機梯度下降

假設樣本數量爲NN,關於梯度下降,最重要的就是損失函數最小化,其中權WW的更新方式爲
W=Wλ1Mi=1ML(xi)W(1) W = W - \lambda * \frac{1}{M}\sum_{i=1}^M\frac{\partial{L(x_i)}}{\partial{W}} \tag{1}
按照MM的不同,可分爲三種情況:

  • batch梯度下降(batch gradient descent, BGD)

    M=NM = N,即所有樣本都參與權的更新,計算量最大,下降趨勢比較平滑

  • mini-batch梯度下降

    1<M<N1<M<N,隨機選擇MM個樣本作爲代表,快速下降後波動

  • 隨機梯度下降(stochastic gradient descent, SGD)

    N=1N = 1,每次隨機選擇1個作爲代表參與計算,快速下降後趨於平穩

下面幾個看網址吧 https://blog.csdn.net/u014595019/article/details/52989301?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

Momentum 更新

AdaGrand更新

RMSProp更新

Adam更新

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