「トランスフォーマーはNFLプレーを生成できます:QB-GPTの紹介」

「トランスフォーマーがNFLのプレースタイルを完璧に再現する:QB-GPTの革新的な紹介」

ジェンAIとスポーツ解析の鴻溝を埋める

写真:Zetong Li氏提供- Unsplash

私の初めてのStratFormerについての記事以来、多くのフィードバックとアイデアをいただきました(まず最初にありがとうございます!)。これにより、私はさらに深く取り組み、エキストラステップを試す事を決めました:フットボールプレイのジェネレータの構築。この記事では、一部の要素を提供すると効果的にフットボールプレイを生成することができるQB-GPTモデルを紹介します。こちらのHuggingFaceスペースでそれを使って遊ぶことができます。このような生成モデルを骨子としてNFLのプレイをよりよく予測するための私の研究成果と結果を、今月中に共有する予定です。この分野には興味深いところで、DeepMind Safety Researchは現在、リヴァプールと共にサッカーに関する研究をしています。

QB-GPTによる生成軌跡
本物の軌跡

Stratformerは2021年10月に私の最初のアイデアであり、トラジェクトリを入力とし、それを補完し、それに関連するコンテキスト要素(チーム、ポジション、プレイなど)を予測するエンコーダー専用モデルでした。このモデルは興味深いパターンを示しましたが(例えばRBとWRを本当に異なるものとする要素を理解すること)、プレイに「事後的に」注目する必要がありました。さらに興味深いのは、チームのセットアップがいくつかのコンテキスト要素と共に実際にチームのパスにどのように影響を与えるかを深く理解することです。つまり、スクリメージラインでチームが対峙するとき、何が起こるのでしょうか?

このようなアルゴリズムを構築することで、要素が少ない中でプレイを再現しようと試みるモデルを「本当に」フットボールゲームを理解できるようになりました。これがQB-GPTの目標です。GPTとは、任意のGPTモデルで使用されるデコーディングの同じ概念を利用しているためです。

こちらの記事では、モデルとそれを「OK」にするために実装したいくつかの必要なトリックについて説明します。もし希望があれば、こちらのHuggingFaceスペースでいくつかのプレイを生成することができます。ただし、コストに応じて限定的な時間のみ公開します。これは限定的で改善の余地があることを認識していますが、このような応用はより広い観客と共有する価値があると思います。ご興味があれば、議論したり、いくつかの側面を深く掘り下げたりする場合は、アプリと記事の末尾に連絡先があります。再度、私はNFL/NGSチームで働いている方がこれを読む場合はDMを大いに受け付けます。

パート1:データ

このようなタスクを実行するために必要なデータは非常に難しいものです。私はNFLのNext Gen Stats (NGS)ツールによってのみ提供される特定のデータタイプに依存しています。このツールでは、任意のプレイにおいてフィールド上に存在する22人の選手を追跡することができます。問題は、このデータが通常のAPIリクエストを介してアクセスできないことです。しかし、2019年以降、NFLはKaggleで広範なデータコンペを提供しており、NGSからのデータセットも提供しています。また、GitHub上にはNGSブラウザをスクラップした人々もいます。自分では試していないため、使用可能なフォーマットのデータに頼ることにしました。

彼ら自身の間でデータをマージするために、広範な時間が費やされました(約200時間)。 最も重要なタスクは次のとおりでした:

  • nflVerseを使用してフィールド上のプレイヤーを見つける
  • 彼らの位置を関連付ける
  • nflVerseのプレイバイプレイデータを使用してスクリメージラインを定義する
  • 元のプレイヤーの位置を軌道の各インスタンスから引き算して軌道を正規化する。したがって、軌道の各要素は時刻iと時刻0の距離です。
  • 距離をインデックスに変換する(BERTの語彙を構築するのと同様)
  • 一貫性チェックを適用する(たとえばピッチ上にいないプレイヤーを削除するなど)
  • データをTensorFlowの配列および辞書形式に変換する

私はこのプロセスのすべての過程でPolarsを使用しました。データサイエンティスト、MLエンジニア、データエンジニアまたは大量の表データを操作する人々には、是非この素晴らしいパッケージを迅速にツールキットに追加することを強くお勧めします。要約すると、小規模なデータセットではPandasよりも、大規模なデータセットではPysparkよりも優れています。

