1 miljona dolāru Netflix izaicinājums

Šīs nedēļas sākumā tiešsaistes filmu nomas pakalpojums Netflix paziņoja, ka piešķirs balvu 1 miljons dolāru ikvienam, kurš var izdomāt algoritmu, kas uzlabo tā filmu ieteikumu pakalpojuma precizitāti.





Netflix zvaigžņu vērtēšanas sistēma palīdz noteikt personalizētus filmu ieteikumus. Tagad uzņēmums meklē ārējos izstrādātājus, lai uzlabotu šos ieteikumus.

To darot, uzņēmums vēršas pie pētniekiem, kuri specializējas mašīnmācībā — mākslīgā intelekta veidā, ko izmanto, lai izveidotu sistēmas, kas iesaka mūziku, grāmatas un filmas. Balvu iegūs dalībnieks, kurš līdz 2011. gadam varēs palielināt Netflix ieteikumu sistēmas, ko sauc par Cinematch, precizitāti par 10 procentiem.

Ieteikumu sistēmas, piemēram, tās, kuras izmanto Netflix, Amazon un citi tīmekļa mazumtirgotāji, ir balstītas uz principu, ka, ja divi cilvēki bauda vienu un to pašu produktu, viņiem, visticamāk, būs arī citas kopīgas iecienītākās preces.



Bet aiz šī vienkāršā priekšnoteikuma ir sarežģīts algoritms, kas ietver miljoniem lietotāju vērtējumu, desmitiem tūkstošu vienumu un pastāvīgi mainīgas attiecības starp lietotāju vēlmēm.

Lai risinātu šo sarežģītību, ieteikumu sistēmu algoritmi tiek apmācīti, izmantojot milzīgas datu kopas. Viena Netflix sistēmā izmantotā datu kopa satur zvaigžņu vērtējumus — no viena līdz piecām — ko Netflix klienti piešķir filmām. Izmantojot šo sākotnējo informāciju, labi algoritmi spēj paredzēt nākotnes vērtējumus un tāpēc var ieteikt citas filmas, kas indivīdam varētu patikt.

Tā kā piekļuve šādai datu kopai ir ļoti svarīga, lai uzlabotu ieteikumu sistēmu kvalitāti, uzņēmums arī izlaida 100 miljonus ieteikumu, no kuriem tika izņemta jebkāda personu identificējoša informācija, saskaņā ar Džims Benets, Netflix ieteikumu sistēmu viceprezidents.



Šonedēļ mēs runājām ar Benetu par ieteikumu sistēmu darbību un izaicinājumiem, lai izveidotu labāku sistēmu.

Tehnoloģiju apskats: Pirms labākas ieteikumu sistēmas izveides būtu lietderīgi izprast savu pašreizējo pieeju. Kā Cinematch darbojas?

Džims Benets: Pirmkārt, jūs savācat 100 miljonus lietotāju vērtējumu aptuveni 18 000 filmu. Paņemiet jebkuras divas filmas un atrodiet cilvēkus, kuri ir novērtējuši abas. Pēc tam pārbaudiet, vai cilvēki, kuri augstu novērtē vienu no filmām, augstu vērtē otru, vai viņiem patika viena, bet otra nē, vai arī viņiem nepatika neviena filma. Pamatojoties uz viņu vērtējumiem, Cinematch noskaidro, vai starp šiem cilvēkiem pastāv korelācija. Tagad dariet to visiem iespējamiem 65 000 filmu pāriem.



TR: Tāpēc Cinematch man ieteiktu filmas, pamatojoties uz to cilvēku vērtējumiem, kuri novērtēja filmas kā es. Vai šī metode darbojas visām Netflix filmām?

JB: Daudziem patiešām neskaidriem diskiem, piemēram, DVD, kā pļaut zālienu, nav ļoti daudz vērtējumu, un šī metode nedarbojas tik labi. Filmām ar lielu reitingu skaitu jums veicas ļoti labi. Bet, lai tas darbotos, ir jāveic daudz datu pielāgošanas, jo cilvēkiem dažreiz var būt interesantas vērtēšanas shēmas.

TR: Patīk kas?



JB: Piemēram, ir daudz cilvēku, kuri filmu vērtē tikai ar vienu vai piecām zvaigznēm. Un ir daži cilvēki, kuri visu vērtē tikai ar trim zvaigznēm. Tas, ko jūs meklējat, ir interesanta viedokļu izplatība, jo jūs mēģināt uztvert korelācijas. Tā ir dzinēja būtība.

TR: Kā jūs kvantitatīvi izmērāt savas sistēmas precizitāti?

