淺析深度學習mini_batch的BP反傳算法

       在深度學習中,如果我們已經定義了網絡,輸入,以及輸出,那麼接下來就是損失函數,優化策略,以及一般由框架完成的BP反傳。這篇博文我們主要探討一下深度的BP反傳算法(以梯度下降爲例),尤其是mini_batch的BP反傳,目標是如何更新網絡的參數:權重和偏置。

       首先,我們來看網絡中基本參數的一些定義。




       使用梯度下降法,一般計算所有樣本的損失函數的平均值,進而計算梯度方向。但是,當樣本n特別多的時候,計算會比較困難。因此,提出了隨機梯度下降的方法,即我們從樣本集中隨機抽取m個樣本,其計算的平均梯度近似於通過全部樣本計算的平均梯度。




        當m=1時,SGD算法如下:




       當m=k時,mini_batch算法如下:




       通過對比m=1和m=k算法流程,我們發現,mini_batch方法的梯度是由mini_batch裏的樣本共同決定(平均值),計算出來的梯度一般比k=1的時候準確。

       關於算法中的公式,我們通過以下方法進行推導:




參考資料:http://neuralnetworksanddeeplearning.com/index.html

發佈了76 篇原創文章 · 獲贊 226 · 訪問量 88萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章