1 milijono dolerių „Netflix“ iššūkis

Anksčiau šią savaitę internetinė filmų nuomos paslauga „Netflix“ paskelbė, kad apdovanos 1 milijonas dolerių visiems, kurie gali sugalvoti algoritmą, kuris pagerintų filmų rekomendacijų tarnybos tikslumą.





„Netflix“ žvaigždučių vertinimo sistema padeda nustatyti suasmenintas filmų rekomendacijas. Dabar bendrovė ieško išorės kūrėjų, kad patobulintų šias rekomendacijas.

Tai darydama, bendrovė kviečia mokslininkus, kurie specializuojasi mašininio mokymosi srityje – dirbtinio intelekto tipą, naudojamą kuriant sistemas, kurios rekomenduoja muziką, knygas ir filmus. Dalyvis, kuris iki 2011 m. gali padidinti „Netflix“ rekomendacijų sistemos, vadinamos „Cinematch“, tikslumą 10 procentų, laimės prizą.

Rekomendacijų sistemos, tokios kaip „Netflix“, „Amazon“ ir kiti interneto mažmenininkai, yra pagrįstos principu, kad jei du žmonės naudojasi tuo pačiu produktu, tikėtina, kad jie turės ir kitų bendrų mėgstamiausių.



Tačiau už šios paprastos prielaidos slypi sudėtingas algoritmas, apimantis milijonus vartotojų įvertinimų, dešimtis tūkstančių elementų ir nuolat besikeičiančius vartotojų pageidavimų ryšius.

Siekiant išspręsti šį sudėtingumą, rekomendacijų sistemų algoritmai mokomi naudojant didžiulius duomenų rinkinius. Viename „Netflix“ sistemoje naudojamų duomenų rinkinyje yra įvertinimai žvaigždutėmis (nuo vienos iki penkių), kuriuos „Netflix“ klientai priskiria filmams. Naudodamiesi šia pradine informacija, geri algoritmai gali numatyti būsimus reitingus, todėl gali pasiūlyti kitus filmus, kurie gali patikti asmeniui.

Kadangi prieiga prie tokio duomenų rinkinio yra labai svarbi siekiant pagerinti rekomendacijų sistemų kokybę, bendrovė taip pat išleido 100 milijonų rekomendacijų, be bet kokios asmens identifikavimo informacijos, pasak Jimo Bennetto, „Netflix“ rekomendacijų sistemų viceprezidento.



Šią savaitę kalbėjomės su Bennett apie rekomendacijų sistemų veikimą ir geresnio kūrimo iššūkius.

Technologijų apžvalga: Prieš kuriant geresnę rekomendacijų sistemą, būtų naudinga suprasti dabartinį požiūrį. Kaip veikia Cinematch?

Jimas Bennettas: Pirma, jūs surenkate 100 milijonų vartotojų įvertinimų apie 18 000 filmų. Paimkite bet kuriuos du filmus ir suraskite žmones, kurie įvertino juos abu. Tada pažiūrėkite, ar žmonės, kurie vertina vieną iš filmų, gerai vertina kitą, ar jiems patiko vienas, o kitas ne, ar nepatiko nė vienas filmas. Remdamasi jų įvertinimais, „Cinematch“ mato, ar yra ryšys tarp tų žmonių. Dabar darykite tai visoms įmanomoms 65 000 filmų poroms.



TR: Taigi „Cinematch“ rekomenduotų man filmus, remdamasis žmonių, kurie filmus įvertino taip, kaip aš, vertinimais. Ar šis metodas tinka visiems „Netflix“ filmams?

JB: Daugelis tikrai neaiškių diskų, pavyzdžiui, DVD, kaip pjauti žolę, neturi labai daug įvertinimų ir šis metodas taip pat neveikia. Filmai, turintys daug įvertinimų, jums sekasi iš esmės gerai. Tačiau, kad tai veiktų, reikia daug derinti duomenis, nes kartais žmonės gali turėti įdomių vertinimo modelių.

TR: Kaip kas?



JB: Pavyzdžiui, yra daug žmonių, kurie filmą vertina tik viena arba penkiomis žvaigždutėmis. Ir yra žmonių, kurie viską vertina trimis žvaigždutėmis. Jūs ieškote įdomių nuomonių sklaidos, nes bandote užfiksuoti sąsajas. Tai yra variklio šerdis.

TR: Kaip kiekybiškai išmatuojate savo sistemos tikslumą?

