なぜ軌道予測をするのか

藤井慶輔氏(以下、藤井):名古屋大学でスポーツの機械学習の研究をしている藤井慶輔と言います。今回は、ちょっとアカデミックな感じの話になりますのでご了承ください。

本日はサッカーとバスケットボールの選手軌道の予測に関するお話をします。自己紹介は前回詳しくやったのでそれを見ていただくか、私のホームページを見てください。

まず「なぜ選手軌道予測をするか?」という話から。多くの集団スポーツの現場での戦術的分析は、主にビデオなどの目視に基づいて行われます。例えば先ほどもご紹介があった、ビデオ編集ソフトウェアなどを使ってビデオを切り出して人の目で評価をするといった内容です。

しかし、プロスポーツでは、すでに選手やボールの位置を推定するシステムが導入されています。この位置計測に基づいて右のような軌道予測が可能になった場合。これまでコーチの頭の中でしか行われてこなかった選手やチームがどう動くのかなどのシミュレーションが実際にできるようになります。

次にどのように軌道予測をするのかについて。まず基本的な方法としては、運動方程式を立てて予測をすることです。しかし、現在は長い期間を予測する......長期予測をするにはニューラルネットワークに基づく方法が優位だと考えられています。

例えば回帰型ニューラルネットワーク、いわゆるRNNと言われるような方法は、現在の状態から隠れ状態を経て、次の行動を予測。その隠れ状態が、次々と更新されていくことによって予測を可能にしています。これらはバスケットやサッカーなどで多く適用されている方法です。このRNNだけでなくGraph NNやGAN、あるいはその他の深層生成モデルなどが現在研究されています。

本日のお話は、これらの中からわかりやすい代表的な先行研究の話。それと関連する私たちの研究についての話をしたいと思います。まず模倣学習という枠組みを用いて状況を予測する研究と、それに基づいて戦術的指標を入力して評価した研究の内容から。次に発展的な話題。私たちの別の研究を紹介したいんですが、ちょっと時間が足りなさそうなので次回になりそうです。

先行研究と模倣学習

詳しくお話しする前に前提として、データセットはどういうものかというと、サッカーはヨーロッパリーグの45試合、10 Hzで記録されたもの。ただし選手やチームの情報はないので、このURL先のStatsPerformという会社に連絡を取って入手。バスケも同じ会社から入力値を得ることができますが、GitHubに公開されているデータもあり、これはNBAの600試合前後で、25 Hzで選手やチーム情報も利用できます。

誰をどこまで予測するかの話については、守備チームあるいは攻撃チーム全員を予測する研究が多いです。どこまで予測するかについては、例えば1秒間や2秒間の軌道から2秒、4秒、6秒ぐらいの軌道を予測するタスクになります。何から何を予測するのかについても、入力は全選手の位置と速度などを使うことが多いです。何を予測するかについては、各選手の位置または速度などがあります。

詳しくはこの研究を見ていただきたいんですが、つまりは各選手に1つのモデル、例えばRNNを割り当てることが多いです。

次にその模倣学習という枠組みを用いて長期予測を獲得する研究について。動機としては、実は先ほどのRNNだけでは長期予測ができない問題があります。問題の中身としては2つあって、1つは選手の並びが適当なので役割が考慮されない。これはサッカーのデータの模式図なんですけど、前がフォワードで後ろがディフェンダーみたいな感じです。

最初のデータだとこれがバラバラになっていたり、あるいはチームによって配置が違ったりします。こういうのが考慮されていないのが問題1です。

問題2はRNNが1ステップごと、つまり予測してその情報を使ってまた次を予測するということをしていると誤差を蓄積してしまう問題。

それぞれに解決方法があって、1つは問題値に対しては選手の役割に合うように並び替えるという方法があります。これはちょっと長くなりますので本日は割愛させてください。

問題2については予測する範囲を徐々に延ばしてRNNを更新する。これはDAggerと呼ばれるデータを混ぜて、関数を更新する方法を参考にしています。ここで模倣学習という言葉が出てきたんですが、これはこれら2つを含めるすべての選手モデルの学習の定式化と考えてください。

予測範囲を延ばしていく

2番目の予測する範囲を徐々に延ばしてRNNを更新するという話について詳しくお話します。このグラフは横軸がニューラルネットワークの学習の回数で、エポック数と呼ばれ縦軸が次の時刻の速度の実際と予測の誤差を表したものです。まず個別にRNNから1ステップごとの予測誤差を学習していくと、徐々に誤差が小さくなっていきます。

それだけだと難しいので予測範囲を徐々に延ばしていく。例えばhorizon2というのは2ステップ先まで予測する、4ステップ先まで予測する。7ステップ、10ステップと徐々に延ばして学習していくと、これは1ステップの誤差が徐々に下がっていくんですが、これが長期予測にも効果的であることが言われています。

ただ、予測誤差だけで評価をしていいのかが問題で、サッカーの守備評価を考慮した軌道予測という研究を私たちの学生が行いました。これは守備指標のldf÷lgという簡単なものを考えてみたものです。これはldfはアタッカーとゴールを結ぶ2メートルの線分とディフェンダーとの距離で、0の場合はゴールを守れています。

lgで割りますが、lgはゴールとアタッカーの距離で、これがゴールからボールがゴールから遠いと低くなる値です。これを入力して同じように学習させていましたが、入力するだけだと2メートルの予測誤差は先行研究と差がない結果になりました。予測された守備指標に関しては、先行研究に比べると実測に近いということがわかります。

予測軌道の例

今までの説明だけだとイメージが掴みきれないと思うので、予測軌道の例についてお話します。これは左が既存手法と、右が提案手法の守備軌跡です。黄色がボールで、青がディフェンダーで守備側の実測。白が守備側のpredict、赤が攻撃側の実測の軌道です。全体がわかりにくいので、今回はハイライトとして黄色のボールとボールに近い守備者の白の軌道だけを見ていただけたらと思います。

左に比べて、右のほうがボールに近くなる軌道を生成。つまり守備評価を考慮して単なる誤差じゃなくて、ボールに近くなる軌道を生成することがわかりました。

次に発展的な話題。詳しくは次回にお話しする予定なんですが、予測の性能を考慮する改善についてです。1つはRNN自体を改善するというので、確率的な潜在技術が取れる変分RNNが現在よく使われています。あとはバスケットだったら、次はどこに止まりそうかなどの動きや場所が想像できるのではないでしょうか。こういう目標みたいなものを弱教師情報として利用することによって目標を知る方法も私たちは使っています。あるいはその他の方法もあります。

今回よいシミュレータとして予測誤差以外の観点も必要だよねというので、戦術評価という観点も入れてみました。現在は、次は誰が誰を観測しているか、あるいは仮に観測する・しない場合ではどのような軌道になるかについて行っています。これが観測のモデリングというものです。

今回ニューラルネットワークを利用した代表的な研究と私たちの研究を紹介しました。NBAのデータやその他の情報は私たちのホームページにありますので気になる方はぜひご覧ください。発表は以上です。ありがとうございました。