Amazon Web Services ブログ

ブンデスリーガマッチファクト xGoals を支える技術: 機械学習がサッカーのデータ駆動型の洞察をどのように推進しているか

サッカーの試合を観戦していて、プレイヤーがゴールを決めたのを見たとき、そのゴールを決めるのがいかに難しかったかを想像してみることがよくあります。テレビで試合を見ていて、そのシュートがゴールネットを揺らすのがいかに難しかったかを放送席が叫ぶのを聞くと、自分の考えは正しかったのだと確認できるかもしれません。以前は肉眼で視て、ゴールキーパーの周囲にいたディフェンダーの数や、プレイヤーがゴールネットの正面にいたか、側面にいたかの立ち位置に基づいた仮定で脚色していました。今では、AWS によるドイツのブンデスリーガのマッチファクト (試合詳報) サービスの 1 つである xGoals (「Expected Goals」の略) を使って、感嘆の叫びをデータと洞察で補強することができるようになりました。これにより、プレーヤーが競技場のあらゆる位置からシュートするときにゴールを決める正確な確率をファンに示すことができます。

Deutsche Fußball Liga (DFL) は、ドイツのプロサッカーリーグ、ブンデスリーガおよびブンデスリーガ 2 部 の組織の編成とマーケティングを担当しています。すべての試合で、DFL は 360 万以上のデータポイントを収集して、競技場で起こっていることについてのより深い洞察を得ています。思い描いているビジョンは、世界中の 5 億人を超えるブンデスリーガファンと 70 を超えるメディアパートナーの体験を強化することにより、最も革新的なスポーツリーグになることです。DFL は、テクノロジーを新しい方法で使用して、機械学習 (ML) で駆動されるリアルタイムの統計を提供し、パーソナライズされたコンテンツをファンのために作成し、データを洞察と行動に変えることで、そのビジョンの実現を目指しています。

xGoals は、DFL と AWS が 2020 年 5 月の終わりに正式に開始した 2 つの新しいマッチファクト (平均順位は 2 番目) の 1 つで、ドイツのブンデスリーガとのグローバルなファンエンゲージメントを強化しています。ブンデスリーガはドイツ国内のサッカーリーグの最高峰で、試合ごとの平均ゴール数が最も多いリーグです。xGoals は、ML モデルを構築、トレーニング、デプロイするフルマネージドサービスである Amazon SageMaker を使用して、ブンデスリーガプレイヤーが競技場の任意の位置からシュートしてゴールを決める可能性を客観的に評価できます。 xGoals はまた、プレイヤーがパスを出すことで、シュートを打ったり良い位置取りをしている他のプレイヤーにパスを出したりするよりも得点機会が高まったかを判断できます。

xGoals や他のブンデスリーガのマッチファクトは、サッカーの世界にデータ駆動型の洞察を提供することで、新しいスタンダードを打ち立てています。

ゴールスコアリングの可能性の定量化

xGoals マッチファクトは、2020 年 5 月 26 日のボルシアドルトムント対FC バイエルンミュンヘンの試合でデビューを果たしました。この試合は世界 200 か国以上で放送されました。この一瞬も気を抜けない、すべてをかけて戦う必要がある試合で、FC バイエルンミュンヘンの Joshua Kimmich は驚くべきシュートを放ちました。ゴールまでの距離、シュートの角度、周囲のプレイヤーの数などの要因を考慮すると、その具体的な状況におけるゴールスコアリングの確率はわずか 6% でした。

xGoals の ML モデルは、0 と 1 の間の確率図を生成してから、値がパーセンテージで表示されます。たとえば、ブンデスリーガの試合でトレーニングされた ML モデルの評価では、すべてのペナルティキックの xGoals (または「xG」) 値は 0.77。つまり、ゴールスコアリングの確率は 77% でした。 xGoals は、プレイヤーまたはチームのゴールスコアリングのチャンスをどれほどよく活かせたかを定性的に測定する価値をもたらし、パフォーマンスに関する情報を提供しています。

