ロボットが優れていればいるほど、その設計の際に参考にされたオリジナルの動物の方が、はるかに優れていることが多い。その理由の一部は、犬のように歩く方法を犬から直接学ぶことが難しいためだ。だがGoogleのAIラボによるこの研究が、その学習をかなり簡単にしてくれるだろう。
カリフォルニア大学バークレー校との共同研究であるこの研究の目的は、対象(模範的な犬)から、軽い小走りや方向転換のような「敏捷な行動」を、効率的かつ自動的に四足歩行ロボットに取り入れる方法を見つけることだった。この種の研究はこれまでも行われてきたが、研究者のブログ投稿が指摘しているように、確立されたトレーニングプロセスを実施するためには「しばしば多くの専門家の洞察を必要とし、多くの場合、望ましいスキルごとに時間のかかる報酬調整プロセスを伴う」ことがあった。
もちろんこのやり方はうまくスケールアップすることはできず、動物の動きがロボットによって十分に近似されることを確実にするためには、手動調整が欠かせなかった。どんなに犬っぽいロボットであっても、実際には犬ではない。そして実際の犬の動き方はロボットが動くべきやり方とは異なっている可能性があり、そのことでロボットが倒れたり、ロックしたり、その他の失敗が引き起こされる。
Google AIプロジェクトは、通常の手順に制御されたランダム性を追加することで、これに対処している。通常は犬の動きがキャプチャされて、足や関節などの重要なポイントが注意深く追跡されている。そうしたポイントは、デジタルシミュレーションの中で、ロボットの動作として近似される。ロボットの仮想バージョンは、犬の動きを自分自身で模倣しその過程で学習を行う。
そこまではまあ上手くいく。だが真の問題は、そのシミュレーションの結果を使用して実際のロボットを制御しようとするときに発生する。現実の世界は、理想化された摩擦法則などがを持つ2D平面ではないからだ。残念ながらそれが意味することは、修正されていないシミュレーションベースの歩行では、ロボットが地面に転倒してしまう傾向が出るということなのだ。
これを防ぐために、研究者たちは仮想ロボットの重量を増やしたり、モーターを弱くしたり、地面との摩擦を大きくしたりして、シミュレーションで使用する物理パラメータにランダム性の要素を加えた。これにより、どのように歩くかを記述する機械学習モデルは、あらゆる種類の小さなばらつきや、それらがもたらす複雑さを考慮しなければならなくなり、それらを打ち消す方法も考えなければならなくなった。
そうしたランダム性に対応するための学習を行ったことで、学習された歩行方法は現実世界でははるかに堅牢なものとなり、目標とする犬の歩き方をまあまあのレベルで真似ることができ、さらには方向転換や回転のようなより複雑な動きも、人の手による介入なしに、少しばかりの追加の仮想トレーニングで行うことができるようになった。
当然のことながら、必要に応じて手動で微調整を動きに追加することもできるが、現状ではこれまで完全に自動で行うことができたものよりも、大幅に結果は改善されている。
同じ投稿に記載されている別の研究プロジェクトでは、他の研究者グループが、ロボットに指定された領域の外を避け、転倒したときには自分で起き上がるようにさせながら、自律的に歩くことを教えたやり方を説明している。これらの基本的なスキルが組み込まれたロボットは、人間の介入なしに連続してトレーニングエリアを歩き回り、その結果かなり満足できる歩行スキルを習得できた。
動物から敏捷な行動を学習することに関する論文はこちらで読める。また、ロボットが自律的な歩行を学習することに関する論文(バークレー大学とジョージア工科大学との共同研究)は、こちらで読むことができる。
[原文へ]
(翻訳:sako)