Верховный алгоритм - Педро Домингос 5 стр.


Кибервойна — это частный случай асимметричного конфликта, где одна из сторон не может сравниться с другой по мощи обычного вооружения, но тем не менее способна нанести противнику тяжелый урон. Небольшой отряд террористов, вооруженных канцелярскими ножами, смог обрушить башни-близнецы и убить тысячи невинных людей. Сегодня все наиболее серьезные угрозы безопасности США — асимметричные, и от них есть эффективное противоядие: информация. Если враг не сможет скрыться, он не выживет. Информации у нас предостаточно, и это хорошо, но есть и плохие новости.

Агентство национальной безопасности США печально известно своим неуемным аппетитом к данным: по некоторым оценкам, оно пере­хватывает более миллиарда телефонных звонков и других сообщений по всему земному шару. Не будем сейчас рассуждать об этических вопросах защиты частной жизни. Важно, что у агентства нет столько сотрудников, чтобы прослушать все эти звонки, прочитать электронные письма и даже отследить, кто с кем разговаривает. Большинство звонков вполне безобидны, поэтому написать программу, которая выловит из этого моря несколько подозрительных, очень сложно. Когда-то для этой цели использовались ключевые слова, но этот метод легко обвести вокруг пальца: достаточно назвать теракт свадьбой, а бомбу — свадебным тортом. В XXI веке за эту работу взялось машинное обучение. Конечно, работа агентства овеяна тайной, но в выступлении перед Конгрессом его директор признал, что анализ телефонных разговоров уже предотвратил десятки террористических угроз.

Если террористы смешаются с толпой футбольных фанатов, то обу­чающиеся алгоритмы смогут распознать их лица. Если террористы изобретут необычные взрывные устройства, алгоритмы обнаружат их. Алгоритмы могут решать и более тонкие задачи: связывать между собой события, которые по отдельности выглядят безобидными, но вместе складываются в зловещую схему. Такой подход мог бы предотвратить теракты 11 сентября 2001 года. Есть и еще один аспект. В ответ на действия обученной программы злоумышленники будут менять поведение, чтобы обвести ее вокруг пальца, и станут выделяться на фоне обычных людей, которые ведут себя по-прежнему. Чтобы этим воспользоваться, машинное обучение нужно объ­единить с теорией игр. В прошлом я работал над этой темой: надо не просто уметь побеждать сегодняшнего противника, но учиться парировать действия, которые он может предпринять против твоего алгоритма. К тому же учет плюсов и минусов различных действий, который возможен благодаря теории игр, может помочь найти правильный баланс между частной жизнью и безопасностью.

Во время битвы за Британию17 Королевские ВВС выстояли, несмотря на значительный перевес люфтваффе. Немецкие летчики недоумевали: куда бы они ни летели, их всегда поджидали британские самолеты. У Великобритании было секретное оружие: радар, который замечал самолеты противника задолго до того, как тот входил в ее воздушное пространство. Машинное обучение — как радар, который сканирует будущее. Он позволяет не просто реагировать на ходы неприятеля, а предвосхищать их и рушить его планы.

Близкий каждому пример — так называемая полицейская профилактика. Благодаря прогнозированию тенденций в преступном мире, стратегическому распределению патрулей в наиболее опасных районах города и другим мерам правоохранительные органы эффективно выполняют задачи, которые без этих технологий потребовали бы больших сил. Работа полиции — будь то выявление мошенничества, раскрытие преступных сетей или старая добрая патрульная служба — во многом схожа с асимметричными боевыми действиями, и здесь находят применение многие из соответствующих методик обучения.

Машинное обучение играет все большую роль в военном деле. Обуча­ющиеся алгоритмы могут развеять «туман войны»: анализ изобра­жений, полученных при рекогносцировке, обработка рапортов после боя, составление картины положения для командира. Обучение усилит интеллект боевых роботов, поможет им ориентироваться, приспо­сабливаться к местности, отличать вражескую технику от гражданской, правильно целиться. Робот AlphaDog, разработанный Агентством по перспективным оборонным проектам, может нести солдату снаряжение. C помощью обучающихся алгоритмов дроны смогут летать автономно. Пока они отчасти контролируются людьми, но все идет к тому, что один пилот станет управлять все большим и большим роем летательных аппаратов. В армии будущего обучающихся алгоритмов будет значительно больше, чем солдат, а это спасет множество жизней.

Куда мы идем?

