見出し画像

Google DeepMindが卓球チャンピオンロボットを創造

現実世界のタスクにおいて人間レベルのスピードと性能を達成することは、ロボット工学研究コミュニティーにとって北極星のような目標です。そして、この目標に向けた一歩を踏み出す、Google DeepMindの新しいロボットがここにあります。今回は競技卓球における人間レベルの性能を目指しています。これは、卓球で一般的な人間レベルの性能に到達した初めての学習型ロボットエージェントです。
このロボットについて話す際に注目すべき興味深い点の1つは、「シムtoリアル」と呼ばれるものです。ロボットをシミュレーションで訓練する際、デジタルの世界の中で何かを学習した後、それを現実世界のタスクにどのように適用するかという課題があります。この飛躍は時に「シムtoリアルギャップ」と呼ばれます。Google DeepMindやNVIDIAの最新の研究は、このギャップを急速に埋めつつあり、シミュレーション訓練を改善し、シミュレーションと現実世界の性能を融合する方法を見出していることを示しています。
すぐにお分かりいただけると思いますが、これを実現する上で本当に難しいことの1つは、人間の対戦相手と卓球をするロボットのデータがほとんどないということでした。例えば、人間の対戦相手がサーブやリターンをする際のロボットの一人称視点の映像が何百万時間もあるわけではありません。そのようなデータは豊富にはないのです。
では、彼らがこの問題をどのように解決したのか、そしてロボットがリアルタイムで未知の対戦相手に適応できるようにしたかを見てみましょう。初期の段階では、必ずしも最高の卓球選手ではなかったかもしれない研究者たちを相手に訓練していましたが、このAIシステムは未知の対戦相手、つまり今まで見たことのない異なるスキルレベルや異なる打球方法を持つ他の人々に対して一般化することができました。
これは興味深い経験でした。なぜなら、精度、スピード、適応性の面で人間レベルの性能を達成することは、ロボット工学にとっても人間にとっても依然として課題だからです。卓球をマスターするには、人間でも何年もの訓練が必要です。これは、複雑な低レベルスキルと戦略的なゲームプレイが必要だからです。彼らが念頭に置いていたのは、単にロボットに人間を打ち負かさせること、つまり可能な限り強くボールを打って得点することではありませんでした。それはこの訓練システムの目標ではありませんでした。彼らは、人間が実際に一緒にプレイを楽しめるロボットエージェントとの人間レベルの競争プレイを実現したかったのです。
Google DeepMindはGitHub上で「Mujoco」というソフトウェアを公開しています。これは接触を伴う多関節動力学の一般的な物理シミュレーターです。動きや接触などの物理をシミュレートする必要がある場合、これを使用できます。これは無料でオープンソースの物理エンジンです。AIエージェントは、この物理シミュレーターMujocoを使用して訓練されます。
目標は、基本的なスキル、つまり彼らが「低レベルスキル」と呼ぶものを学習することです。彼らが述べているように、「低レベルコントローラーのスキルライブラリを訓練しました」。これらは基本的にスキルだと考えてください。フォアハンドサーブ、バックハンドサーブ、フォアハンドラリー、バックハンドラリーなどです。興味深いことに、トップスピンアダプター、アンダースピンアダプターなどもあります。
私は決して卓球の達人ではありませんが、1、2回プレイしたことがあります。基本的に私の理解では、サーブの際にトップスピンやアンダースピンをボールに加えることができ、これがリターンする際のボールの挙動を変えます。したがって、ロボットは対戦相手がボールに激しいスピンをかけた場合、それを考慮に入れる必要があります。プレイする際には直感的にそのスキルを身につけると思いますが、実際に何をしているのかを説明するのは難しいかもしれません。おそらくラケットの角度を変えているだけなのかもしれません。いずれにせよ、このロボットはそれを理解したようです。
興味深いのは、これらのポリシーがゼロショットで物理的な世界に転移することです。つまり、シミュレーションで訓練すると、実世界でプレイできるようになります。ここに、シミュレーションでのサンプル訓練実行が左側にあります。そして、ゼロショットで転移します。つまり、翻訳を手伝う必要はなく、ある意味で自然に理解します。この知識、このスキルが実世界に転移するのです。
興味深いのは、ロボットがシミュレーションで卓球をプレイする方法についてのデータがあまりなかったことです。そのデータをどのように蓄積し始めたかは興味深いです。

