iT邦幫忙

2022 iThome 鐵人賽

DAY 7
0
AI & Data

上課了!李宏毅老師 機器學習 (2021)系列 第 7

類神經網路訓練不起來怎麼辦 之三:自動調整學習速率

  • 分享至 

  • xImage
  •  

當在訓練模型時,損失(Loss)不再下降的時候,可以確認梯度(gradient)的大小。如果梯度是很小的,那可以判斷該點是在奇點(critical point)上。但也有可能發現在該點的梯度還很大,那就表示該點的損失下不去不是因為在奇點,而是因為其他原因。大多數模型訓練的損失下不去是還沒有走到奇點就卡住了。這根學習速率(learning rate)有關,也就是說,只靠「固定的學習速率」是不夠的。

調整學習速率的大原則是:當較為平坦(梯度較小),學習速率要調的大一點。而當較為陡峭的時候,學習速率要調的小一點。

這邊介紹三種學習速率調整的方法。分別是 Adagrad, RMSPro, 以及 Adam。

  1. Adagrad

參數最佳化的策略為

https://chart.googleapis.com/chart?cht=tx&chl=%5Cdisplaystyle%20%5Cmathbf%7B%5Ctheta%7D_%7Bi%7D%5E%7Bt%2B1%7D%20%5Cleftarrow%20%5Cmathbf%7B%5Ctheta%7D_%7Bi%7D%5E%7Bt%7D%20-%20%5Cfrac%7B%5Ceta%7D%7B%5Csigma_%7Bi%7D%5E%7Bt%7D%7D%20%5Cmathbf%7Bg%7D_%7Bi%7D%5E%7Bt%7D

其中

https://chart.googleapis.com/chart?cht=tx&chl=%5Csigma_%7Bi%7D%5E%7Bt%7D%20%3D%20%5Csqrt%7B%5Cfrac%7B1%7D%7Bt%2B1%7D%20%5Csum_%7Bi%3D0%7D%5E%7Bt%7D%20%5Cleft(%20%5Cmathbf%7Bg%7D_%7Bi%7D%5E%7Bt%7D%20%5Cright)%5E2%7D

這個方法,可以針對不同參數做不同的調整。

  1. RMSProp

這個方法可以針對不同參數,在不同的地方,使用不同的學習速率。

參數最佳化的策略是

https://chart.googleapis.com/chart?cht=tx&chl=%5Cdisplaystyle%20%5Cmathbf%7B%5Ctheta%7D_%7Bi%7D%5E%7Bt%2B1%7D%20%5Cleftarrow%20%5Cmathbf%7B%5Ctheta%7D_%7Bi%7D%5E%7Bt%7D%20-%20%5Cfrac%7B%5Ceta%7D%7B%5Csigma_%7Bi%7D%5E%7Bt%7D%7D%20%5Cmathbf%7Bg%7D_%7Bi%7D%5E%7Bt%7D

其中

https://chart.googleapis.com/chart?cht=tx&chl=%5Cdisplaystyle%20%5Csigma_%7Bi%7D%5E%7Bt%7D%20%3D%20%5Csqrt%7B%20%5Cleft(%20%5Calpha%20%5Cright)%20%5Cleft(%20%5Cmathbf%7Bg%7D_%7Bi%7D%5E%7Bt-1%7D%20%5Cright)%5E2%20%2B%20%5Cleft(%201-%5Calpha%20%5Cright)%20%5Cleft(%20%5Cmathbf%7Bg%7D_%7Bi%7D%5E%7Bt%7D%20%5Cright)%5E2%7D

這裡改進了「不是看過去所有的梯度大小」,而是看最近的兩次,然後可以自定義重要性來訂超參數的大小。

  1. Adam

這是 RMSPro 與 Momentum 的合體方法。然後可以改變 https://chart.googleapis.com/chart?cht=tx&chl=%5Ceta 隨著訓練次數的增加而減少。另外也可以讓 https://chart.googleapis.com/chart?cht=tx&chl=%5Ceta 先增加再減少,這樣稱之為 warm up。目前還不知道為什麼這樣訓練會比較好。但實際在訓練 BERT 模型時會有比較好的表現。


上一篇
有關孿生網路的介紹...
下一篇
類神經網路訓練不起來怎麼辦之四s:損失函數 (Loss) 也可能有影響
系列文
上課了!李宏毅老師 機器學習 (2021)16
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言