各試合の終わりに、チームごとの xGoals 値の集計も表示されます。このようにして、視聴者はゴールスコアリングのチャンスの客観的なメトリクスを取得します。前述の試合は、Kimmich の見事な 1 発のシュートがなければ引き分けに終わっていた可能性が高い試合でした。xGoals は視聴体験を向上させ、さまざまな方法で洞察を提供します。それにより、ファンを引き付け続け、試合やシーズンを通してプレイヤーやチームの潜在能力をファンが理解できるようにしています。

ゴール前でシュートを打つ状況は非常に動的であることを考えると、70% を超える xG 値を達成することは非常に困難です。プレイヤーの位置は常に変化しており、プレイヤーは多くの場合直感に頼って、限られた情報で一瞬の決定を下さなければなりません。このように、ゴールの近くに陣取ることができた場合でも、状況によっては、スコアの難易度が大きく異なる場合があります。したがって、ある時点でフィールド上で起きているすべてのイベントの全体像をデータに基づいて把握することが重要です。そうすることで初めて、この情報を xGoals ML モデルに供給するときに、他のプレイヤーの位置も考慮することで正確な予測を行うことができます。

すべてはデータから始まる

マッチファクトを実用的にするために、試合前、試合の最中、試合後にいくつものチェックとプロセスを経ます。データの取得、データの処理、グラフィック、コンテンツの作成 (TV 放送用の編集など)、ライブ解説には、さまざまな関係者が関与しています。ブンデスリーガの各サッカースタジアムには、プレイヤーとボールの位置を自動的に光学的に追跡するため、最大 20 台のカメラが設置されています。編集チームが追加の動画データを処理し、理想的なカメラアングルとシーンを選択してブロードキャストしているのです。これには、テレビにマッチファクトを表示するタイミングの決定も含まれます。

ペナルティキックやゴールを捉えたシュートなど、ほぼすべての試合イベントがライブで記録され、リモート検証のために DFL システムに送信されます。人間のアノテーターは、イベントを分類し、状況固有の追加情報で補足します。たとえば、プレイヤーやチームのスタメンとベンチの選手起用、撮影したシーンのタイプ (ブロックやアシストなど) を追加できます。

最終的に、すべての生の試合データが AWS のブンデスリーガマッチファクトシステムに取り込まれ、xGoals 値を計算して、世界中に配信されて放送されます。

Bundesliga の公式アプリとウェブサイトの場合、マッチファクトはエンドユーザーのデバイスにできるだけ早く、かつ継続的に表示されます。同じことがサードパーティのデジタルプラットフォームを備え、世界中のサッカーファンに最新の洞察と高度な統計を提供している DFL の他の外部顧客にも当てはまります。

ブンデスリーガの試合は空のスタジアムで行われており、対面でのサッカーの観戦体験に影響を与えているため、リアルタイムのコンテンツ配信とファンのエンゲージメントが現在特に重要になっています。

ML の旅: コードを本番環境に導入する

DFL のリーダーシップ、経営陣やデベロッパーは、このクラウド導入の旅を通じて AWS プロフェッショナルサービスチームと協力して、ML により視聴者体験を向上させてきました。AWS データサイエンスコンサルタントの使命は、ML の効果的な活用を通じて顧客のビジネス成果を加速することです。カスタマーエンゲージメントは、最初の評価から始まります。そしてビジネスと技術の両方の観点から、望ましい結果と実現可能性を詳しく検討します。AWS プロフェッショナルサービスコンサルタントは、お客様の既存のチームを専門的なスキルセットと業界での経験で補完しています。これにより、概念実証 (POC) 、実用最小限の製品 (MVP) を開発し、ML ソリューションを本番環境に導入しています。同時に、継続的な学習と知識の伝達により、持続可能で直接帰属するビジネス価値を推進しています。

