---
title: "自適應梯度（AdaGrad）"
slug: adagrad
language: zh-TW
source: https://aiterms.tw/terms/adagrad
updated_at: 2026-06-22
tags: [模型訓練, 最佳化, 神經網路, 機器學習]
ipas_term: false
---

# 自適應梯度（AdaGrad）

根據過去梯度的平方和自動調整各參數學習率的最佳化演算法，使高頻參數學習率較小，低頻參數學習率較大。

## 完整說明

AdaGrad（Adaptive Gradient）是一種自適應學習率最佳化演算法。它在訓練過程中針對每個參數維護累積梯度平方和，並據此動態調整該參數的學習率。經常更新的參數會被分配更小的學習率，而不經常更新的參數則被分配更大的學習率，使訓練過程更加平衡和穩定。

## 常見問題

### 為什麼 AdaGrad 特別適合稀疏數據？

在稀疏數據中，不同特徵的出現頻率差異很大。低頻特徵的參數更新次數少，累積梯度平方也小，所以能保持較大的學習率。這使得罕見特徵能有足夠的學習信號。而高頻特徵會自動降速，避免過度擾動。這種自動平衡正好匹配稀疏數據的特點，無需手工調整不同特徵的超參數。

### AdaGrad 的主要缺點是什麼？

最主要的缺點是學習率單調遞減。累積梯度平方是持續增長的，永遠無法減小，導致學習率不斷衰減，在訓練後期可能完全停止更新。這在長期訓練中成為瓶頸。此外，超參數 ε（防止除零的常數）需要仔細調整，否則會影響學習率的實際大小和訓練穩定性。

### AdaGrad 如何在分布式訓練中應用？

在分布式設定中，每個工作節點維護自己的累積器副本，計算本地梯度並更新本地累積器。在同步更新步驟中，各節點交換梯度，聚合累積梯度平方。這要求節點間的通信包括梯度和累積器狀態，增加了通信開銷。但 AdaGrad 的自適應特性能幫助平衡不同節點接收數據不均的問題。

---

來源：https://aiterms.tw/terms/adagrad
快查頁：https://aiterms.tw/terms/adagrad
最後更新：2026/06/22
深度解說：https://aiterms.tw/learning/what-is-adagrad