Tensorflow2.1基礎知識---神經網絡參數優化器

  1. 什麼是優化器?
    優化器,就是神經網絡進行反向傳播的時候,用於更新參數的策略,也就是梯度下降的算法。
  2. 優化器更新參數的步驟(4步):
    a. 計算t時刻損失函數關於當前參數的梯度:g_t= ∆loss= ∂loss/(∂(w_t))
    b. 計算t時刻一階動量m_t 和二階動量V_t (一階動量:與梯度相關的函數 二階動量:與梯度平方相關的函數)
    c. 計算t時刻下降梯度:μ_t=lr∗ m_t⁄√(V_t )
    d. 計算t+1時刻參數:w_(t+1)= w_t− μ_t= w_t−lr∗ m_t⁄√(V_t )
  3. 優化器的種類(不同優化器就是一階動量和二階動量的定義不同):
    a. SGD(Stochastic Gradient Descent)(無momentum)最常用的梯度下降算法
    在這裏插入圖片描述
    b. SGDM(含momentum的SGD),在SGD基礎上增加一階動量
    在這裏插入圖片描述
    c. Adagrad,在SGD的基礎上增加二階動量
    在這裏插入圖片描述
    d. RMSProp,在SGD的基礎上增加二階動量
    在這裏插入圖片描述
    e. Adam,結合了SGDM一階動量和RMSProp二階動量
    在這裏插入圖片描述
  4. 不同優化器的對比比較(比較的結果是對鳶尾花分類基礎上分類利用不同的優化器得到的結果)
    在這裏插入圖片描述
下面的是筆者的微信公衆號,歡迎關注,會持續更新c++、python、tensorflow、機器學習、深度學習等系列文章

                    在這裏插入圖片描述

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