Соревнования по ML
Второго октября 2006 года компания Netflix объявила конкурс «Netflix Prize»: кто улучшит текущие рекомендации Netflix на 10 % по метрике RMSE, получит один миллион долларов призовых. В сентябре 2009 года команда победителей «BellKor’s Pragmatic Chaos» получила свой миллион долларов. Соревнование длилось почти три года, задача была непростой.
Параллельно под эгидой научной конференции ACM SIGKDD такие соревнования проходили на платформе KDD Cup. Каждый год – это новое соревнование со своими организаторами, данными и правилами.
Все эти события привели к созданию платформы для коммерческих соревнований по машинному обучению – Kaggle.com. Компания была основана в 2010 году тремя людьми и поглощена Google в 2017 году. Сейчас Kaggle предоставляет много сервисов, но первый и самый главный – соревнования по машинному обучению с хорошими призовыми. Система полностью аналогична конкурсу от Netflix: какая-то компания публикует свои данные и правила участия, по которым будут выбираться победители. В день окончания баллы всех команд фиксируются. Победители получают призы, а компания – решение своей задачи. Часто решение и его описание потом публикуются на форуме.
В соревнованиях по машинному обучению прокачиваются навыки практического использования ML и создания фич на базе датасета. Там может поучаствовать каждый зарегистрировавшийся и получить очень хороший опыт. Все выглядит отлично, не правда ли? Но в них есть другая сторона – эти решения нельзя использовать в лоб, можно взять оттуда лишь некоторые идеи. Например, сам Netflix заявил [65], что алгоритм – ансамбль победителей состоял из 107 субалгоритмов, из которых только два дали самый значимый результат: факторизация матриц (SVD) и ограниченная машина Больцмана (RBM). В компании не без труда внедрили эти два алгоритма в рабочую систему. Сработало правило Парето: 20 % усилий (2 алгоритма) дали 80 % результата. Отмечу еще раз: они не стали внедрять всего монстра целиком, а взяли всего лишь два его элемента. Победивший алгоритм невозможно внедрить, он очень ресурсоемкий и сложный. Его поддержка стоила бы космических денег.
Это и есть основной недостаток решений, полученных на таких соревнованиях, – нет ограничений на вычисления и простоту результата. Такие решения часто будут нежизнеспособными конструктами. И тем не менее я все равно призываю вас участвовать в соревнованиях, это полезно. Подсматривайте решения на форумах и повторяйте их, учитесь делать фичи – это непросто, но в них заключено искусство ML. Не нужно занимать топовые места, достаточно, чтобы метрики ваших решений были процентов на пять хуже лидера. Даже если вы просто окажетесь выше медианы оценок – уже хорошо. Так вы научитесь многому.
Если бы у меня был выбор между двумя кандидатами: первый занимает призовые места на Kaggle и имеет за плечами десятки моделей, а второй реализовал всего две, но придумал задачу, решил, внедрил ее и доказал метриками, что она зарабатывает деньги для компании, – я бы предпочел второго. Даже если ему не придется повторять на новом месте все эти этапы, я могу сделать вывод, что он способен видеть картину целиком, а значит, сможет говорить на одном языке с людьми, которые будут внедрять продукт его труда, без проблем будет понимать ограничения и требования смежных департаментов.
Искусственный интеллект
Искусственный интеллект (AI) – очень модный термин, и я его ни разу не использовал в моей книге, хотя занимаюсь именно им. Словосочетание data mining я услышал еще в начале двухтысячных, когда работал в StatSoft. За этим маркетинговым термином кроется обычный анализ данных, сделанный из нескольких компонент. Мы с коллегами шутили, что весь этот data mining настоящие спецы делают на коленке. Через некоторое время возник новый термин – машинное обучение, он гораздо лучше зашел у специалистов, потому что действительно описывал новую область. Третий термин – большие данные, хайп вокруг которых сейчас уже поутих. Просто технология не оправдала слишком больших надежд, которые были на нее возложены. Я не помню, чтобы на конференциях ACM RecSys хоть раз слышал выражение big data, хотя часть игроков, которые там участвуют, обладают очень большими данными (Amazon, Google, Netflix). Компании используют их только для брендинга и продаж своих услуг, чтобы показать, что они в тренде. Иначе их обойдут конкуренты.
Об AI широко заговорили с появлением нейронных сетей глубокого обучения (Deep Learning). Принцип работы нейрона как строительной единицы нейронной сети был заимствован из биологии. Но согласитесь, это еще не повод считать нейронную сеть интеллектом, близким хотя бы к интеллекту насекомых. Пока те операции, которые реализуются нейронными сетями, очень примитивны по сравнению с тем, на что способны даже самые примитивные живые существа (например, синтезировать новую жизнь, не говоря уже о полностью самостоятельном принятии решений). По моему мнению, человечество сможет приблизиться к созданию интеллекта, близкого к интеллекту животного, лишь тогда, когда сумеет синтезировать и обучать биологические нейронные сети, не полностью электронные.
Вместо абстрактного искусственного интеллекта я предпочитаю использовать более конкретные термины, например компьютерное зрение. Благодаря нейронным сетям именно в этой области произошел самый большой прорыв. Сейчас компьютерное зрение используется везде – от тегирования людей в мобильных телефонах и соцсетях до самоуправляемых автомобилей. Его используют и государства для выполнения полицейских функций, и коммерческие организации для решения своих задач. Мне лично нравятся примеры, когда дружба железа и софта приносит практическую пользу. Например, есть робот Stingray, который уничтожает вшей искусственно выращиваемого лосося с помощью компьютерного зрения и лазера [73]. Этот паразит является причиной массовой гибели рыбы при искусственном разведении. Например, компания «Русская аквакультура», крупнейший российский производитель искусственно выращенного лосося, в 2015 году потеряла больше 70 % рыбы, которая погибла из-за вспышки лососевой вши. Потери из-за мора компания оценивала в 1 млрд руб. [74]. А вот подводный робот позволяет решать проблему – заметив паразита на теле рыбы, он уничтожает его с помощью лазера.
Второе направление большого прорыва – роботизация. Здесь все не ограничивается только компьютерным зрением. Когда я был в музее MIT в Бостоне, то обратил внимание, что проект Boston Dynamics уходит корнями в 80-е, в лаборатории MIT. Уже тогда ученые этого лучшего университета мира занимались компьютерным зрением и управлением роботов. В те годы у них уже был прыгающий на одной палке робот, который не падал. Boston Dynamics выделились из MIT в 1992 году. Сейчас компания известна своими роботами, которые давно стали героями YouTube и бьют рекорды просмотров. Недавно Boston Dynamics купила корейская Hyundai за 1 миллиард долларов. Если честно, в такие моменты я не понимаю наших сверхбогатых соотечественников – мне кажется, гораздо интереснее вкладывать деньги в такие проекты с перспективой стать вторым Илоном Маском, чем в футбольные клубы. Несмотря на то что новаторские проекты вроде Boston Dynamics пока плохо коммерциализированы, их время еще придет – ведь туда идет человечество.