DFL の子会社である Sportec Solutions で行われた社内実験とプロトタイピングに加えて、定評のある研究コミュニティは、xGoals の計算のパフォーマンスと精度の改善に既に取り組んでいます。このドメインの知識と適切な技術スタックを組み合わせてベストプラクティスを確立することで、優れた運用性、安全性、信頼性、パフォーマンス効率、コスト最適化を確保しながら、より迅速なイノベーションと大規模な実行が可能になります。

過去のサッカーの試合データは、最先端の ML ベースの xGoals モデルトレーニングアプローチの基盤です。このデータを用いて ML モデルをトレーニングし、フィールドの特定の条件に基づいて xGoals の結果を推測できます。データ品質の評価と初期の実験では、探索的なデータ分析、データ視覚化、データ変換、およびデータ検証を実行する必要があります。たとえば、これは Amazon SageMaker ノートブックで実行できます。次の自然なステップは、ML ワークロードを研究から開発に移行することです。ML モデルを本番環境にデプロイするには、データエンジニアリング、データサイエンス、ソフトウェア開発を組み合わせた学際的なエンジニアリングアプローチが必要です。本番環境の設定には、エラー処理、フェイルオーバー、および復旧計画が必要です。全体として、ML システムの開発と運用 (MLOps) には、コードのリファクタリング、リエンジニアリングと最適化、自動化、基盤となるクラウドインフラストラクチャのセットアップ、DevOps とセキュリティパターンの実装、エンドツーエンドのテスト、モニタリング、そして適切なシステム設計が必要です。目標は常に、できるだけ多くのシステムコンポーネントを自動化して、手動による介入を最小限に抑え、メンテナンスの必要性を減らすことです。

次のセクションでは、AWS によるブンデスリーガマッチファクトの背後にある技術スタックと、xGoals を本番環境に導入するためのパスを合理化する際の基本的な考慮事項について詳しく説明します。

Amazon SageMaker を使用した xGoals モデルのトレーニング

従来の xGoals ML モデルは、イベントデータのみに基づいていました。つまり、ゴールを決められる可能性を評価する際には、プレイヤーのおおよその位置とゴールまでの距離のみが考慮されます。ブンデスリーガの場合、枠内シュートイベントは、他にも 25 Hz のフレームレートで取得した高精度位置データと組み合わされます。これに伴い、必要なデータストリーム分析パイプライン内でデータクリーニングとデータ前処理を行う際にオーバーヘッドが追加で発生します。ただし、より正確な結果を得ることの利点は、必要なエンジニアリング作業やより複雑さが増したことを明らかに上回ります。絶えず追跡しているボールとプレイヤーの位置に基づいて、モデルは、プレイヤーからゴールまでの距離、ゴールへの角度、プレイヤーの速度、シュートライン内のディフェンダーの数、およびゴールキーパーの守備範囲などの追加機能の配列を決定できます。

xGoals では、Amazon SageMaker XGBoost アルゴリズムを使用して、2017 年以降、ブンデスリーガのゴールで 4 万本以上の過去の枠内シュートで ML モデルをトレーニングしました。これは、デフォルトのトレーニングスクリプト (組み込みアルゴリズムとしての XGBoost) で実行することも、前処理および後処理スクリプト (フレームワークとしての XGBoost) を追加して拡張することもできます。Amazon SageMaker Python SDK を使用すると、組み込みのスケーリングを使用してプログラムで簡単にトレーニングを実行できます。また、XGBoost ハイパーパラメータの自動最適化に必要なリソースのデプロイと管理の複雑さを抽象化します。入手できるデータの小さなサブセットで開発をすばやく開始し、そこから完全なデータセットでトレーニングされたより複雑な ML モデルに向けて徐々に進化および最適化することをお勧めします。

xGoals トレーニングジョブは、客観的なメトリクスとして Area Under the ROC Curve (AUC) を使用するバイナリ分類タスク、ゴールでのショットの非常に不均衡なトレーニングと、枠内シュート (得点が入る場合も、入らない場合もある) の検証データセットで構成されています。

