iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
自我挑戰組

Machine Learning With Me ,從零開始機器學習!系列 第 19

Day 19: 人工智慧初探 優化器的作用

Optimizer 優化器

神經網路是由多個神經元節點組成,每個神經元(Neuron)都擁有自己的權重w,表示在某項任務中該神經元的重要程度。假設輸入數據為x,
那麼預測值即為: prediction = wx + b (b是偏置量/偏差值)
訓練過程其實就是計算合適的w和b的過程。
那麼什麼才是合適的w和b呢? 答案就是與真實值相差不大的預測值。
例如定義損失函數如: loss = sum(|(y_ - prediction)|)
即真實值減去預測值,取絕對值後求和。訓練過程可以被粗略理解成調節w和b,使得loss盡可能變小。這就是優化器需要去做的事情,也就是優化器的作用。

優化器的主要目的都是為了訓練神經網路,而每個優化器的訓練速度上都有些差異,因此需要根據實際資料的狀況來決定使用什麼優化器。

我們主要介紹常常用到的三種優化器:

  • GradientDescentOptimizer

GradientDescentOptimizer為最基礎的梯度下降法優化器。此方法會利用所有樣本,因此他訓練時的速度會比較慢,但是只要能運作到一定的次數,他就能夠找到問題的最優解。

  • MomentumOptimizer

Momentum 在英文上的意思就是「運動量」的意思,此優化器就像是模擬物理動量的概念,有點像物理學中的球體運動時會受到先前的動量影響,在同方向的維度上學習速度會慢慢變快,但要調頭改變學習方向的話只能慢慢降速,直到停止後才能開始反向學習。

https://ithelp.ithome.com.tw/upload/images/20210925/20141566oKDHcklGlG.png

  • AdamOptimizer

結合了Momentum和AdaGrad,保留了 Momentum 對過去梯度的方向做梯度速度調整與Adam對過去梯度的平方值做學習率的調整,動態調整每個參數的學習率,它對學習率有個約束,使得每次學習率都有個確定的範圍,會讓參數的更新較為平穩。他是目前最為館範使用的優化器。

資料參考:
https://www.zhihu.com/question/265516791


上一篇
Day 18: 人工神經網路初探 前饋神經網路
下一篇
Day 20: Convolutional Neural Networks — 卷積神經網路初探(上)
系列文
Machine Learning With Me ,從零開始機器學習!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言