忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

ニューラルネットワークの体験デモプログラム

3層のニューラルネットワークは、2層目のニューロンの数が十分に多ければ、どんな関数も近似できます。
…と言われても、実際にどんなふうに近似するのか、感覚でわかるという感じはしないかもしれません。
というわけで、3層のニューラルネットワークの体験デモプログラムを作ってみました。

パラメーターはマウスのホイールを回すことで変えられます。
いろんな関数を近似してみて下さい。


デモプログラム

遊び方

2つの図が表示されます。
一つは、入力が一つ、出力がひとつのニューラルネットワークの図です。
左が入力で、右が出力するニューロンです。
ただし、中間層は複数あります。

ニューロンの間に接続がありますが、それの上でマウスのホイールを転がすと、接続の強さが変わります。
太くなったり、細くなったりします。
赤はプラス、青はマイナスになっていることを表します。
ニューロン自体も大きさを変えられます。
これはニューロンのバイアスを反映しています。

もう一つはそのニューラルネットワークの入出力をグラフにしたものです。
ここでは入力は一つだけで出力も一つだけなので、y = f(x)というような形の関数として扱えます。
つまり2次元のグラフが描けます。
上のニューラルネットワークの図をいじくりまわすと、こちらも変わります。

拍手[0回]

PR