検索ベースのハイパーパラメータのベイズ最適化ジョブからのさまざまな ML モデルの候補があることを考慮し、Amazon SageMaker エンドポイントでデプロイするのに最もパフォーマンスの高いモデルが選択されます。リソース要件と寿命が異なるため、ML モデルのトレーニングはホスティングから切り離されています。エンドポイントは、AWS Lambda 関数などのアプリケーション内から、またはリアルタイム推論の API 呼び出しを使用して Amazon SageMaker ノートブック内から呼び出すことができます。

ただし、Amazon SageMaker を使用して ML モデルをトレーニングするだけでは十分ではありません。その他のインフラストラクチャコンポーネントが、データ統合、データクリーニング、データ前処理、機能エンジニアリング、ML モデルのトレーニングとデプロイで構成される完全なクラウド ML パイプラインを処理するために必要です。さらに、他のアプリケーション固有のクラウドコンポーネントを統合する必要があります。

xGoals アーキテクチャ: サーバーレス ML

アプリケーションアーキテクチャを設計する前に、継続的インテグレーションと継続的デリバリー/デプロイ (CI/CD) パイプラインを配置します。AWS Well-Architected フレームワークホワイトペーパーに記載されているガイドラインに従って、独立した開発、ステージング、および本番 CI/CD パイプラインステージのためのマルチアカウントセットアップアプローチを採用しました。これを Infrastructure as Code (IaC) アプローチと組み合わせて、これらの環境をプロビジョニングし、コードの変更ごとにデプロイを予測できるようにしました。これにより、チームは環境を分離し、リリースサイクルを減らし、コードのテストが容易に行えるようになります。デベロッパーツールを用意した後、アプリケーションのアーキテクチャを起草し始めました。次の図は、このアーキテクチャを示しています。

データは 2 つの方法で取り込まれます。AWS Fargate は、位置およびイベントデータストリームを受信する (コンテナ用のサーバーレスコンピューティングエンジン) に使用し、Amazon API Gateway は、チーム設定やプレイヤー名などの追加のメタデータを受信するために使用します。この受信データは Lambda 関数をトリガーします。この Lambda 関数は、アイドル状態のリソースの自動プロビジョニング解除、データの前処理、簡単な抽出、変換、読み込み (ETL) ジョブ、それに新しい一致データが消費されるたびに発生する複数のデータ品質テストなど、さまざまな一時的なタスクを処理します。また、Lambda を使用して Amazon SageMaker エンドポイントを呼び出し、一連の入力機能を考慮して xGoals 予測を取得します。

キー値データベースである Amazon DynamoDB、およびドキュメントデータベースである Amazon DocumentDB (MongoDB 互換) という 2 つのデータベースを使用して、試合の状態を格納します。後者のデータベースを使用すると、ネストされた構造を持つ JSON 形式で位置データとイベントデータのクエリとインデックス作成を簡単に行うことができます。これは、高速で反復的な開発のためにワークロードが柔軟なスキーマを必要とする場合に特に適しています。公式試合データの中央ストレージには、Amazon Simple Storage Service (Amazon S3) を使用しています。Amazon S3 は、すべての試合日の履歴データを保存します。これは、xGoals モデルを繰り返し改善するために使用されます。Amazon S3 は、モデルのパフォーマンス、モデルのモニタリング、およびセキュリティメトリクスに関するメタデータも保存します。

