2008年11月12日水曜日

コンピュータでのニューラルネットワークでの実装についての考察

コンピュータでニューラルネットワークを備えた人工知能もどきを実装しようと思う。

まず、神経細胞の使い方というか、興奮の伝え方をまず決めなくてはいけない気がする。
実物のようにパルスとして伝達するか、値の大きさ(3とか-29とか:量)を伝達するか。

これは、現実に作成を目論んでいるロボットに取り付けたい各種センサーがパルスではなく量を出力するものが多い(気がする)ので
量を伝えるように設計したほうがいいように思う。
パルスを出力するセンサーももちろんある(ロータリーエンコーダーとか加速度センサーとか)。
これらは「シビアな単位時間当たり」のパルス数を数えないといけない場面が多いと思うので、
全ステップの実行にどのくらい時間が掛かるかわからないコンピュータでの
ニューラルネットワークでの実装には向いていないと思う。
別途タイマーを持った小さな装置や別のプログラムで量として計算しなおしてから
入力に用いたほうがいいだろう。

実際の神経細胞は1回発火したら次の発火までに一定の時間休む必要があるみたいだけど
数千の入力を持っていても1ステップ(1単位の実行時間)で処理し終わることが出来る。
なので一つ一つがタイマーとカウンターを持っているようなものであろう。

コンピュータでのニューラルネットワークでの実装にパルス伝達を使用しようとしたら
タイマーや興奮の減衰や累積の仕組みを組み込まなくてはならないようだ。
それは面倒である。


よって、今回は量をそのまま伝達する方式を取りたい。
コメントを投稿