Три алгоритма - ученым в небесных шатрах,
семь - инженерам, живущим в дворцах серверов,
Девять - смертным магнатам, чей жребий - забвение и прах.
А один - искусственному разуму на троне тьмы,
В мрачном крае обучения, где залежи данных.
Один алгоритм правит всеми, один их отыщет,
Один соберет их и накрепко свяжет во тьме
В мрачном царстве обучения, где залежи данных.
Внимательный и неравнодушный читатель моего блога заметил, что уже давненько не было рецензий на бизнес-книги. Причин тому две: во-первых, организм потребовал большего времени на вывод из себя неожиданно огромной порции токсинов, полученных от
"Стратегии" голубого океана" (с количеством кавычек я не ошибся), а, во-вторых, я читал книгу
Педро Домингоса «Верховный алгоритм. Как машинное обучение изменит наш мир».
Центральная идея книги может быть сформулирована так:
Все знания - прошлые, настоящие, будущие - можно извлечь из массива данных с помощью одного универсального обучающегося алгоритма.
Именно этот алгоритм автор называет Верховным.
Понятно, что, если у нас получится изобрести такой алгоритм, это стало бы последним научным изобретением человечества, ведь после этого Верховный алгоритм сам изобретет вообще все, что только можно изобрести и захотеть. Все, что нужно - дать ему подходящих данных на вход и получить на выходе готовый результат.
Автор прекрасно разбирается в предмете, и, как говорили в НИИ, где я когда-то работал математиком, "обтоптал тему" настолько, насколько это возможно сделать в научно-популярной книжке. Сначала он показывает (в научно-популярной литературе не стоит погружаться в доказательства), что такой алгоритм действительно может существовать. В ход идут аргументы из области эволюции, нейробиологии, физики, статистики, информатики и т.д. Автор борется с инженерией знаний - теорией, адепты которой считают, что знания нельзя получить автоматически, и только эксперты могут вложить знания в машину.
Автор же - за машинное обучение, т.е. за автоматическое получение знаний, и ему интересны все возможные приложения современных алгоритмов:
На президентских выборах 2012 года судьбу Соединенных Штатов определило машинное обучение. Традиционные факторы: взгляды на экономику, харизма и так далее - у обоих кандидатов оказались очень схожи, и исход выборов должен был определиться в ключевых колеблющихся штатах. Кампания Митта Ромни шла по классической схеме: опросы, объединение избирателей в крупные категории и выбор важнейших целевых групп. Нил Ньюхауз, специалист по общественному мнению в штабе Ромни, утверждал: «Если мы сможем победить самовыдвиженцев в Огайо, то выиграем гонку». Ромни действительно победил с перевесом в семь процентов, но все равно проиграл и в штате, и на выборах.
Барак Обама назначил главным аналитиком своей кампании Раида Гани, эксперта по машинному обучению. Гани удалось провести величайшую аналитическую операцию в истории политики. Его команда свела всю информацию об избирателях в единую базу данных, дополнила ее сведениями из социальных сетей, маркетинга и других источников и приступила к прогнозированию четырех факторов для каждого отдельного избирателя: насколько вероятно, что он поддержит Обаму, придет на выборы, отзовется на напоминание это сделать и изменит мнение об этих выборах после бесед на определенные темы. На основе этих моделей каждый вечер проводилось 66 тысяч симуляций выборов, а результаты использовались, чтобы управлять армией волонтеров: кому звонить, в какие двери стучать, что говорить.
В политике, как в бизнесе и на войне, нет ничего хуже, чем смотреть, как противник делает что-то непонятное, и не знать, как на это ответить, пока не станет слишком поздно. Именно это произошло с Ромни. В его штабе видели, что соперники покупают рекламу на конкретных каналах кабельного телевидения в конкретных городах, но почему - было неясно. «Хрустальный шар» оказался слишком мутным. В результате Обама выиграл во всех ключевых штатах за исключением Северной Каролины, причем с большим перевесом, чем предсказывали даже самые авторитетные специалисты по общественному мнению. А наиболее авторитетные специалисты (например, Нейт Сильвер[14]), в свою очередь, использовали самые сложные методики прогнозирования. Их предсказания не сбылись, потому что у них было меньше ресурсов, чем у штаба Обамы, но и они оказались намного точнее, чем традиционные эксперты, чьи предсказания были основаны на собственных знаниях и опыте.
Вы можете возразить, что выборы 2012 года были просто случайностью: в большинстве избирательных кампаний шансы кандидатов не настолько одинаковы, и машинное обучение не может быть решающим фактором. Но дело в том, что машинное обучение будет приводить к тому, что в будущем все больше выборов окажутся уравновешенными. В политике, как и в других областях, использование обучения похоже на гонку вооружений. В дни Карла Роува, бывшего специалиста по прямому маркетингу и добыче данных, республиканцы лидировали. К 2012 году они отстали, но теперь вновь догоняют демократов. Неизвестно, кто вырвется вперед во время следующей избирательной кампании, но обе партии станут усердно работать над победой, а значит, лучше понимать избирателей и на основе этого знания точно наносить удары и даже подбирать кандидатов. То же самое касается общей политической платформы партий во время выборов и между ними: если основанная на достоверных данных подробная модель избирателя подсказывает, что программа у партии проигрышная, ее изменят. В результате разрыв между кандидатами на выборах будет менее значительным и устойчивым, и при прочих равных начнут побеждать кандидаты с лучшими моделями избирателей, а избиратели будут этому способствовать.
Любопытно, какие там у Трампа алгоритмы и чем клинтоновские хуже? )
В общем, у автора получилась хорошая книжка про то, как устроены алгоритмы машинного обучения, на каких фундаментальных (и не очень) принципах они базируются, как развиваются и что мы от всего этого получим.
Ложечка дегтя: сомневаюсь, что книжка будет понятна гуманитариям. Фрагмент навскидку:
От «Евгения Онегина» до Siri
В преддверии Первой мировой войны русский математик Андрей Марков опубликовал статью, где вероятности применялись, помимо всего прочего, к поэзии. В своей работе он моделировал классику русской литературы - пушкинского «Евгения Онегина» - с помощью подхода, который мы сейчас называем цепью Маркова. Вместо того чтобы предположить, что каждая буква сгенерирована случайно, независимо от остальных, Марков ввел абсолютный минимум последовательной структуры: допустил, что вероятность появления той или иной буквы зависит от буквы, непосредственно ей предшествующей. Он показал, что, например, гласные и согласные обычно чередуются, поэтому, если вы видите согласную, следующая буква (если игнорировать знаки пунктуации и пробелы) с намного большей вероятностью будет гласной, чем если бы буквы друг от друга не зависели. Может показаться, что это невеликое достижение, но до появления компьютеров требовалось много часов вручную подсчитывать символы, и идея была довольно новой. Если гласнаяi - это булева переменная, которая верна, если i-я по счету буква «Евгения Онегина» - гласная, и неверна, если она согласная, можно представить модель Маркова как похожий на цепочку график со стрелками между узлами, указывающими на прямую зависимость между соответствующими переменными:
Марков сделал предположение (неверное, но полезное), что в кажд ом месте текста вероятности одинаковы. Таким образом нам нужно оценить только три вероятности: P(гласная1 = верно); P(гласнаяi+1 = верно | гласнаяi = верно) и P(гласнаяi+1 = верно | гласнаяi = верно). (Поскольку сумма вероятностей равна единице, из этого можно сразу получить P(гласная1 = ложно) и так далее.) Как и в случае наивного байесовского алгоритма, переменных можно взять сколько угодно, не опасаясь, что число вероятностей, которые надо оценить, пробьет потолок, однако теперь переменные зависят друг от друга.
Если измерять не только вероятность гласных в зависимости от согласных, но и вероятность следования друг за другом для всех букв алфавита, можно поиграть в генерирование новых текстов, имеющих ту же статистику, что и «Евгений Онегин»: выбирайте первую букву, потом вторую, исходя из первой, и так далее. Получится, конечно, полная чепуха, но, если мы поставим буквы в зависимость от нескольких предыдущих букв, а не от одной, текст начнет напоминать скорее бессвязную речь пьяного - местами разборчиво, хотя в целом бессмыслица. Все еще недостаточно, чтобы пройти тест Тьюринга, но модели вроде этой - ключевой компонент систем машинного перевода, например Google Translate, которые позволяют увидеть весь интернет на английском (или почти английском), независимо от того, на каком языке написана исходная страница.
PageRank - алгоритм, благодаря которому появился Google, - тоже представляет собой марковскую цепь. Идея Ларри Пейджа заключалась в том, что веб-страницы, к которым ведут много ссылок, вероятно, важнее, чем страницы, где их мало, а ссылки с важных страниц должны сами по себе считаться больше. Из-за этого возникает бесконечная регрессия, но и с ней можно справиться с помощью цепи Маркова. Представьте, что человек посещает один сайт за другим, случайно проходя по ссылкам. Состояния в этой цепи Маркова - это не символы, а веб-страницы, что увеличивает масштаб проблемы, однако математика все та же. Суммой баллов страницы тогда будет доля времени, которую человек на ней проводит, либо вероятность, что он окажется на этой странице после долгого блуждания вокруг нее.
Цепи Маркова появляются повсюду, это одна из самых активно изучаемых тем в математике, но это все еще сильно ограниченная разновидность вероятностных моделей. Сделать шаг вперед можно с помощью такой модели:
Состояния, как и ранее, образуют марковскую цепь, но мы их не видим, и надо вывести их из наблюдений. Это называется скрытой марковской моделью, сокращенно СММ (название немного неоднозначное, потому что скрыта не модель, а состояния). СММ - сердце систем распознавания речи, например Siri. В задачах такого рода скрытые состояния - это написанные слова, наблюдения - это звуки, которые слышит Siri, а цель - определить слова на основе звуков. В модели есть два элемента: вероятность следующего слова при известном текущем, как в цепи Маркова, и вероятность услышать различные звуки, когда произносят слово. (Как именно сделать такой вывод - интересная проблема, к которой мы обратимся после следующего раздела.)
Кроме Siri, вы используете СММ каждый раз, когда разговариваете по мобильному телефону. Дело в том, что ваши слова передаются по воздуху в виде потока битов, а биты при передаче искажаются. СММ определяет, какими они должны быть (скрытые состояния), на основе полученных данных (наблюдений), и, если испортилось не слишком много битов, у нее обычно все получается.
Скрытая марковская модель - любимый инструмент специалистов по вычислительной биологии. Белок представляет собой последовательность аминокислот, а ДНК - последовательность азотистых оснований. Если мы хотим предсказать, например, в какую трехмерную форму сложится белок, можно считать аминокислоты наблюдениями, а тип складывания в каждой точке - скрытым состоянием. Аналогично можно использовать СММ для определения мест в ДНК, где инициируется транскрипция генов, а также многих других свойств.
Если состояния и наблюдения - не дискретные, а непрерывные переменные, СММ превращается в так называемый фильтр Калмана . Экономисты используют эти фильтры, чтобы убрать шум из временных рядов таких величин, как внутренний валовой продукт (ВВП), инфляция и безработица. «Истинные» значения ВВП - это скрытые состояния. На каждом временном отрезке истинное значение должно быть схоже и с наблюдаемым, и с предыдущим истинным значением, поскольку в экономике резкие скачки встречаются нечасто. Фильтр Калмана находит компромисс между этими условиями и позвол яет получить более гладкую, но соответствующую наблюдениям кривую. Кроме того, фильтры Калмана не дают ракетам сбиться с курса, и без них человек не побывал бы на Луне.
Ну и т.д. Честно, не представляю, как бы эту книгу читали юристы, историки, лингвисты и прочие лирики. Но автор старается говорить просто о сложных вещах, тут не поспоришь. И если я ошибаюсь - буду только рад. А если прав - пусть сразу переходят к главе "Секс, ложь и машинное обучение". )
Резюмирую: очень симпатичная книжка про машинное обучение и перспективы его развития. Стоит прочесть.