1.Interactive Language:ロボットとリアルタイムに会話で指示を行う(1/2)まとめ
・ロボット学習のビジョンの一つは言語による命令に従う役に立つロボットの実現
・従来のロボット学習システムに欠けているのは人間とのリアルタイムの対話能力
・しかし自由形式の命令は非常に多くのタスクが存在する学習が困難である
2.Interactive Languageとは?
以下、ai.googleblog.comより「Talking to Robots in Real Time」の意訳です。元記事は2022年12月1日、Corey LynchさんとAyzaan Wahidさんによる投稿です。
アイキャッチ画像はstable diffusionで「遂に出来た!」という喜びと同時に「遂に出来てしまった…」という恐れの感情をも呼び起こされたロボットエンジニアとして活躍する風の谷のナウシカのイラスト
ロボット学習における壮大なビジョンは、人間の空間に生息し、さまざまな自然言語の命令に従う役に立つロボットを実現する事です。これは、1960年代後半のSHRDLU実験(訳注:コンピューター内部にシンプルな仮想世界を構築し、自然言語でその世界内の物体を操作できるようにした実験)に遡ります。
ここ数年、シミュレーションと実世界システムの両方で、指示に従うために機械学習(ML:Machine Learning)を適用する手法に大きな進展がありました。最近のPalm-SayCanの研究では、言語モデルを活用して長期目線の行動を計画し、抽象的な目標について推論するロボットが生み出されています。
Code as Policiesでは、コードを生成する言語モデルと事前に学習させた知覚システムを組み合わせることで、微調整をせずともロボット操作のための言語条件付きポリシーを生成できることを示しています。このような進歩にもかかわらず、現在の「言語を入力すると、行動として出力される(language in, actions out)」ロボット学習システムに欠けている重要な特性は、人間とのリアルタイムの対話です。
理想的には、将来のロボットは、ユーザーが自然言語で記述できる関連タスクにリアルタイムで反応するようになる事です。特に実験環境のような制限のない現実社会の人間環境では、エンドユーザーがロボットの行動をその場でカスタマイズし、素早い修正(「ストップ、腕を少し上に動かして」)や制約(「ゆっくり右に動かして」)を与えることが重要になるかもしれません。
さらに、リアルタイム言語によって、人とロボットが協力して複雑で長期的なタスクをこなすことが容易になり、人は時折言語によるフィードバックを受けながら、ロボットの操作を反復的かつ対話的に誘導することができるようになるかもしれません。
使用する語彙に制限を設けず(open vocabulary)で実施する命令追従の例
「すべてのブロックを縦一列に並べる」というような長期目線が必要なタスクをうまく誘導するためには、ロボットは「赤い丸を少し右になでる」というような小さな修正行動も含め、様々な命令に正確に応答しなければなりません。
しかし、オープンボキャブラリー環境、すなわちロボットに使用語彙に制限を設けない自由形式の言語による命令に従わせることは、MLの観点からは大きな課題となっています。
何故なら、多くの小さな修正行動を含む、本質的に非常に多くのタスクが存在するためです。
既存のマルチタスク学習は、模倣学習データセットや複雑な強化学習(RL:Reinforcement Learning)報酬関数を用いて各タスクに関して学習を行っていますが、これらのタスクは事前に定義された比較的小さいものであり、この小さな定義セットを超えて拡張することは困難です。
したがって、オープンボキャブラリー環境における重要な未解決問題は以下となります。
ロボットデータの収集をどのようにスケールアップすれば、環境中の数十から数十万の行動を含めることができますか?
そして、これらの行動すべてをエンドユーザが実際に提供する可能性のある自然言語にどのようにして関連づける事が出来るでしょうか?
Interactive Languageでは、リアルタイムにオープンボキャブラリーで言語調整可能なロボットを作成するための大規模な模倣学習フレームワークを紹介します。
本アプローチで学習した結果、個々のポリシーは87,000以上のユニークな命令に対応することができ(先行研究より一桁多いです)、平均成功率は93.5%と推定されます。
また、私達は、言語注釈付きロボットの最大データセットであるLanguage-Tableのリリースに興奮しており、リアルタイム言語制御可能なロボットに焦点を当てたさらなる研究の推進につながることを期待しています。
リアルタイム言語によるロボットの誘導
言語を使ってリアルタイムに制御可能なロボット
私たちのアプローチの鍵は、大規模で多様な言語制御ロボットのデモデータセットを規模拡大して作成可能にする秘訣です。
すべてのスキルを事前に定義し、各スキルのデモを収集する従来のやり方とは異なり、私達は環境のリセットやスキルを低レベルに分割する事をせずに、複数のロボットのデータを継続的に収集します。
失敗データ(テーブルからブロックを叩き落とすなど)を含むすべてのデータは、後付けで言語化及び再ラベル化プロセスを経て、テキストと対になります。
注釈付け作業者はロボットの長時間にわたるビデオを見て、できるだけ多くの行動を識別し、それぞれがいつ始まり、いつ終わったかをマークし、自由形式の自然言語を使って各セグメントを説明します。
重要な事は、事前に用意された設定内で行われる指示とは対照的に、学習に使用するすべてのスキルは、研究者によって前もって決定されるのではなく、データそのものからボトムアップで生まれるという点です。
私達の学習アプローチとアーキテクチャは意図的に単純化されています。
私達のロボットポリシーは、5Hzのビデオとテキストを5Hzのロボットアクションにマッピングするクロスアテンショントランスフォーマーであり、補助的な損失を伴わない標準的な教師あり学習行動クローニング目的を使用しています。
テスト時には、新しい音声コマンドを(音声テキスト化により)5hzまでの任意のタイミングでポリシーに送ることができます。
Interactive Language:言語制御可能なロボットをリアルタイムに制作するための模倣学習システム。
3.Interactive Language:ロボットとリアルタイムに会話で指示を行う(1/2)関連リンク
1)ai.googleblog.com
Talking to Robots in Real Time
2)arxiv.org
Interactive Language: Talking to Robots in Real Time
3)interactive-language.github.io
Interactive Language: Talking to Robots in Real Time
4)github.com
google-research / language-table