Это образ социальных сетей с их вовлеченностью в качестве функции приспособленности. Миллионы ведущих, работающих в режиме нон-стоп. Миллиарды персональных торговых каналов для контента.
Как и в случае с Google, на сильных и слабых сторонах алгоритма вскоре стали играть как честные, так и нечестные игроки. Как совершенно точно обобщил идеи Маршалла Маклюэна отец Джон Калкин: «Мы формируем наши средства коммуникации, а затем наши средства коммуникации формируют нас». Вы выбираете функцию приспособленности для своих алгоритмов, а они, в свою очередь, формируют вашу компанию, ее бизнес-модель, ее клиентов и в конечном счете все наше общество. Мы рассмотрим некоторые из недостатков функции приспособленности Facebook в главе 10 и функции финансовых рынков – в главе 11.
Если начало использования вероятностных больших массивов данных было похоже на замену поршневого двигателя реактивным, начало использования машинного обучения похоже на переход к ракетам. Ракета может полететь туда, куда не может полететь устройство с реактивным двигателем, поскольку оно несет не только собственное горючее, но и собственный кислород. Это слабая аналогия, но она дает представление о глубине изменений, которые машинное обучение привносит в практику даже такой компании, как Google.
Себастьян Трун, первопроходец в области беспилотных автомобилей, который руководил первыми попытками Google в этой сфере и который в настоящее время является генеральным директором платформы онлайн-обучения Udacity, рассказал о том, как меняется практика разработки программного обеспечения: «Раньше я разрабатывал программы, которые делали именно то, что я им говорил делать, что заставляло меня создавать правила для каждой непредвиденной ситуации. Теперь я строю программы, насыщаю их данными и обучаю их, как делать то, что мне нужно».
При использовании старого подхода у инженера-программиста, работающего над поисковой системой Google, возможно, возникла бы гипотеза о сигнале, который улучшил бы результаты поиска. Он скопировал бы алгоритм, проверил его на некой подгруппе поисковых запросов и, если бы результаты стали лучше, мог бы перейти к внедрению. Если бы результаты не улучшились, то разработчик, возможно, изменил бы код и повторил эксперимент. При использовании машинного обучения разработчик, как и прежде, начинает с гипотезы, но вместо того, чтобы создавать алгоритм для обработки данных вручную, он составляет набор обучающих данных, отражающих эту гипотезу, а затем передает данные программе, которая выводит модель – математическое представление элементов, которые необходимо искать в данных. Этот цикл повторяется снова и снова, при этом программа вносит поправки в модель до последней минуты, постепенно трансформируя гипотезу с использованием такой техники, как градиентный спуск, пока она не будет более точно соответствовать данным. Короче говоря, усовершенствованная модель рождается благодаря изучению данных. Затем эту модель можно использовать для работы с реальными данными, аналогичными набору обучающих данных.
Ян Лекун, пионер революционного метода машинного обучения, названного глубинным обучением, в настоящее время возглавляющий лабораторию исследования искусственного интеллекта в Facebook, использует следующую аналогию, чтобы объяснить, как модель обучается распознаванию изображений:
«Система распознавания образов похожа на черный ящик с камерой с одной стороны, с зеленой и красной лампочкой сверху, а также с целой кучей рычагов спереди. Алгоритм обучения пытается настроить рычаги так, чтобы, когда перед камерой находится, скажем, собака, загорался красный свет, а когда перед камерой находится автомобиль, загорался бы зеленый свет. Вы показываете машине собаку. Если красный свет яркий, ничего не делайте. Если он тусклый, подрегулируйте рычаги так, чтобы свет стал ярче. Если загорится зеленый свет, настройте рычаги так, чтобы он стал тусклее. Затем покажите автомобиль и подстройте рычаги, чтобы красный свет погас, а зеленый свет стал ярче. Если вы покажете много примеров автомобилей и собак и каждый раз будете продолжать подстраивать рычаги, в конце концов машина каждый раз начнет выдавать правильный ответ… Сложность заключается в том, чтобы выяснить, в каком направлении регулировать каждый рычаг и насколько, и особо с ними не возиться. Это включает в себя вычисление «градиента», который указывает для каждого рычага, как изменяется свет при его регулировании. Теперь представьте себе коробку с 500 миллионами рычагов, 1000 лампочек и 10 миллионами изображений для обучения. Это типичная система Глубинного обучения».