ソフトウェア

まるで人間の手のような器用過ぎる動作を見せつけるロボットアーム「Dactyl」


これまでにないレベルの器用さで物体を扱うことが可能なロボットアーム「Dactyl」をOpenAIが開発しています。DactylはDota 2の5対5バトルで人間チームに勝利することも可能なゲーミングAI「OpenAI Five」に利用されているのと同じ汎用目的の強化学習アルゴリズムとコードが利用されており、ゼロから手の扱い方を学び、手のひらの上で物体を滑らせたり指を使って回転させたりと、器用な動作が行えるようになります。

Learning Dexterity
https://blog.openai.com/learning-dexterity/

DactylはShadow Robot製のロボットアームである「Dexterous Hand」を用いて、手のひらの上に置かれた物体を操作するシステムです。手のひらの上に置かれるのは各面に文字の書かれた立方体など。プログラムで「この面が見えるように立方体を動かして」と命令すると、手のひらの上で立方体を器用に転がして指定の面が見えるようにしてくれます。なお、物体を動かすために3台のRGBカメラが使用されており、これが撮影した画像で指先の座標を認識しているそうです。


Dactylによる器用すぎる指先の動きは以下の画像をクリックするとチェックできます。


人間と同じ形をしたロボットアームが開発されたのは何十年も前の話ですが、このロボットアームを「物体を効果的に操作するために使用すること」はロボット制御分野にとって長年の課題となっていました。ボストン・ダイナミクスが器用に歩く人型ロボットのAtlasを開発していますが、伝統的にロボットは歩行のような動作よりも細かな指の動きのような精巧な操作の方が進歩が遅かったというのが現状でした。

そこで、特定のタスクをプログラムに入力することなく、ロボットが独自に多種多様な問題の解決方法を学習できるようにとさまざまな取り組みを行ってきたOpenAIが、Dactylを開発します。このDactylは、立方体を手のひらの上で回転させる方法などを独自に編み出しました。Dactylの開発にはゲーム分野で大きな成功をおさめていた強化学習が用いられており、ロボットに対して「現実世界でどうやって問題を解決するのか」を学習させています。ロボットアームは現実世界で動作するため、手のひらで扱う物体とアームの間で起きる摩擦やスリップなどは、直接観察することができないため推論しなければいけなかったそうです。


実際にDactylが動く様子は以下のムービーで見られます。文字の書かれた立方体を指定された面がカメラに向くように転がすというテストを、50回連続でクリアしています。めちゃくちゃ器用に指先を動かしており、これまでのロボットアームとは一線を画する器用さを持ち合わせていることがよくわかります。

Learning Dexterity: Uncut - YouTube


どうやってDactylを学習させたかというと、MuJoCoの物理エンジンを使用してロボットシミュレーターを作成しており、現実世界でロボットアームを動かす前にはデジタルの世界でロボットアームを動かしての強化学習が行われています。

学習時には毎回微妙に異なる条件を設定する、「ドメイン・ランダマイゼーション」と呼ばれる技術を用いているそうです。この「微妙に異なる条件」というのは、立方体や背景の色が異なるというだけでなく、ロボットハンドの動作スピードや立方体の重さ、立方体とロボットハンドの間に起きる摩擦係数に至るまで、あらゆる要素をランダム化してDactylを学習させたとのこと。さまざまな条件下でロボットハンドの動作方法を学習することとなるため、Dactylの指裁きはとても逞しいものに成長していったそうです。


学習プロセスを簡単な図で示すとこんな感じ。まず、「Rollout Workers」がさまざまな条件下での動作経験を蓄積し、次に蓄積した情報を「Optimizer」へ送信。「Optimizer」はこの情報を基にロボットをコントロールするための各種パラメーターを改善します。そして改善したパラメーターの内容を「Rollout Workers」へ反映させ、あとはこのサイクルを回し続けることでロボット制御の精度が向上していくというわけです。


学習プロセスにランダマイゼーション(ランダム化)を用いるか用いないかで、現実世界での立方体を転がして面を合わせるタスクの成功回数はかなり変化してきます。モーショントラッキングを用いた場合、あらゆる要素をランダム化して学習させたアームがタスクを連続で成功させた最大回数は50回であるのに対して、そうでないアームがタスクを連続で成功させた最大回数はわずか6回。タスク成功の中央値もランダム化を用いた場合が13回であるのに対して、ランダム化を用いなかった場合は0回です。


ただし、学習に必要となる時間はあらゆる要素をランダム化した場合の方が圧倒的に長くなります。以下のグラフは縦軸が面合わせを連続で成功する回数、横軸が学習時間、青色が学習時にランダム化を用いた場合、緑色が用いなかった場合を示しています。ランダム化を用いない場合は常に条件が同じであるために面合わせを連続で40回以上成功するまでにかかる学習時間はわずか3年足らず。しかし、常に条件をランダムに変更させる場合、常に一定のパフォーマンスを発揮できるレベルに至るまでにかかる学習時間がなんと100年以上となってしまいます。


ランダム化を用いる場合、さまざまな条件での学習が行われるため、Dactylは立方体以外の形状でも自然に扱うことが可能となります。


なお、OpenAIの研究チームはより複雑なタスクを学習させることを目標としています。

この記事のタイトルとURLをコピーする

・関連記事
表情の変化や2つの顔の合成などをAIが違和感なく行うOpenAIの「Glow」 - GIGAZINE

AIの進化が止まる気配はなく、6年間で約30万倍以上の学習が可能に - GIGAZINE

Dota 2で人間チームに勝利したOpenAIの人工知能「OpenAI Five」が今度は著名プレイヤーチームと対戦することを発表 - GIGAZINE

OpenAIの人工知能「OpenAI Five」がDota 2の5対5バトルで人間チームに勝利 - GIGAZINE

イーロン・マスクの人工知能研究機関OpenAIがAI学習プラットフォーム「Universe」をリリース - GIGAZINE

in ソフトウェア,   ハードウェア,   動画, Posted by logu_ii

You can read the machine translated English article here.