GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

現実逃避ぎみにニューロの話

ノードへの入力がx_i \left{ i = 0,\ldots,N \right}、結線重みがw_i \left{ i = 0,\ldots,N \right}の時、ノードの出力oは下記の式ですが、シグモイド関数のαも学習させたら、α固定の場合と同じ関数近似能力を少ないノード数で実現出来ないかな、と考えています。

s=\sum_{i=0}^{N}\left( w_i \cdot x_i \right)
o=\frac{1}{1-e^{-\alpha \cdot s}

例えば出力層のノードの場合だと、二乗誤差をαで偏微分すると下記の様になるはずです*1。(式中のtは教師信号。)

\frac{\partial E}{\partial \alpha}=2 \left( o - t \right) s \cdot o \left( 1 - o \right)

別にα固定でも中間ノード数を無限大にすれば大抵の関数を近似出来るんでしょうけど、αを変化させる事で関数近似能力を落とさずにノード数減らせるなら、そっちの方が計算コストが下がって嬉しいな、と。

まぁ、実際に変化させると問題が出るかもしれないんで、ニューロを実装する段階になったら実験してみます。

*1:ひょっとしたら計算間違ってるかも。