ディープラーニング入門#7:誤差逆伝播法(バックプロパゲーション)
ディープラーニングが実際に「学習できる」理由を支えている中核技術が、誤差逆伝播法(バックプロパゲーション)です。ニューラルネットワークは層を重ねるほど複雑になりますが、それでも正しく学習できるのは、この仕組みがあるからこそです。ここでは、誤差逆伝播法の考え方と、その重要性を整理します。
誤差逆伝播法の基本原理
誤差逆伝播法とは、出力結果の誤差をネットワークの後ろから前へと伝え、各重みをどの方向にどれだけ調整すべきかを計算する方法です。
ディープラーニングの学習は、次の流れで進みます。
入力データを使って予測結果を出す
予測結果と正解との差を誤差関数で計算する
その誤差をもとに、重みを少しずつ修正する
このとき、「どの重みが、どれだけ誤差に影響しているか」を効率よく求めるために使われるのが誤差逆伝播法です。誤差を出力層から入力層の方向へさかのぼりながら伝えていくことで、ネットワーク全体の重みを一貫した基準(微分の連鎖律を用いて各重みの勾配を効率的に計算すること)で更新できます。

なぜ多層ニューラルネットワークが学習できるのか
ニューラルネットワークが多層になればなるほど、
どの層の重みが結果に影響したのか
どこを修正すればよいのか
が分かりにくくなります。
誤差逆伝播法は、この問題を解決します。
出力で生じた誤差を、各層の寄与度に応じて分配することで、「この重みは誤差を大きくした」「この重みはあまり影響していない」といった判断が可能になります。
この仕組みにより、層が深くても、パラメータが多くても、ニューラルネットワークは段階的に性能を高めていくことができます。
現在のディープラーニングの成功は、誤差逆伝播法なしには実現しなかったと言っても過言ではありません。
計算量と勾配消失・勾配爆発の問題
計算量と勾配消失・勾配爆発の問題
誤差逆伝播法には非常に強力な一方で、いくつかの課題もあります。計算負荷を抑えつつ学習するための手法ですが、層が深くなると特有の問題が生じます。
その代表例が、勾配消失 と 勾配爆発 です。
勾配消失
誤差を逆方向に伝える過程で、値がどんどん小さくなり、前の層に十分な情報が届かなくなる現象です。これにより、深い層がほとんど学習しなくなってしまいます。
勾配爆発
逆に、誤差が過度に大きくなり、学習が不安定になる現象です。重みが極端に変化し、学習が発散してしまうこともあります。
これらの問題に対しては、
ReLU系の活性化関数
正則化
適切な初期化
最適化手法の工夫
などが組み合わさって対策されています。
ディープラーニングは、こうした課題を一つひとつ克服しながら進化してきた技術なのです。
ここまでお読み頂きありがとうございます。
AIって何? AIの歴史から最新情報まで、わかりやすく説明した、
これまでの記事(マガジン)の一覧をプロフィールページにまとめています。
AIの全体像をつかむヒントになると思いますので、ぜひご覧ください。
<前へ
ディープラーニング入門#6|正則化(L1正則化・L2正則化・ドロップアウト)
次へ>
ディープラーニング入門#8|最適化手法(勾配降下法・局所最適解・大域最適解)
免責事項
・本記事は生成AI(ChatGPT等)を活用して執筆しています。内容の正確性・最新性には十分配慮しておりますが、誤りや古い情報が含まれる場合があります。ご利用・ご判断はご自身の責任でお願いいたします。万一、著作権等に問題がある場合はご連絡ください。
