Верховный алгоритм: как машинное обучение изменит наш мир
Шрифт:
Машинное обучение – технология, которая строит саму себя. Это новое явление в нашем мире. С тех пор как наши далекие предки научились заострять камни и смастерили первые орудия труда, человечество разработало артефакты самостоятельно, вручную или массово. Обучающиеся алгоритмы – артефакты, которые создают другие артефакты. «От компьютеров никакой пользы, – говорил Пикассо. – Они умеют только давать ответы». Компьютеры не предназначены для творчества: они должны делать ровно то, что им говорят. Но если приказать им заняться творчеством, получится машинное обучение. Обучающийся алгоритм как искусный ремесленник: каждое из его творений уникально, и каждое создано именно таким, каким пожелал заказчик. Просто в отличие от мастеров обучающиеся алгоритмы превращают не камень в кладку и не золото в ювелирные изделия, а данные в алгоритмы. И чем больше у них данных, тем качественнее может получиться алгоритм.
Homo sapiens научился приспосабливать мир под себя, вместо того чтобы самому приспосабливаться к существующим условиям. Машинное обучение открывает новую главу в долгой, растянувшейся на миллион лет эволюционной саге: с его помощью мир сам почувствует, чего вы хотите, и сам под вас подстроится. Не надо даже волшебной палочки: окружающий вас мир – сегодня виртуальный, а завтра физический – станет похож на волшебный лес. Если вы пойдете по тропинке в чаще, она станет дорогой. Если вы заблудитесь, из ниоткуда появятся стрелки, указывающие направление.
Эти волшебные технологии возможны потому, что глубинная суть машинного обучения – предсказание: предсказание наших желаний, результатов наших действий, путей достижения целей, изменений мира. Когда-то нам приходилось полагаться на шаманов и прорицателей, но это оказалось слишком ненадежно. Научные прогнозы более достойны доверия, однако они ограничены областями, которые мы можем систематически наблюдать и которые поддаются моделированию. Большие данные и машинное обучение заметно расширили эти границы. Иногда человек может предсказывать и без посторонней помощи, например, когда ловит мячик или ведет разговор. Бывает, что предсказать не получится, как бы мы ни старались. Но между этими крайностями лежит широкая область, для которой пригодится машинное обучение.
Хотя обучающиеся алгоритмы позволяют глубже узнать природу и человеческое поведение, сами они, как ни странно, окутаны пеленой тайны. Не проходит и дня, чтобы в СМИ не появилась новая история, связанная с машинным обучением, будь то запуск Apple личного помощника Siri, суперкомпьютер IBM Watson, победивший чемпиона в Jeopardy! (аналог «Своей игры») [5] , торговая сеть Target, узнавшая о беременности подростка раньше родителей, или Агентство национальной безопасности, собирающее воедино разрозненные улики. Однако во всех этих случаях обучающиеся алгоритмы, сделавшие эти истории возможными, остаются для зрителей черным ящиком. Даже книги о больших данных обходят стороной вопрос, как именно компьютер, проглотив все эти терабайты, волшебным образом приходит к ценным выводам. В лучшем случае у нас остается впечатление, что обучающиеся алгоритмы просто находят корреляции между двумя событиями, например запросом «лекарство от простуды» в строке Google и самой простудой. Однако нахождение корреляций для машинного обучения – не более чем кирпичи для дома. В горе кирпичей жить не получится.
5
Имеется в виду суперкомпьютер IBM, оснащенный системой искусственного интеллекта, который был создан группой исследователей под руководством Дэвида Феруччи. В феврале 2011 года для проверки возможностей Watson он принял участие в телешоу Jeopardy!. Его соперниками были Брэд Раттер – обладатель самого большого выигрыша в программе, – и Кен Дженнингс – рекордсмен по длительности беспроигрышной серии. Watson одержал победу, получив миллион долларов, в то время как Дженнингс и Раттер получили по 300 и 200 тысяч соответственно.
Если новая технология пронизывает нашу жизнь до такой степени, как машинное обучение, нельзя, чтобы она оставалась для нас загадкой. Неясности создают благодатную почву для ошибок и неправильного применения. Алгоритм Amazon лучше, чем любой человек, умеет определять, какие книги читают сегодня в мире. Алгоритмы Агентства национальной безопасности способны узнать в человеке потенциального террориста. Моделирование климата находит безопасный уровень углекислого газа в атмосфере, а модели подбора акций больше вкладывают в развитие экономики, чем большинство из нас. Но нельзя контролировать то, чего не понимаешь, и именно поэтому вы должны понимать машинное обучение – как гражданин, как специалист и как человек, стремящийся к счастью.
Первейшая задача этой книги – посвятить вас в секреты машинного обучения. Разбираться в автомобильном двигателе нужно только инженерам и механикам, однако любой водитель должен знать, что поворот руля меняет направление движения, а если нажать на тормоз, машина остановится. Сегодня лишь немногие имеют представление об обучающихся алгоритмах хотя бы на таком уровне, не говоря уже об умении ими пользоваться. Психолог Дональд Норман придумал термин «концептуальная модель»: это грубое знание какой-либо технологии, достаточное для того, чтобы эффективно ею пользоваться. Эта книга даст вам концептуальную модель машинного обучения.
Не все обучающиеся алгоритмы работают одинаково, и это имеет определенные последствия. Возьмем, например, системы рекомендаций Amazon и Netflix и прогуляемся с ними по обычному книжному магазину. Пытаясь найти книги, которые «точно вам понравятся», Amazon, скорее всего, подведет вас к полке, к которой вы в прошлом чаще подходили, а Netflix позовет вас в незнакомый и неочевидный на первый взгляд уголок, но то, что вы там найдете, обязательно вам понравится. Из этой книги вы узнаете, что у Amazon и Netflix просто разные типы алгоритмов. Алгоритм Netflix вникает в ваши вкусы глубже (хотя все еще довольно скромно), однако, как ни странно, это еще не значит, что Amazon выиграла бы от такого подхода. Дело в том, что для успешного развития бизнеса Netflix нужно направлять спрос к длинному шлейфу малоизвестных и поэтому недорогих фильмов и телешоу и отвлекать клиентов от блокбастеров, на оплату которых абонемента просто не хватит. У менеджеров Amazon такой проблемы нет: им тоже выгодно сбыть неходовые товары, но продавать популярные и дорогие варианты не менее приятно (к тому же это упрощает логистику). Кроме того, клиенты с большей вероятностью посмотрят что-то необычное по подписке, чем купят специально.
Каждый год в мире появляются сотни новых алгоритмов с обучением, но все они основаны на небольшом наборе фундаментальных идей. Именно этим идеям и посвящена эта книга, и их вам будет вполне достаточно, чтобы понять, как машинное обучение меняет наш мир. Не уходя в дебри и даже не очень затрагивая применение алгоритмов в компьютерах, мы дадим ответы на важные для всех нас вопросы: «Как мы учимся?», «Можно ли учиться эффективнее?», «Что мы способны предсказать?», «Можно ли доверять полученному знанию?» Соперничающие школы машинного обучения отвечают на эти вопросы по-разному. Всего существует пять основных научных течений, каждому из которых мы посвятим отдельную главу. Символисты рассматривают обучение как процесс, обратный дедукции, и черпают идеи из философии, психологии и логики. Коннекционисты [6] воссоздают мозг путем обратной инженерии и вдохновляются нейробиологией и физикой. Эволюционисты симулируют эволюцию на компьютерах и обращаются к генетике и эволюционной биологии. Сторонники байесовского подхода [7] полагают, что обучение – это разновидность вероятностного вывода, и корни этой школы уходят в статистику. Аналогисты занимаются экстраполяцией на основе схожести суждений и находятся под влиянием психологии и математической оптимизации. Стремясь построить обучающиеся машины, мы пройдемся по истории мысли за последнюю сотню лет и увидим ее в новом свете.
6
Один из подходов в области искусственного интеллекта, когнитивной науки (когнитивистики), нейробиологии, психологии и философии сознания.
7
Берет свои истоки из теоремы Байеса, одной из основных теорем элементарной теории вероятностей, и названа в честь Томаса Байеса (1702–1761) – английского математика и священника, который первым предложил использование теоремы для корректировки убеждений, основываясь на обновленных данных.
У каждого из пяти «племен» машинного обучения есть собственный универсальный обучающийся – Верховный – алгоритм, который в принципе можно использовать для извлечения знания из данных в любой области. Для символистов это обратная дедукция, для коннекционистов – обратное распространение ошибки, для эволюционистов – генетическое программирование, для байесовцев – байесовский вывод, а для аналогистов – метод опорных векторов. Однако на практике каждый из этих алгоритмов хорош для одних задач, но не очень подходит для других. Хотелось бы, чтобы все их черты слились воедино в окончательном, совершенном Верховном алгоритме. Кто-то считает это несбыточной мечтой, но у многих из нас – людей, занимающихся машинным обучением, – при этих словах загораются глаза, и мечта заставляет нас работать до поздней ночи.
Верховный алгоритм сумеет извлечь из данных вообще все знание – знание прошлого, настоящего и будущего. Изобретение этого алгоритма станет одним из величайших прорывов в истории науки. Оно ускорит прогресс буквально во всем, изменит мир так, как мы едва можем себе сегодня представить. Верховный алгоритм для машинного обучения – это нечто вроде стандартной модели в физике элементарных частиц и центральной догмы молекулярной биологии: единая теория, объясняющая все, что мы сегодня знаем, и закладывающая фундамент десятилетий или целых веков будущего прогресса. Верховный алгоритм – ключ к решению стоящих перед человечеством сложнейших проблем – от создания домашних роботов до лечения рака.
Ведь рак так сложно лечить, потому что это не одно, а целый комплекс заболеваний. Опухоли бывают вызваны невообразимо широким спектром причин, к тому же они мутируют и дают метастазы. Самый надежный способ уничтожить опухоль – секвенировать [8] ее геном, определить, какие лекарства помогут без ущерба для пациента с учетом конкретного генома и истории болезни, и, возможно, даже разработать новое лекарство именно для данного случая. Ни один врач не в состоянии овладеть всеми необходимыми для этого знаниями, но решение таких задач – идеальная работа для машинного обучения. В сущности, это просто более сложная и серьезная версия поиска, которым каждый день занимаются Amazon и Netflix, только ищем мы не подходящую книгу или фильм, а подходящее лекарство. К сожалению, хотя обучающиеся алгоритмы уже умеют со сверхчеловеческой точностью диагностировать многие болезни, лечение рака выходит далеко за пределы их возможностей. Если нам удастся отыскать Верховный алгоритм, ситуация изменится. Поэтому вторая цель этой книги – помочь вам самостоятельно изобрести его. Можно подумать, что для этого нужны глубочайшие познания в математике и серьезная теоретическая работа. Отнюдь нет. Для этого нужно как раз отвлечься от тайн математики и посмотреть на всеобъемлющие механизмы обучения, и здесь неспециалист, подходящий к лесу издалека, во многом находится в более выгодном положении, чем профессионал, увязнувший в изучении отдельных деревьев. Концептуальное решение проблемы можно дополнить математикой, но это не самое главное, и к тому же не тема этой книги. Так что, когда мы будем заходить в гости к каждому «племени», надо будет собрать кусочки мозаики и сообразить, куда они подходят, не забывая при этом, что ни один слепец не может увидеть слона целиком. Мы увидим, какой вклад каждое из «племен» способно внести в лечение рака, чего ему не хватает, а затем шаг за шагом соберем кусочки в решение – вернее, одно из решений. Конечно, это не будет Верховным алгоритмом, но ближе к нему еще никто не подбирался. Будем надеяться, что результат станет удачной отправной точкой для вашего воображения. Потом мы посмотрим, как можно было бы использовать полученный алгоритм в качестве оружия в борьбе с раком. Читая эту книгу, не стесняйтесь пробегать глазами или пропускать сложные для понимания фрагменты. Важна общая картина, и, возможно, будет полезнее вернуться к этим местам уже после того, как мозаика сложится.
8
Секвенирование (от лат. sequentum – последовательность) – определение аминокислотной или нуклеотидной последовательности биополимеров (белков и нуклеиновых кислот – ДНК и РНК).