JB: Mes apmokėme „Cinematch“ apie 100 milijonų reitingų ir paprašėme nuspėti, kokie bus kiti 3 milijonai. Mes palyginome savo su tikrais atsakymais. Mes tai darome kiekvieną dieną. Per dieną gauname apie 2 milijonus įvertinimų ir stebime kasdienius sistemos svyravimus. Tikimės įvertinti konkursui pateiktus pasiūlymus [taip pat]. Faktinis prizų duomenų rinkinys yra 103 milijonai įvertinimų, tačiau išleidome tik 100 milijonų iš jų.

TR: Norint laimėti 1 milijono dolerių prizą, naujas algoritmas turi 10 procentų pagerinti rekomendacijų tikslumą, palyginti su „Cinematch“. Taip pat kiekvienais metais apdovanojate 50 000 USD progreso prizu už algoritmą, kuris, palyginti su geriausiu praėjusių metų algoritmu, pagerėjo mažiausiai 1 proc. Ką šie procentiniai patobulinimai reikš „Netflix“ klientui?

JB: Jei apsilankysite svetainėje ir įvertinsite 100 filmų už mus, raudonos žvaigždės, rodomos po kiekvienu filmu, bus pritaikytos jums. Šiuos įvertinimus naudojame norėdami pakoreguoti prognozę nuo vidutinės rekomendacijos pagal jūsų skonį. Pavyzdžiui, trijų procentų skirtumas gali skirtis ketvirtadaliu žvaigždutės. Turime milijonus žmonių, vertinančių milijonus DVD, ir tas ketvirčio žvaigždutės skirtumas padeda mums rūšiuoti sąrašą. Individuali filmų rekomendacija gali būti ne tokia geresnė, bet apskritai rekomenduojamų filmų rinkinys labai skiriasi. Šiek tiek pajudinkite mūšio laivą, ir tai bus didžiulis skirtumas.

TR: Kodėl rekomendacijų sistemas taip sunku tobulinti?

JB: Viena iš priežasčių yra ta, kad nėra duomenų rinkinių. Daugeliui mašininio mokymosi programų reikalingi gana dideli duomenų rinkiniai, kurie lengvai turi milijonus duomenų taškų. Yra daug skirtingų problemos sprendimo būdų, tačiau jiems visiems reikia didelių duomenų rinkinių. Ir, kaip ir daugelio duomenų rinkinių atveju, pritaikius šiuos duomenų rinkinius metodus, nėra kur eiti.

TR: Taigi jūs ieškote algoritmo, kuris sprendžia problemą visiškai kitaip nei Cinematch?

JB: Teisingai. Kiek žinome, šioje srityje yra daug gerų idėjų. Mes tiesiog negalime jų visų išbandyti. Žinome, kad yra žmonių, kurie tikrai yra išmanantys literatūrą, kurie išmano [rekomendacijų sistemų] ypatybes, ir mes tikrai norėtume sužinoti, kurios iš jų būtų geresnės.

TR: Kokie yra literatūroje aptarti požiūriai, kurie galėtų pasiteisinti, bet dar nebuvo išbandyti su filmų rekomendacijomis?

JB: Sunku pasakyti. Buvo straipsnis Mokslas prieš kelis mėnesius [2006 m. liepos 28 d.], kuriame buvo naudojamas įdomus dviejų tipų neuroninių tinklų derinys [skaičiavimo metodas, rūšiuojantis duomenis, panašius į žmogaus smegenis]. Vienas neuroninis tinklas prižiūri mašininį mokymąsi, o kitas valdo tą mokymąsi. „Netflix“ mes žiūrime į koreliacijas tarp reitingų, ir tai yra linijinis modelis. Ne visos žinios gali būti pavaizduotos linijiniu požymių deriniu. Šis konkretus modelis yra Mokslas naudoja netiesinį metodą. Manau, kad ta technika gali būti gana gera.

TR: Ar yra kokių nors kitų neatidėliotinų techninių „Netflix“ iššūkių, kuriuos būtų galima išspręsti pateikus prizą?

JB: Nenorėčiau spėlioti apie daugiau konkursų. Ar yra kitų techninių iššūkių? absoliučiai. Be sisteminių iššūkių, susijusių su rekomendacijų varikliu palaikymu ir veikimu didėjant klientų skaičiui, mes taip pat susiduriame su daugybe iššūkių įmonėje, pavyzdžiui, bandome išsiųsti du milijonus diskų per dieną žmonėms. Be to, mūsų laukia įdomūs iššūkiai, kai ruošiamės atsisiuntimo pasauliui [kur žmonės gali atsisiųsti filmus internetu]. Įmonė kupina didžiulių iššūkių.

paslėpti