Logo Zephyrnet

Probabilitatea confruntării, parte a NHL Edge IQ: prezicerea câștigătorilor confruntării în timp real în timpul jocurilor televizate

Data:

Probabilitatea de confruntare este Liga Națională de Hochei (NHL) prima statistică avansată care utilizează învățarea automată (ML) și inteligența artificială. Folosește date în timp real de urmărire a jucătorilor și a pucurilor (PPT) pentru a arăta spectatorilor care jucător este probabil să câștige o confruntare înainte ca pucul să fie aruncat și oferă radiodifuzorilor și telespectatorilor oportunitatea de a aprofunda importanța meciurilor de confruntare. și diferențele dintre abilitățile jucătorilor. Pe baza datelor istorice de 10 ani, sute de mii de confruntări au fost folosite pentru a proiecta peste 70 de caracteristici introduse în model pentru a oferi probabilități în timp real. Radiodifuzorii pot discuta acum despre modul în care o victorie cheie la confruntare a unui jucător a dus la un gol sau despre cum scad șansele de a câștiga o confruntare, deoarece specialistul de confruntare al unei echipe este renunțat la o remiză. Fanii pot vedea previziuni vizuale, în timp real, care le arată importanța unei părți cheie a jocului.

În această postare, ne concentrăm asupra modului în care a fost dezvoltat modelul ML pentru Probabilitatea de confruntare și a serviciilor utilizate pentru a pune modelul în producție. De asemenea, împărtășim provocările tehnice cheie care au fost rezolvate în timpul construcției modelului de probabilitate de confruntare.

Abordarea Noastră

Imaginează-ți următorul scenariu: este un meci de egalitate între două echipe NHL care va determina cine avansează. Suntem în a treia perioadă cu 1:22 secunde de joc. Doi jucători din echipe opuse se aliniază pentru a lua remiza în cea mai apropiată confruntare mai aproape de una dintre plase. Tușierul observă un jucător defensiv care pătrunde în cercul de confruntare și renunță la jucătorul său din joc din cauza încălcării. Un jucător defensiv mai puțin experimentat intră pentru a lua remiza ca înlocuitor. Echipa atacantă câștigă meciul, ajunge în posesia pucului și înscrie imediat pentru a prelua conducerea. Scorul se menține până în minutul rămas al jocului și decide cine înaintează. Ce jucător a fost favorizat să câștige confruntarea înainte ca duo-ul inițial să fie schimbat? Cât de mult a scăzut probabilitatea echipei defensivei de a câștiga confruntarea din cauza încălcării care a forțat un alt jucător să ia egalitatea? Face-off Probability, cea mai nouă statistică NHL Edge IQ dezvoltată de AWS, poate răspunde acum la aceste întrebări.

Când există o întrerupere a jocului, Probabilitatea confruntării generează predicții pentru cine va câștiga confruntarea viitoare pe baza jucătorilor de pe gheață, locația confruntării și situația curentă a jocului. Predicțiile sunt generate pe tot parcursul opririi până când ceasul jocului începe să ruleze din nou. Predicțiile apar la o latență sub secundă și sunt declanșate de fiecare dată când există o schimbare a jucătorilor implicați în confruntare.

O lovitură de confruntare a NHL de sus

Depășirea obstacolelor cheie pentru probabilitatea confruntării

Predicția probabilității de confruntare în emisiunile în timp real poate fi împărțită în două sub-probleme specifice:

  • Modelarea evenimentului de confruntare ca o problemă ML, înțelegerea cerințelor și limitărilor, pregătirea datelor, proiectarea semnalelor de date, explorarea algoritmilor și asigurarea fiabilității rezultatelor
  • Detectarea unui eveniment de confruntare în timpul jocului dintr-un flux de evenimente PPT, colectarea parametrilor necesari pentru predicție, apelarea modelului și transmiterea rezultatelor către radiodifuzori