合計して、18人のプレイヤー(残念ながらOLは1人もいませんでした)を平均して監視した47,991の異なるプレイを収集し、フィールド上の870,559の異なる選手の軌跡を表しています。

フィールド上の位置は0.2秒間隔で監視し、合計28,147,112の位置データを取得しました。軌跡は10秒までに制限しました。その後、時系列的な観点から確率モデリングが難しくなるためです。

データセットは2018年から2022年までの3,190人のユニークな選手をカバーしています。データは完璧ではありませんが、十分なサンプルを提供し、トランスフォーマーが有用かどうかを評価するのに十分です。

データのソースは次のとおりです:

  • NFL Big Data Bowl 2021 link
  • NFL Big Data Bowl 2022 link
  • NFL Big Data Bowl 2023 link
  • Public git repo NGS Highlights link

以下に、単一プレイヤーの入力埋め込みを表す図があります:

その後、11人のプレイヤーがプレイごとに連結され、トークンの数が常に256になるようにフレームで切り詰められます。1人のプレイヤーのフレーム数は21まで制限しました(最大= 21 * 11 = 231)。これにより、21フレームを超えるプレイがほとんどであるため、プレイの特定の時点から直接開始する新しい軌跡を作成する必要がありました。軌跡は12フレームのパディングステップで作成され、サブ軌跡に分割されます。つまり、軌跡は常に12フレームずつシフトされます。このプロセスは、後述のフレーム12、24、36、48の予測タスクを困難にします。

いくつかの要素は議論の余地があります。たとえば、1ヤード単位でフィールドを分割する方法や、0.2秒のフレームレートを使用する理由などです。私はモデル(およびそのトレーニングデータ)が始まりであると考えており、すべてが完璧ではないことを認識したいと思います。フィードバックや意見は歓迎しますが、それが関連性のあるものである限りです。

パート2:モデル

このモデルは、OpenAI GPTアーキテクチャから着想を得ています。埋め込みレイヤーは、入力トークンに異なる文脈要素を追加するために使用されます。埋め込みは、3つのヘッドを持つマルチヘッドアテンションを使用して単一のトランスフォーマーモジュールに供給されます。 Largeモデルでは、2番目のトランスフォーマーモジュールが適用されます。出力は、「relu」アクティベーションを持つ密な層に供給されます。予測を得るために、ソフトマックスアクティベーションを適用します。

アーキテクチャとトレーニングを適応させるために2つのトリックが必要でした:

  • マルチテンポラル因果マスク:クラシックなGPTでは、埋め込みの位置iの注意を、位置0からi-1までのトークンにのみ注目することができます。私たちの場合、チームを完全にデコードしているため、位置iのトークンは、時間0からi-1までのすべてのトークンに注意を向ける必要があります。いわゆる「下三角マスク」ではなく、マルチ三角マスクが得られます。
注意マスク
生の注意スコアと注意マスクの差し引き後の注意スコア
異なる最大値スケールの注意スコア
  • 事前レイヤー正規化:Sik-Ho Tsangの研究に触発され、マルチヘッドアテンションの前とFFNの前で正規化が行われる提案されたトランスフォーマーモジュールを実装しました。

このモデルは、モデル化する基礎的なパターンが非常にシンプルなため、多数の注意層は必要ありません。同じ設定を使用して4つの異なるモデルアーキテクチャをトレーニングしました。結果は、埋め込みの次元が精度のレベルに重要な役割を果たし、注意モジュールの数は精度を大きく向上させるわけではないことを示しています:

  • タイニー:埋め込みの次元は64で、1,539,452パラメータを表します。
  • スモール:埋め込みの次元は128で、3,182,716パラメータを表します。
  • VoAGI:埋め込みの次元は256で、6,813,308パラメータを表します。
  • ラージ:埋め込みの次元は128ですが、注意モジュールが2つあり、7,666,556パラメータを表します。

ラージの方は、スケジューラの詳細なレビューにより、より良いパフォーマンスを発揮すると思われます。

