1. ニューラルネットワークとは 2. 脳はどうなっているのか ―簡単すぎる説明― 3. 学習とか記憶とか 4. で、ニューラルネットワーク 5. 大きく分けると2種類 6. ニューラルネットワークの学習機能 7. 何に使うのか 1. ニューラルネットワークとはニューラルネットワーク (neural network) はソフトコンピューティングの一手法であり、 生物の脳の神経回路網にヒントを得た 情報処理モデルです。 2. 脳はどうなっているのか ―簡単すぎる説明―脳というやつはあれやこれやを考えたり 体内のなんやかんやを調節したりと、 いろんな処理を行っています。 脳は、ものすごい数の ニューロン (neuron) という神経細胞によってできています。 100億以上というからすごい。 ニューロンは、 他のたくさんのニューロンとつながっています。 そしてそれぞれのニューロンは、 他のニューロンから電気信号を受け取ったり、 他のニューロンへ電気信号を発したりします。 ニューロンではりめぐらされた巨大な回路を そうやって電気信号がめぐることで、 脳はあらゆる情報を処理しているそうです。 3. 学習とか記憶とかニューロンとニューロンがつながっている部分はシナプス (synapse) といいます。 このシナプスを通じて電気信号の伝達が行われるわけですが、 信号の伝達効率はシナプスによって違い、 さらに各シナプスの伝達効率は変化していきます。 この変化が、何かを学習することや 記憶することに関係していると言われています。 4. で、ニューラルネットワークこうしたニューロンやシナプスの特性と信号の伝達のしかたを、 そのまんまとはいかないまでも、 コンピュータ上で表現したものが ニューラルネットワークと呼ばれるものです。 5. 大きく分けると2種類ニューロンのモデルの組み合わせかたなどによって、ニューラルネットワークは大きく二分できます。 ひとつは、信号が一方向にしか進まない フィードフォワード型のネットワーク。 ニューロンは層別に配置され、 信号は入力層から出力層へ向かって 伝達していきます。 多層パーセプトロン、RBFネットワークなどが ポピュラーなフィードフォワード型ネットワークです。 もうひとつは、前の層への信号伝達や ニューロン間の双方向の伝達を考えた リカレント型のネットワーク。 ホップフィールドネットワークや ボルツマンマシンなどが有名です。 6. ニューラルネットワークの学習機能生物の脳は、ニューロン間の結合であるシナプスの 伝達効率が変化することで 学習や記憶を行っているわけですが、 ニューラルネットワークでも、 シナプスの伝達効率にあたる 結合重み (connection weight) を調節することで ネットワークの特性を変化させることができます。 そしてこの結合重みを、 実際に得られたデータをもとにして 変化させていくうまい方法もたくさん考えられています. これがネットワークの学習です。 人間がいちいち重みを調節していくのではなくて、 データをもとにしてネットワークが勝手に 重みを調節するんですね。 (そのためのプログラムは人間がするんですが。) 7. 何に使うのかニューラルネットワークは脳の神経回路を模したものですが、 では、実際には これはどういうことに使えるのでしょう? 答えは、「いろんなことに使える」です。 例えば、多層パーセプトロンやRBFネットワークなどは 関数近似、パターン認識、時系列予測などに、 ホップフィールドネットワークは連想記憶などに、 ボルツマンマシンは組み合わせ最適化などに それぞれ使われることが多いです。 と、さらっと書きましたが、 パターン認識って何? とか 連想記憶って何? など、 それぞれがどんなことかは 自分で調べてみてください。 (まさかの説明放棄!!) 次のページ以降では、 多層パーセプトロンとRBFネットワークについて Javaアプレットを用いて説明していきます。 |