iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
AI & Data

30天搞懂機器學習是否搞錯了什麼系列 第 19

【Day 19】深度學習(Deep Learning)--- Tip(四)--- Momentum

昨天說在做深度學習的時候,我們可能會卡在Local minimum、saddle point、甚至是plateau,所以接下來我要介紹一個heuristic的方法,來解決這些問題。

Momentum

它的原理是,在真實世界中,如果下圖是一個山坡,當你把一個球丟下去,我們知道它滾到plateau的地方,因為有慣性,所以它不會停下來,而就算是走到上坡的地方,只要這個坡沒有很陡,因為慣性它可能還是可以翻過這個山坡,那它就可以找到比這個local minimum還要好的地方。

  • 梯度下降法(Gradient Descent)

當我們加上Momentum的時候,我們每一次移動的方向我們不只考慮Gradient,還考慮了前一個時間點移動的方向 https://chart.googleapis.com/chart?cht=tx&chl=v,下圖中綠色的虛線就代表慣性的方向。

下圖中就算到了Local minimum還是會藉由慣性繼續往右走,而只要Momentum比gradient強,就會繼續往右走,所以有可能會藉著慣性而跳出Local minimum找到更好的結果。

Adam

  • RMSProp + Momentum

Adam結合了RMSProp跟Momentum的優點,是很常用的優化器(optimizer),https://chart.googleapis.com/chart?cht=tx&chl=m_0 就是momentum(前一個時間點的movement),https://chart.googleapis.com/chart?cht=tx&chl=v_0 就是昨天提到RMSProp裡面的 https://chart.googleapis.com/chart?cht=tx&chl=%5Csigma,其中它考慮了RMSProp跟Momentum裡面都沒有的偏差修正(bias-correction)去更新參數。


參考資料

李宏毅老師 - ML Lecture 9-1


上一篇
【Day 18】深度學習(Deep Learning)--- Tip(三)
下一篇
【Day 20】深度學習(Deep Learning)--- Tip(五)
系列文
30天搞懂機器學習是否搞錯了什麼30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言