このロボットハンドは、強化学習で人間の動きを“発明”した(動画あり)

ロボットハンドが、人工知能の強化学習を用いて人間の手の動かし方をゼロから身につけ、つみ木を持ち上げて指先で自在に動かす方法の習得に成功した。イーロン・マスクが協力する非営利団体のOpenAIによる取り組みで、仮想的に行われた100年分相当のシミュレーションなどで実現した。ロボットは、いかに短時間で莫大な経験を獲得できたのか。その道のりに迫った。

TEXT BY MATT SIMON
TRANSLATION BY SHOTARO YAMAMOTO/DNA MEDIA

WIRED(US)

openai-hand-block-3

PHOTOGRAPH COURTESY OF OPENAI

イーロン・マスクは、人工知能(AI)にちょっとした懸念を抱いている。「AIは人類文明を根本から揺さぶるようなリスクを抱えていますが、そのことが完全には理解されていないと思います」と、彼は2017年に発言している。

そこでマスクは、非営利の研究機関であるOpenAIの立ち上げに協力することにした。こうして、われわれの文明をニキビよろしくプチっと潰してしまうような機械ではなく、「安全」な汎用人工知能(AGI)を開発する道を切り開く手助けをしている。

もっとも、マスクが示した誰もが抱く懸念によって、AIがほかに抱えているより現実的な問題に注意が向けられなくなってしまうおそれもある。しかし、手に取るものすべてを破壊するようなロボットではなく、よりよいかたちで人間社会に参加してくれるロボットの開発に向けて、OpenAIが大きな一歩を踏み出したのは確かだ。

OpenAIの研究員たちが開発したのは、シミュレーション上のロボットハンドが試行錯誤を重ねてつみ木を扱い、そこで得た知識を現実のロボットハンドに絶え間なく送信するシステムだ。驚くべきことにこのシステムは、人間が普段モノをつかむときの特徴的な手の動きを“発明”してしまった。これがわれわれをプチっと潰すための試みでないことは明らかだ。

hands

VIDEO COURTESY OF OPENAI

研究員たちが用いたのは、強化学習と呼ばれる技術だ。シミュレーションにおいてロボットハンドは、ニューラルネットワークを利用して、つみ木をつかんだりいじったりする方法を自由に試せる。

「ランダムな動きをしてみじめな失敗を延々と繰り返すんです」と、OpenAIのエンジニアであるマティアス・プラパートは語る。「そのときにわれわれは何をするかというと、ロボットハンドがつみ木を回転させるという達成すべき目標にわずかでも近づく動きをしたら、報酬を与えてやるんです」

ここでの目標は、それぞれの面に1文字ずつ大文字のアルファベットが記されているつみ木を回転させ、指定されたいくつかの面を正面に見せることだ。しかも、つみ木を落とさずに達成しなければいけない。

システムがランダムな動きをしているうちに、つみ木がわずかでも適切な位置に近づくと、ロボットハンドには報酬としてそれに近い動きを続けるよう指示が出される。逆に的外れなことをした場合はペナルティーが与えられ、同じような動きはしなくなる(スコア方式のようなものだと考えてほしい。落としてしまうなど大きなミスをした場合はマイナス20点、といった感じだ)

「長い時間をかけてたくさんの経験を積んでいくうちに、つみ木を回転させることに関してはどんどん芸達者になっていくのです」とプラパートは言う。

デジタル空間でのシミュレーション

この新たなシステムのポイントは、研究員たちがデジタル空間にさまざまな世界を構築しておいたことにある。「おかげで、それぞれのシミュレーションにおいていろいろな条件を無作為に設定できるのです」とプラパートは言う。

例えば、つみ木の質量や重力設定を少し変えることもある。「そうすると、これまで通りに指を素早く動かせなくなる可能性があります」。まるでシミュレーション上の多元宇宙に生きているかのように、ロボットはそれぞれが少しずつ異なる多数の「現実」で訓練を受けるのだ。

これらはロボットハンドが現実の世界に進出するための準備段階だ。「トレーニング期間にシミュレーションの世界をたくさん体験することで、この学習システムには実際の物理的世界も無作為に与えられた世界のひとつにしか映らないのだと、われわれは示すことができたのです」とプラパートは言う。たったひとつのシミュレーション世界でトレーニングしただけだと、変数が大きくなってしまい、ロボットはひどく混乱してしまうのだという。

