iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
AI/ ML & Data

菜就多練之我叫小賀逃離DS新手村系列 第 13

Day 13 日新月異-優化器啟動

  • 分享至 

  • xImage
  •  

優化器(Optimizer)🐭

優化器是負責調整神經網路中的weight和bias等參數,以最小化損失函數的方法。上一篇文章有提到:損失函數的目的就是希望我們預測的結果跟實際結果誤差最小。而優化器的目標就是找到使誤差最小的參數組合。


學習率(Learning Rate)🐮

學習率是深度學習中的超參數(Hyperparameter),它決定了模型在每次迭代時,參數更新的步伐大小。在每次參數更新時,優化器根據損失函數的梯度方向來調整參數。學習率就是用來縮放梯度的比例,從而決定參數更新的幅度。

學習率過大時,模型可能會震盪且難以收斂到最優解;學習率過小時,模型的收斂速度會變得非常慢,可能會停滯在局部最小值,無法充分學習數據的特徵。

學習率的選擇對於模型的訓練過程至關重要,因為它不僅影響模型的收斂速度,還會影響模型是否能夠找到全局最小值。


梯度下降法(Gradient Descent)🐯

在上一篇有提到:梯度表示模型參數發生變化時,損失函數的變化率。梯度的大小和方向告訴我們,如果我們向這個方向移動,損失函數會增加多少。因此我們要最小化損失函數,參數的調整勢必要跟梯度反向更新參數。

常見的梯度下降法有:

  • 批次梯度下降(Batch Gradient Descent)

    • 原理:使用訓練集的全部資料來計算梯度並更新參數。這方法最大的缺點在於計算成本高,若資料集較大時,沒有足夠的運算資源,會等到天荒地老。
  • 隨機梯度下降(Stochastic Gradient Descent, SGD)

    • 原理:會隨機取樣來計算梯度並更新參數。這樣計算速度快,但由於SGD每次只使用一個樣本來更新參數,這會使得每次更新的方向不穩定,導致損失函數在收斂過程中可能會上下波動,無法穩定下降。
  • 小批次梯度下降(Mini-batch Gradient Descent)

    • 原理:使用訓練集的一小部分來計算梯度並更新參數,通常是一個batch而batch size可以自行調整。可以算是批次梯度下降和隨機梯度下降的折衷辦法。

其他常見的優化器🐰

  • Momentum Optimizer
  • Adaptive Gradient Algorithm(AdaGrad)
  • RMSProp
  • Adam

題外話😂

我覺得自己很幸運,能夠身處在資訊很發達的時代,今天參加一個社群小聚,主題是關於
「GenAI」,聽到大神分享關於不同「電商」公司在GenAI的應用,還有對於AI Engineer的看法。真的收穫滿滿、獲益良多。


上一篇
Day 12 層層把關-模型守門員
下一篇
Day 14 意猶未盡-優化器啟動
系列文
菜就多練之我叫小賀逃離DS新手村30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言