こんにちは。トロボです。
先日、バックアップファイルを整理していたとき、今から15年前(2003年)にある地域コミュニティでお話した時のプレゼンシートが出てきました。題して「知能ロボティクスのお話」です。情報は古いですが、考え方としては現在でも通じるものですので、このブログで紹介させていただきます。なお、画像等に関し出展が定かでないものがありますので、著作権者がお気づきになった場合はご指摘いただければ幸いです。
・・・
話は若かりし頃の私がROBODEX(ロボットの大型展示会)に参加したところから始まります。2000年台初頭は、今のAIブームのようなロボットブームであったため、各社斬新なロボットを開発し、会場は非常に賑わっていました。
特にソニーさんやホンダさんの人型ロボットは、当時の先端技術の粋を集めたもので、これからのロボット社会の到来を感じさせるに十分なインパクトがありました。
ただ、未来のロボット社会を純粋に夢見る一般の方とは違い、設計者・研究者は、ロボットが人間と同じように振る舞うために超えなければならないハードルが数えきれないくらいあることを十分に理解していました。その中でもとりわけ「知能」の実現が大きな課題であると認識していました。
ではロボットにおける「知能」とは何でしょうか。この図は、センシング能力(知覚)と行動能力(働きかけ)が必須であることを示しています。センシングのみでは単なるセンサであり、行動(アクチュエーション)のみでは単なる機械であるため、知覚と行動を通して間断なく外界とやりとりすることで初めて知能ロボットと言える訳です。
ここでロボットにおける知能の歴史を確認します。ロボット自体の歴史は、日本のカラクリ人形やヨーロッパのオートマタ(機械人形)からの流れもあると思いますが、こと「知能」という側面では、デジタルコンピュータに端を発していると言ってよいと思います。コンピュータの応用により後述する古典的人工知能が生まれ、それを頭脳にすることでモデルベースドロボットが生まれました。そして、そのアンチテーゼとして登場したのがビヘイビアベースドロボットです。
※本記事の最後に述べるように、モデルベース/ビヘイビアベースの区分は現在ではあまり意味を持たなくなっています。ただ、その考え方を整理しておくことは、知能の本質に迫るためには重要です。
デジタルコンピュータを頭脳とすると、そこで扱う記号とその演算から「知能」が成り立つと考えるのは自然なことです。これは、単語と文法の構造から言葉を研究する言語学(特に普遍文法が言語の背景に存在するというチョムスキー的な言語学)と類似するものがあり、一定の説得力を持っています。そのため、コンピュータ上の記号処理で知能を作ることが人工知能研究の中心的なアプローチになりました。これを「古典的人工知能」と呼びます(記号主義AIとも言います)。
こうした流れから、人と会話できることが知能とみなされ、対話プログラムELIZAのような成果が生まれました(エディタのEmacsにも遊び心で入っているようです)。映画「2001年宇宙への旅」で登場するHAL(人工知能コンピュータ)などは、人と会話するだけでなく最後は意志を持ってしまい、その脅威から人工知能という概念を普及させるのに大きな役割を果たしました。
※2003年頃の対話エンジンはチープでしたが、近年の発展はめざましく、膨大なデータを背景としたディープラーニングによる単語やフレーズのベクトル化、イメージデータと融合した意味理解などを活用し、もはや人工無能と笑えないレベルになっているように思います。
上述した古典的人工知能はコンピュータ上で動くため、コンピュータ(=脳)をロボット(=体)に載せようというのは極めて自然なアプローチです。また、コンピュータ上のプログラムを精神や心と考えると、「精神が体を動かす」ことになり、デカルト的心身二元論によってお墨付きを得ることになります。このような思想的背景から生まれたのがモデルベースドロボットです。モデルベースの設計では、ロボットに搭載されたコンピュータ内に世界のモデルや行動規範をプログラムとして“書き込む”ことで知能を実現します。
ここで、モデルベースドロボットに強烈なアンチテーゼを唱えた研究者がいます。後にルンバで有名なiRobot社や協働ロボットのRethink Robotics社を創立したMITのRodney Brooks教授です。Brooks教授は1980年台にビヘイビアベースドロボティクスを提唱し、ロボットを制御するコンピュータ内に「世界(モデル)」を記述するのではなく、センサ読み取り値に対する反射系の集まり(単純な動作パターンの階層的な切り替え含む=サブサンプションアーキテクチャ)で十分な知能が実現できるとしました。実際に、彼が発表した虫型ロボットGenghisは、モデル化が難しい環境を滞りなく進むことができました。
ビヘイビアベースドロボティクスでは、知能とはプログラムとして実装するものではなく、ロボットが環境とうまく相互作用する様子から観察者が見いだすもの、という立場をとります。この考え方は心身二元論を超えるもので、「知的な振る舞いに精神は不要」ということを意味します。そうすると、いったい人間の知能とは何なのか、心は実在するのか、などといった、より深遠な議論にも繋がってくる訳です。Brooks教授の論文を集めた「Cambrian Intelligence」は今読んでも非常に示唆に富んでいます。
ここで、モデルベースド/ビヘイビアベースドロボットの方法論の違いに関し、タスク実行の観点から議論してみたいと思います。上の例のように環境内をStartからGoalまで二輪のロボットを動かす実験を考えてみます。
このタスクを実行するロボットをモデルベース的に実装すると、ロボットにカメラを載せ、その画像情報から障害物を認識、その見え方を予め保持している環境地図(モデル)と比較することで自己位置を推定、自己位置とゴール位置から適切な移動経路を計画、そしてその結果に基づき車輪を回す、という処理を毎ステップ繰り返すことになります。
現在のプロセッサを用いれば、これを実行するのはたいして難しくないかもしれませんが、いずれにせよ計算量は少なくありません。また、環境地図を予め書き込んでしまっているため、環境の変化に対応するには地図を随時書き換える仕組みが必要になります(誰がいつどうやるのか、こちらのほうが今でも問題かもしれません)。
このように、モデルベース手法を用いると、言わば頭でっかちで、あまり融通がきかないロボットになりがちです。一方で、行動が目的達成のための全体計画にしっかり基づくため、最適な行動を採りやすいという利点もあります。
一方、ビヘイビアベースの発想でロボットをデザインすると、このようになります。センサ・モータ直結という考え方で、センサがアクティブになったときに、モータを正回転または逆回転させるのかを設計するだけになります。後は環境内で実際に動かし、よりスムーズに動くようにセンサの位置や数などの調整を行っていきます。
つまりビヘイビアベースドロボットは、ロボットの身体構造がそのままタスク達成のためのデザインになっており、非常に効率的な設計になっている訳です。一方で、大域的な目標達成計画を立てることが苦手であり、局所的な解(地図でいうと袋小路)に陥ることや、無駄な行動(行ったり来たり)が多く目標達成に時間がかかるという欠点もあります。
モデルベース/ビヘイビアベースの知能をグラデーションとして表すとこのようになります。特に説明は不要かと思います。
このスライドは誤解を生みそうですが、言わんとしていることは、コンピュータを頭脳としてロボットを動かす際には注意が必要ということです。コンピュータプロラム内のモデルは、往々にして人間が人間目線で整理した内容を、人間が分かりやすい形で記述されます。例えば、コンピュータ内において環境の地図はX-Y平面として描かれ、ロボットや障害物の位置はそこにおける座標として表現されますが、この記述は知能を実現する上で本当に妥当なのか、ということです。
本質的な知能にアプローチするには、人間による分析結果を実装するのではなく、ロボット自身がロボットの身体を使って世界のモデルを獲得するような設計にすべきです。対話を中心にコミュニケーションするロボットを例に取ると、設計者がロボット内に記述した単語がロボット自身にとってどういう意味を持っているか、おそらく何も意味のない記号になるはずです。例えばロボットが「熱い」という概念を本質的に理解し、発話の中に的確に組み入れるには、温度センサを持ち、かつ「熱い」ということが生命の危機(故障や破壊)に繋がるようなことでないと、人間と意味を共有できないのではないかと思います。
最近、ディープラーニングの文脈で東京大学の松尾豊教授が使う「子どもの人工知能」「大人の人工知能」という概念は、上記の議論に類似するところがあります。
http://www.soumu.go.jp/main_content/000400435.pdf (P.23)
これも大胆な割り切りのスライドですが、なかなか的を射ていると思います。設計者が人間の知能を分析した結果をそのまま実装するするのがモデルベースド知能、設計者がロボットなりの知能を発現させる内部メカニズムを構築するのがビヘイビアベースド知能と言うことができます。ただ実際は、これらをハイブリッドする手法や確率ロボティクスなどの中間的な手法もあります。確率ロボティクスは、ベイズ推定を用いることで、不完全なモデルしか持っていなくても逐次的に得られるセンサ情報から自身の状態をそれなりに推定できるという枠組みです。この方法は、ここ15年でSLAM(simultaneous localization and mapping)として確立され、工場内の自動搬送車などにも使用されるようになりました。
長々と議論してきましたが、実のところ、今やビヘイビアベースとモデルベースという整理の仕方自体があまり意味を持たなくなりました。現在のコンピュータは十分高性能で、データベースクラウドとも高速に繋がり、画像処理もFPGAやGPUで高速に実行できるようになっています。そのため、モデルベースドロボットが実世界で十分よく動けるようになり、ビヘイビアベースもモデルベースも目標とするタスクをよりよく遂行するための一手法として同列になったからです。ただ、ビヘイビアベースドロボティクスは知能の本質に迫ったため、「サイエンスとしてのロボティクス」という新しい領域を切り開くことになりました。次回からはそれについてお話ししたいと思います。