Тенденции в мире технологий приходят и уходят, но в машинном обу­чении необычно то, что, несмотря на все трудности, оно продолжает развиваться. Первым крупным всплеском популярности стало прогнозирование взлетов и падений на рынках ценных бумаг, появившееся в конце 1980-х годов. Следующей волной стал анализ корпоративных баз данных, который начал довольно активно внедряться в середине 1990-х годов, а также такие области, как прямой маркетинг, управление работой с клиентами, оценка кредитоспособности и выявление мошенничества. Затем пришел черед интернета и электронной коммерции, где автоматизированная персонализация быстро стала нормой. Когда лопнувший пузырь доткомов нанес удар по этому бизнесу, приобрело популярность использование машинного обучения для поиска в интернете и размещения рекламы. События 11 сентября бросили машинное обучение на передовую войны с террором. Web 2.0 принес с собой целый спектр новых применений — от анализа социальных сетей до определения, что блогеры пишут о продукции данной компании. Параллельно ученые всех мастей все чаще обращались к масштабному моделированию. В первых рядах шли молекулярные биологи и астрономы. Едва наметился кризис на рынке недвижимости, как таланты стали перетекать с Уолл-стрит в Кремниевую долину. На 2011 год пришелся пик популярности мема18 о больших данных, и машинное обучение оказалось прямо в центре глобального экономического кризиса. Сегодня, кажется, сложно найти область приложения человеческих усилий, не затронутую машинным обучением, включая неочевидные на первый взгляд сферы, например музыку, спорт и дегустацию вин.

Это замечательный прогресс, но он лишь предвкушение того, что нас ждет в будущем. Несмотря на пользу, которую приносит нам сегодняшнее поколение обучающихся алгоритмов, их возможности довольно скромны. Когда в нашу жизнь войдут алгоритмы, пока скрытые за стенами лабораторий, замечание Билла Гейтса о том, что прорыв в машинном обучении будет стоить десяти компаний Microsoft, покажется осторожной оценкой. Если идеи, от которых у исследователей горят глаза, принесут плоды, машинное обучение станет не только новой эрой цивилизации, но и новой стадией эволюции жизни на Земле.

Почему все это возможно? Как работают обучающиеся алгоритмы? Что им пока неподвластно и как будет выглядеть следующее поколение? Как развернется революция машинного обучения? Каких возможностей и опасностей нам следует ожидать? Именно этим вопросам посвящена эта книга. Читайте дальше!

ГЛАВА 2

ВЛАСТЕЛИН АЛГОРИТМОВ

Широта применения машинного обучения поразительна, но еще больше потрясает, что одни и те же алгоритмы умеют делать различные вещи. Во всех других областях для решения двух разных проблем приходится писать две разные программы. Они могут частично использовать одинаковую инфраструктуру, например те же языки программирования или ту же систему баз данных, но программа, скажем, для игры в шахматы совершенно бесполезна, если задача — обработать заявления о выдаче кредитных карт. В машинном обучении одни и те же алгоритмы могут делать и то и другое при условии, что вы дадите им соответствующие данные, на которых можно учиться. По сути, за огромным большинством приложений машинного обучения стоят всего несколько алгоритмов, с которыми мы познакомимся в следующих главах.

Посмотрите, например, на наивный байесовский классификатор — обучающийся алгоритм, который можно выразить в виде короткого уравнения. Если взять базу данных из историй болезни — симптомы, результаты анализов, наличие или отсутствие сопутствующих заболеваний, — этот алгоритм может научиться диагностировать болезнь в долю секунды, и часто лучше, чем врачи, которые много лет провели в медицинском институте. Он может победить и медицинские экспертные системы, на создание которых ушли тысячи человеко-часов. При этом тот же самый алгоритм широко используется для фильтрации спама, хотя на первый взгляд у спам-фильтров нет ничего общего с медицинской диагностикой. Другой простой обуча­ющийся алгоритм, так называемый метод ближайших соседей, используют для массы задач — от распознавания почерка до управления манипуляторами в робототехнике и отбора книг и фильмов, которые могут понравиться клиенту. А обучающиеся алгоритмы дерева решений19 одинаково искусно определят, можно ли выдать вам кредитную карточку, найдут границы сплайсинга в ДНК и выберут следующий ход в шахматной партии.

