ボストン・ダイナミクスは数年前、扉を開けようとする四脚ロボット「Spot(スポット)」を人間がホッケーのスティックで阻止しようとする映像を公開することで、ロボット分野において新たな次元に到達したことを示した。また2015年には、米連邦政府の型破りな研究機関である国防高等研究計画局(DARPA)が「ロボティクスチャレンジ」を開催し、不器用なヒト型ロボットたちが機械にとってかなり難しい障害コースで醜態を晒している。

「その“ロボット犬”は自ら学習し、どれだけ倒されても起き上がる方法を身につける(動画あり)」の写真・リンク付きの記事はこちら

そして今回の注目すべきニュースは、中国のロボット犬「絶影(ジュエイン)」を生み出した研究者たちが、ロボットを蹴ってひっくり返そうとしたり、棒で押したりして妨害する人間を見事にかわす方法を教え込んだという内容だ[編註:「絶影」とは中国の後漢末期に活躍した曹操の馬の名。影をとどめないほどの速さから付けられたとされる]。

中国の浙江大学(ここで絶影のハードウェアも開発された)とスコットランドのエディンバラ大学の研究チームは、攻撃されたあと立ち直る方法を絶影に教えたわけではない。ほとんどの部分はロボット自身が自ら見つけるよう仕向けたのである。

これはボストン・ダイナミクスのようなハードウェアメーカーがロボットに動作を教えるやり方とは、一線を画すものである。同社の場合、例えば人間の足などの刺激に対してロボットが示すべき反応を1行ずつハードコード(プログラム)するという、人間の数十年もの経験を利用している。

アルゴリズムが自ら学習

しかし、もっといい方法があるはずだ。ここで自分がサッカーチームを率いる立場だったとしよう。走ったり球を蹴ったりといったサッカーの動作全般は、ミッドフィルダーやストライカー、ゴールキーパーなど全員がおこなう。しかし、それぞれのポジションに独自の特殊なスキルがある。例えば、ゴールキーパーはフィールド内でボールを手に持てる唯一のプレイヤーであり、そのような行為で怒鳴られることはない。

従来のロボットの訓練法では、そのような特殊な動作を細かくプログラムしなくてはならない。例えば、ロボットをミッドフィルダーのように走らせるには、アクチュエーター(ロボットの腕や脚を動かすモーター)をどう連携させるか、といったことだ。

「現実問題として、自然環境のなかでロボットに幅広い作業や任務をさせようと思ったら、さまざまな能力が必要になりますよね」と、エディンバラ大学のロボット研究者の李志斌(リー・ジーピン)は言う。李は[Science Robotics]誌に最近掲載された今回のシステムに関する論文の責任著者である。

李たちはまず、仮想ヴァージョンの絶影を導くソフトウェアを訓練するところから始めた。絶影の複雑な動作を支援する8つの“エキスパート”と呼ばれるアルゴリズムをもつ学習アーキテクチャーを開発したのだ。

駆け足をしたり、あおむけに倒れた場合に立ち上がったりといった特定のスキルについてロボットのコンピューターモデルを訓練して習得させるために、それぞれのエキスパートに深層ニューラルネットワークが適用された。目標に近づくようなことを仮想のロボットが試みた場合は、デジタルの報酬を与える。理想とは違うことをした場合はデジタルの罰を与える。

このような手法は強化学習と呼ばれる。こうして誘導しながら試行錯誤を繰り返すと、シミュレーション対象のロボットは特定のスキルに熟練していく。

VIDEO BY YANG ET AL., SCI ROBOT. 5, EABB2174 (2020)

AIが“チーム”として協調

この手法を、従来のような1行ごとのコーディングと比較してみよう。一見単純そうに思える階段を上る動作をロボットにやらせると、コードはどうなるだろうか。「このアクチュエーターをこれくらい回転させて、この別のアクチュエーターをこれくらい回転させる」といった内容になることだろう。

「人工知能(AI)のアプローチは、体験を捉えるという意味でかなり異なります。わたしたちのロボットは数十万回、もしくは数百万回も試行しているのです」と李は言う。「したがってシミュレーション環境では、想定される状況をすべてつくることができます。異なる環境や異なる設定を生み出せるのです。例えば、地面に横たわった状態や立った状態、倒れた状態など、さまざまな姿勢からロボットを起き上がらせることができます」

