1.QT-Opt:ロボットに一般化スキルを学ばせる大規模な深層強化学習まとめ
・深層強化学習でロボットが見た事のない物体でも上手に掴めるよう学ばせる事ができた
・つかみにくい物体や途中で邪魔をされたり密集した状態でも上手につかむ事ができた
・QT-Optは学習に時間がかかるがより少ないデータで効果を上げる事ができる
2.ロボットが臨機応変に動けるようになるための学習とは?
どのようにすれば、ロボットは様々な実世界の物体や状況に効果的に対処する一般化スキル、つまり特定の状況だけに対処できる特化スキルではなく、状況に応じて立ち振る舞いを変更できるような一般化スキルを獲得できるでしょうか?
組立ライン上の製品を組み立てるなど、制御された環境で反復作業を効果的に実行するロボットシステムを構築する手法は既に様々な手法が提案されています。
しかし、予期せぬ状況が起こった際に、その周囲を観察し、最良の行動を決定できるロボットを設計することは非常に困難です。現在、ロボットが経験からそのようなスキルを身に付けるのに役立つ2つの手法があります。
・ディープラーニング(深層学習)
コンピュータが扱いやすいような形に整形されていない、現実世界の出来事を扱う事に優れています。
・レインフォースメントラーニング(強化学習)
目標遂行を通じて、より複雑で堅牢な長期的な推論を可能にします。
これらの2つの手法を組み合わせることで、ロボットが経験から連続的に学習できるようになり、手作業ではなくデータを使用して基本的な感覚運動スキルを習得できます。
ロボット学習のための強化学習アルゴリズムの設計は、現実世界の物体のさまざまな視覚的および物理的特性の違いに対処しなければなりません。手触りの微妙な違いによって物体を掴む困難さは変化し、物体をつかみ損ねるとその動きを予測するのは困難で、更にターゲットを掴み損ねて落としてしまうと見失ってしまうかもしれません。
さらに、ロボットセンサは本質的にノイズが多い事も複雑さを増します。これらはすべて、学習データに十分な多様性がない限り、一般化スキルを学ばせる事を非常に困難にさせますし、学習データの収集は莫大な時間がかかります。
上記の状況は、過去の経験を効果的に再利用できる学習アルゴリズムを模索する動機となります。巨大な学習用データセットの恩恵を受ける以前の時代に物体を掴む事を研究していた頃と同様です。
しかし、以前の研究では、ある行動がもたらす長期的な視点で物事を考える事ができませんでした。これは物体を掴む方法を学ぶ上で重要です。たとえば、複数のオブジェクトがまとまっている場合、それらのうちの1つを押し離す(「シンギュレーション」と呼ばれる)と、掴むのは簡単になります。シンギュレーションを行っても必ずしも物体を掴む事に成功するわけではありませんが、容易にはなります。これが人工知能が長期的な視点を持った結果です。
より効率的にするためには、数時間、数日、または数週間前に収集されたデータから学ぶことができるオフポリシー強化学習を使用する必要があります。
過去の相互作用から得た多種多様な経験から恩恵を受けることができるようなオフライン補強学習アルゴリズムを設計するために、我々はQT-Optと呼ぶ新たに組み込まれたディープQラーニングアルゴリズムと大規模分散最適化を組み合わました。arXivにプレプリントの論文があります。
QT-Optは分散型Q学習アルゴリズムであり、連続動作空間をサポートし、ロボット工学の問題解決に適しています。
QT-Optを使用するには、最初に収集したデータを使用して、モデルをオフラインで完全にトレーニングします。これは実際のロボットの動作を必要とせず、規模を大きくする事を容易にします。その後、実際のロボットにそのモデルを展開して細分化し、新しく収集したデータをさらに訓練します。
QT-Optを実行すると、より多くのオフラインデータが蓄積され、より良いデータを収集できるように、より良いモデルを訓練できるようになります。
このアプローチを使い、ロボットで物を掴む事を学習させるために、我々は7つの現実世界のロボットを使用し、4ヶ月間にわたって合計800時間学習させました。学習を早めるために、最初は人間が手動で設計した15~30%程度の成功率のポリシーを使用して開始しました。データは、学習したモデルのパフォーマンスが向上し始めたときに変更されました。このポリシーは、カメラ画像を取得し、腕とグリッパの移動方法を返します。オフラインデータには1000種類以上の掴める物体が含まれます。
過去の実験では、ロボット間で経験を共有させることで学習を加速することができました。この訓練およびデータ収集プロセスでは10個のGPU、7機のロボット、および多くのCPUに規模を拡大し、58万回以上物体を掴む試みをさせました。
この学習プロセスの最後に、実世界のロボットに物体を掴む事を学習させ、トレーニング時には見せていない様々な掴む事が困難なオブジェクトを掴ませる事、つまり一般化に成功しました。
定量的には、QT-Optアプローチは、学習時に見せなかった物体を700回試行した結果、96%のケースで掴む事に成功しました。 以前、我々が実施した教師付き学習モデルは78%の成功率だったので、今回の手法では誤差率を5倍以上に低減した事になります。
特筆すべき事は、この人工知能は、標準的なロボットシステムでは見られない様々な反応的挙動をしばしば示しました。
・一緒に取り上げることができないブロックの塊が提示されると、人工知能は、ブロックの1つを残りのブロックから分離してから掴みます。
・掴む事が困難な物体が提示された場合、人工知能は手の位置を変え、しっかりと掴む事ができるようになるまで試行錯誤しました。
・物体が絡み合った状態では、人工知能は持ち上げる前に指がしっかりと1つを保持するまで、他のオブジェクトを調べます。
・ロボットの手からオブジェクトを意図的に取り除く事によってロボットを混乱させたとき(学習中になかった状況)、自動的に手の位置を変更して再挑戦しました。
重大なことに、上記の動作のいずれも手動で設計されていたものではありませんでした。これらの行動はQT-Optによる自己監視トレーニングが導いた自発的な行動であり、人工知能が長期視点で物事を考え、物体を掴む事の成功率を改善したのです。
さらに、QT-Optは学習に時間がかかりますが、少ない学習データで高い成功率を達成することがわかりました。ロボット工学では、通常、ボトルネックは学習時間ではなく実際のロボットデータを収集する際に発生するので、これは特に興味深い性質です、
これを他の学習効率を向上する技術と組み合わせることで、ロボット工学において新たな道を切り開く可能性があります。 GoogleはQT-Optと最近発表した研究であるロボットを視覚から学習させる自己較正の組み合わせにも興味があり、これは一般化をさらに向上させることができるでしょう。
総括すると、QT-Optアルゴリズムは一般的な強化学習手法であり、現実のロボットで良い結果が得られました。QT-Optは物体を掴む事に特化したわけではなく、報酬の定義も含めて他の行動に応用できます。GoogleはQT-Optをより一般的なロボット学習アルゴリズムへの強力な一歩と見ており、我々がQT-Optに適用できる他のロボットのタスクを見てうれしく思います。
QT-Optの詳細については、以下の短いビデオをご覧ください。
3.QT-Opt:ロボットに一般化スキルを学ばせる大規模な深層強化学習感想
シンギュレーションを自動で習得したと言う話にただただ驚きます。これが「知能」ではないと言うのならば、「知能とは何ぞや?」と言う問いは哲学の世界に任せた方が良い気もしてきます。
人工知能は5歳の子供にも劣る、なんて話はそろそろ昔話になるのかもしれないですね、半年前の話なんですけれども。
4.QT-Opt:ロボットに一般化スキルを学ばせる大規模な深層強化学習関連リンク
1)ai.googleblog.com
Scalable Deep Reinforcement Learning for Robotic Manipulation
2)arxiv.org
QT-Opt: Scalable Deep Reinforcement Learning for Vision-Based Robotic Manipulation
コメント