next up previous contents
Next: 工夫の組合せ Up: ニューラルネットワークの工夫 Previous: 出力分割

並列処理

今回使用するニューラルネットワークの学習は式(5.13)に従って行なう。 しかし、学習係数 tex2html_wrap_inline1341 と安定化係数 tex2html_wrap_inline1359 の選択は任意であり、 係数の取り方によっては学習が上手く行なわれないこともある。 そこで、次の方法を用いる。

tex2html_wrap_inline1341tex2html_wrap_inline1359 の組合せを複数パターン用意しておき、 それぞれ別々のニューラルネットで学習を行なわせる。 ある一定時間経過したときに、平均誤差が一番小さいニューラルネットを選択し、 その重みを他のニューラルネットの重みに代入する。 さらに、平均誤差を一番大きくした tex2html_wrap_inline1341tex2html_wrap_inline1359 の組合せに対しては ランダムにその値を変更する。 これを繰り返していくという方法である。この様子を図5.4に示す。

   figure262
図 5.4: 並列処理の様子

これによって、 tex2html_wrap_inline1341tex2html_wrap_inline1359 の値の取り方が原因で、 学習が上手くできなくなる可能性を低くすることができると考えられる。 しかし、欠点として組合せを増やせば、学習にかかる時間が増えることが挙げられる。

この方法では、一番誤差の小さかったニューラルネットの重みを他のニューラルネットに 代入するタイミングと tex2html_wrap_inline1341tex2html_wrap_inline1359 を変化させるタイミングは同じである必要はない。 そこで、一回学習させる毎に重みを代入し、 tex2html_wrap_inline1341tex2html_wrap_inline1359 は教師信号の周期で変化させる方法と、 教師信号の周期と同じタイミングで重みを代入し tex2html_wrap_inline1341tex2html_wrap_inline1359 を変化させる方法 の2通りを考える。 今後、前者を並列処理1、後者を並列処理2と呼ぶことにする。



Deguchi Lab.