Одни и те же обучающиеся алгоритмы не только способны выполнять бесконечно разнообразные задачи. По сравнению с алгоритмами, на смену которым они приходят, алгоритмы машинного обучения потрясающе просты. Большинство из них можно выразить в нескольких сотнях строк кода или, может быть, нескольких тысячах, если добавить много «примочек». В то же время программы, которые они вытесняют, иногда занимают сотни тысяч или даже миллионы строк кода, а ведь один обучающийся алгоритм способен породить неограниченное количество различных программ.

Если столь малый набор обучающихся алгоритмов может так много, возникает логичный вопрос: реально ли, чтобы один такой алгоритм делал вообще все? Другими словами, сможет ли единственный алгоритм научиться всему, что можно узнать из данных? Эта проблема — очень крепкий орешек, ведь сюда входит все, что знает взрослый человек, все, что создала эволюция, весь комплекс научных знаний. По правде говоря, все важнейшие алгоритмы машинного обучения, включая метод ближайших соседей, дерево принятия решений и байесовские сети (обобщение наивного байесовского классификатора), универсальны, то есть, если дать им достаточно соответствующих данных, они смогут аппроксимировать любую функцию сколь угодно точно: на языке математики это значит «научиться чему угодно». Ловушка в том, что «достаточно данных» может означать «бесконечный объем данных». Для обучения на основе конечных данных нужны допущения, и, как мы увидим, разные обучающиеся алгоритмы делают их по-разному, поэтому хорошо подходят для решения одних задач и не очень — для других.

А если не оставлять эти допущения внутри алгоритма, а делать их явными входными данными, наряду с собственно данными, и предоставлять пользователю право выбора, какие из них подключать и, возможно, даже задавать новые? Есть ли алгоритм, который может взять любые данные и предположения и на выходе дать скрытые в них знания? Я думаю, такой алгоритм существует. Конечно, нужно как-то ограничить эти допущения, иначе можно обмануть самого себя, дав алгоритму все искомое знание или что-то схожее в виде допущений. Однако есть много способов этого избежать — от ограничения объема вводных до требования, чтобы исходные допущения не были больше, чем допущения текущего алгоритма.

В таком случае вопрос сводится к следующему: насколько слабыми могут быть допущения, чтобы все еще позволять получать из конечных данных все полезное знание? Обратите внимание на слово «полезное»: нас интересует только знание о нашем мире, а не о несуществующих мирах, поэтому изобретение универсального обучающегося алгоритма сводится к открытию глубочайших закономерностей нашей Вселенной, общих для всех явлений, а затем — к нахождению эффективного с точки зрения вычислений способа соединить их с данными. Как мы увидим, требование вычислительной эффективности не позволяет использовать в качестве таких закономерностей законы физики, однако оно не подразумевает, что универсальный алгоритм машинного обучения должен быть столь же эффективным, как более специализированные. Как часто бывает в информатике, мы готовы пожертвовать эффективностью ради универсальности.

Это также касается количества данных, необходимого, чтобы получить искомое знание: универсальному обучающемуся алгоритму в целом потребуется больше данных, чем специализированному, однако это не беда, при условии, что эти данные есть в нашем распоряжении, а чем больше становится общий объем данных, тем больше вероятность, что их для наших целей окажется достаточно.

Итак, вот центральная гипотеза этой книги:

Все знание — прошлое, настоящее и будущее — можно извлечь из данных с помощью одного универсального обучающегося алгоритма.

Я называю этот алгоритм Верховным. Если его создание оказалось бы возможным, это стало бы одним из величайших научных достижений за всю историю человечества. Более того, Верховный алгоритм — последнее, что нам придется изобрести, потому что, как только мы «спустим его с цепи», он сам изобретет вообще все, что только можно придумать. Все, что нам нужно, — дать ему достаточно подходящих данных, и он откроет соответствующее знание. Дайте ему видеопоток, и он научится видеть. Дайте библио­теку — и он научится читать. Дайте результаты физических экспериментов, и он сформулирует законы физики. Дайте данные кристаллографии ДНК, и он откроет структуру этой молекулы.

Наверное, это звучит неправдоподобно. Разве может один алгоритм получить так много разных знаний, причем таких сложных? Но на самом деле на существование Верховного алгоритма указывает много свидетельств. Давайте с ними познакомимся.

Аргумент из области нейробиологии

