AI解剖教室 · Part 2 機械はどうやって学ぶのか
第23章 誤差逆伝播法:責任の分け合い
Q. つまみが何十億個もあるのに、まちがえたとき、どのつまみをどれだけ直せばよいのでしょう?
- 第19章のネットワークはA店を3.5点と予想し、本当は4.5なので損失は1。11個のつまみのうち、だれのせいでしょう?
- 第21章のように1つずつ少し変えてみればわかります。でもGPT-3はつまみが1,750億個あるので、きりがありません。
- そこで後ろから逆向きに責任を分けます。星を0.01上げると損失は0.02減ります。星の責任は −2 です。
- 星は「人気 × 1.5」で作られました。だから人気の責任は −2 × 1.5 = −3。責任が線にそって逆向きに流れます。
- 待ちの重みは、待ち2とかけられて人気を作ります。だから責任は −3 × 2 = −6。こうしてかけ算が鎖のようにつながります。
- 「辛すぎ」ニューロンはオフでしたね。オフのニューロンは結果を変えられないので、責任も0。そのつまみはそのままにします。
- こうして一度逆向きにたどると、すべてのつまみの責任がいっぺんに出ます。これが誤差逆伝播法(backpropagation)です。
- 責任と反対の向きに少しずつ直すと、予想は4.2点、損失は1から0.09に減ります。1986年に広く知られた方法です(第3章)。
この章のまとめ
- 誤差逆伝播法:損失から出発して逆向きに、線にそって責任をかけていく。
- つまみの責任 = 少し変えたとき、損失がどれだけ変わるか。オフのニューロンの先は0。
- 一度逆向きにたどれば全部のつまみの責任が出る。その反対へ少しずつ直す。