アプリケーションのパフォーマンスをモニタリングするために、AWS Amplify ウェブアプリケーションを使用します。これにより、運用チームとビジネスの利害関係者に、システムの正常性と Match Facts 計算のステータスの概要、およびその基盤となるクラウドインフラストラクチャを、使いやすいダッシュボードの形でもたらされます。このような運用上の洞察は、試合後の回顧分析を取り込んで組み込むことが重要です。これにより、現在のシステムの継続的な改善を確実に行えるようになります。このダッシュボードにより、望ましいビジネス成果の達成を測定および評価するためのメトリクスを収集することもできます。システム全体の負荷とパフォーマンス、エンドツーエンドのレイテンシー、その他の非機能要件など、関連する KPI を継続的にモニタリングすることで、ビジネスと技術の両方の観点から現在のシステムの全体像を確認できます。

xGoals アーキテクチャは、拡張性と使いやすさを向上させるため、完全にサーバーレスで構築されています。フルマネージドサービスは、サーバーやその他の基本的なインフラストラクチャコンポーネントの管理といった、差別化されていない面倒な作業を取り除きます。このアーキテクチャにより、試合の開始時に動的に需要をサポートし、試合終了後に手動のアクションを必要とせずにリソースを解放できるため、アプリケーションのコストと運用のオーバーヘッドが削減できます。

まとめ

2020 年 1 月に AWS を公式のテクノロジープロバイダーとして指名して以来、ブンデスリーガと AWS は、200 か国以上のサッカーファンと放送局に高度な分析を実現するための旅に乗り出しました。AWS によるブンデスリーガマッチファクトは、ピッチでの意思決定に関わる戦略を視聴者がよりよく理解するのに役立ちます。 xGoals により、サッカーの試合の視聴者は、フィールド上のいくつかの条件に基づいてゴール得点確率を定量的に評価できます。その他のユースケースには、個々のプレイヤーとゴールキーパーのパフォーマンスメトリクスの形式での得点確率の集計、および試合のスコアが競技場で起こったことを公正に反映したものであるかどうかの客観的評価が含まれます。

AWS プロフェッショナルサービスは、DFL およびその子会社である Sportec Solutions と協力して、デジタル変革を推進し、ビジネス成果を加速し、継続的なイノベーションを確実に行えるようにしています。DFL は今後のシーズンで、AWS による新しいブンデスリーガマッチファクトを導入して、ファンを魅了して楽しませ、世界クラスのサッカー観戦体験を提供します。

「ブンデスリーガでは、統計、分析、機械学習などの AWS の高度なテクノロジーを使用することで、データを解釈し、より詳細な洞察を提供し、ピッチで行われた一瞬の意思決定をよりよく理解できます。ブンデスリーガマッチファクトを使用することで、視聴者は各試合で行われたカギを握る決定についてより深い洞察を得ることができます」

– Andreas Heyden 氏、DFL グループのデジタルイノベーション担当上級副社長


著者について

Marcelo Aberle は、AWS プロフェッショナルサービスチームのデータサイエンティストで、AI/ML を使用してビジネスの成果を加速させるためにお客様と協力しています。彼は、ブンデスリーガマッチファクト xGoals の主要デベロッパーです。彼は長期間の旅行を楽しんでおり、ミニマリストのデザインと建築に心酔しています。

Mirko Janetzke は、DFL グループ内のデータ収集、データおよび統計システム、サッカー分析を担当する DFL 子会社である Sportec Solutions GmbH の IT 開発の責任者です。Mirko はサッカーが大好きで、少年時代からブンデスリーガとそのホームチームをフォローしてきました。余暇には、家族や友人と一緒にバイエルンのアルプスをハイキングするのが好きです。

Lina Mongrand は、AWS プロフェッショナルサービスのシニアエンタープライズサービスマネージャーです。Lina は、メディアとエンターテインメントのお客様がクラウドの戦略とアプローチを構築するのを支援し、変革の旅のガイドを務めることに力を入れています。彼女は AI/ML などの新しいテクノロジーに情熱を傾けており、特にこれらのテクノロジーがお客様のビジネス成果の達成にどのように役立つかに熱心に取り組んでいます。余暇には、友人や家族と一緒に近くのアルプス (ミュンヘンに住んでいます) で登山を楽しんでいます。