誤差逆伝播法とは

ごさぎゃくでんぱほうbackpropagation別名 バックプロパゲーション、逆伝播、誤差逆伝搬法

1行定義

誤差逆伝播法とは、ニューラルネットワークの出力の誤差をもとに、連鎖律を使って出力層側から入力層側へ順に、各重みの勾配を効率よく計算する方法のことです。

くわしく

誤差逆伝播法は、ニューラルネットワークを学習させるときに使う、勾配の計算方法です。英語の名前からバックプロパゲーションとも呼ばれます。

何を計算しているのか

学習では、出力と正解のずれ(誤差)が小さくなるように重みを調整します。そのためには、各重みを少し動かしたときに誤差がどれだけ変わるか、つまり勾配が必要です。しかし重みの数は非常に多く、大きなモデルでは数十億個にもなります。1つずつ動かして調べていては、時間がかかりすぎます。

誤差逆伝播法は、すべての重みの勾配をまとめて効率よく求めます。まず入力から出力へ順に計算し(順伝播)、各層の値を記録しておきます。次に出力層の誤差から出発し、入力層へ向かって逆向きに勾配を伝えます(逆伝播)。各層では、合成関数の微分の規則である連鎖律を使います。後ろの層から届いた勾配に自分の層の微分を掛け、さらに前の層へ渡していきます。

信用割当問題との関係

多層のネットワークでは、出力の誤りに対して、どの層のどの重みにどれだけ責任があるかを決めるのが難しくなります。これを信用割当問題と呼びます。誤差逆伝播法は、各重みの責任の大きさを勾配という数値で示し、この問題に1つの答えを与えました。1986年にラメルハートらが発表した論文をきっかけに広まり、多層パーセプトロンを学習させる標準的な方法になりました。

弱点と周辺の概念

逆伝播では各層の微分を掛け合わせるため、層が深いと勾配が極端に小さくなったり(勾配消失問題)、大きくなったり(勾配爆発問題)します。RNNでは、時間方向に展開して同じ計算を行うBPTTが使われます。

なお、誤差逆伝播法が受け持つのは勾配の計算までです。求めた勾配を使って重みを更新するのは、確率的勾配降下法やAdamなどの最適化手法です。

覚え方

「誤差を出口から入口へ、微分の掛け算で配る」と覚えます。

G検定での出題

シラバスの中項目名そのもので、キーワードの連鎖律・信用割当問題と結び付けて計算の流れが問われます。勾配消失問題・勾配爆発問題が起きる理由を考える前提の知識としても問われます。

混同しやすい用語

用語意味
勾配降下法損失関数の勾配(傾き)を求め、損失が小さくなる向きに重みを少しずつ動かして、よい重みを探す最適化手法

違いを表で比べる:勾配降下法と誤差逆伝播法

◯×チェック

  1. 誤差逆伝播法は勾配を求める計算方法であり、求めた勾配を使って重みをどれだけ動かすかは、勾配降下法などの最適化手法が決める。

    答えを見る

    答え ◯ 正しい

    2つは役割が分かれています。SGDやAdamは、逆伝播で求めた勾配を使って重みを更新する側の手法です。

  2. 誤差逆伝播法を使えば、ネットワークの層をいくら深くしても勾配消失問題は起きない。

    答えを見る

    答え × 誤り

    誤差逆伝播法では各層の微分を掛け合わせるため、深いほど勾配が小さくなることがあります。勾配消失問題はこの計算から生じます。

  3. 誤差逆伝播法は、1986年にラメルハートらが発表した論文をきっかけに広く使われるようになった。

    答えを見る

    答え ◯ 正しい

    考え方自体はそれ以前にも提案されていましたが、この論文が多層のネットワークで内部の表現を学習できることを示し、普及につながりました。

練習問題

誤差逆伝播法の問題(12問)
  1. ダートマス会議の内容
  2. 隠れ層と非線形性の役割
  3. パーセプトロンの学習規則
  4. 活性化関数の形と勾配の伝わり方
  5. 誤差逆伝播法の仕組み
  6. 連鎖律による勾配の計算
  7. 誤差逆伝播法と最適化手法の役割
  8. 信用割当問題の現れ方
  9. 全結合層の重みの初期化
  10. CNNとSVMのカーネルの違い
  11. プーリング層の誤差逆伝播
  12. BPTTの逆伝播の進め方

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術15

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習