Prevederea probabilității ca un jucător să câștige o confruntare în timp real la o emisiune televizată are mai multe provocări tehnice care trebuiau depășite. Acestea au inclus determinarea caracteristicilor necesare și a metodelor de modelare pentru a prezice un eveniment care are o cantitate mare de incertitudine și determinarea modului de utilizare a datelor senzorului PPT în flux pentru a identifica locul în care are loc o confruntare, jucătorii implicați și probabilitatea fiecărui jucător. câștigând confruntarea, totul în câteva sute de milisecunde.

Jucători strânși într-o lovitură de confruntare în timpul unui joc

Construirea unui model ML pentru evenimente dificil de prezis

Prezicerea evenimentelor, cum ar fi probabilitățile de câștig de confruntare în timpul unui joc live este o sarcină complexă care necesită o cantitate semnificativă de date istorice de calitate și capabilități de streaming de date. Pentru a identifica și înțelege semnalele importante într-un mediu de date atât de bogat, dezvoltarea modelelor ML necesită o experiență extinsă în domeniu. The Laboratorul de soluții Amazon Machine Learning Solutions au colaborat cu experți în hochei și date NHL pentru a lucra înapoi de la obiectivul țintă de a-și îmbunătăți experiența fanilor. Ascultând în permanență expertiza NHL și testând ipoteze, oamenii de știință de la AWS au conceput peste 100 de caracteristici care se corelează cu evenimentul de confruntare. În special, echipa a clasificat acest set de caracteristici într-una dintre cele trei categorii:

  • Statistici istorice privind performanțele jucătorilor, cum ar fi numărul de confruntări pe care le-a luat și câștigat un jucător în ultimele cinci sezoane, numărul de confruntări pe care le-a luat și câștigat în jocurile anterioare, procentele de câștig ale unui jucător în mai multe intervale de timp, și procentul de câștiguri cap la cap pentru fiecare jucător în confruntare
  • Caracteristicile jucătorului, cum ar fi înălțimea, greutatea, mâna și anii în ligă
  • Date situaționale din joc care ar putea afecta performanța unui jucător, cum ar fi scorul jocului, timpul scurs în joc până la acel punct, locul în care se află confruntarea, puterea fiecărei echipe și ce jucător trebuie să pună bățul lor în jos pentru confruntare mai întâi

Oamenii de știință ML de la AWS au considerat problema ca pe o problemă de clasificare binară: fie jucătorul de acasă câștigă fațarea, fie jucătorul oaspete câștigă confruntarea. Cu date din peste 200,000 de confruntări istorice, au folosit a LightGBM model pentru a prezice care dintre cei doi jucători implicați într-un eveniment de confruntare este probabil să câștige.

Stabilirea dacă o confruntare este pe cale să aibă loc și ce jucători sunt implicați

Când sună un fluier și jocul este oprit, Probabilitatea de confruntare începe să facă predicții. Cu toate acestea, probabilitatea confruntării trebuie să determine mai întâi unde are loc confruntarea și ce jucător din fiecare echipă este implicat în confruntare. Fluxul de date indică evenimentele pe măsură ce apar, dar nu furnizează informații despre când este probabil să aibă loc un eveniment în viitor. Ca atare, datele senzorului jucătorilor de pe gheață sunt necesare pentru a determina dacă și unde urmează să aibă loc o confruntare.

Sistemul PPT produce locații și viteze în timp real pentru jucătorii de pe gheață cu până la 60 de evenimente pe secundă. Aceste locații și viteze au fost folosite pentru a determina unde are loc confruntarea pe gheață și dacă este probabil să se întâmple în curând. Știind cât de aproape sunt jucătorii de locațiile cunoscute ale confruntării și cât de staționari erau jucătorii, Probabilitatea de confruntare a putut determina că ar putea avea loc o confruntare și cei doi jucători care ar fi implicați în confruntare. .

