フィジカルAIラボ 0.4:仮想の世界で一万回練習――シミュレーションの 3 つの数字に実験条件を戻す

公開小テストは詳しい解説付き。ログインすると、並列学習の設定選び、学習ログの 3 種類の時間の記帳、実機移行計画の審査に、解答例と採点基準付きで取り組めます。

この回の動画

ナレーションは AI 合成音声です。 動画の章・文字起こし・出典

文字起こし

文字起こし

知行の問い

積み木の山を倒すのに、どうして先にコンピュータの中で倒すの?前回、宿題が残りました。ロボットは、仮想の世界でどうやって練習するのか。今回はそれをはっきりさせます。シミュレーションとはいったい何か、なぜそれが欠かせないのか。

シミュレーションとは

シミュレーションとは、コンピューターの中に、にせものの世界をつくることです。そこには重力も、机も、積み木もあって、すべて本物の物理法則にしたがって計算されます。積み木を押すと、どう倒れて、どこに当たるか。コンピュータが一歩ずつ計算して見せてくれます。こういうプログラムを、物理エンジンといいます。同じ場面を、倒しては戻し、また倒しては戻す。ムジョコやアイザックといったシミュレータは、まさにそのための道具です。積み木が本当に倒れる前に、コンピュータの中ではもう何度も倒れてるんだ!

なぜ仮想の世界で練習するのか

一つ目の利点は、安全なことです。本物のロボットは、一度転ぶだけで壊れるかもしれません。仮想の世界なら、何度転んでも平気です。二つ目の利点は、速いことです。本物のロボットは、一度に一回しか練習できません。ある論文では、何千台ものロボットが、コンピュータの中でいっしょに練習しました。論文によると、この方法なら、よんぷんもかからずに歩けるようになります。練習したのは四本足のロボットで、平らな地面の上です。ある技術レポートによると、シミュレーションをGPUに載せたら、従来の方法より百倍から千倍も速くなりました。とにかく膨大な時間を節約できます。コンピュータの中だと、本物よりずっと速く練習できるんだ!

シミュレーションは十分リアルか

でも、シミュレーションがどれほど似ていても、本物ではありません。本物の机は少しすべるし、本物の積み木は形が少しふぞろい。シミュレーションに、それがあるとは限りません。だから、仮想の世界でどれだけうまく練習しても、本物のロボットに移すと、たいていもう少し調整が必要です。この段階は、あとで改めて取り上げます。ふりかえりです。ポイントは三つ。一つ、シミュレーションは、コンピューターの中で物理法則の通りに計算する、にせものの世界。二つ、利点は、安全で速く、いっしょに練習もできること。三つ、弱点は、本物とまったく同じではないこと。仮想の世界は練習場。でも、最後の試験は現実の世界なんだ!ヒューマノイドがもうすぐ来るって、みんな言ってる。でも、デモ、試作機、量産って、何が違うの?また次回!

根拠と出典

数千台 · のロボットを、ワークステーション用GPU一枚の上で同時にシミュレーション学習(論文) [R] · arXiv 2109.11978 · Learning to Walk in Minutes

四分未満 · 四本足のロボット ANYmal が、平らな地面で歩けるようになるまでの学習時間(論文、大規模並列シミュレーション) [R] · arXiv 2109.11978 · Learning to Walk in Minutes

百〜千倍 · 速い:シミュレーションと学習をどちらも一枚のGPUに載せると、CPUでシミュレーション、GPUでニューラルネットワークを処理する従来方式より2〜3桁速い(技術レポート) [R] · arXiv 2108.10470 · Isaac Gym

練習とセルフチェック

小テストは公開で、回答するとすぐ解説が出ます。読み物の練習問題の答えはログイン会員向けです。

図:「2 つの学習パイプライン:データをどこで計算するか」という見出しの下に、中央揃えの文字が 2 列並ぶ。各列の上には番号のない円形の印と横線があり、その下に「従来の流れ CPU で物理と報酬 GPU でニューラルネット 両者の間で何度も転送」「Isaac Gym 物理・観測・報酬・行動を すべて GPU 上で処理 PyTorch テンソルへ直接」と書かれている。列の間に矢印はない。
Isaac Gym 技術レポートが対比する 2 つの強化学習の学習パイプラインです。並列の方式であり、順番に行う手順ではありません。出典:Isaac Gym 技術レポート(arXiv 2108.10470)の要旨と図 3。

第 0.4 回の動画は、積み木の山を倒す例でシミュレーションを説明しました。コンピュータの中で物理法則に従って計算される「にせものの世界」で、安全で速く、たくさんのロボットがいっしょに練習できる一方、本物とまったく同じではありません。動画には 3 つの数字が出てきます。何千台ものロボットがいっしょに練習する、4 分もかからずに歩けるようになる、GPU に載せると百倍から千倍速くなる、の 3 つです。このページはその回の解説と練習問題です。文字起こしを繰り返すのではなく、3 つの数字をそれぞれの論文の実験条件に戻し、「GPU に載せる」ことで実際に何が省かれるのかを説明し、架空の数字で並列学習のバッチサイズを手計算します。全体を通すルールは 1 つです。ある数字は、それを示した論文、ハードウェア、タスクの中でだけ成り立ちます。