JB: Mēs apmācījām Cinematch par 100 miljoniem reitingu un lūdzām tai paredzēt, kādi būs pārējie 3 miljoni. Mēs salīdzinājām savas ar faktiskajām atbildēm. Mēs to darām katru dienu. Mēs saņemam aptuveni 2 miljonus vērtējumu dienā un izsekojam sistēmas ikdienas svārstības. Mēs paredzam novērtēt konkursam iesniegtos pieteikumus [tādā pašā veidā]. Faktiskā balvu datu kopa ir 103 miljoni vērtējumu, taču mēs izlaidām tikai 100 miljonus no tiem.

TR: Lai iegūtu 1 miljonu ASV dolāru balvu, jaunam algoritmam ir jāuzlabo ieteikumu precizitāte par 10 procentiem salīdzinājumā ar Cinematch. Katru gadu jūs saņemat arī 50 000 $ progresa balvu par algoritmu, kas uzrāda vislielāko uzlabojumu salīdzinājumā ar iepriekšējā gada labāko algoritmu, vismaz par 1 procentu. Ko šie procentuālie uzlabojumi nozīmēs Netflix klientam?

JB: Ja apmeklējat vietni un novērtējat mūsu vietā 100 filmas, sarkanās zvaigznes, kas tiek rādītas zem katras filmas, ir personalizētas jums. Mēs izmantojam šos vērtējumus, lai pielāgotu prognozi no vidējā ieteikuma atbilstoši jūsu gaumei. Piemēram, trīs procentu atšķirība var radīt vienu ceturtdaļu zvaigznes. Mums ir miljoniem cilvēku, kas novērtē miljoniem DVD, un šī ceturtdaļzvaigžņu atšķirība palīdz mums sakārtot sarakstu. Atsevišķs filmu ieteikums varētu nebūt tik daudz labāks, taču kopumā ieteikto filmu kopums ir ļoti atšķirīgs. Mazliet pakustiniet kaujas kuģi, un tas būtiski mainīs.

TR: Kāpēc ieteikumu sistēmas ir tik grūti uzlabot?

JB: Viens no iemesliem ir tas, ka nav datu kopu. Daudzām mašīnmācības lietojumprogrammām ir nepieciešamas diezgan lielas datu kopas, kurās viegli ir miljoniem datu punktu. Problēmas risināšanai ir daudz dažādu pieeju, taču tām visām ir nepieciešamas lielas datu kopas. Un tāpat kā ar daudzām datu kopām, kad esam pielietojuši šīs datu kopas metodes, vairs nav kur iet.

TR: Tātad jūs meklējat algoritmu, kas risina problēmu pilnīgi citā veidā nekā Cinematch?

JB: Pareizi. Cik mums zināms, šajā jomā ir daudz labu ideju. Mēs vienkārši nevaram tos visus pārbaudīt. Mēs zinām, ka ir cilvēki, kas patiešām pārzina literatūru un zina [ieteikumu sistēmas] smalkumus, un mēs ļoti vēlētos uzzināt, kuras no tām būtu labākas.

TR: Kādas ir dažas literatūrā apspriestās pieejas, kas varētu darboties, bet vēl nav pārbaudītas ar filmu ieteikumiem?

JB: Grūti pateikt. Tur bija raksts Zinātne pirms dažiem mēnešiem [2006. gada 28. jūlijā], kurā tika izmantota interesanta divu veidu neironu tīklu kombinācija [skaitļošanas metode, kas kārto datus, kas līdzīgi cilvēka smadzenēm]. Viens neironu tīkls pārrauga mašīnmācīšanos, bet otrs vada šo mācīšanos. Netflix mēs aplūkojam korelācijas starp vērtējumiem, un tas ir lineārs modelis. Ne visas zināšanas var attēlot ar lineāru pazīmju kombināciju. Šis konkrētais modelis iekšā Zinātne izmanto nelineāru pieeju. Es domāju, ka šī tehnika varētu būt diezgan laba.

TR: Vai pakalpojumā Netflix ir kādi citi steidzami tehniski izaicinājumi, kurus varētu atrisināt, piedāvājot balvu?

JB: Es negribētu spekulēt par vairāk konkursiem. Vai ir citi tehniski izaicinājumi? Pilnīgi noteikti. Papildus sistēmām, kas saistītas ar ieteikumu programmu uzturēšanu un darbību, pieaugot klientu bāzei, mums ir arī milzīgs skaits izaicinājumu uzņēmumā, piemēram, mēģināt nosūtīt cilvēkiem divus miljonus disku dienā. Gatavojoties lejupielādes pasaulei [kur cilvēki var lejupielādēt filmas, izmantojot internetu], priekšā ir interesanti izaicinājumi. Uzņēmums ir piepildīts ar milzīgiem izaicinājumiem.

paslēpties