結合パラメータの爆発に関して
2011-04-12 12:55 (by nkoseki)

係数爆発に関しての対処として、以下の2つの案を検討しています
1)結合パラメータが爆発した場合は、現在の結合パラメータをランダムな値に置き換える
2)結合パラメータが爆発した場合は、現在の結合パラメータをゼロに置き換える

1)の案は、いわば爆発したパラメータを無かったことにして、再学習を促す設計です。
問題点としては、ネットワーク内の単一のパラメータ変化が他の結合パラメータに影響を与えるため
学習効率が極端に悪くなります。

2)の案は、いわば爆発したパラメータを無効化することで、ノード計算から切り離す設計です。
結合パラメータがゼロであれば、結合パラメータの修正を行わない設計とすれば、ネットワークの自動縮小化が可能となります。
ただし、一つの結合パラメータをゼロ化すると、残りの結合パラメータが割を食うため、連鎖的に係数爆発が起こる可能性があります。


※係数爆発
ネットワークの計算中にパラメータがオーバーフローを起こして、計算結果が無効になってしまう現象のことを、本プロジェクトでは
「係数爆発」と呼んでいます。(具体的には、double型変数に格納される数値がNaN化することを係数爆発と呼んでいます)

係数爆発は「順計算(計算結果伝搬)」「逆計算(誤差逆伝搬)」「学習判定(打ち切り判定を行うための誤差計算)」のいづれの計算でも発生する可能性があり、極めて厄介です。


Forecasta project news list