知能ロボットのお話 その2

こんにちは。トロボです。

前回の記事では、ビヘイビアベースドロボティクスについて解説し、人間の認知過程を人間の言葉・世界観(モデル)で実装していないにも関わらず、知的な振る舞いを実現できることを示しました。このことは、知能(精神、意識、心と言い換えても良い)が身体や環境から切り離された次元に存在するという心身二元論的な認知科学を超えて、より客観的で本質的な原理にアプローチできる可能性を示唆するものでした。それが「サイエンスとしてのロボティクス」という領域を切り開くことになった訳です。

エンジニアリング(工学)とサイエンス(科学)の定義はいろいろあるかもしれませんが、ここでは前者が「役に立つことを重視する」のに対し、後者は「本質的な原理に迫ることを重視する」と大雑把に捉えて下さい。今回はサイエンスとして、知能の本質について議論を深めたいと思います。プレゼンシートは前回のものからの続きです。

それでは、ロボット(人間などの生物も含む場合「エージェント」と呼ばれる)における知能の本質的な原理とは何でしょうか。ここでは、Emergence(創発)、Situatedness(立脚性)、Embodiment(身体性)という3つキーワードを紹介したいと思います。以下のシートでそれぞれの考え方について具体的に見ていきます。その他、Adaptability(適応性)やAutonomy(自立性)など、重要な概念もありますが、ここでは議論しません。

まず「創発」という概念について紹介します。Wikipediaでは次のように定義しています。

創発(そうはつ、英語:emergence)とは、部分の性質の単純な総和にとどまらない性質が、全体として現れることである。局所的な複数の相互作用が複雑に組織化することで、個別の要素の振る舞いからは予測できないようなシステムが構成される。

要は、要素同士が局所的に相互作用したとき、思いもかけない全体の振る舞いが立ち現れるということです。上の「Simonの浜辺のアリ」の例では、アリが持つ「障害物があったら右か左に避ける」という単純な行動ルールが、浜辺の複雑な地形と相互作用することで、いかにも知的な移動軌跡が生まれています。「なんだそんなことか」と思われる方もいるかもしれませんが、馬鹿にしてはいけません。大事なことは、環境の作用を無視して知能を考えることはできないということです。

この例は、走光性の単純なセンサ・モータ接続を持ったロボットが、それが故にデッドロックに陥ってしまっている仲間を助けるというものです。はじめに上方にいるロボットが下の2台のロボットの光に引き寄せられて動き出し、最終的にそれらにぶつかり、それによってデッドロックが解れます。それを傍から見ると人助け行動をしているように見えるという訳です。当然ながら、そのようなプログラムはどこにも書かれていません。

この研究は既に20年も前のもので、Webで動画が見つからず残念なのですが、その代り同様の例を以下に示します(別な講演で使用したプレゼンシートから転載)。

これは以下の論文にあるゴミ収集ロボットです。

M. Maris, R. Boeckhorst, “Exploiting physical constraints: heap formation through behavioral error in a group of robots”, IROS 96.

ロボットの構造は単純化すればこのようになっています。では、なぜこのようなセンサ・モータ直結のロボットでゴミが集められるのでしょうか?

答えは、単に正面が見えないからです。正面が見えないが故にゴミを押し続け、そのうちゴミが集まっている場所に出会うと斜め前に付いているセンサが反応してその場を去り、また偶然正面にゴミがあると押し続け、、、それを続けるうちにゴミのクラスターを形成してしまうというものです。

上記の例はいずれも、「他者を助ける」や「ゴミを認識し集める」などといった行動ルールや、他者やゴミ、環境のモデルがプログラムとして書かれているわけではなく、ロボットと環境の相互作用により行動が創発している例と言えます。

創発の最後の例は、有名なBoidsという鳥の群れのシミュレーションです。Boidsでは、個々の鳥に上記①~③の単純な力ベクトルを作用させることで、極めて自然な群れの振る舞いを実現しています。上記リンク内の動画にもあるように、これら単純なルールのみで、群れが半分に別れて障害物を回避し、その後にスムーズに一つの群れに戻ることができています。最近の事情はよく分かりませんが、昔は映画内の鳥の群れのCG制作などに使われていたようです。

上のBoidsは不肖トロボが昔作成したものです。Javaアプレットがブラウザ非対応になったので、Javaアプリケーションに作り変え、さらに動画にしてみました。上記①~③を制御するパラメータを変化させた際に、群れの挙動が変わっていることが分かると思います。なおこのBoidsは勢い余った時には地面に張り付くようになっています。1秒以内のランダムな時間張り付くのですが、その後急ぎ仲間を追いかけるような挙動が生まれていることが分かります。単に群れの中央から離れるため、上記②の力ベクトルが大きくなるだけなのですが、慌てて追いかけているような挙動が創発しています。

上でいくつかの創発の例を見てきました。どの例も、人間が人間の見方で分析した知能をトップダウンで書き込んでいるのではなく、要素同士(環境とロボットの身体構造、鳥同士の単純なルール)の相互作用の中でボトムアップに知的な振る舞いが引き起こされていることが分かると思います。前回の記事における整理方法を用いると、前者がモデルベースド知能、後者がビヘイビアベースド知能ということになります。大事なことは、知的な振る舞いを生じさせる内部メカニズムは、必ずしも人間の認知・分析結果とは一致しないということです。

別な言い方をすると、知能の創発というものは観察者なしでは起こり得ません。物理的には、ある身体構造を持ったロボット(エージェント)が環境と何らかの相互作用をしているだけであり、知能とはそれを外部から見る観察者が、ある意味勝手に解釈するものだからです。これを突き詰めると、「そもそも知能(意識や心)は実在するのか?」、「それを観察している自分自身(自己意識)とは何なのか?」という深淵な問いにも繋がってきます。ただ、これは深すぎるので、ここで議論するのはやめましょう。

・・・

今回は知能ロボティクスを構成する3要素のうち、Emergence(創発)を紹介しました。だいぶ長くなりましたので、Situatedness(立脚性)とEmbodiment(身体性)に関しては次回ご紹介したいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です