Hoe Netflix Open Source AI implementeert om uw favorieten weer te geven

In dit op AI gebaseerde Science-artikel onderzoeken we hoe Netflix een Open Source Model heeft gebruikt om hun Entertainment Recommender-systemen te verbeteren.

Laten we eerst in het kort bespreken wat Machine Learning eigenlijk inhoudt. In eenvoudige bewoordingen is Machine Learning een techniek waarmee een computer kan 'leren' van gegevens, zonder een complex geheel van verschillende regels te gebruiken. Deze aanpak is voornamelijk gebaseerd op het trainen van een model uit datasets. Hoe beter de kwaliteit van de datasets, hoe beter de nauwkeurigheid van het Machine Learning Model.

Eerst een korte blik op Machine Learning en Deep Learning

Er zijn hoofdzakelijk drie vormen van Machine Learning:

  • Leren onder toezicht
  • Niet-gesuperviseerd leren
  • Reinforcement Learning

Begeleide leren is gebaseerd op training op gelabelde datasets.

Niet-gesuperviseerd leren maakt gebruik van niet-gelabelde datasets.

Reinforcement learning is gebaseerd op het belonen van een algoritme op basis van de juiste resultaten en het straffen ervan als het mislukt in de poging.

Intervallen van boven het jaar kunnen betrekking hebben op de datums die in dit artikel worden gebruikt Netflix opent Vectorflow in 2017, een deep learning-bibliotheek | Beeldbron hier

Met betrekking tot een onderwerp dat algemeen bekend staat als Artificial Neural Networks, is er ook "Deep Learning", wat een techniek is om Machine Learning uit te voeren, die is geïnspireerd op het eigen netwerk van neuronen van onze hersenen.

Hoe Netflix AI gebruikt voor inhoudsaanbeveling

Als u een Netflix-abonnee bent of bent geweest, weet u heel goed dat Netflix geen op advertenties gebaseerd model gebruikt. In plaats daarvan gebruiken ze een puur op abonnementen gebaseerd model. Dit is de reden waarom Netflix jouw ervaring zo persoonlijk mogelijk voor je wil maken.

Om dat te doen, begon Netflix een aantal manieren te verkennen om een ​​dergelijk persoonlijk waarnemingsmodel te bedenken. Zelfs als je nog geen Netflix-abonnee bent geweest, had je je misschien afgevraagd hoe Netflix die geweldige aanbevelingen doet voor het Netflix-account van een gebruiker en hoe mensen zijn gaan houden van Netflix, wat zo duidelijk is in de tijd van vandaag. Je zou verbaasd zijn te weten dat sommige van deze aanbevelingen gebaseerd zouden kunnen zijn op het brein van een fruitvlieg!

In het begin waren hun methodologieën heel eenvoudig, gebaseerd op Big Data en puur afhankelijk van een op ratings gebaseerd systeem. Aanbevelingen voor film / tv-shows waren volledig gebaseerd op hoe goed of slecht een bepaalde show of film was beoordeeld. Deze beoordelingen waren gebaseerd op feedback van gebruikers, het aantal weergaven, of video's in hun geheel / delen en / of IMDB-beoordelingen werden bekeken.

Dit is een paper van Stanford University van 12 maart 2008, die illustreert hoe de aanbevelingen van Netflix waren gebaseerd op IMDB-beoordelingen.

Gebaseerd op een sterke basis van strategische beslissingen, heeft Netflix een lange weg afgelegd in het bouwen van een geweldig leermodel om te voorspellen wat de meest favoriete onbeveiligde film van hun gebruikers zou kunnen zijn, met een aanzienlijk hoge mate van nauwkeurigheid.

Op 21 september 2009 werd een prijs van $ 1 miljoen toegekend aan het team "BellKor's Pragmatic Chaos" voor het verbeteren van het aanbevelingenmodel van Netflix. Bekend als The Netflix Prize, dit was een initiatief van Netflix om de gebruikerservaring met 10% of meer te verbeteren.

Het voorspellingsalgoritme dat geïmproviseerd en geüpdatet moest worden, was gebaseerd op collaboratief filteren. Collaborative filtering is een aanbevelingstechniek die volledig is gebaseerd op collectieve, door gebruikers afgeleide feedback.