Determinarea distanței corecte de tăiere pentru apropierea de o locație de confruntare și a vitezei de tăiere corespunzătoare pentru jucătorii staționari a fost realizată folosind un model de arbore de decizie. Cu datele PPT din sezonul 2020-2021, am construit un model pentru a prezice probabilitatea ca o confruntare să aibă loc într-o locație specificată, având în vedere distanța medie a fiecărei echipe până la locație și vitezele jucătorilor. Arborele de decizie a furnizat limitele pentru fiecare măsură, pe care le-am inclus ca logică bazată pe reguli în aplicația de streaming.

Cu locația corectă a confruntării determinată, jucătorul din fiecare echipă care a luat confruntarea a fost calculat luând jucătorul cel mai aproape de locația cunoscută din fiecare echipă. Acest lucru a oferit aplicației flexibilitatea de a identifica jucătorii potriviți, putând, de asemenea, să se adapteze la un jucător nou care trebuie să se confrunte în cazul în care un jucător actual este renunțat din cauza unei infracțiuni. Efectuarea și actualizarea predicției pentru jucătorul corect a fost un accent cheie pentru utilizarea în timp real a modelului în emisiuni, pe care o descriem în continuare în secțiunea următoare.

Dezvoltarea modelului și instruirea

Pentru a dezvolta modelul, am folosit peste 200,000 de puncte de date istorice de confruntare, împreună cu setul de caracteristici personalizate concepute prin colaborarea cu experții în domeniu. Am analizat caracteristici precum situațiile din joc, performanța istorică a jucătorilor care se confruntă, caracteristicile specifice jucătorilor și performanțele față în față ale jucătorilor care iau confruntarea, atât în ​​sezonul curent, cât și pentru ei. cariere. Colectiv, acest lucru a dus la peste 100 de caracteristici create folosind o combinație de tehnici disponibile și derivate.

Pentru a evalua diferite caracteristici și modul în care acestea ar putea influența modelul, am efectuat o analiză extinsă a caracteristicilor ca parte a fazei de explorare. Am folosit o combinație de teste univariate și teste multivariate. Pentru teste multivariate, pentru interpretabilitate, am folosit tehnici de vizualizare a arborelui de decizie. Pentru a evalua semnificația statistică, am folosit testele Chi și testele KS pentru a testa dependența sau diferențele de distribuție.

Un arbore de decizie care arată modul în care modelul estimează pe baza datelor și caracteristicilor de bază

Am explorat tehnici și modele de clasificare cu așteptarea ca probabilitățile brute să fie tratate ca predicții. Am explorat cei mai apropiați vecini, arbori de decizie, rețele neuronale și, de asemenea, filtrarea colaborativă în ceea ce privește algoritmii, încercând în același timp diferite strategii de eșantionare (filtrare, eșantionare aleatorie, stratificată și bazată pe timp) și am evaluat performanța pe zona sub curbă (AUC) și distribuția de calibrare împreună cu pierderea scorului Brier. La final, am constatat că modelul LightGBM a funcționat cel mai bine cu valori de precizie bine calibrate.

Pentru a evalua performanța modelelor, am folosit mai multe tehnici. Am folosit un set de testare la care modelul antrenat nu a fost niciodată expus. În plus, echipele au efectuat evaluări manuale extinse ale rezultatelor, analizând cazurile marginale și încercând să înțeleagă nuanțele modului în care arăta modelul pentru a determina de ce un anumit jucător ar fi trebuit să câștige sau să piardă un eveniment de confruntare.

Cu informațiile colectate de la recenzori manuali, am ajusta funcțiile atunci când este necesar sau am rula iterații pe model pentru a vedea dacă performanța modelului a fost cea așteptată.

Implementarea probabilității de confruntare pentru utilizare în timp real în timpul transmisiunilor naționale de televiziune

Unul dintre obiectivele proiectului nu a fost doar acela de a prezice câștigătorul confruntării, ci de a construi o bază pentru rezolvarea unui număr de probleme similare în timp real și eficient din punct de vedere al costurilor. Acest obiectiv a ajutat la determinarea componentelor de utilizat în arhitectura finală.

diagramă de arhitectură pentru aplicarea confruntării

