Modeli in priporočila

Google v vseh svojih produktih uporablja globoke nevronske mreže za strojno učenje. Na podlagi video modela YouTubova nevronska mreža zabeleži videoposnetke, podobne tistim, ki jih je uporabnik že gledal. Nato poskuša napovedati čas gledanja vsakega novega videoposnetka za dani uporabniški model in jih razvrsti na podlagi napovedi. Na koncu prikaže 10 do 20 videoposnetkov (odvisno od naprave) z najvišjimi ocenami.

Proces je podoben modelu strojnega učenja, ki smo ga že opisali. Stroj v tem primeru najprej zabeleži značilnosti uporabniških in video modelov, ki jih je podal programer. Iz sklopa učnih podatkov se nauči, kakšno utež naj dodeli posamezni značilnosti, da bo pravilno napovedal čas (trajanje) ogleda. Nato, po testiranju in potrditvi, da pravilno deluje, lahko začne ustvarjati oziroma generirati napovedi in priporočila.

Učenje

V fazi učenja se sistemu posreduje na milijone pozitivnih in negativnih primerov. Pozitiven primer je, ko uporabnik klikne na videoposnetek in si ga določen čas ogleduje. Negativen primer je, ko uporabnik ne klikne na videoposnetek ali si ga ne ogleduje dovolj dolgo.

Nevronska mreža dobi informacijo o značilnostih uporabnika in videoposnetka. Utež vsake vhodne značilnosti prilagodi tako, da preveri, ali je bil čas gledanja za določen videoposnetek in uporabnika pravilno napovedan. Na stotinah milijard primerov se nauči približno milijardo parametrov (uteži vsake značilnosti). Mreža se lahko nauči tudi, da določenih značilnosti ne upošteva (dodeli jim ničelno pomembnost/utež). Zato je lahko model, ki ga ustvari algoritem, zelo drugačen od tistega, ki so si ga zamislili razvijalci.

Testiranje

Ko nevronska mreža konča z učenjem, jo preizkusijo na že razpoložljivih podatkih in po potrebi prilagodijo. Poleg natančnosti napovedi mora programer nastaviti izhod sistema na podlagi več vrednostnih sodb.

Prikazovanje videoposnetkov, ki so preveč podobni že videnim zagotovo ne bo preveč zanimivo. Kaj v resnici pomeni, da je neko priporočilo dobro? Koliko podobnih posnetkov je treba prikazati in kako raznoliki naj bodo – z ozirom na druge posnetke in na zgodovino uporabnika? Koliko uporabnikovih interesov naj upošteva? Katere vrste priporočil imajo za posledico takojšnje zadovoljstvo, in katere dolgoročno uporabo? To so pomembna vprašanja, ki jih je treba upoštevati.

Testiranju sledi ocenjevanje priporočil v realnem času. Izmeri se skupni čas gledanja za posamezen sklop napovedanih posnetkov. Dlje, kot si uporabnik ogleduje priporočeni sklop videoposnetkov, uspešnejši je model. Zgolj podatek o številu klikov na videoposnetke ne zadostuje za objektivno ocenjevanje. YouTube ocenjuje svoje priporočilne sisteme na podlagi tega, koliko priporočenih videoposnetkov je bilo pogledanih (skoraj) v celoti ter na podlagi skupne dolžine seje, časa do prvega daljšega ogleda in deleža prijavljenih uporabnikov.

Vmesnik

Na koncu si poglejmo še, kako so priporočila predstavljena gledalcu: koliko posnetkov naj se prikaže? Ali naj se najboljša priporočila prikažejo naenkrat, ali naj sistem nekatera prihrani za pozneje? Kakšen način prikaza izbrati za sličice in naslove videoposnetkov? Katere druge informacije je potrebno prikazati? Katere nastavitve lahko nadzoruje uporabnik? V odgovorih na ta vprašanja se skriva YouTubova skrivnost ohranjanja dveh milijard uporabnikov pred zasloni 24 ur na dan.