当研究室では「知能ロボット」の実現に向けて日々研究を行っています.その出発点ともなるべき問が,「知能って何?」です.
知能を持っているものとして皆さんがまず思いつくのは,「人間」だと思います.人間には高度な情報処理ができます.コミュニケーションや推論,学習して知識を増やすことも得た知識を用いて想像することもできるとされています.恐らく一般的な印象としては,これら様々な能力を総称して「知能」である,というものだと思います.それでは,「知能」的であるために必要な能力とは何なのでしょう?どのような能力がどのくらいあれば「知能」があると言えるのでしょう?また一つ一つの能力を見ても,ある/ないの二択ではありません.コミュニケーション能力を例にとっても,高い能力のある人もいれば,全くないわけではないが...という人もいます.
更に,意見の分かれていくところですが,動物にも知能がある,と感じる人もいます.身近なところでは犬・猫に知能を感じる人も多いのではないでしょうか?しかし人間がもつ能力と犬・猫がもつ能力とを同じように比較することは困難です.それでも,「知能があるか?ないか」という判断を人間は行うことが出来ます.では,犬や猫ではなく,昆虫ではどうでしょう?昆虫には昆虫独自の能力が沢山あります.この場合はどうでしょう?
このように人間同士や人間と比較的人間に近いものとの間では,「知能」の有無の判断は容易です.しかし異なる種同士であればあるほど「知能」の判断は困難になっていきます.なぜでしょうか?
私達は,(少なくとも)人間は「知能」を直接見ること・感じることができないからである,と考えています.身振り手振りや表情,発話などの身体の振る舞いによって間接的に「知能」を感じることのみができるのだと考えます.
知能については各分野の人々が古くから考察を行ってきています(哲学が代表でしょう).しかし現在に至るまで万人が納得する答えは出ていません.つまり,現段階ですぐに「知能」を知り,「知能」を持ったロボットを実現することは大変困難です.そこで,「知能」的かを判断する身体の振る舞いに注目します.そして,「知能」を感じさせる身体の振る舞いとはどういうものかを考え,機械(特にロボット)に実装し,はたして振る舞いによって「知能」を感じさせてくれるのかを検証し,「知能的な振る舞い」の実現を行っていきたいと思っています.
「知能的な振る舞い」を私達は,「身体による知能の表現」と捉えます.よって自転車にのったり運動をしたりという動きはもちろんのこと,考え込んだり本を読んだりという動きの少ないものも「知能的な振る舞い」と捉えます.特に後者の場合,そのような動きを通して見ることのできる脳みその内部の情報処理メカニズムを「知能的な振る舞い」と考えることが多いと思います. そこで私達の研究室では,「動き」に注目し,「動き」をつくり出すメカニズムまで含めて「知能的な振る舞い」と考え,実現していきたいと思っています.
ここで,「動き」について考えてみます.
コップをとる動き,ドアをあける動き,お手玉をする動き,様々な動きがあります.人間が行っている動きを正確に記録し,人間と同じ機構をもつロボットで再現してやるとどうなるでしょう?ちゃんと「動く」のでしょうか?もちろんロボットの体は「動き」ます.しかし,コップをとる動き,ドアをあける動き,お手玉をする動き,となるのでしょうか?周りの状況までも人間が動いた時と完全に同じにすれば,意味のある動きとなるかもしれません.しかし多くは,コップをつかみそこなった,あける途中でドアが引っかかった,お手玉がどっかに飛んでいった,といった失敗の動きになると思います.
人間は動くときに,「まわりの環境」に合わせて動くことができます.置いてあるコップに合わせて手の位置を修正し,握力も調整し,にぎることができます.むしろ人間にとって,「まわりの環境と全く無関係に動く」ことは難しいものです.一方,機械・ロボットにとって後者の方が簡単であり,「まわりの環境」に合わせて動くことは大変難しいことです.なぜなら,「まわりの環境」は,「未知なる環境」だからです.ここで言う「未知なる環境」とは,見たことも聞いたこともない環境のことではありません.過去になんども同じような環境・状況を経験しており,沢山の予備知識を持っているけれども,全く同じ環境・状況ではない故に,未知なる要素がわずかでも入っている,そんな環境です.昨日コップをつかんだ環境とは,今日は場所が違う・重さが違う・コップが違う.恐らく一つ一つの要素は,数mm,数mg,数mlくらいの違いかもしれませんが,沢山の数ミリ違う要素が存在する環境は過去のどの環境とも違うのです.私達の囲まれている実環境は,無限の環境パターンを許容するくらい,複雑なのです.
人間は,このよく馴染んだ未知の日常環境の中で動きを創造し続けて生きています.そのメカニズムは何か?それを考え,創り,ロボットを用いて動かす.これが現在,私達が研究している事柄です.
これまでにロボットが用いられてきた環境は非常に限定的でした.
社会で用いられているロボットは工場のラインで使用されているロボットが主であり,単調な仕事を限定的な環境で行うものです.この限定的な環境,というのは,なるべく人が入らず,突発的な変化が起こらず,毎日同じ状況を再現している環境です.
一方,研究・開発で用いられるロボットは,初期はシミュレーション(コンピュータ内に構築した仮想環境下)で動かされていました.現在もシミュレーションは重要な役割を担っていますが,次第に実機を用いた研究・開発も行われるようになってきています.その際,実機が用いられる環境は,ロボットが動きやすいように外乱・ノイズがあまりなく,実験毎に同じ状況を再現できるように整えられます.
このような工場等での環境,シミュレーション,および研究開発における実験環境における特徴は,人が環境をコントロールすることができ,ロボットを用いる前にどのような環境であるのかを予想することができることです.環境をコントロールすることでロボットの用い方は飛躍的に簡単になります(それでも難しいのですが).
しかし,ロボットの適用範囲を広げ,より身近に,より便利に用いるためには整えられた環境から私達が生活している実際の環境でロボットが動作することが必要になってきます.ここで,私達が生活している環境,とはロボットのために特別に用意された空間ではなく,私達が物理的に移動可能な空間全てを指します.それは,私達が住む一般家庭内で動くことから,究極は他の惑星に行って動くことまで対象になります.その難しさは,複雑性(関連する要因が無限にある),リアルタイム性(時間に応じて不可逆的に変化していくため時間制約が存在する),開放性(何かを考える時に無視してよい環境とそうでない環境とに分けることができない)などがあります.