バックプロパゲーション(5)

バックプロパゲーション(1)」の式(22)と(25)

  • \frac{\partial{E}}{\partial{s}_{2k}(j)}=-\delta_{2k}z_j・・・・(22)
  • \frac{\partial{E}}{\partial{s}_{1j}(i)}=-\delta_{1j}x_i・・・・(25)

を比較すると、層が異なるのに同じ形の式をしていることが分かります。さらに、\delta_{2k}\delta_{1j}の間には

  • \delta_{1j}=\Bigsum_{k=1}^q\delta_{2k}s_{2k}(j)\cdot{z}_j(1-z_j)・・・・(24)

という関係があります。このことから、3層以上のニューラルネットワークについても式(22)(25)に類似した式が成り立ち、隣り合う層の間では式(24)と同等な関係が成り立つことが予想されます。


ではこのことを証明していきましょう。

  • 図2

w番目の層を「層w」で表します。層wにあるニューロンの数をN(w)で表し、層wk番目のニューロンからの出力をz_{w,k}で表すことにします。まず、各ニューロンの入力と出力の関係から

  • z_{w,k}=f(u_{w,k})・・・・(35)
  • u_{w,k}=\Bigsum_{j=0}^{N(w)}s_{w,k}(j)z_{w-1,j}・・・・(36)
  • z_{w+1,k}=f(u_{w+1,k})・・・・(37)
  • u_{w+1,k}=\Bigsum_{j=0}^{N(w+1)}s_{w+1,k}(j)z_{w,j}・・・・(38)

が成り立ちます。ここでs_{w,k}(j)は層wk番目のニューロンの、j番目の入力に対するシナプス係数です。次に

  • \frac{\partial{E}}{\partial{s}_{w+1,k}(j)}=\frac{\partial{E}}{\partial{u}_{w+1,k}}\cdot\frac{\partial{u}_{w+1,k}}{\partial{s}_{w+1,k}(j)}・・・・(39)

です。式(38)から

  • \frac{\partial{u}_{w+1,k}}{\partial{s}_{w+1,k}(j)}=z_{w,j}・・・・(40)

なので、これを式(39)に代入して

  • \frac{\partial{E}}{\partial{s}_{w+1,k}(j)}=\frac{\partial{E}}{\partial{u}_{w+1,k}}z_{w,j}・・・・(41)

ここで

  • \delta_{w+1,k}=-\frac{\partial{E}}{\partial{u}_{w+1,k}}・・・・(42)

とおくと式(41)は

  • \frac{\partial{E}}{\partial{s}_{w+1,k}(j)}=-\delta_{w+1,k}{\cdot}z_{w,j}・・・・(43)

となります。


次に

  • \frac{\partial{E}}{\partial{s}_{w,k}(j)}

を考えます。{s}_{w,k}(j)の変化は層wk番目のニューロンの出力であるz_{w,k}の変化をもたらします。z_{w,k}の変化は、図2を見れば分かるように層w+1の全てのニューロンの出力に変化を与えます。よって偏微分は以下のように変形されます。

  • \frac{\partial{E}}{\partial{s}_{w,k}(j)}=\Bigsum_{m=1}^{N(w+1)}\left[\frac{\partial{E}}{\partial{u}_{w+1,m}}\cdot\frac{\partial{u}_{w+1,m}}{\partial{s}_{w,k}(j)}\right]・・・・(44)

式(42)を(44)に代入して

  • \frac{\partial{E}}{\partial{s}_{w,k}(j)}=-\Bigsum_{m=1}^{N(w+1)}\left[\delta_{w+1,k}\frac{\partial{u}_{w+1,m}}{\partial{s}_{w,k}(j)}\right]・・・・(45)

さらに

  • \frac{\partial{u}_{w+1,m}}{\partial{s}_{w,k}(j)}=\frac{\partial{u}_{w+1,m}}{\partial{z}_{w,k}}\cdot\frac{\partial{z}_{w,k}}{\partial{s}_{w,k}(j)}・・・・(46)

となり、式(38)から

  • \frac{\partial{u}_{w+1,m}}{\partial{z}_{w,k}}=s_{w+1,m}(k)・・・・(47)

また

  • \frac{\partial{z}_{w,k}}{\partial{s}_{w,k}(j)}=\frac{dz_{w,k}}{du_{w,k}}\cdot\frac{\partial{u}_{w,k}}{\partial{s}_{w,k}(j)}・・・・(48)

ここで式(35)(36)を用いると

  • \frac{\partial{z}_{w,k}}{\partial{s}_{w,k}(j)}=z_{w,k}(1-z_{w,k})z_{w-1,j}・・・・(49)

式(47)(49)を(46)に代入して

  • \frac{\partial{u}_{w+1,m}}{\partial{s}_{w,k}(j)}=s_{w+1,m}(k)z_{w,k}(1-z_{w,k})z_{w-1,j}・・・・(50)

式(50)を(45)に代入して

  • \frac{\partial{E}}{\partial{s}_{w,k}(j)}=-\Bigsum_{m=1}^{N(w+1)}\left[\delta_{w+1,k}{\cdot}s_{w+1,m}(k)z_{w,k}(1-z_{w,k})z_{w-1,j}\right]
  • \frac{\partial{E}}{\partial{s}_{w,k}(j)}=-\Bigsum_{m=1}^{N(w+1)}\left[\delta_{w+1,k}{\cdot}s_{w+1,m}(k)\right]z_{w,k}(1-z_{w,k})z_{w-1,j}・・・・(51)

ここで

  • \delta_{w,k}=\Bigsum_{m=1}^{N(w+1)}\left[\delta_{w+1,k}{\cdot}s_{w+1,m}(k)\right]z_{w,k}(1-z_{w,k})・・・・(52)

とおくと

  • \frac{\partial{E}}{\partial{s}_{w,k}(j)}=-\delta_{w,k}{\cdot}z_{w-1,j}・・・・(53)

となります。これで3層以上のネットワークでのバックプロパゲーションの式を求めることが出来ました。