【数式編】(順伝播)隠れ層1層めのユニットの出力を求める
出力値の求め方
順伝播でのユニットの出力値は、そのユニットへの入力に対し、それぞれ対応する重みを掛けて足しあげたものにバイアス値を加え、その値に活性化関数を適用することで求めることができます。
図の ユニットh11 を例にとると、入力層の各ユニットからの出力に、それぞれに対応する重みを掛けて足し合わせたものにバイアス値を加えて を求め、 に活性化関数の を適用すると、 を求めることができます。
を求める
ユニットh11 の出力値 を求めるには、その前に を求める必要があります。まずは を求めていきましょう。
各入力値にそれぞれに対応する重みを掛けて足し合わせたものにバイアス値を加えるので、次のような式になります。
ちなみに、バイアス値には入力として常に 1 を掛けていて、実際には となっています。
入力として常に 1 を掛けるのは、行列計算の際の取り扱いが便利だからという理由によるものです。
この に を適用すると が求まります。
ReLU関数
引数を としたときの は
で表され、「引数が0以上のときはその値(引数の値をそのまま)、そうでないときには0を戻す」関数です。
グラフにするとこのような感じになります。
今回は のまま表現することにします。
これで ユニットh11 の出力が求まりました。
出力を求める式
隠れ層1層めの他のユニットについても、重みとバイアスが異なるだけで基本的な計算式は一緒です。
ユニットh11
ユニットh12
ユニットh13