深度學習-超參數調整總結

在深度神經網絡中,超參數的調整是一項必備技能,通過觀察在訓練過程中的監測指標如損失loss和準確率來判斷當前模型處於什麼樣的訓練狀態,及時調整超參數以更科學地訓練模型能夠提高資源利用率。在本研究中使用了以下超參數,下面將分別介紹並總結了不同超參數的調整規則。

 

(1)學習率

學習率(learning rate或作lr)是指在優化算法中更新網絡權重的幅度大小。學習率可以是恆定的、逐漸降低的,基於動量的或者是自適應的。不同的優化算法決定不同的學習率。當學習率過大則可能導致模型不收斂,損失loss不斷上下震盪;學習率過小則導致模型收斂速度偏慢,需要更長的時間訓練。通常lr取值爲[0.01,0.001,0.0001]

(2)批次大小batch_size

批次大小是每一次訓練神經網絡送入模型的樣本數,在卷積神經網絡中,大批次通常可使網絡更快收斂,但由於內存資源的限制,批次過大可能會導致內存不夠用或程序內核崩潰。bath_size通常取值爲[16,32,64,128]

(3)優化器optimizer

目前Adam是快速收斂且常被使用的優化器。隨機梯度下降(SGD)雖然收斂偏慢,但是加入動量Momentum可加快收斂,同時帶動量的隨機梯度下降算法有更好的最優解,即模型收斂後會有更高的準確性。通常若追求速度則用Adam更多。

(4)迭代次數

迭代次數是指整個訓練集輸入到神經網絡進行訓練的次數,當測試錯誤率和訓練錯誤率相差較小時,可認爲當前迭代次數合適;當測試錯誤率先變小後變大時則說明迭代次數過大了,需要減小迭代次數,否則容易出現過擬合。

(5)激活函數

在神經網絡中,激活函數不是真的去激活什麼,而是用激活函數給神經網絡加入一些非線性因素,使得網絡可以更好地解決較爲複雜的問題。比如有些問題是線性可分的,而現實場景中更多問題不是線性可分的,若不使用激活函數則難以擬合非線性問題,測試時會有低準確率。所以激活函數主要是非線性的,如sigmoid、tanh、relu。sigmoid函數通常用於二分類,但要防止梯度消失,故適合淺層神經網絡且需要配備較小的初始化權重,tanh函數具有中心對稱性,適合於有對稱性的二分類。在深度學習中,relu是使用最多的激活函數,簡單又避免了梯度消失。

 

 

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