参考文献
- ニューラルネットワークと深層学習(Web上の教材)
- http://www.bioinf.jku.at/publications/older/2604.pdf(LSTM の原論文)
シチュエーション(まずL+1層パーセプトロンの場合)
層目を入力層、
層目を出力層として、
層が連なっているとする。
を、
層目の
番目のニューロンから
層目の
番目のニューロンへの接続の重みとし、
を
層目の
番目のニューロンのバイアスとする(
)。
を
番目の
番目のニューロンの活性化前の値、
を
番目の
番目のニューロンの活性化後の値とする。つまり、活性化関数を
とすると、以下の関係が成り立つ。
と
はニューラルネットワークへの入力ベクトル
に依存する
と
だが、いまはある入力ベクトルに固定されていると考えて
を省略する。
- それぞれの文字の下の添え字を取ってベクトル(重みについては行列)とみなすと
ともかける。
- コスト関数を
とする(例えば正解
とニューラルネットワークの出力
の2乗誤差
など)。
- 但し、
がニューラルネットワークの出力
の関数でかかれていることは仮定する。
- 但し、
やりたいこと
- 任意の
について
及び
を求めたい(これらを求める1つの手続きを知りたい)。
やり方
まず、 の最終出力
に関する偏微分
はただちに求まる。
次に、 の最終出力の活性化前の値
に関する偏微分を考えると、上の
を利用して以下のようになる。
そうなると任意の
RNN の場合
入力層と出力層しかないニューラルネットワークを考える。出力層が1層しかないので や
の右上の添え字を省く。この出力層をまた入力層につなげてループさせるとする。すると、何回ループしたときの出力なのかの区別が必要なので、
や
とかく。
とおく。
1ループ前への伝播は以下のようになる。