Een machine-leerbenadering om filmvoorkeuren te voorspellen Volledige video opgenomen op recommender-systemen

Stel, een groep mensen heeft een film bekeken met een grote kans dat je het echt leuk vindt. Maar de kans is groot dat je nog nooit van de film hebt gehoord. Door uw eerdere kijkvoorkeuren te verzamelen en te interpreteren met die van degenen die klaar zijn met het bekijken ervan, kan een recommender-systeem u die specifieke film voorstellen.

Op inhoud gebaseerd filteren is echter niet gebaseerd op de voorkeuren van gebruikers. In plaats daarvan worden vergelijkingen tussen de video's zelf gemaakt op basis van een type classificatie, zoals een genre bijvoorbeeld. Dat kan een komedie, romantiek, horror, spanning enzovoort zijn.

Verderop hebben we ook een hybride model dat beide hierboven beschreven filtertechnieken koppelt. Als je hier uitgebreid over wilt leren, bekijk dan deze clip:

Netflix heeft zelfs een paper uitgebracht in het ACM-tijdschrift 'The Netflix Recommender System: Algorithms, Business Value and Innovation'. Het papier is beschikbaar als open toegang. Enkele opmerkelijke methodologieën die in het document worden benadrukt zijn zoals onder:

Functies en technieken die Netflix gebruikt om de best mogelijke ervaring aan hun gebruikers te bieden:

  • Gepersonaliseerde videomachtiger: PVR
  • Top-N videomachtiger
  • Nu populair
  • Blijf kijken
  • Video-Video Gelijkenis
  • Pagina-generatie: selectie van rijen en rangorde
  • Selectie van bewijsmateriaal
  • Zoekervaring
  • Statistische en machine learning technieken voor al het bovenstaande

Om ons te kunnen verhouden tot de bovenstaande functies, hebben we ons aangemeld voor het gratis abonnement van Netflix voor de eerste maand en dit is hoe de ervaring was:

Na het aanmelden moesten we 3 of meer favoriete films of tv-series kiezen. Dus kozen we voor Baahubali 2, Bright, Sherlock en Altered Carbon. Er waren veel meer keuzes om te kiezen dan hieronder getoond:

Hierop volgde de Kunstmatige Hersenen van Netflix in actie:

Dus, eigenlijk, hoe meer het aantal selectie dat we zouden hebben gemaakt, hoe beter de personalisatie zou zijn geweest. Daarna werden we begroet met de Netflix-bladerpagina die er als volgt uitziet:

"Mijn lijst" kan te maken hebben met "Personalized Video Ranker: PVR", wat overeenkomt met de eerste van de 9 hierboven genoemde technieken.

We wilden al geruime tijd "Altered Carbon" zien. Dus we hebben er in het begin een paar seconden van bekeken:

Terugkomend op de startpagina, zagen we een nieuwe aanbeveling:

Dit komt overeen met "Video-Video Gelijkenis" omdat we zojuist een beetje "Altered Carbon" hebben bekeken.

Er was ook een andere interessante aanbevelingsregel die ons de beste keuze liet zien en we waren verrast toen we door deze lijst bladerden en ontdekten dat er geen waren die we niet graag zouden zien!

Dit zou rechtstreeks verband houden met "Top-N Videorangder" in de bovenstaande lijst. "Ittefaq" is een spannende thriller die behoort tot een soortgelijk genre als dat van "Sherlock", dat we vlak na de inschrijving hadden gekozen. "Revolt" zoals de thumbnail suggereert, moet tot een actiegenre behoren, hetzelfde als dat van "Baahubali 2" of "Bright". Dus dit is afgeleid van op inhoud gebaseerde filtering.

De aanbeveling "Verhalen van Rabindranath Tagore" verraste ons nog meer. Netflix zou dit op basis van de locatie kunnen aanbevelen. Ze hebben echt een aantal ongelooflijk verbluffende algoritmen die er zijn!

Dus dat was een praktische blik op hoe Netflix praktisch werkt. Al deze intelligente aanbevelingen zouden niet mogelijk zijn geweest als Netflix geen open source benadering had gekozen voor Kunstmatige Intelligentie en Machine Learning. Laten we nu eens kijken naar de open source-initiatieven van Netflix.

