Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
[go: Go Back, main page]

Fair skys
with intermittent Neuron
4/18 晴れときどきニューロン





ニューラルネット再び



 ニューラルネットについて、ずっと以前にこのページでとりあげたのを覚えておられるでしょうか。

 そのときは東大の中野馨教授の考案したアソシアトロンについて説明し、Javaでアソシアトロンのプログラムを示しました。


 あれは最も簡単な例だったのですが、アソシアトロンの発展形として、メロディを認識するニューラルネットというユニークなアイディアがありました。

 これは通常のニューロンが、与えられた刺激を直ちに結果として反映するのに対し、メロディを認識するために考えられたニューロンは刺激が閾値に満たない場合は刺激を蓄積するような作用をする点が違います。

 また、この刺激は時間とともに減衰するので、この「時間とともに減衰」というところで一種のリズムのようなものを認識できることになります。

 実は、そのほかのニューラルネットというものは、基本的に時間軸において変化するものに対して非常に脆弱な側面があって、たとえば有名な逆伝播法(バック・プロパゲーション)は既に論外としても、手書き文字認識などに使われるニューラルネットにしろ、どこかしらその学習過程で時間軸を別の信号的概念に変換しなくてはなりませんでした(例えば書き順などに)。

 しかし、このような時間とともに刺激を蓄積し、減衰するニューロンに関しての研究を進めれば、或いは実は簡単に時間による変化を認識できるニューラルネットが作れるかもしれません。

 実際、中野教授のグループは、このニューロンを使ったメロディ認識回路の作成に成功したようです。

 たとえばニューラルネットで音声認識をするとひとくちにいっても、やり方は無数にあり、実はニューラルネット本来の研究意図であったバイオ・コンピュータ(人間の神経回路網をそっくり模倣したコンピュータ)から離れ、むしろニューラルネットワークの数学的性質に着目した研究(巡回サラリーマン問題など)が進んでいました。

 ニューロン、そしてその組み合わせであるニューラルネットというものは、逆説的ですがパソコンを構成する抵抗やコンデンサなどの部品と、その組み合わせである電子回路の関係に似ています。どちらも使い方次第でどうにでもなるということです。

 いまのニューラルネットの研究は、未だ鉱石ラジオの段階にあると言えるでしょう。ニューラルネットのお手本である、人間の脳細胞を真似る研究は、どこかにいってしまったのでしょうか。





残像というもの

 さて、突然こんな話をしたので不思議に思われた方もいらっしゃるかもしれません。ちゃんと理由があるのです。

 実は、慌てて実装したProjectKのモーションブラー機能、見る人がみればわかりますが、あれは現実のモーションブラーとは違う、単なる残像です。ただ、効果としては面白いので組み込んでみただけです。これでも充分ハッタリになります(なぜならこのような効果を使っているデモなりプロダクトなりがないからです)。

 まぁしかし、新しい3Dライブラリを作る上で、もうすこしマシな、もっというと本物に近いモーションブラーをなんとか組み込めないものかと考えたりしていたのです。

 シーン全体をモーションブラーするのは無理があるとしても、弾丸や爆発など、高速に変化するものはモーションブラーがないとかなり不自然でしょう。

 そこで、もっとも簡単な、特定のオブジェクトのみ、計算回数を増やして対応するということを考えました。まぁ要するに分身させるわけですな。

 ただ、ここで重要になってくるのは、モーションブラーと残像は厳密には違うということです。それは先日、glcockの作者のmasaさんのページを読んで初めて気が付いたのですが、残像効果をつくる場合には、ひとつ前のフレームをたとえば50%で描画することにすると、その前のフレームは25%であり、さらに前は12.5%の半透明ということになります。残像は時間とともに弱くなり、新しい映像で消されるからです。

 ところが本当のモーションブラーは、これを残像のように薄くしたりはせず、平均化するだけなのだそうです。考えてみれば当然で、フィルムは一度光が当ったら絶対減衰しないし、CCDも光量を蓄積するだけなので、平均化は実に理に適った計算法です(ということは全部のフレームを50%で重ねあわせるということですね)。

 さて、ここまで考えて、果たして網膜は如何なものかと思ったわけです。なぜなら、網膜は厳密なモーションブラーの他に、残像も観察できるからです。

 試しに手を高速に振ってみてください。流れてしまう映像と、その前に観測した映像の残像が両方観測できるはずです。つまりモーションブラーと残像は全く違うものだったのです。

 しかし観測しているのは単一の網膜であり、視神経細胞です。このとき、件のメロディを感じるニューロンのことを思い出したわけです。


 なぜなら、まず網膜におけるモーションブラーについて考えてみましょう。

 モーションブラーはフィルムならシャッター速度、CCDならクロック周波数(論理的なシャッター速度)に依存して発生します。シャッターがあいている間の時間、光の刺激を蓄積しつづけるわけです。

 網膜においては、心理学でいう閾下現象として理解できます。心理学では人間の認識できないほど高速に起きるできごとを閾下現象と呼びます。人間の脳もパソコンと同じようにクロックで動いているらしいこともわかっていますから、網膜からの情報は、約1/60秒ごとにまとめて処理されると考えられます。それまでの情報は、当然蓄積されているわけです。

 ここまでがふつうのニューロンの限界です。このほかの視神経の研究というのは、むしろ形状認識の方向へ突っ走っていきます。

 しかし一段踏みとどまって、さらにモーションブラーと残像はなぜ違うのかを考えてみると、実は視神経ニューロンは刺激を蓄積・減衰させる性質のものだと考えられないでしょうか。

 つまり、減衰はクロック毎もしくは連続的におこるとして、とりあえず1/60秒周期でデータをひとまとめにします。そのとき、当然、それまでのデータはリセットしなくてはいけません。映画ならフィルムを巻き上げ、CCDならフレームバッファをクリアします。視神経はどうするんでしょうか。原則的に言って、視神経がクリア機構を持っているとは思えません。ということは、視神経はクリアではなく、蓄積した刺激の減衰のみに頼ってそれを処理しているとも考えられます。このとき、1/60秒周期でサンプリングした画像毎に前回サンプリングしたときの刺激が完全に消えずに残っている可能性があります。人間はこれを残像と認識するのではないでしょうか。

 ということは、人間の全ての脳細胞は蓄積した刺激を減衰する作用がある可能性があります。いや、むしろその方が自然でしょう。

 ということは、従来言われていたようなシナプシス(軸策)の太さ以外にも、学習要素として、減衰時間や閾値というものが設定できはしないでしょうか。減衰時間はニューロンによって固体差があると思います。閾値は頻繁に反応するようならわずかな刺激でも反応するように僅かづつ下がっていくことも考えられます。また、もしそうなら、コンピュータも脳の病気になることがあります。たとえば故意にある一定の刺激を与え続け、特定のニューロンの閾値を著しく下げ、軸策を極めて太くした場合、そのコンピュータはそのニューロンに過敏に刺激されるようになります。これをもとに戻すのは中々難しく、一筋縄ではいきません。

 たとえばこれは、人間でいうノイローゼの状態といえるかもしれません。

 この時間とともに減衰するニューロンというのは研究テーマとして、なかなか面白い側面を見せてくれそうですね。