(比較のため、GPT3は1750億のパラメーターを持ちます)

以下のチャートは、異なるモデル間のトレーニング中の精度と損失の比較を示しています:

4つのモデルにおける損失と精度

パート3:トレーニング

トレーニングセットは軌道の80%で構成され、205,851の例を表します。テストセットは軌道の20%で構成され、51,463の例を表します。

モデルは、学習率が1e-3で始まり5e-4で終わる9エポックのシンプルなコールバックスケジューラを使用してトレーニングされます。バッチサイズは32です。

損失は、トレーニングセットの発生の閾値によって設計されたクラスウェイトを使用したカテゴリカルクロスエントロピーです(より頻繁に発生する整数ほど損失は軽くなります)。ラベルが-100に設定されている場合、損失にはカウントされません。

使用されるメトリクスは次のとおりです:

  • 正確性:次のチームの動きは、正確にラベル付けされたものと完全に一致していますか?
  • トップ3の正確性:次にラベル付けされた動きは、上位3つの予測に含まれていますか?
  • トップ5の正確性:次にラベル付けされた動きは、上位5つの予測に含まれていますか?
4つのモデルにおけるトップ3とトップ5の正確性

最終的に、すべての動きに関連付けられたx、y座標に対してRMSEチェックが実行されました。このチェックにより、正確に予測することはできなくても、真実からあまり遠くにはずれないことを監視することができます(1ヤード四方の軌道を予測することは困難かもしれません)。

第4部:結果

全体的に、異なるモデルはまだ基礎的な動的パターンを学び、データセットに比較的良い結果を出しています。埋め込みの次元を増やすと、モデルの精度が向上することがわかります。1ヤード四方を推測するというタスクは、フットボールのフィールド上の動きがそのような小さな範囲で駆動されていないため、間違いなく挑戦的です。

それらの予測を時間、プレイタイプ、ポジションの3つのカテゴリに分類することにしました。

時間(フレーム)に対する正確さとRMSE

最初の5フレームはモデルにとって比較的予測しやすいです。プレーヤーはよく似た動きで始まることが多いためです。フレーム5と10の間には正確さが40〜50%低下します。これは、プレイが異なる傾向にあり、独自のパスを持っている瞬間です。4つのモデルの中で、特に小さいモデルは特に軌跡の終わりで苦労しています。VoAGIモデルは非常に優れたパフォーマンスを示し、長期的にも(20フレーム以上)非常に良い結果を出しています。ピークは、軌跡の過去の知識なしで供給されたパディングされた軌跡の開始に関連しています。

プレイタイプに対する正確さとRMSE

比較的静的なプレイは予測しやすいです(特に驚くべきことではありません)。走行、パス、キックオフ、パントは予測が最も困難で、プレーヤーはより多く移動し、カオスなパターンで動く可能性があります。モデル間で顕著な違いは見られません。

ポジションに対する正確さとRMSE

ポジションは非常に差別化された要因であり、正確さに10〜20%の違いがあります。全体的に、より多く移動するポジションは予測が難しいです。小さなモデルの方が一般的に他よりも正確性が低い傾向にあります。

第5部:これまでのプレーで見たこと

モデルの理想的な温度は1.5から2.5の間のようです。10、20、50の選択肢をテストしました。温度と選択肢を押し続けるほど、よりクレイジーなパターンが生じ、奇妙な動き(選手がフィールドを離れ、方向転換、フレーム間の大きなギャップなど)となります。

ただし、シミュレーションとプレイブック認識に使用できる興味深いパターンが得られるようです。

次は何ですか?

このモデルはまだ未完成です。この後、NFLのプレー結果、つまりヤード獲得を効果的に予測できるかどうかを確認するための予測フレームワークについて、QBGPTの調査結果に基づいて私の研究を共有します。このようなモデルの生成能力を使用することで、プレイを予測するための多くのシナリオを描くことができるので、楽なタスクとなります 😉

それまで、このハグフェイススペースでQBGPTをお試しください。この記事と研究の結果が気に入った場合は、シェアやいいねをお忘れなく!

(特記されていない限り、すべての画像は著者によるものです)

Samuel Chaineau: Linkedin

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more