Prima componentă importantă este Fluxuri de date Amazon Kinesis, un serviciu de streaming de date fără server care acționează ca un decuplator între implementarea specifică a furnizorului de date PPT și aplicațiile consumatoare, protejându-le astfel pe cele din urmă de schimbările perturbatoare ale primelor. De asemenea, a îmbunătățit funcția de fan-out, care oferă posibilitatea de a conecta până la 20 de consumatori paraleli și de a menține o latență scăzută de 70 de milisecunde și aceeași debit de 2MB/s per shard între toți simultan.

Evenimentele PPT nu vin pentru toți jucătorii deodată, ci ajung discret pentru fiecare jucător, precum și pentru alte evenimente din joc. Prin urmare, pentru a implementa viitorul algoritm de detectare a confruntării, aplicația trebuie să mențină o stare.

A doua componentă importantă a arhitecturii este Analiza datelor Amazon Kinesis pentru Apache Flash. Apache Flink este un motor de flux de date distribuit, cu randament ridicat și cu latență redusă, care oferă o modalitate convenabilă și ușoară de a utiliza API-ul Data Stream și acceptă funcții de procesare cu stare, punct de control și procesare paralelă. Acest lucru ajută la accelerarea dezvoltării și oferă acces la rutine și componente de nivel scăzut, ceea ce permite o proiectare și implementare flexibile a aplicațiilor.

Kinesis Data Analytics oferă infrastructura de bază pentru aplicațiile dvs. Apache Flink. Elimină necesitatea de a implementa și configura un cluster Flink Cloud Elastic de calcul Amazon (Amazon EC2) sau Kubernetes, ceea ce reduce complexitatea și costurile de întreținere.

A treia componentă crucială este Amazon SageMaker. Deși am folosit SageMaker pentru a construi un model, trebuia, de asemenea, să luăm o decizie în primele etape ale proiectului: ar trebui să se implementeze scorul în cadrul aplicației de detectare a confruntării și să complice implementarea sau ar trebui să apeleze aplicația de detectare a confruntării. SageMaker de la distanță și sacrifică o anumită latență datorită comunicării prin rețea? Pentru a lua o decizie în cunoștință de cauză, am efectuat o serie de benchmark-uri pentru a verifica latența și scalabilitatea SageMaker și am validat că latența medie a fost mai mică de 100 de milisecunde sub sarcină, ceea ce a fost în limitele așteptărilor noastre.

Odată cu hotărârea principalelor părți ale arhitecturii de nivel înalt, am început să lucrăm la designul intern al aplicației de detectare a confruntării. Un model de calcul al aplicației este prezentat în diagrama următoare.

o diagramă reprezentând diagrama de flux/modelul de calcul al aplicației de confruntare

Modelul de calcul al aplicației de detectare a confruntării poate fi modelat ca o simplă mașină cu stări finite, în care fiecare mesaj primit face tranziția sistemului de la o stare la alta în timp ce efectuează unele calcule împreună cu acea tranziție. Aplicația menține mai multe structuri de date pentru a urmări următoarele:

  • Schimbări în starea jocului – Numărul perioadei curente, starea și valoarea ceasului de joc și scorul
  • Schimbări în starea jucătorului – Dacă jucătorul se află în prezent pe gheață sau pe bancă, coordonatele curente pe teren și viteza curentă
  • Modificări ale statisticilor personale ale jucătorului de confruntare – Rata de succes a unui jucător față de altul și așa mai departe

Algoritmul verifică fiecare eveniment de actualizare a locației unui jucător pentru a decide dacă ar trebui făcută o predicție de confruntare și dacă rezultatul ar trebui să fie transmis radiodifuzorilor. Ținând cont de faptul că locația fiecărui jucător este actualizată aproximativ la fiecare 80 de milisecunde, iar jucătorii se mișcă mult mai lent în timpul pauzelor de joc decât în ​​timpul jocului, putem concluziona că situația dintre două actualizări nu se schimbă drastic. Dacă aplicația a numit SageMaker pentru predicții și a trimis predicții către radiodifuzori de fiecare dată când a fost primit un nou eveniment de actualizare a locației și toate condițiile sunt îndeplinite, SageMaker și radiodifuzorii ar fi copleșiți de o serie de solicitări duplicate.

