Help us understand the problem. What is going on with this article?

誤差逆伝播法

More than 1 year has passed since last update.

自分用メモ

誤差逆伝播法

得られた出力結果から、教師データとの誤差を算出して、パラメータとしての重みを調整し、調整された値を元にまた後ろのノードへと更新を伝えていきます。

誤差逆伝播法.png

では、具体的にはどのようにして更新していくのでしょうか?

勾配降下法

重みを調整する方法の一つとして、勾配降下法があります。

これは、誤差が誤差関数を利用して算出されることを利用します。この誤差関数は
-出力と教師データとの差が大きければ大きいほど返り値が大きくなるもの
-微分可能であるものであることが
であることが求められます。

例えば、誤差関数をグラフにすると以下の図になるとします。

勾配降下法.png

誤差は重みwによって決まります。
ここで、微分可能であるということは、最小値を求めることができます。そこが最適なwであるwoptです。
なお、傾き0なのが最小値であることを保証するために下に凸になるよう誤差関数を選ぶ必要があるようです。(このあたりはまだ不安)

更新量Δwは、以下の式で求められます。

Δw = -η\frac{δE}{δw}

誤差が大きいほど傾きは大きくなるため、傾きだけ誤差を更新させます。マイナスをとるのは傾きが正であればwを減少、負であれば増加させるためです。
ηは学習係数で、さすがに傾きをそのまま使ってもうまくwoptを求めることはできないため、誤差を元にどの程度更新するかを決める値です。

この学習係数も精度向上のためにうまく設定する必要があります。

参考

山下隆義
イラストでわかるディープラーニング 講談社
新納浩幸
Chainerによる実践深層学習~複雑なNNの実装方法~ オーム社

高卒でもわかる機械学習 (2) 単純パーセプトロン
http://hokuts.com/2015/11/25/ml2_perceptron/
Chainerで始めるニューラルネットワーク
http://qiita.com/icoxfog417/items/96ecaff323434c8d677b

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away