【第68回】AIはまちがいをどう学び直す?誤差逆伝播法(バックプロパゲーション)とは
前回は、AIが自分の答えがどれくらい間違っているかを測る「損失関数(ダメ出しスコア)」について学びました。でも、点数が悪いことがわかっても、具体的に「どこをどう直せばいいか」がわからなければ、AIは成長できませんよね。そこで登場するのが、今回の主役「誤差逆伝播法」です。AIがどうやって「反省」し、賢くなっていくのか、その秘密を解き明かしましょう!
1. 読み方
誤差逆伝播法 = ごさぎゃくでんぱほう (英語では「バックプロパゲーション」と呼びます。現場ではこちらの方がよく使われます!)
2. 意味(定義)
誤差逆伝播法をひとことでいうと、「ゴールで出た『間違い』の結果を、後ろから前へさかのぼって、誰がどれだけ悪かったかを突き止め、修正していく仕組み」のことです。
これを、「料理店のリレー形式での盛り付け」に例えてみましょう。
あるお店では、3人のスタッフがリレー形式で料理を完成させています。
下準備さん(入力層に近い):材料を切る
調理さん(中間層):焼く・煮る
盛り付けさん(出力層):お皿に盛り付けて客に出す
ここで、お客さんから「味が濃すぎる!」というクレーム(=損失関数のスコア)が届きました。さて、誰が調整を変えればいいでしょうか?
盛り付けさんは考えます。「私は盛り付けただけだけど、ソースをかけすぎたかも。次は少し減らそう(=重みの調整)」
盛り付けさんは調理さんに伝えます。「お客さんが『濃い』って言ってるよ!火を通しすぎて水分が飛びすぎたんじゃない?」
調理さんは考えます。「なるほど。じゃあ次は火加減を弱めよう。それから、下準備さんが塩を振りすぎた可能性もあるな」
下準備さんに伝えます。「塩の量を減らしてね!」
このように、【お客さんの不満(誤差)】 → 【盛り付けさん】 → 【調理さん】 → 【下準備さん】というふうに、後ろから前へと情報を伝えて修正していく。これが「誤差逆伝播法」の正体です!
3. 歴史・背景
昔のAI(単純なパーセプトロン)は、構造がシンプルすぎて、複雑な問題が解けないという壁にぶつかっていました。そこで「層をたくさん重ねれば、もっと賢くなるはずだ!」と考えられたのがディープラーニングの始まりです。
しかし、層を重ねれば重ねるほど、「途中の層(中間層)の誰が、どれくらい間違っていたのか」を計算するのがめちゃくちゃ大変という問題が発生しました。
そこで1980年代に、「後ろから順番に微分(変化率)を計算していけば、効率よく全員の責任分担がわかるぞ!」という方法が広まりました。これが誤差逆伝播法の普及です。これにより、何層にもなった深いネットワークでも効率的に学習させることが可能になり、現代のAIブームへとつながる道が開かれたのです。
4. 比較・対比(順伝播との違い)
AIの処理には、「順伝播(じゅんでんぱ)」と「逆伝播(ぎゃくでんぱ)」という2つの方向があります。
【順伝播(Forward Propagation)】
方向: 入口 → 出口(前向き)
役割: 「予測」をすること。
流れ: データが入ってきて、重みを掛け合わせながらどんどん先に進み、最終的に「これは猫です!」という答えを出します。
【逆伝播(Backward Propagation)】
方向: 出口 → 入口(後ろ向き)
役割: 「学習(修正)」をすること。
流れ: 出た答えと正解を比べ、その「ズレ」を後ろから前に伝えながら、各層の重みを「次はこうしよう」と微調整します。
つまり、「順伝播で予想して、逆伝播で反省する」。このセットを何万回も繰り返すことで、AIはどんどん賢くなっていくのです。
5. 活用シーン(実社会のどこで、どんな問題に使うか)
誤差逆伝播法は、ほぼすべてのディープラーニングモデルの裏側で動いています。
① 画像認識(犬か猫か、腫瘍があるかなど) AIが画像を判定して間違えたとき、「どのピクセルのどの特徴(色や形)を重視しすぎたせいで間違えたのか」を逆伝播で計算し、フィルターの重みを調整します。これにより、次第に「耳の形」や「ひげ」などの正解に近い特徴を捉えられるようになります。
② 自動翻訳(日本語 → 英語など) 翻訳結果が不自然だったとき、文章の最後から遡って「どの単語の結びつきが間違っていたか」を修正します。これにより、文脈に合わせた自然な翻訳ができるようになります。
6. G検定での出題傾向
誤差逆伝播法については、計算式そのものよりも「概念」が問われます。
方向性の理解: 「出力層から入力層に向かって誤差を伝播させる」という方向性が正解になります。
目的の理解: 「重みを最適化(更新)するために、勾配(微分値)を求めるために使われる」という点。
キーワード: 「連鎖律(チェインルール)」という言葉と一緒に出題されることがあります(※微分を順番に掛け合わせる数学的な仕組みのことです)。
7. G検定の例題
【問題1:最頻出(基礎的な定義)】
ニューラルネットワークにおいて、出力層で計算された誤差を、入力層に向かって逆方向に伝播させ、各層の重みを更新する手法を何と呼ぶか?
A. 順伝播法
B. 誤差逆伝播法
C. 活性化関数
D. 正則化
【問題2:頻出(特徴に関する問題)】
誤差逆伝播法を用いて重みを更新する際、数学的に利用されている考え方はどれか?
A. 中心極限定理
B. ベイズの定理
C. 連鎖律(チェインルール)
D. 最小二乗法
【問題3:ひっかけ(概念に関する問題)】
誤差逆伝播法のプロセスについて、正しい説明はどれか?
A. 入力データが入力層から出力層へ流れる過程で重みを更新する。
B. 損失関数が最大になるように、重みを調整する。
C. 正解と予測値の差(誤差)を、出力層から入力層へ逆方向に伝えていく。
D. 活性化関数を通す前に、先に重みをすべてゼロにリセットする。
8. 7の例題の回答と解説
【問題1:回答】 B
【解説】 正解はBです。名前の通り「誤差」を「逆」に「伝播」させる方法なので、誤差逆伝播法(バックプロパゲーション)が正解です。
【問題2:回答】 C
【解説】 正解はCです。「連鎖律」とは、合成関数の微分を順番に掛け合わせて求めるルールです。誤差逆伝播法はこの連鎖律を使って、「出力の誤差 → 最後の層の責任 → その前の層の責任…」と数珠つなぎに計算しているため、非常に重要なキーワードです。
【問題3:回答】 C
【解説】 正解はCです。
Aは「順伝播」の説明であり、重みの更新は行われません。
Bは間違いです。損失関数は「最小」にするのが目的です。
Dは間違いです。重みをゼロにリセットしてしまうと、学習した内容がすべて消えてしまいます。
9. Ankiアプリ用(CSV形式)
誤差逆伝播法(バックプロパゲーション)とは?,出力層の誤差を逆方向に伝えて重みを更新する手法
誤差逆伝播法で情報が流れる方向は?,出力層 → 入力層(後ろから前へ)
誤差逆伝播法で数学的に使われている、微分の掛け合わせのルールは?,連鎖律(チェインルール)
AIの学習サイクルを簡単に言うと?,順伝播で予測し、逆伝播で反省(重み更新)する
誤差逆伝播法の目的は?,損失関数(誤差)を最小にするために重みを最適化すること
📝 総評・まとめ
お疲れ様でした!今回は、AIが「あ、ここを直さなきゃ!」と気づくための仕組み、誤差逆伝播法について学びました。
「逆方向に伝わっていく」という感覚が掴めれば、もうこの単元の攻略はほぼ完了です。AIも人間と同じで、「どこがダメだったのか」を具体的にフィードバックしてもらうことで成長できるということですね。
✅ 絶対に覚えて!
方向は「後ろ → 前」!(出力層から入力層へ)
目的は「重みの更新」!(誤差を減らすために調整する)
キーワードは「連鎖律(チェインルール)」!(微分を掛け合わせて計算する)
🚀 次回予告 誤差逆伝播法で「どの方向に、どれくらい重みを変えればいいか(勾配)」はわかりました。では、実際にどうやってその重みを効率よく書き換えていくのでしょうか?
いよいよ学習の具体的な手法、【第69回】AIはどうやって学習する?勾配降下法(SGD・Adam)とは に進みましょう!
✅ この記事が役に立ったら「スキ」で応援してください!
あなたの応援が、次の解説を作るエネルギーになります!🚀