Pentru a evita tot acest zgomot inutil, aplicația ține evidența unei combinații de parametri pentru care au fost deja făcute predicții, împreună cu rezultatul predicției, și le memorează în cache pentru a evita cererile costisitoare duplicate către SageMaker. De asemenea, ține evidența ce predicții au fost deja trimise radiodifuzorilor și se asigură că numai predicțiile noi sunt trimise sau cele trimise anterior sunt trimise din nou numai dacă este necesar. Testele au arătat că această abordare reduce volumul traficului de ieșire de peste 100 de ori.

O altă tehnică de optimizare pe care am folosit-o a fost gruparea solicitărilor către SageMaker și efectuarea lor asincron în paralel. De exemplu, dacă avem patru noi combinații de parametri de confruntare pentru care trebuie să obținem predicții de la SageMaker, știm că fiecare solicitare va dura mai puțin de 100 de milisecunde. Dacă executăm fiecare cerere sincron una câte una, timpul total de răspuns va fi sub 400 de milisecunde. Dar dacă grupăm toate cele patru solicitări, le trimitem asincron și așteptăm rezultatul pentru întregul grup înainte de a merge mai departe, paralelizăm efectiv cererile și timpul total de răspuns va fi sub 100 de milisecunde, la fel ca pentru o singură cerere.

Rezumat

NHL Edge IQ, dezvoltat de AWS, aduce fanii mai aproape de acțiune cu analize avansate și noi statistici ML. În această postare, am arătat informații despre construirea și implementarea noului model de probabilitate de confruntare, prima statistică ML on-air pentru NHL. Asigurați-vă că țineți cont de probabilitățile generate de probabilitatea de confruntare în viitoarele jocuri NHL.

Pentru a găsi exemple complete de creare de locuri de muncă personalizate de instruire pentru SageMaker, vizitați Aduceți-vă propriul model de antrenament finalizat cu SageMaker prin construirea unui container personalizat. Pentru exemple de utilizare Amazon Kinesis pentru streaming, consultați Învățarea dezvoltării Amazon Kinesis.

Pentru a afla mai multe despre parteneriatul dintre AWS și NHL, vizitați NHL inovează cu AWS Cloud Services. Dacă doriți să colaborați cu experți pentru a aduce soluții ML organizației dvs., contactați Laboratorul Amazon ML Solutions.


Despre Autori

Ryan Gillespie este un Data Scientist Sr. cu AWS Professional Services. Are un MSc de la Universitatea Northwestern și un MBA de la Universitatea din Toronto. Are experiență anterioară în retail și industria minieră.

Yash Shah este manager de știință în Laboratorul de soluții Amazon ML. El și echipa sa de oameni de știință aplicați și ingineri de învățare automată lucrează la o serie de cazuri de utilizare a învățării automate din domeniul sănătății, sport, auto și producție.

Alexandru Egorov este arhitect principal de streaming, specializat în tehnologii de streaming. El ajută organizațiile să proiecteze și să construiască platforme pentru procesarea și analiza datelor în flux în timp real.

Miguel Romero Calvo este un om de știință aplicat la Laboratorul Amazon ML Solutions unde colaborează cu echipe interne AWS și cu clienți strategici pentru a-și accelera afacerea prin ML și adoptarea cloud.

Eric Martinez este un arhitect senior de aplicații media cu peste 25 de ani de experiență, cu accent pe media și divertisment. Are experiență în toate aspectele ciclului de viață al dezvoltării sistemelor, de la descoperire, colectarea cerințelor, proiectare, implementare, testare, implementare și operare.

spot_img

VC Cafe

LifeSciVC

Ultimele informații

spot_img

Chat cu noi

Bună! Cu ce ​​​​vă pot ajuta?