8つのエキスパートの訓練が終わると、今度はこれらが“チーム”として協調する方法を学ぶ必要が生じる。そこで研究者たちはアルゴリズムを統合し、コーチやキャプテンのような役割を果たす包括的なネットワークを形成した。こうして絶影の人工脳は、走ったり方向転換したり、体勢を戻したりする動作について、それぞれのエキスパートの知識を利用できるようになったのである。

「コーチあるいはキャプテンは、どのタイミングで誰が何をして、誰が連携すべきかを指示します。このためすべてがひとつのチームとして協力することができ、それによってスキルが大幅に改善されるのです」と李は言う。例えば、絶影が転んだあとに立ち上がる必要がある場合、システムがその動きを察知し、バランス担当のエキスパートを起動させる。

VIDEO BY YANG ET AL., SCI ROBOT. 5, EABB2174 (2020)

上のGIF動画を見てみると、8つのエキスパートに対応したバーが左上にある。仮想のロボットがシミュレーション環境を進みながら、浮遊する緑のボールをとってくる動作をしている状況だ。ここでは特定の瞬間に要するスキルに応じて、ネットワークが各エキスパートの専門スキルの影響を強めたり弱めたりしている様子がわかる。

「これはロボットが遭遇するであろう個別のタスクについて訓練する代替手段として有益なものです」と、南カリフォルニア大学の生物医学エンジニアであるアリ・マルジャニネジャドは言う。マルジャニネジャドも四脚ロボットを研究しているが、絶影のプロジェクトには参加していない。そして実用面でのプロセスの効率を向上させるには、ロボットがシミュレーション内での訓練に要する計算量をどう減らすかが課題となると、マルジャニネジャドは指摘する。

VIDEO BY YANG ET AL., SCI ROBOT. 5, EABB2174 (2020)

計算量を減らせれば、絶影を開発している研究者たちは、シミュレーションでヴァーチャルのロボットが学習した内容を現実世界のロボットに移植できる。上の映像では、ロボット犬の脳内の「コーチ」がAIエキスパートと連携し、石の上を歩く際に足場の確保を支援している。そして、人間の妨害者が絶影をひっくり返しても体勢を立て直す。

これは四脚ロボットにとって、いかなる環境でも容易なことではない。石の上で実現するのは、なおさら難しいだろう(このような場面で人間の足首が捻挫しやすいことを思い浮かべてみればわかる)。

それだけでは済まさず、人間が絶影の頭に付いているハンドル部分をつかみ、うつぶせに倒すこともできる。そのたびに、この勇敢なロボットは立ち上がる。それは特定の攻撃方法を研究者たちがプログラムしたからではなく、ロボット自身が動作の技術についてAIエキスパートと相談しているからだ。

ロボットを石ではなく滑りやすい面やガラスの上を歩かせると、これらの状況にもきちんと適応した。基本的に絶影は、予期せぬ状況でも安定した動作を見せている。

試行錯誤から学ぶロボット

今回の研究の全体的なコンセプトは、人間の幼児がよちよち歩きを覚えるのとほぼ同じ方法でロボットに動作を学ばせる、というものだ。

ロボットをプログラムして動かす従来の方法は、現実世界の仕組みに関する前提(例えば硬い床やじゅうたんに対して足の捉え方はどう違うのか、といったこと)を機械に取り込み、それを逐一指示するというものだった。しかし、幼児に「階段を上るには腕や足をこう動かすんだよ」と言う場面を想像してみてほしい。幼児は指示には従わないだろう。

幼児は試行と(ときには痛みを伴う)過ちを通して学ぶ。どのような面が滑りやすくどのような面がでこぼこしているか、そしてそれに応じてどう動きを対応させていくのか、経験を通して学ばなければならないのである。

それと同じように機械も、シナリオに従うだけでは簡単には環境に適応できないのだと李は言う。なぜなら現実世界の力や物体の表面は予測不可能で、とても複雑だからだ。「これらの仮定は自然界ではすべて完全に崩壊します。自然界の完全な情報など存在しないからです」と、李は説明する。

ロボット研究者は、混沌とした現実世界を機械が理解できるような方法で完全に特徴づけることはできない。このため、絶影に人間と同じように学ばせることが解決策となるのだ。そしてその手段は、古きよき試行錯誤ということになる。

「大局的な観点から言うと、柔軟で適応力のあるスキルを臨機応変に組み合わせたり、まったく未知のさまざまなタスクを処理できるインテリジェントマシンがもっと増えることを想定しています」と李は言う。

※『WIRED』によるロボットの関連記事はこちら。