Netflix Open Connect-initiatief

Netflix's eigen content delivery network (CDN) wordt mogelijk gemaakt door open source. Ze besteedden hun streamingdiensten aanvankelijk uit aan Akamai, Level3 en Limelight. Maar uiteindelijk hadden ze een verandering in de plannen.

Netflix heeft besloten om hun eigen CDN te bouwen omdat ze het volgende wilden:

  • Sneller groeien
  • Kosten verlagen
  • Beheer de serverzijde van de HTTP-verbinding
  • Bouw een CDN gespecialiseerd in Netflix Content Delivery
  • Plaats de inhoud dichter bij een klant

Zo ontstond Netflix Open Connect . Namelijk, de CDN-basis van Netflix is ​​gebouwd op de NGINX-webserver en het besturingssysteem FreeBSD symboliseert twee sterke pijlers. Netflix heeft ervoor gekozen om een ​​BSD-licentie te gebruiken in plaats van GPL bij het samenstellen van hun CDN. Dit kwam omdat ISP's voornamelijk als derden betrokken waren. Als u beide licenties diepgaand wilt vergelijken, kunt u hier naartoe gaan.

NGINX werd gekozen omdat bekend was dat het snel en stabiel was, commerciële ondersteuning was beschikbaar bij Nginx, Inc. en het had een flexibel raamwerk voor aangepaste modules. FreeBSD stond ook bekend als een snel en stabiel besturingssysteem en had een sterke ontwikkelaarscommunity. Dus, het werd een geschikte keuze.

Beiden van het bovenstaande zijn vrije en open source, Netflix gebruikte nog een ander open source project genaamd de BIRD Internet Routing Daemon die echter de GPL-licentie gebruikt. Deze tool werd gebruikt om netwerktopologie van ISP's over te zetten naar hun eigen besturingssysteem dat klanten naar hun respectievelijke inhoud zou leiden.

Alle drie dienden als geweldige hulpmiddelen om te verwerken:

  • 400.000 stroombestanden per apparaat
  • 5000-30.000 clientstreams per apparaat
  • 300-1000 clients per schijf

Het Open Connect-initiatief zoals hierboven beschreven, wordt in detail besproken in deze uitgebreide NGINX Conference-opname:

Presentatie dia's hier:

Netflix CDN en Open Source van Gleb Smirnoff

Netflix Open Source Software Initiative

Tegenwoordig spreekt Netflix's Open Source Software-initiatief over hun inzet voor open source. Ze hebben hun eigen Open Source Software Center ! De GitHub-pagina van Netflix toont duidelijk hun 139 opslagplaatsen beheerd door 52 ontwikkelaars. Alle voorspellende resultaten die we zojuist hebben gezien, worden mogelijk gemaakt door deze unieke open source-projecten die op GitHub worden vermeld.

Netflix heeft zijn eigen diepgaande bibliotheek genaamd Vectorflow, hierboven genoemd. Er is nog een andere voorspellende en analytische tool genaamd Surus. Het heeft een functie die bekend staat als ScorePMML en die een efficiënte score-voorspelling van modellen in de cloud mogelijk maakt. Surus kan ook worden gebruikt voor uitbijterdetectie of patroonvergelijking. Netflix heeft ook een blogpost over hen.

Samenvatting

Dus om samen te vatten, begonnen we met het introduceren van Machine Learning, hoe Netflix evolueerde als een entertainmentaanbeveling, een praktische vergelijking met het aanbevelingenmodel van Netflix en over Netflix Open Connect, gevolgd door hun Open Source Software Initiative.

Bedankt voor het nemen van de tijd en het geduldig lezen van het artikel. We kijken uit naar meer van zulke opwindende verkenningen!

Als een slotnotitie willen we Netflix 'opmerkelijke benadering van kunst en wetenschap benadrukken als niet twee afzonderlijke entiteiten. Maar als een mooie unison om wonderen te creëren!

Aanbevolen

Hoe de toetsenbord-applet te verwijderen in Ubuntu 13.10 & 14.04
2019
Hoe Linux Bash Shell te installeren op Windows 10
2019
Hoe controlesommen in Linux te verifiëren
2019