DeepMindがサッカーを始めた(1/6)

3 min read

ニツオです。海外で話題のML論文をじっくり読む記事を発信してます。Twitterでお気軽にフォローやご質問ください。

さて、囲碁界を制覇したことで有名なDeepMindがサッカーに乗り出しました。DeepMindが公開した論文とYouTubeはこちら。

https://arxiv.org/abs/2105.12196
https://www.youtube.com/watch?v=KHMwq9pv7mg

では、中身を見ていきます。

目次

  1. Abstract / Introduction
  2. Environment
  3. Learning Framework
  4. Experiments
  5. How Football Agents Play
  6. How Football Agents Work

0. Abstract

  • スポーツには3つの要素がある
    • 当たり前だが、体は筋肉が動かす。ただこれ自体も複雑
    • どう動かすか、については数秒~少し先の未来を予測したり、描いたりしてるので、それも考えないといけない
    • 集団スポーツ、例えばサッカーならば、仲間や敵がどう動くかも考慮しないといけない
  • これら3つについて、単独のAI研究こそあれど、本来一緒に考えないといけない。だが、これまでそういった研究は少なかった
  • 今回の学習は3段階
    • imitation learning(模倣学習)
    • single- and multi-agent reinforcement learning(強化学習)
    • population-based training(PBTと呼ばれる。いい名前なし・・・)
  • 出来るようになることも3段階
    • まずは複数の関節を使った人間の動き。今回で言うと、走ったり、ターンしたり
    • 次にサッカーの動き。ドリブルしたり、シュートしたり
    • 最後に、他プレイヤーを認識して、チームとして動く

population-based training (PBT)とは、AIモデルのハイパーパラメータを決めるための手法の1つ。色んなハイパーパラメータを持たせたモデルを並行で学習させてどれが上手くいくか調べるrandom searchに似ているが、途中で学習を止めて、その段階で成績の良いモデルのパラメータを生き残らせて、再度学習するのがPBT。遺伝的アルゴリズムから想起されました。

日本語のいい記事がなかったので、DeepMind本家のブログが分かりやすかったです。

https://deepmind.com/blog/article/population-based-training-neural-networks

難しいとされた囲碁よりも、難しそうですね。

1. Introduction

  • これは人間の認知と行動に関する挑戦。古くはAllen Newellが1990年に書いた本(Unified Theories of Cognition)から始まる
  • 認知とはいくつかのレベルに分かれる。瞬間瞬間の筋肉の動きとそれによる動作、数秒から数分先の未来の予測、1人じゃない場合は周りにいる人間との協力による外部影響など
  • しかし、そこから冬の時代が続いたが、最近また変わってきた
  • ロボットを使った例だと、RoboCupが1つの例

  • 今回の研究は、サッカーを例にやったが、他のスポーツや、スポーツを超えた協力的な動きをするものに、汎用的に適用できる可能性がある
  • 今回、以下のような動きを実際に観測した
    • 倒れても、起き上がる
    • クイックにターンする
    • 敵をよけながらドリブルする
    • そして、正確なシュートを打つ
  • チームプレイ的な動きもできるようになった
    • スペースに向かって走る
    • ディフェンスポジションをとる(ゴールとボールの間に入るとか)
    • パスする(チームプレイの鏡)
  • そしてその前提となる概念を理解した(ように見せてくれた)
    • ボールのキープが大事。ポゼッションサッカー
    • 得点を決めようとする姿勢、もしくは前線をあげていく姿勢

動画を見てもらってればわかりますが、確かにこういった要素を達成してましたよね。詳しく見ていきます。

2. Environment

シミュレーション環境はこんな感じ。

A 棒人間

  • 56種類のポーズがとれる模様。物理法則にのっとって動く
  • エージェントがコントロールする
  • MuJoCoという高性能な物理エンジンを使用

B ルール

  • 2対2。環境的にはもっと増やせるが計算負荷に配慮。2対2でも協調できるか?をみる目的は果たせる
  • フィールドは壁に囲まれていて、ボールが外に出ないで跳ね返ってくる。なのでスローインは今回なし
  • プレイヤーはフィールドと壁の間も動ける
  • RoboCup 3D simulation leagueに比較すると、シンプルなルールにしているが、ルール自体の厳格性は論点ではないと判断
  • 例えば、ハンド、後ろからアタックするなどのファール、ゴールキックなどもない。ただこれらはゲームが途中で中断することになるので、ずーっとプレイさせることを重視したのでよいと判断

C ゴール

  • エージェントは、ボールがゴールラインを越えたらリワードがもらえる
  • 得点が決まったら、プレイヤーとボールの位置はランダムな位置にリセット
  • ゴールサイズは、FIFAに準じじつつ、ヒューマノイドのサイズの比率をかけた

D ボディコントロール

  • 立つ、走る、倒れてから起き上がる、敵と押し合う
  • 基本的に厳格な物理ルールに従うが、神経伝達の誤差や、疲労など現実世界では起きることのいくつかは省かれている

E ボールコントロール

  • ドリブル、パス、シュート
  • ボールサイズは、FIFAに準じつつ、ヒューマノイドのサイズの比率をかけた

F ピッチコントロール

  • 敵チームにプレッシャーをかける
  • オープンスペースに先に入る など

エージェントが認識する物理的な数字や状態

  • 関節の角度や速度
  • 自分自身の加速度や速度、角速度
  • 敵の存在やフィールドを囲う壁の存在
  • 認知する感覚は、30ミリ秒ごと

環境設定は、おおまかに以上です。

おわり

次回は、Learning Frameworkに入っていきますので、数式も登場していきます。

感想や要望・指摘等は、お気軽に本記事へのコメントや、TwitterのリプライやDMに頂ければ幸いです。おしまい。

Discussion

ログインするとコメントできます