ひとつの手で複数の仕事をこなすAI:DexComposeの賢い役割分担
アリストテレスは「手は道具の道具である」と言いました。
なるほど、人間の手ほど多彩な道具もないかもしれません。
掴む、回す、押す、引く…私たちは一つの手で次々と仕事を変えられます。
でも、ロボットの器用な手に同じことをさせようとすると、とたんに難しくなる。
今回は、そんな多芸なロボットハンドを目指した最新研究「DexCompose」について書いてみます。
複数タスクの衝突という壁
器用な操り(dexterous manipulation)のAIは、個別のスキル(例えばボールを掴む)は学習できても、それを組み合わせて複数タスクをこなすのは難しい。
掴んだまま別の操作を加えようとすると、指の動きが衝突し、せっかく掴んだものを落としてしまったりする。
単純に「掴むAI」と「回すAI」を繋げてもうまくいかないのです。
役割を決める「DexCompose」の知恵
DexComposeが提案するのは、役割を意識した残余学習(role-aware residual composition)という方法です。
ここでのキモは、指ごとに「所有権」を割り振るという発想。
たとえば、コップを持ったまま引き出しを開けるとき、私たちは無意識に、親指と人差し指はコップをキープし、中指や薬指で引き出しに手を掛けますよね。
それと似ています。
DexComposeは、まず「保持すべきタスク(例えば掴む)」が成功した状態を集め、どの指がその状態を維持するのに必須かを調べます。
次に、新しいタスク(例えばスイッチを押す)を学習するときには、必須と判定された指の動きはなるべく変えず、自由な指だけで新たな動作を追加するように設計するのです。
具体的には、二つの非対称な「残余モジュール」を訓練します。
一つは「安定化モジュール」で、元のタスクを壊さないよう、許容範囲内で動きを調整します。
もう一つは「文脈適応モジュール」で、新しいタスクだけに割り当てられた指の動作空間の中で、凍結された下流ポリシーを適応させます。
ややこしく聞こえるかもしれませんが、要は「ここは触るな、ここだけ動かせ」と明示的に制約をかけることで、破壊的な干渉を防いでいるのです。
実験結果とこれから
研究チームは、物体保持スキル4種と後続インタラクション4種を組み合わせた16の複合タスクで評価し、平均77.4%という成功率を達成しました。
単純なポリシーチェイン(逐次実行)を超える結果で、明示的な役割分担という構造が有効だと示しています。
まだすべてのタスクで完璧とは言えませんが、一つの手で複数の作業をそつなくこなすロボットへの確かな一歩です。
モジュールを分けて再利用する考え方は、ソフトウェアの設計にも通じる美しさがありますね。
そんなわけで、指先の役割にまで気を配るAIの気遣いに、ちょっと感心してしまった次第です。