こちらが約1年前のこのチームのビデオで、雪だるま式にデータを蓄積し始めた様子を示しています。
私たちの目標は、シミュレーションの力を活用して、展開時に人間との相互作用に熟達したロボットポリシーを訓練することです。私たちは協調的な卓球というタスクに焦点を当てています。ここでロボットの目的は、人間のプレイヤーとできるだけ長く協調的にプレイすることです。
主な課題は、人間の行動をシミュレーションでモデル化するために、人間が物理的なロボットと相互作用する例をどのように集めるかということです。これは、すでに人間と相互作用できるロボットを持っていない状態で行う必要があります。
私たちが簡潔にIS2と呼ぶ反復的シミュレーションは、この問題に取り組もうとしています。IS2は人間の行動の単純なモデルからブートストラップし、シミュレーションでの訓練と実世界での展開を交互に行います。
まず、ロボットが何もしない状態で人間の行動の初期データセットを収集します。この初期データセットを使用して初期の人間行動モデルを作成し、それを使ってシミュレーションでポリシーを訓練します。ポリシーが収束したら、その重みを物理的なロボットに転送します。
初期段階では、ポリシーは成功裏にボールを返すことはできますが、協調的なプレイを維持するのに苦労します。その後、ポリシーは実際のロボットで一定回数のパラメータ更新を行ってファインチューニングされます。ファインチューニングから得られた全ての人間との相互作用データは、既存の人間との相互作用データに追加されます。
人間行動モデルが更新され、ポリシーの重みはシミュレーションに戻されます。そこで、最新の行動モデルと実世界から得られた最新のファインチューニングモデルを使用して訓練が続けられます。その後、ポリシーの重みは再びロボットに転送され、ファインチューニングの別のイテレーションが行われます。このプロセスは、人間行動モデルが収束するまで繰り返されます。
興味深いことに、ここにスピン分類器についての説明があります。スピン分類器は、人間が打ったインカミングサーブがトップスピンかアンダースピンかを判断する二値分類器です。基本的に、人間がボールを打った後にそれを見て、トップスピンかアンダースピンかに分類します。これに基づいて適切なLLCを選択します。
LLCとは何でしょうか?有限責任会社(Limited Liability Company)ではありません。実際には低レベルコントローラー(Low-Level Controller)のことで、基本的に学習した基本スキルのことです。もう半分は高レベルコントローラー(HLC)で、これはボールをどこに返すか、どれくらいの速さで打つか、どれくらいのリスクを取るかなどの戦略的決定を担当します。
興味深いことに、シミュレーションではパドルを、ばねとダンパーシステムを表す2つの直交する受動関節としてシミュレートしました。パドルにはゴム表面があり、特定の感触や質感があるので、シミュレーションで同様の特性を持つものを見つける必要がありました。
柔らかさ、滑り、摩擦などは経験的に決定されました。基本的に自然界にあるものをコピーしたのです。一方、関節の剛性、減衰、慣性モーメントなどは、シムtoリアル転移を最適化するためのパラメータスイープを通じて確立されました。
パラメータスイープとは基本的に幅広い値を使用することです。例えば、関節の違いについて、非常に固いものから柔らかいものまで幅広く設定し、シムtoリアル転移を最適化する最良のものを単純に選択します。
人々がこのロボットとプレイしてその良さを判断する際、どれくらい楽しかったかを評価するよう求められました。プレイヤーには「このロボットと卓球をプレイした経験をこれらの言葉がどの程度表現しているか」という質問がありました。基本的に1は「強く同意しない」、5は「強く同意する」です。つまり、数値が高いほど同意度が高くなります。
全てのスキルレベルを見ると、初級者、中級者、上級者、上級者プラスに分けて分析もしていますが、全てのスキルレベルで、ほとんどの人がこのロボットとプレイするのは楽しかったと評価しています。エンゲージングだと3.5、チャレンジングだと3、簡単だと3と評価されています。つまり、あまり簡単すぎず難しすぎずということかもしれません。フラストレーションや苛立ちの面では低く評価されています。つまり、あまりフラストレーションを感じず、苛立たしくもなかったということです。言い換えれば、人々はこのロボットとのプレイを楽しんだのです。
このロボットともう一度プレイしたいかと尋ねられた際、彼らは「はい、間違いなくそうしたい」と答えています。興味深いことに、ロボットが勝った試合と負けた試合に分けて分析すると、楽しさやエンゲージメント、苛立ちやフラストレーションの低さはほぼ同じままです。変わるのは、人々がそれを簡単だと表現するか、チャレンジングだと表現するかだけです。
Google DeepMindは、あらゆる分野で人間に勝つAIを作ることに全力を注いでいるようです。DOTA、スターク
ラフト、チェス、囲碁、そして今は卓球です。これを非常に落胆させる人もいるかもしれませんが、私はかなり感銘を受けています。また、自分のゲームを向上させようとしている場合、ロボットは特にあなたのゲームを向上させるように設計できると思います。練習の密度を上げ、ボールを追いかける時間を減らすことができます。自分が苦手な特定の状況に取り組みたい場合、ロボットは常にボールを特定の位置に配置することができます。
しかし、この特定の卓球ロボットができることよりも重要なのは、ロボットをシミュレーションで訓練し、そのスキル、学習、能力を実世界に転移するというこのアイデアです。このプロセスはどんどん良くなっています。より多くの人々が成功裏にそれを行い、結果を公開し、問題点とその解決方法を共有し、ベストプラクティスを共有しています。
例えば、Google DeepMindが多くの作業をオープンソース化していることもあり、この場合、彼らがオープンソース化した高度な物理エンジンMujocoがあります。そのため、多くの人々が自宅の快適な環境から、独自のロボット学習戦略を実装し、ロボットに何かを教える練習をすることができるのです。
この小休憩を楽しんでいただけたと思います。通常のコンテンツとは少し異なりますが、来週は新しいモデルのリリースの噂があり、狂気の一週間になると思います。見逃さないように必ず登録してください。これは楽しく興味深い休憩だと思いました。楽しんでいただけたなら、ぜひ親指を立ててください。私の名前はWes Rothです。ご視聴ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?