HTM, ヘブの法則から考えるパーソナルAI


ここしばらく書いている内容は最近知ったり考えたのではなく、以前から考えているがブログに書くなどはしてこなかったものである。それでも一部はスラド日記に書き留めていた。
2008年7月21日のスラド日記に書いたエントリからそのまま転載する。


ai:: Numenta, HTM, ヘブの法則 - これまでのあらすじ


神経細胞AとBの間にシナプスがあって、AとBがほぼ同時、あるいはA→Bの順で
約20ms以下の時間差で活動したとき、シナプスの結合は強化される。
(参考:進化しすぎた脳)
この、ヘブの法則が、脳が入力信号の繰り返しから、パタンを抽出して学習する原理の
根っこにあるアルゴリズムらしい。

目をCCDカメラのようなものだとして、2次元配列の濃淡情報がそのまま視覚野に入って
2次元配列状の神経ネットワークが待ち受けているとする。
ぼんやりした曇りの空ではなく、立っている樹木などを見たとき、二次元配列を
縦線が横切る。すると「A、Bほぼ同時の刺激」となる領域があるだろう。

脳細胞を調べると、縦線に反応する細胞、横線に反応する細胞など、簡単な図形要素に
反応する細胞が見つかったという結果がある。ヘブ則によって学習された、まず
第一段目の部分なのだろう。

単純な形の認知は、V1野、V2野…と階層を上るにつれて、より高度な認識となる。
(参考:考える脳…)
クリントン大統領の顔を見たときに反応する脳細胞があるらしい。一例だろう。
視覚だけでなく、聴覚や触覚すべて、簡単なパタンから複雑なパタンを認知する階層構造は
同じなのだろう。

階層的な構造を使って、記憶を元にした予測を行うのが知能の本質であると
仮説を立てたジェフホーキンスが、人工知能を作る方法として NumentaのサイトでHTM (Hierarchical Temporal Memory)を提唱している。
公開されているドキュメントを読んでいると、HTMはどうやらヘブ則を使って
学習する仕組みのようだ。
(HTMは時系列で変化しないような入力情報のアプリでも使えるが、時間変化する
入力の方がいいと述べている部分があった。)

ここからは私の考察。
脳のしくみを洞察してシステムを作ってみるアプローチは、AIを作る手順として
正攻法なんだと思う。 時々、IRCですごく人間っぽい応答をするボットを
見かけるし、チューリングテストとか中国語の部屋とかいろいろあるが、
脳の働きは「文字列をもらって文字列を返す」ような環境の中のものでは無いのだ。
身体性という言葉が出てきて以降、「身体がないと」と言う人も多いが、これも
ちょっと違うと思う。 例えばシステムに入力として光センサと時計だけがある。
朝になると明るくなり、夜になると暗くなる。これを24時間365日“観察”し続けて、
周期があるとか、周期が伸び縮みするとかのパタンを発見できれば、それは
知能的であると言えると思う。手足のロボットがあれば良いが必須でも無い。
(逆に、IRCボットももっと知能的になれると思う。Sさんはweekdayの夜にただいまと
発言する事が多い、などのパタンを学習・予測する等)

さて、Numentaの仮説から従来の手法を振り返ると、ルールベースとか、
形態素解析とか、三段論法とか、その他色々ある従来の方式は、明日から
役立つシステムとして稼働できるけれど、ヒトのように学んでいったりは
しないものであろう。 かといって、HTMのようなアプローチでは、まるで
生まれたての赤ん坊のようで、日本語で相手をしてくれるようになるまで
果たして何年かかるのか分からない。
そこで、両者のハイブリッドなものが作れないだろうかと思っている。従来型の
形態素解析もやりつつ、HTM的な学習や予測もするような。

今考えているのはこんなところ。