結論
勾配降下法は、損失の勾配と逆の向きに重みを少しずつ動かして、損失を小さくする最適化手法です。誤差逆伝播法は、その勾配を出力側から入力側へ連鎖律でさかのぼって効率よく計算する方法で、重みを更新する役割は持ちません。
比較表
| 観点 | 勾配降下法 | 誤差逆伝播法 |
|---|---|---|
| 一言でいうと | 勾配を使って重みを更新する方法 | 勾配を計算する方法 |
| 分類 | 最適化手法 | 微分(勾配)の計算方法 |
| 入力と出力 | 現在の重み、勾配、学習率から、更新後の重みを求める | 順伝播で記録した各層の値と出力の誤差から、すべての重みの勾配を求める |
| 中心となる式・規則 | w ← w − η × ∂L/∂w(ηは学習率) | 連鎖律(合成関数の微分を、層ごとの微分の掛け算に分解する) |
| 使える範囲 | 勾配を求められる損失関数なら、ニューラルネットワーク以外(線形回帰など)にも使える | 層を重ねた計算の勾配を求める。RNNでは時間方向に展開したBPTTを使う |
| 主な設定値 | 学習率、バッチサイズ、エポック数 | 特になし(計算の手順として決まる) |
| 関連する用語 | SGD、ミニバッチ学習、モーメンタム、AdaGrad、RMSprop、Adam | 連鎖律、信用割当問題、BPTT、自動微分 |
| 代表的な課題 | 局所最適解や鞍点での停滞、学習率の設定による振動や発散 | 勾配消失問題・勾配爆発問題、順伝播の値を保持するためのメモリ |
| シラバス項目 | 技術分野 項目16 最適化手法 | 技術分野 項目15 誤差逆伝播法 |
| G検定での問われ方 | 更新式による計算、学習率の大小と学習の挙動、バッチ・ミニバッチ・オンライン学習の違い | 連鎖律による勾配の計算、信用割当問題との関係、勾配消失・勾配爆発の原因 |
それぞれの説明
勾配降下法
勾配降下法は、損失を重みで微分した勾配を使い、その逆向きに重みを少し動かすことを繰り返して、損失が小さくなる重みを探す最適化手法です。更新式はw ← w − η × ∂L/∂wで、ηは1回に動かす幅を決める学習率です。勾配の値さえわかれば使えるので、線形回帰やロジスティック回帰など、ニューラルネットワーク以外のモデルの学習にも使われます。1回の更新に使うデータの量によって、バッチ学習、ミニバッチ学習、オンライン学習に分かれます。
誤差逆伝播法
誤差逆伝播法は、ニューラルネットワークのすべての重みについて、損失の勾配を効率よく求める計算方法です。まず入力から出力へ順に計算して、各層の値を記録します。次に出力層の誤差から出発し、連鎖律を使って層ごとの微分を掛け合わせながら、入力層の方向へ勾配を伝えます。重みを1つずつ少し動かして損失の変化を調べる方法に比べて、計算量を大幅に減らせます。
学習の中での分担
1回の学習は、順伝播、損失の計算、誤差逆伝播法による勾配の計算、勾配降下法による重みの更新の順に進みます。誤差逆伝播法は「各重みを動かすと損失がどう変わるか」を数値で示し、勾配降下法はそれを受けて「どちらにどれだけ動かすか」を決めます。
最適化手法にはSGD、モーメンタム、Adamなどがありますが、どれも誤差逆伝播法で求めた勾配を使う側の手法です。1986年のRumelhartらの論文は、重みを繰り返し調整する学習手順の全体をback-propagationと呼んでいました。現在の教科書では、勾配を求める部分だけを誤差逆伝播法と呼び、最適化手法と区別します。試験の選択肢も、この区別を前提に読みます。
見分けるコツ
- 動詞で見分けます。「勾配を求める」「勾配を計算する」なら誤差逆伝播法、「勾配を使って重みを更新する」なら勾配降下法です。
- SGD、モーメンタム、Adamは、どれも勾配を使う側の手法です。選択肢で誤差逆伝播法と並んでいても、同じ種類の手法ではありません。
- 勾配消失問題は勾配を求める段階の話、学習率の設定による振動や発散は重みを更新する段階の話です。問題文がどちらの段階を説明しているかを確かめます。
◯×チェック
-
線形回帰のように損失の勾配を式で直接求められるモデルでは、誤差逆伝播法を使わずに、勾配降下法だけで重みを学習できる。
答えを見る
答え ◯ 正しい
勾配降下法に必要なのは勾配の値で、求め方は問いません。誤差逆伝播法は、層を重ねたネットワークで多数の重みの勾配を効率よく求めるための方法です。
-
同じ重みと同じデータに対して誤差逆伝播法で求める勾配の値は、勾配降下法の学習率を大きくすると、それに比例して大きくなる。
答えを見る
答え × 誤り
学習率は、求めた勾配に掛けて重みを動かす幅を決めるだけです。勾配そのものは、重みとデータと損失関数で決まり、学習率には左右されません。
-
誤差逆伝播法では、出力層に近い層から順に勾配を求めるたびにその層の重みを更新し、更新後の重みを使って次の層の勾配を求める必要がある。
答えを見る
答え × 誤り
通常は、更新前の重みのまますべての層の勾配を求め終えてから、最適化手法でまとめて重みを更新します。勾配の計算と重みの更新は、別の段階として分かれています。
関連問題
出典と作成について
作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)
公開日: 最終更新日: 最終確認日:
対応シラバス:シラバス第1.4版 技術16・技術15
出典
- G検定 試験出題範囲(シラバス2024)第1.4版(技術分野 項目16 最適化手法)2026年11月1日閲覧
- G検定 試験出題範囲(シラバス2024)第1.4版(技術分野 項目15 誤差逆伝播法)2026年11月1日閲覧
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016)(4.3 Gradient-Based Optimization、6.5 Back-Propagation and Other Differentiation Algorithms)2026年11月1日閲覧
- David E. Rumelhart, Geoffrey E. Hinton, Ronald J. Williams, Learning representations by back-propagating errors, Nature 323, 533–536 (1986)(Abstract)2026年11月1日閲覧
- Sebastian Ruder, An overview of gradient descent optimization algorithms (2016)2026年11月1日閲覧
ほかの違い比較51件
- アジャイルとウォーターフォールの違い
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い
- バギングとブースティングの違い
- バッチ正規化とレイヤー正規化の違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い
- BERTとGPTの違い
- CBOWとスキップグラムの違い
- 分類問題と回帰問題の違い
- CNN・RNNとTransformerの違い
- 協調フィルタリングとコンテンツベースフィルタリングの違い
- 共分散と相関係数の違い
- データ汚染とAdversarial Attackの違い
- 決定木とランダムフォレストの違い
- 深さ優先探索と幅優先探索の違い
- 営業秘密と限定提供データの違い
- Faster R-CNNとYOLOの違い
- GANと拡散モデル(Diffusion Model)の違い
- GANとVAEの違い
- GDPRと個人情報保護法の違い
- グリッドサーチとランダムサーチの違い
- ホールドアウト検証と交差検証の違い
- 画像分類(物体識別)と物体検出の違い
- 委託・第三者提供と共同利用の違い
- k-means法と階層的クラスタリングの違い
- 個人情報・個人データと保有個人データの違い
- 個人情報と個人識別符号の違い
- L1正則化とL2正則化の違い
- 最小二乗法と最尤法の違い
- LIMEとSHAPの違い
- LSTMとGRUの違い
- 機械学習とディープラーニングの違い
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い
- 正規化と正則化の違い
- 主成分分析(PCA)と特異値分解(SVD)の違い
- 主成分分析(PCA)とt-SNEの違い
- 適合率と再現率の違い
- プルーニング・量子化と蒸留の違い
- Q学習とSARSAの違い
- RNNとLSTMの違い
- Self-AttentionとSource-Target Attentionの違い
- セマンティック・インスタンスとパノプティックの違い
- 新規性と進歩性の違い
- シグモイド関数とソフトマックス関数の違い
- ソフトローとハードローの違い
- 強いAIと弱いAIの違い
- 教師あり学習・教師なし学習と強化学習の違い
- 特許権と著作権の違い
- 匿名加工情報と仮名加工情報の違い
- 転移学習とファインチューニングの違い
- 請負契約と準委任契約の違い
- Zero-shotとFew-shotの違い