この回の動画、文字起こし、出典はこのページの上部にあります。シーズン全体の計画は講座の概要をご覧ください。前回のフィジカルAIラボ 0.3:見る・考える・動く――3 つの周波数をそれぞれのシステムに戻すは、実機だけで実験すると遅くて費用もかかる、では先に仮想の世界で試せないか、という問いで終わりました。今回はその続きです。

公開の小テスト 5 問には詳しい解説が付いています。ログインすると 3 つの課題に取り組めます。架空の制約の下で架空の四脚ロボットの並列学習の設定を選ぶ、架空の学習ログにある 3 種類の時間を別々に記帳して 4 つの言い換えを点検する、積み木を押す方策をそのまま実機に移す架空の計画を審査する、の 3 つで、段階的な解答例、よくある誤り、20 点の採点基準と照らし合わせられます。

1. 3 つの数字と、それぞれの条件

3 つの数字は 2021 年の arXiv 文献 2 本から来ており、いずれも著者の報告(R 級)です。どちらの著者にも NVIDIA との関係があります。Isaac Gym 技術レポートの著者の所属は NVIDIA、Learning to Walk in Minutes の著者は ETH Zurich と NVIDIA の所属です。下の表では「書かれていないこと」の列も同じくらい重要です。

動画での表現出典原文の条件書かれていないこと
何千台ものロボットがいっしょに練習Rudin ら、Learning to Walk in Minutes(arXiv 2109.11978、2021-09-24)ワークステーション用 GPU 1 枚の上で、Isaac Gym を使い「数千台」のシミュレーション上のロボットを並列に学習させる。論文の図 3 には 4,000 台のロボットが描かれている要旨は「数千台」と書くだけで、決まった上限ではない
4 分もかからずに歩けるようになる同上四本足のロボット ANYmal の平地用方策が 4 分未満で学習を終える。不整地では約 20 分これはシミュレーション内の学習時間であり、ロボットが本物の地面で学ぶ時間ではない
百倍から千倍速いMakoviychuk ら、Isaac Gym(arXiv 2108.10470、2021-08-24)物理シミュレーションとニューラルネットワークの学習をどちらも 1 枚の GPU に載せると、CPU シミュレーションと GPU ニューラルネットワークを使う従来の RL 学習より 2〜3 桁速い。図 2 では RL 学習パイプライン全体で 100〜1000 倍と表現すべてのタスクでこれだけ速くなるわけではなく、実機での学習との比較でもない

同じロボット、2 つの時間。Isaac Gym レポートも ANYmal の数字を示しています。NVIDIA A100 1 枚で「2 分未満」に十分な歩行性能に達する、というものです。Rudin 論文は、ワークステーション用 GPU 1 枚で平地なら「4 分未満」と書いています。2 つの記述はハードウェアもタスクの設定も異なり、手元の抜粋は両者を同じ条件で比べていません。したがって「どちらが速い」とも「A100 は 2 倍速い」とも結論できません。

制約と注意点

  • Learning to Walk in Minutes(arXiv、2021-09-24)と Isaac Gym(arXiv、2021-08-24)の数字はいずれも著者の報告で R 級です。どちらの文献にも NVIDIA の著者がいます。Isaac Gym 技術レポートの所属は NVIDIA、Learning to Walk in Minutes の著者は ETH Zurich と NVIDIA の所属で、Isaac Gym は NVIDIA の製品です。本サイトはどれも独自に再現していません。
  • この講座が依拠するのは 2 本の文献の要旨と本文の最初の数節の抜粋で、補足資料は含みません。実機への転移の効果はこの文章には出てきません。
  • 第 4 節の 4,000 台、128 環境、2,000 秒、782 ステップは練習用の仮定または計算値で、どのシステムの構成や性能でもありません。ステップ 5 の約 30 倍と 3 倍未満は、この講座がレポートの数字を割ったもので、レポート自体はこの倍率を示していません。
  • 第 6 節のロボット Q と P、チーム K、24 ステップの下限、50 ステップの上限、50,000〜100,000 のバッチの範囲、すべてのログ、摩擦係数、積み木の寸法、カメラのずれ、質量、98% の成功率は練習用の架空のものです。計算した 1,966,080 秒や約 2,185 倍などは、これらの仮定の下でだけ成り立ちます。第 6 節のランダム化の範囲と実機での確認は教育上の提案で、出典の結論ではありません。紙の上の計算もシミュレーションの結果も、ハードウェアの安全性の検証ではありません。
  • 動画の「積み木を倒す」「練習場と試験」は理解を助けるたとえです。積み木の例はどちらの文献の実験でもありません。

リンク