В апреле 2000 года группа нейробиологов из Массачусетского техно­логического института сообщила в журнале Nature о результатах удивительного эксперимента: они изменили мозг хорька, перенаправив нервы из глаз в слуховую кору (часть мозга, отвечающую за обработку звуков), а из ушей — в зрительную. Казалось бы, в результате этих манипуляций хорек должен был стать тяжелым инвалидом, но этого не произошло: слуховая кора научилась видеть, зрительная — слышать. У нормальных млекопитающих в зрительной коре есть карта сетчатки: нейроны, соединенные с близлежащими областями сетчатки, в коре расположены по соседству. У подопытных хорьков такая же карта сетчатки сформировалась в слуховой коре. Если зрительные данные направить в соматосенсорную кору, отвечающую за осязание, научится видеть и она. Такая способность есть и у других млекопитающих.

У слепых от рождения зрительная кора может брать на себя другие функции головного мозга. У глухих то же самое делает слуховая кора. Слепые могут научиться «видеть» с помощью языка, если прикрепить к нему электроды и направить по ним зрительные образы от прикрепленной к голове камеры. Высокое напряжение будет соответствовать ярким пикселям, низкое — темным. Слепой ребенок по имени Бен Андервуд научился ориентироваться в пространстве с помощью эхолокации, как летучие мыши. Щелкая языком и слушая эхо, он мог ходить, не натыкаясь на препятствия, ездить на скейт­борде и даже играть в баскетбол. Все это доказывает, что головной мозг везде использует один и тот же алгоритм обучения и области, выделенные для различных чувств, отличаются лишь поступающими в них входными данными (например, от глаз, ушей, носа). В свою очередь, ассоциативные зоны выполняют свои функции, потому что связаны с многочисленными сенсорными областями, а «исполнительные» свои — потому что соединяют ассоциативные зоны с двигательными нервами.

Изучение коры головного мозга под микроскопом подтверждает этот вывод. Везде повторяется тот же рисунок соединений: шестислойные колонны, петли обратной связи, ведущие в другую структуру мозга — зрительный бугор, а также повторяющиеся короткие тормозящие пути и более длинные возбуждающие. Имеется некоторое количество вариантов этой схемы, но они скорее похожи на разные параметры, настройки одного и того же алгоритма, чем на разные алгоритмы. Сенсорные зоны низкого уровня отличаются сильнее, но, как показали описанные выше эксперименты, и эти отличия не критичны. Мозжечок, самая древняя эволюционно часть головного мозга, которая отвечает за общую координацию движений, явно имеет другую, очень регулярную архитектуру, основанную на намного меньших нейронах, поэтому может показаться, что по крайней мере обучение движениям происходит по другим алгоритмам. Однако если у человека поврежден мозжечок, кора головного мозга берет на себя его функцию, то есть, вероятно, эволюция сохранила мозжечок не потому, что он делает то, чего не умеет кора, а просто потому, что так эффективнее.

Вычисления, происходящие внутри головного мозга, тоже едино­образны. Вся информация представлена в виде электрических импульсов между определенными нейронами. Одинаков и механизм обучения: воспоминания формируются путем биохимического укрепления соеди­нений между действующими вместе нейронами — так называемой долговременной потенциации. Все это верно и для животных: хотя мозг человека необычно велик, принципы его строения, по-видимому, те же самые.

Еще одна линия аргументов в пользу единообразия коры головного мозга — это, так сказать, бедность генома. Количество соединений в мозге человека более чем в миллион раз превышает количество «букв» в геноме, поэтому геном физически не в состоянии подробно закодировать строение мозга.

Однако самый важный аргумент в пользу того, что мозг — это Верховный алгоритм, заключается в том, что он отвечает за все, что мы способны воспринять и представить. Мы не узнаем о существовании того или иного явления, если мозг не сможет его постичь: либо просто не заметим, либо посчитаем случайностью. Так или иначе, если «встроить» головной мозг в компьютер в виде алгоритма, он сможет узнать все, что можем узнать мы, поэтому один из подходов к разработке Верховного алгоритма — и, пожалуй, самый популярный — обратный инжиниринг головного мозга. Джефф Хокинс затронул его в своей книге On Intelligence20. С ним Рэймонд Курцвейл21 связывает свои надежды на сингулярность — появление искусственного интеллекта, который значительно превосходит человеческий. И даже пробует силы в этом подходе в своей книге How to Create a Mind22. Тем не менее, как мы увидим, это лишь один из нескольких возможных подходов, причем не обязательно самый многообещающий, потому что головной мозг невероятно сложен, а мы все еще находимся на очень ранних стадиях его расшифровки. С другой стороны, если мы не сможем отыскать Верховный алгоритм, никакой сингулярности в обозримом будущем не предвидится.

Назад Дальше