誤差逆伝播法
1冊の本や1つの映画の記事ではなく、学んだ内容の雑多なアウトプットもしたかったので、記事にする。
[学び]タグで管理しようと思う。
ゼロから作るDeepLearningの5章誤差逆伝播法を読んだ。
■重要なこと
・誤差逆伝播法は、関数の微分を細かなノードに区切って、そのノードごとの微分を求めていき、最終的に全体の微分を出す方法である。
・ =
・誤差逆伝播法を用いると、微分の計算が少ない計算量で実行できる。
・ただし、これは使用する関数を適切に選んで、レイヤからの逆伝播が「y-t」のようにキレイな形になる場合に限る。
・そのキレイな形になるのが、Softmax関数とCrossEntropyErrorの組み合わせや、恒等関数と二乗和誤差の組み合わせである。
・前者は分類問題、後者は回帰問題に使われる関数である。
・ニューラルネットワークの計算で誤差逆伝播法を使用するのは、勾配計算である。(普通に実装すると、多大な量の微分計算となり重くなる)
■感想
以前に読んだときは飛ばした項。理論だったのでとっつきにくかった。
計算の仕方云々は置いておいて、なぜこれを使うと計算量が少なく微分できるか?を理解しておけば良いと思う。
ただ、どうやって逆伝播をキレイな形にする関数を選んだのだろう。二乗和誤差の式を見ても、特に変な係数をかけたりはせず、その名の通り誤差の二乗の和なだけに見える。
なぜこの式で、逆伝播が綺麗な引き算の形になるのか…?