前節の応用編です。次の方向で展開します。
1.学習係数
2.不完全記述子
3.単位
------------------------------------
1. 学習係数
BPはlearningにより各層のneuron間の結合WIj(),Wjk()を変えます。
この変化は時間{xi}毎に、teaching data vector要素に対応して起こります。
それで、入力データの変形もteaching data vector要素を追尾します。
こういう計算法を1-step predictionと言います。

その追尾度合(学習係数)は1,2層間で12.5%、2,3層間で7%程度です。
その値はparameterとして変更できます。0%にすることもできます。
0にすると学習できないので、途中まで通常通り学習して、
最後の1回だけを0%で入力したdescriptorsからNNの出力を計算します。
結果を図35,36,37で示します。

<Figure 35. Constructed abs-function, on learning factor 0.
This figure corresponds with Figure 32.>

<Figure 36. Ratio of values generated by 1st-layer-neuron's input and WIj()-weight. This figure corresponds with Figure 33.> 

<Figure 37. Ratio of values generated by 2nd-layer-neuron's input and Wjk()-weight. This figure corresponds with Figure 34.>

2. 不完全記述子
以上はモデル計算です!必要な記述子も教師データも明らかです。
しかし、現実は目的関数=教師データを説明するデータが定かでない。
定かにするための実験が実現不可能(費用や倫理的に)な場合が殆どです。
さらに、教師データそのものに乱数的な揺らぎが存在することもあります。
それらのNN機能を発現するために不利になる諸条件をどうクリアするかが問題なのです。

それで、あえて不完全なdescriptorsを採用してNNの機能を調べます。

 

2.1 3-descriptorsを2にする
絶対値関数を目的関数、それを上昇下降する2直線と積で表現する、のは論理的です。もし積のdescriptorを除外したらどうなるのでしょうか?

NN内部の演算にdescriptors間の積が無いので、記述性が不完全になる。
学習係数を生かしたままの結果(1-step prediction)を図38に示す。

<Figure 38. NN outputs by using 2-descriptors.>
意外にも正確に絶対値関数を出力する。
何故そうなるのか?をNN内部信号で追跡する。
1,2層間の信号値の変化は図39である。

<Figure 39. Ratio of neuron's signals between 1,2-layers.>

<Figure 40. Ratio of neuron's signals between 2,3-layers.>
同じ傾きの上昇・下降の直線を重ね合わせ、非線形変換を利用して台形(sumの点線)を合成;
その台形を2,3層間のweightsで重ね合わせて目的関数を生成している。
 

2.2 3-descriptorsを1にする
「非線形変換+重回帰型」のNNは絶対値関数の2直線記述子・近似解を与えます。
さらに不完全性を増し、1-descriptorにしたらどうなるのでしょうか?
biasが在るとはいえ、単調増加の直線だけで絶対値関数形になる、とは思えませんが計算してみます。図41,42,43が結果です。

<Figure 41. NN outputs by using 1-descriptor only.>
最初はともかく、かなりの精度で絶対値関数を近似します。
1-step prediction効果です。NN内部信号を追跡します。

<Figure 42. Ratio of neuron's signals between 1,2-layers.>

<Figure 43. Ratio of neuron's signals between 2,3-layers.>

上昇直線しか記述子が無いので、どこかでその逆、下降直線を生成しないとダメ。
それでstep functionを1,2層間で生成する。
それとbiasを利用して2,3層間で絶対値関数の近似を生成している。

このように調べていくとBPアルゴリズムは興味深い性質を有しています。

<2024.2.19 捕捉>
BPの学習はiteration形になります。
{xi}で表すと、i=Nの次はi=1になり、これがcyclicに繰り返されます。
そのとき、WIj(),Wjk()の使い方が1 descriptorの場合のように
1,2層間で{xi}の中途で逆転する場合、Wi=N → 1の所で多くの誤差を生じる、
ことになります。
descriptorsが多ければ、そういう不利益は生じませんが、
不十分なdescriptorを採用せざるを得ない場合は、
図41のようにi=1,2,3..の最初でteaching dataとの誤差が生じます。