物理学×深層学習。掴んで投げる、全自動学習型投擲ロボット"Tossing bot"登場
これまで、AIを用いた様々な応用例が報告されてきました。しかし、これまでの技術の多くは、”データとその処理”が主なAIの機能でした。本稿では、”現実世界”と”AI “をつなぐロボットの第一弾的役割を担う”Tossing bot”を紹介していきます。
論文 : TossingBot: Learning to Throw Arbitrary Objects with Residual Physics
参照:Unifying Physics and Deep Learning with TossingBot
・”Tossing bot”とは?
[写真1] Tossing botが物体を投げ入れる様子
本稿で紹介する”Tossing bot”は、直訳のまま”投げるロボット”のことです。
以下のような手のような動きをしているロボットが、今回開発された”Tossing bot”です。”Tossing bot”には掴み手の上部にカメラがついており、深層学習による画像認識と学習機能を応用し、ランダムに入った物体をかごの中から取り出し、12個に区分けされたボックスの中から狙ったボックスに投げ入れることができます。
この”Tossing bot”は、600回投げた結果、85%という正確さで物体を目標地点に投げ入れることに成功しています。
これまで、AIを用いて物体を”押す”、”引く”という作業は可能でした。しかし、”物体を投げる”ことは、人間からすると一見簡単に思えますが、実際には非常に多くの要因が絡み合っています。空気抵抗、摩擦などの物理的に複雑な力がかかるため、物体を”正確に投げる”という動作はこれまで困難でした。
“Tossing bot”は、「残差物理学」を架け橋として”現実世界の感覚”をニューラルネットワークに学習させることで、”識別し、掴んで、投げる”という動作の自動化を可能にしました。これにより、手動の個別設計に頼ることなく、未知の物体に対しても試行を繰り返すことにより自ら学んで、物体を的確に投げることが可能です。
より詳細なイメージは、以下の動画を見ていただけるとわかりやすいと思います。
“Tossing bot”の核心理論「残差物理学」
軌道計算や物体認識のためにはどのような工夫が必要でしょうか?
“Tossing bot”では、「残差物理学(Residual Physics)」という理論を採用することにより、非構造化世界のダイナミクスに耐えるように設計されています。この非構造化世界のダイナミクスを深層学習に組み込むことによってロボットは個別に手動設計に頼ることなく自らの経験にもとずいて学習していくことが可能です。
残差物理学 (Residual Physics)とは
従来の物理学(主に力学)では、時間や速度を”理論値”(理想的な値)として方程式に代入することで、実験における予測値(実際に得られる値、誤差などを含む)を算出します。一方、本研究では「残差物理学」という理論値と予測値の差である”残差”に焦点を当てた物理学を定義し、適用します。今回の例では、 “Tossing bot”が投げた物体の、”目標地点”と”実際に着地した点”の残差を学習させ、その差を小さくすることによって精度を上げて行きます。
(統計や機械学習に詳しい方は、最小二乗法による残差の最小化をイメージしていただけるとわかりやすいと思います)
“Tossing bot”の「残差物理学」を用いたアルゴリズムは、これまでの実験値と比較して最高の精度を出すことに成功しました。
深層学習と物理学の相乗効果
“残差物理学”における残差は、今回の実験ではどのようなものが含まれるでしょうか? 残差とは、理論値と実験値の差です。すなわち、今回はボールを投げた結果得られる実際に着地した点と、理論上の目標点との差です。
ボールが投げられた後にかかる力は、重力とそのほか式に現れない複雑な力(空気抵抗など)です。
つまり、ボールが放たれてから着地するまでにかかる複雑な力が残差を生んでいます。これら複雑な力を、試行実験により学習を繰り返していきます。
どのように”掴んで、投げる”をロボットに教えるか
どのように”掴んで、投げる”をロボットに教えるかを考えて見ましょう。
(i)掴む
”投げる”という一連の作業はまず「掴む」とこからはじまります。はじめに、深層学習を用いた画像認識によって、ロボットのアーム上のカメラから”色(RGB)”と”高さ”の2つの要素を元に物体を認識し、掴みやすさの確率を算出します。ここでは、画像データを16枚用意することで、360°回転した視点のうち最も適した角度から目標物を掴むことができます。
[写真2] “Tossing bot”から見た掴みやすさの分布
(ii)投げ入れる
物体を投げる”初期位置”と”初速度”の2つの変数で、掴んだ物体を目標のボックスに入れるための最適化を計算します。ある一定以上の速度で物体を投げるためには、リリースポイントは限られてきます。よって、まず初期位置を決定した後、その初期位置から投げ入れる初速度を物体に合わせて設定します。
着地点を画像認識させて目標地点との差を学習することで、初速度を調整することができ(現実のノイズや変動性を補正し調整することができ)、ロボットは次第に目標地点に近い投擲を実現させていきます。
この(i),(ii)の工程を繰り返すことによって自ら学習し、未知の物体に対しても、形を識別し、掴み、的確に投げることが可能です。ここでは、視覚的観察(RGB-D画像)を動作の制御パラメータにマッピングするエンドツーエンドのニューラルネットワークを使用することにより、これを実現しています。
トレーニングを開始すると、TossingBotは効率の悪い掴み方を繰り返し試みます。しかし、時間が経つにつれて、TossingBotは物体をつかむためのより良い方法を自ら学んでいき投げる能力を向上させます。時折、TossingBotは以前に試したことのない速度で物体を投げた場合に何が起こるかをランダムに探ります。このようにして、人間に頼ることなく効率的に学んでいきます。
実験結果
“Tossing bot”の性能を確かめるため、以下の4つの主な性能評価の結果を見ていきましょう。
まずは1.正確性と2.汎用性から
様々な形の物体に対して、15000回の試行による学習後1000回の計測が行われました。画像認識により、”Tossing bot”は様々の物体から特徴を抽出してパターン分けします。
正確に物体を認識し持ち上げられた割合、指定されたボックスに投げ入れることができた割合は、それぞれ物体の形ごとに以下のようになりました。
(i) 掴む
(ii) 投げ入れ
認識済みの各物体に対して、80%以上の成功率で掴みと投げ入れを実行することができました。また、未認識物体(学習データに含まれていない物体)に関してはやや結果が悪いですが、学習時に見た事のない物体にも対応できるように作業を一般化し適切に対応していきます。学習時に出現した物体と同程度のパフォーマンスに達するために必要な時間は、わずか数百のトレーニングステップ(1時間2時間)です。
次に3.学習能力と4.残差物理学によるアルゴリズムの性能評価 (他手法との比較)を見てみます。
学習能力の向上具合を把握するために、成功確率を縦軸、試行回数を横軸としてグラフにプロットします。加えて、他のアルゴリズムの学習能力の結果もグラフにプロットし、比較を行います。
(青線が残差物理学を用いたアルゴリズムの結果)
残差物理学を用いたアルゴリズムは、学習能力が著しく右肩上がりです。なおかつ、15000回の学習後には、その他のアルゴリズムと比べて20%以上の正確さで投げ入れることができています。
相互作用から生まれる”意味”
古典的なコンピュータビジョンの観点からは、「意味」はしばしば人間がラベル付けした画像データセットと手作業で分類されたクラスカテゴリを使用してあらかじめ定義されています。しかしながら、この実験では、「意味」が物理的な相互作用から暗黙のうちに学ぶことが可能であることを示唆しています。実行作業が複雑になるほど、学ぶ事が出来る「意味」も詳細になり抽象度が上がります。
・おわりに
“Tossing bot”の技術の核である「ディープニュートラルネットワーク」と「残差物理学」の組み合わせですが、これらは良く噛み合って相乗効果を生み出しています。今後、”Tossing bot”はより複雑な環境で、かつ壊れやすいものや抵抗力のあるものを正確に投げることを期待されます。これらを改善することで、例えば、災害現場における破片や瓦礫などの自動清掃ロボットとして大いに役立つでしょう。本論文を通して著者は、「”Tossing bot”の技術が、今後の深層学習と物理学の相乗効果のさらなる可能性を見せている」と述べています。
この記事に関するカテゴリー