一例を挙げよう。通常、ラボで研究員がロボットハンドを配置するときは、手のひらを上に向けて完全に水平になるようにする。その場合、つみ木は安定し、手のひらから滑り落ちることはないだろう(このときロボットハンドの周囲に置かれたカメラが、それぞれの指の先端についたLEDとつみ木の位置を追っている)。しかし、手のひらをわずかでも傾けると、重力によってつみ木がこぼれおちてしまう可能性がある。

VIDEO COURTESY OF OPENAI

しかし、このシステムならトレーニング時の「ランダム重力設定」のおかげで、こうした状態を補正することができる。これは重力の強さだけでなく、重力が作用する方向を変更できるものだ。

「ランダム重力設定などのさまざまなランダム設定下でトレーニングを積んだわれわれのモデルなら、こういった環境にもかなりうまく適応できます」と、OpenAIのエンジニアであるリリアン・ウェンは語る。「ランダム重力設定下でトレーニングをしたことがない別のモデルでは、手の角度を変えてしまい、何度やってもつみ木を落としてしまいました」

そのモデルが傾きを与えられて混乱してしまったのは、現実世界では重力が手のひらの面に対して垂直にかかるわけではないからだ。しかし、ランダム重力設定下でトレーニングを受けていたモデルは、この異常を修正する方法を見つけることができた。

人間とは異なる可能性の発見

つみ木をつかみ続けられるように5本指とそれぞれ24度の可動域を与えられているため、このロボットハンドは非常に器用な動きができる(それゆえに「the Shadow Dexterous Hand(影の名手)」という名前がつけられている。実際に製作したのは英国企業だ)。

心に留めておいてもらいたいのは、このモデルはシミュレーション上で試行錯誤して、ゼロから指の動かし方を学ぶということ。さらにそれが自然な人間のつかみ方を“発明”し、われわれが自分の指で行うようにつみ木を持ち上げるやり方を実際に習得するところまで至っている、ということだ。

興味深いのは、このモデルが「フィンガーピヴォット」と呼ばれる動きに取り組む際に、一風変わった行動をとっていることだ。たいてい人間の場合は親指と中指、もしくは親指と薬指でつみ木をはさみ、人差し指で弾いて回転させる。ところが、このロボットハンドは親指と小指でつみ木をはさむやり方をとったのである。

「この行動をとった理由は構造にあるのだと思います。このモデルの小指は動かせる角度に余裕があるため、実はほかの指より細やかな動きができるんです」とプラパートは言う。「要するに、このモデルの小指は可動域が特に広いということですね」。モノの扱いを学んでいるロボットにとっては、単にこれがより効率的な進め方だったということなのだろう。

人間が一つひとつ正確にプログラムすると途方もない時間がかかってしまうような複雑なタスクは、AIこそが解決してくれる。

「人間に担当させようと思ったら大勢の専門家が必要になるような問題を、自力で解決してくれるAIをつくる。それはある意味で、強化学習の真髄なのです」と、カリフォルニア大学バークレー校のロボット研究者であるピーター・アビールは言う。「これはその実現が進んでいるという素晴らしい事例です」

莫大な経験値がもたらした革新

研究者たちがシミュレーションでロボットをトレーニングして、現実のロボットにその知識を与える取り組みをしたのは、これが初めてではない。問題は、シミュレーション世界と現実世界の間には大きな断絶があることだ。この偉大で複雑な大宇宙は、不確定要素が多すぎるのである。

「かつてシミュレーターが作成されたとき、作成者たちはできるだけ正確なシミュレーターをつくって、その精度に頼って作業を行おうとしました」とアビールは言う。「このため精度が足りなかった場合、そのシステムはうまく動かないことになります。これを避けるのが今回の発想です」

当然、このような強化学習を現実世界で行うことで、シミュレーションを省くこともできる。しかし、今回のモデルは初めからデジタル世界のみで訓練を行ったからこそ、莫大な経験値を蓄えることができたのだ。

その経験は研究員たちが組み込んだ並行「現実世界」を考慮に入れれば、100年分のトレーニングを強力なコンピューターで高速で行ったに等しい。こうした学習方法はロボットが社会での役割を獲得していくにつれ、いっそう重要性を増していくことだろう。

ここでいう「役割」に、人類を殲滅することはもちろん含まれない。OpenAIなら、きっとそれを証明してくれるはずだ。

RELATED

SHARE