Чем-то это похоже на разные тени, которые отбрасывает голова человека. По некоторым теням можно узнать об этом человеке гораздо больше, чем по другим. Например, профиль Хичкока очень легко узнаваем, а тень, которая получается, если направить в лицо луч фонарика, дает мало информации. Идея заключается в том, что фильмы и пользователи подобны точкам лица. В тени, отбрасываемой под одним углом, все эти точки могут выстроиться в линию, а под другим углом никакой структуры не увидишь.
Может быть, можно найти способ получения такой двумерной тени этих многомерных пространств пользователей и фильмов, в которой отображения пользователей оказываются рядом с отображениями фильмов, нравящихся этим пользователям. Нужно только найти правильную тень, в которой будут видны основополагающие характеристики фильмов и пользователей. Ниже приведен пример такой тени, созданной на основе данных Netflix по 100 пользователям и 500 фильмам. Видно, что тень выбрана правильно, потому что две характеристики, которые она оценивает, по-видимому, выражаются весьма отчетливо. Это видно из того, что точки не разбросаны по всей плоскости. Тень выявляет в данных некую закономерность.
Если посмотреть на названия реальных фильмов, отображенных на графике, легко увидеть, что эта тень действительно отражает характеристики, которые мы посчитали бы ясными отличительными чертами фильма. В правом верхнем квадранте оказываются кинодрамы, а в левом нижнем – боевики.
Именно этот подход применила команда, которой в конце концов и достался в 2009 году приз Netflix. Ее члены решили попытаться выделить тень в 20 измерениях, соответствующих 20 независимым характеристикам фильмов, которые должны были помочь предсказывать, какие фильмы нравятся пользователям. Преимущество компьютера в том, что он может перебрать целый спектр разных теней и выбрать ту из них, которая лучше всего отражает структуру, чего наш мозг и наши глаза никак не могут сделать.
Интересно отметить, что некоторые из характеристик, которые выбрала эта модель, были вполне явными – например, выделение боевиков или кинодрам. Но другие были гораздо менее заметными и трудноопределимыми. Тем не менее компьютеру удалось найти в данных закономерность.
Как мне кажется, этим и интересны такие алгоритмы нового типа. Они могут сказать нам нечто новое о нас самих. В некотором смысле алгоритм глубокого обучения находит в нашем человеческом коде черты, которые мы пока что не умеем выразить словами. Как если бы мы не знали, что такое цвет, и не имели слов для различения красного и синего, но алгоритм, исходя из выражения наших симпатий и антипатий, распределял объекты, находящиеся перед нами, на две группы, соответствующие объектам синим и красным. Мы не можем внятно сказать, почему нам нравится тот или иной фильм, потому что это предпочтение определяется слишком большим числом параметров. Человеческий код, порождающий эти предпочтения, скрыт от нас. Компьютерный же код выявил характеристики, определяющие наши предпочтения, которые мы можем интуитивно ощущать, но не можем высказать.
26 июня 2009 года команда под названием BellKor’s Pragmatic Chaos предъявила результат, преодолевший 10 %-й порог: ее алгоритм показал улучшение на 10,05 %. Компания Netflix разделила засекреченные данные на две половины. Одна половина использовалась для оценки результатов команд. Другую придержали для выявления окончательного победителя. После преодоления 10 %-го порога другие команды получали еще месяц на улучшение своих результатов. 25 июля команда Ensemble представила алгоритм, добившийся улучшения на 10,09 %. На следующий день компания Netflix перестала принимать заявки. К этому моменту обе команды снова несколько усовершенствовали свои алгоритмы: BellKor’s Pragmatic Chaos дошла до 10,09 %, но Ensemble продвинулась еще чуть дальше – до 10,1 %. Приз должен был достаться команде, показавшей лучшие результаты на второй половине данных. В итоге результаты обеих команд оказались одинаковыми, но команда BellKor’s Pragmatic Chaos прислала свои на 20 минут раньше, и миллион долларов достался ей.
Учитывая успех своего первого соревнования, компания Netflix собиралась устроить второе, чтобы стимулировать появление еще более новаторских идей, но с этим возникла одна проблема. Данные должны были быть анонимными. Компания опубликовала на сайте соревнования следующий комментарий относительно конфиденциальности данных: