2.1.2 パーセプトロンの動作と学習

それでは、入力X1、X2に対して、 出力yを求めるところからはじめてみましょう。

中間層の結合荷重の添字は、入力層の1番目のユニットから 中間層の1番目のユニットへの結合のときはW11、 入力層2番目から中間層1番目の時はW12 というようについています。

出力層の結合荷重はV1、V2とし、 それぞれのユニットのしきい値はh1、h2 、θ1としています。また出力関数fは階段関数です。

まず、中間層での出力であるa1、 a2を求めてみましょう。

ここで、しきい値h1、h2はW10、 W20として和のかたちで表現されていることに注意してください。 また入力X0は常に1です。 図中にはかいていませんが、このようにしてしきい値の処理をします。

次に、このa1、a2を使って 最終的な出力yを求めます。

ここでも、しきい値θ1は入力a0(=1)の結合荷重V0と して和のかたちになっています。

出力層のユニット数が増えても、同じ方法で出力を求めれば良いのです。  



では次に学習のしかたをみてみましょう。 まず、いま得られた出力yと教師信号tを比較します。

教師信号は、 たとえば、2つの入力(値は0または1)があるとき、1が偶数個入力されれば 出力yを1としたいときは、教師信号は1というように好きなように決められます。

出力と教師信号が同じである時は、次のデータの入力に移り、 違っている場合は次の標準デルタ則に従って学習をします。

 
ΔWij=ε(ti−Oi)aj
  ただし、Wijは結合荷重、εは正の定数、Ojは出力値  

この式によって結合荷重Wの変化分ΔWを求め、W+ΔWとして結合荷重を更新します。 これは、ヘブの学習則をもとにした学習則で、単純パーセプトロンにおける学習則の 一般形でもあります。これを上の図にあわせた式にしてみると、

 
  ΔVi=ε(t−y)ai

つまり、出力1がでるはずなのに0が出た場合は、ニューロンが発火しやすいように 結合荷重を大きくし、逆の場合はニューロンが発火しないように結合荷重を小さくす るということになります。

どうように学習が行なわれるのか、次のシミュレーションでみてみましょう。



Copyright(c) Iwata-Lab. N.I.T. All rights reserved.