211service.com
Wyzwanie Netflixa za milion dolarów
Na początku tego tygodnia Netflix, internetowa wypożyczalnia filmów, ogłosiła, że przyzna nagrodę 1 milion dolarów każdemu, kto może wymyślić algorytm poprawiający dokładność usługi rekomendacji filmów.

System gwiazdek Netflix pomaga określić spersonalizowane rekomendacje filmów. Teraz firma poszukuje zewnętrznych programistów, aby ulepszyć te rekomendacje.
W ten sposób firma wzywa naukowców specjalizujących się w uczeniu maszynowym – rodzaju sztucznej inteligencji wykorzystywanej do tworzenia systemów rekomendujących muzykę, książki i filmy. Uczestnik, który może zwiększyć dokładność systemu rekomendacji Netflix, który nazywa się Cinematch, o 10 procent do 2011 roku, zdobędzie nagrodę.
Systemy rekomendacji, takie jak te używane przez Netflix, Amazon i innych sprzedawców internetowych, opierają się na zasadzie, że jeśli dwie osoby cieszą się tym samym produktem, prawdopodobnie mają też innych ulubionych.
Ale za tym prostym założeniem kryje się złożony algorytm, który obejmuje miliony ocen użytkowników, dziesiątki tysięcy elementów i ciągle zmieniające się relacje między preferencjami użytkowników.
Aby poradzić sobie z tą złożonością, algorytmy systemów rekomendacji są szkolone na ogromnych zbiorach danych. Jeden zestaw danych używany w systemie Netflix zawiera oceny w postaci gwiazdek – od jednej do pięciu – które klienci Netflix przypisują filmom. Korzystając z tych wstępnych informacji, dobre algorytmy są w stanie przewidzieć przyszłe oceny, a zatem mogą sugerować inne filmy, które dana osoba może polubić.
Według Jima Bennetta, wiceprezesa ds. systemów rekomendacji w Netflix, dostęp do takiego zbioru danych ma kluczowe znaczenie dla poprawy jakości systemów rekomendacji, firma wydała również 100 milionów rekomendacji – pozbawionych jakichkolwiek informacji umożliwiających identyfikację osobistą.
W tym tygodniu rozmawialiśmy z Bennettem o tym, jak działają systemy rekomendacji – oraz o wyzwaniach związanych z budowaniem lepszego.
Przegląd technologii: Zanim zbudujesz lepszy system rekomendacji, dobrze byłoby zrozumieć swoje obecne podejście. Jak działa Cinematch?
Jim Bennett: Najpierw zbierasz 100 milionów ocen użytkowników dla około 18 000 filmów. Weź dowolne dwa filmy i znajdź osoby, które oceniły je oba. Następnie sprawdź, czy ludzie, którzy oceniają jeden z filmów, wysoko oceniają drugi, czy podobał im się jeden, a nie drugi, czy też nie podobał im się żaden z filmów. Na podstawie ich ocen Cinematch sprawdza, czy istnieje korelacja między tymi osobami. Teraz zrób to dla wszystkich możliwych par 65 000 filmów.
TR: Więc Cinematch poleciłby mi filmy na podstawie ocen ludzi, którzy ocenili filmy tak, jak ja. Czy ta metoda działa dla wszystkich filmów w Netflix?
JB: Wiele naprawdę niejasnych płyt, na przykład DVD How to Mow a Lawn DVD, nie ma zbyt wielu ocen, a ta metoda nie działa tak dobrze. W przypadku filmów z dużą liczbą ocen radzisz sobie znacznie dobrze. Ale aby to działało, musi być dużo dostrajania danych, ponieważ ludzie mogą czasami mieć interesujące wzorce oceniania.
TR: Jak co?
JB: Na przykład jest wiele osób, które oceniają film tylko jedną gwiazdką lub pięcioma gwiazdkami. I są ludzie, którzy po prostu oceniają wszystko na trzy gwiazdki. To, czego szukasz, to interesujący zbiór opinii, ponieważ próbujesz uchwycić korelacje. To rdzeń silnika.
TR: Jak ilościowo mierzysz dokładność swojego systemu?
JB: Przeszkoliliśmy Cinematch na 100 milionach ocen i poprosiliśmy go o przewidzenie, jakie będą pozostałe 3 miliony. Porównaliśmy nasze z rzeczywistymi odpowiedziami. Robimy to każdego dnia. Otrzymujemy około 2 miliony ocen dziennie i śledzimy dzienne wahania systemu. Spodziewamy się mierzyć zgłoszenia na konkurs [w ten sam sposób]. Rzeczywisty zestaw danych nagród to 103 miliony ocen, ale opublikowaliśmy tylko 100 milionów z nich.
TR: Aby wygrać nagrodę w wysokości 1 miliona dolarów, nowy algorytm musi poprawić dokładność rekomendacji o 10 procent w porównaniu z Cinematch. Co roku nagradzasz również nagrodę za postęp w wysokości 50 000 USD za algorytm, który wykazuje największą poprawę w stosunku do najlepszego algorytmu z poprzedniego roku, o co najmniej 1 procent. Co te procentowe ulepszenia będą oznaczać dla klienta Netflix?
JB: Jeśli wejdziesz na stronę i ocenisz dla nas 100 filmów, czerwone gwiazdki pokazane pod każdym filmem są dla Ciebie spersonalizowane. Używamy tych ocen, aby dostosować prognozę do średniej rekomendacji, zgodnie z Twoim gustem. Na przykład 3% różnicy może mieć znaczenie dla jednej czwartej gwiazdy. Mamy miliony ludzi oceniających miliony płyt DVD, a ta różnica ćwierć gwiazdki pomaga nam uporządkować listę. Poszczególne rekomendacje filmów mogą nie być o wiele lepsze, ale ogólnie zestaw polecanych filmów jest bardzo inny. Poruszaj trochę pancernikiem, a robi to ogromną różnicę.
TR: Dlaczego tak trudno jest ulepszyć systemy rekomendacji?
JB: Jednym z powodów jest brak zbiorów danych. Wiele aplikacji uczenia maszynowego wymaga dość dużych zestawów danych, które z łatwością zawierają miliony punktów danych. Istnieje wiele różnych podejść do rozwiązania problemu, ale wszystkie wymagają dużych zbiorów danych. Podobnie jak w przypadku wielu zestawów danych, po zastosowaniu technik do tych zestawów danych nie ma dokąd pójść.
TR: Więc szukasz algorytmu, który rozwiąże problem w zupełnie inny sposób niż Cinematch?
JB: Prawidłowy. O ile nam wiadomo, istnieje wiele dobrych pomysłów w terenie. Po prostu nie możemy ich wszystkich przetestować. Wiemy, że są ludzie, którzy naprawdę są na szczycie literatury, którzy znają tajniki [systemów rekomendacji] i naprawdę chcielibyśmy wiedzieć, które z nich byłyby lepsze.
TR: Jakie są niektóre podejścia, omówione w literaturze, które mogą działać, ale nie zostały jeszcze przetestowane z rekomendacjami filmowymi?
JB: Trudno powiedzieć. Był artykuł w Nauka kilka miesięcy temu [28 lipca 2006] wykorzystano interesującą kombinację dwóch typów sieci neuronowych [metoda obliczeniowa, która sortuje dane podobne do ludzkiego mózgu]. Jedna sieć neuronowa nadzoruje uczenie maszynowe, a druga steruje tym uczeniem. W Netflix patrzymy na korelacje między ocenami i jest to model liniowy. Nie całą wiedzę można przedstawić za pomocą liniowej kombinacji cech. Ten konkretny model w Nauka wykorzystuje podejście nieliniowe. Myślę, że ta technika może być całkiem dobra.
TR: Czy w Netflix są jakieś inne palące problemy techniczne, które można rozwiązać, oferując nagrodę?
JB: Nie chciałbym spekulować na temat kolejnych konkursów. Czy istnieją inne wyzwania techniczne? Absolutnie. Poza wyzwaniem systemowym polegającym na utrzymywaniu działania silników rekomendacji przy rosnącej bazie klientów, w firmie stoimy również przed ogromną liczbą wyzwań, takich jak próba dostarczenia ludziom dwóch milionów płyt dziennie. Przed nami ciekawe wyzwania, gdy przygotowujemy się do świata pobierania [gdzie ludzie mogą pobierać filmy przez Internet]. Firma jest pełna ogromnych wyzwań.