Критики вроде Минского, Хомского и Фодора когда-то торжествовали, но их влияние испарилось. Это хорошо, но тем не менее нельзя забывать об их аргументах, когда будем прокладывать путь к Верховному алгоритму. На то есть две причины. Первая — инженеры знаний сталкивались со многими проблемами, стоящими перед машинным обучением, и даже если они не преуспели в их решении, то извлекли много ценных уроков. Вторая — машинное обучение и инженерия знаний, как мы вскоре выясним, переплетены неожиданными и хитроумными связями. К сожалению, оба лагеря часто не слышат друг друга и говорят на разных языках: специалисты по машинному обучению мыслят в категориях вероятностей, а инженеры знаний — в категориях логики. Ниже мы посмотрим, что с этим сделать.
Лебедь кусает робота
«Как бы ни был умен алгоритм, всегда есть то, что он не может узнать». Это утверждение в разных формулировках — самое частое возражение против машинного обучения за пределами науки об искусственном интеллекте и когнитивистики. Нассим Талеб[30] изо всех сил напирал на него в своей книге The Black Swan: The Impact of the Highly Improbable[31]. Некоторые события просто непредсказуемы: если человек видел только белых лебедей, он будет считать, что вероятность когда-нибудь встретить черного равна нулю. Финансовый крах 2008 года оказался как раз таким «черным лебедем».
Действительно, некоторые вещи можно предсказать, а некоторые нельзя, и отличать одно от другого — первейшая задача алгоритма машинного обучения. Однако цель Верховного алгоритма — узнать все, что можно узнать, и этих знаний намного больше, чем может себе представить Талеб и не только он. Спад жилищного рынка совсем не был черным лебедем: его многократно предсказывали. Большинство банковских моделей не смогли его предвидеть исключительно из-за их довольно очевидных ограничений, а не в силу ограниченности машинного обучения как такового. Обучающиеся алгоритмы вполне способны точно предсказать редкие, никогда до этого не происходившие события: можно даже сказать, что в этом весь их смысл. Какова вероятность существования черного лебедя, если его никогда не видели? А как насчет доли известных науке видов, которые, как оказалось, имеют черных представителей? Это очень грубый пример — в этой книге мы увидим гораздо более глубокие.
Еще одно схожее и часто повторяемое возражение: «Данные не могут заменить человеческой интуиции». На самом деле это человеческая интуиция не может заменить данных. К интуиции мы прибегаем, когда не знаем фактов, а поскольку фактов часто не хватает, интуицией люди очень дорожат. Но если перед вами доказательства, разве вы станете их отрицать? Статистический анализ побеждает искателей талантов в бейсболе (это замечательно описано в книге Майкла Льюиса MoneyBall[32]), он превосходит знатоков в дегустации вин, и каждый день мы видим все новые примеры его способностей. Вследствие наплыва данных граница между доказательствами и интуицией очень быстро смещается, и, как при любой революции, въевшиеся привычки надо преодолеть. Если я эксперт по теме X в компании Y, мне, конечно не понравится, когда меня обойдет какой-то парень с данными. Есть профессиональная поговорка: «Слушай своих клиентов, а не HiPPO[33]». HiPPO — это «мнение самого высокооплачиваемого человека». Если вы хотите быть авторитетом и завтра, пользуйтесь данными, а не боритесь с ними.
«Ладно, — скажет кто-то. — Машинное обучение может находить статистические закономерности в данных, но оно никогда не откроет ничего серьезного, например законов Ньютона». Возможно, пока не откроет, но ручаюсь, в будущем все изменится. Если не брать истории про падающие яблоки, глубокие научные истины найти совсем не легко. Наука в своем развитии проходит через три этапа, которые можно назвать фазами Браге, Кеплера и Ньютона. В фазе Браге мы собираем много данных, как Тихо Браге, который ночь за ночью, год за годом кропотливо записывал положение планет. В фазе Кеплера мы подбираем к данным эмпирические законы: Кеплер это делал с движением планет. В фазе Ньютона мы открываем глубокие истины. Наука в значительной степени состоит из работы, подобной труду Браге и Кеплера, а ньютоновские проблески — редкость. Сегодня большие данные делают работу миллиардов Браге, а машинное обучение трудится, как миллионы Кеплеров. Если — будем надеяться — человечество еще ждут великие озарения, их с равной вероятностью могут породить и обучающиеся алгоритмы, и еще более занятые ученые будущего, и совместные усилия ученых и алгоритмов. (Конечно, Нобелевскую премию получат ученые, независимо от того, предложили они ключевые идеи или просто нажали на кнопку. У алгоритмов машинного обучения нет никаких амбиций.) В этой книге мы увидим, на что могут быть похожи эти алгоритмы, и порассуждаем о том, что они могут открыть — например, лекарство от рака.
Верховный алгоритм — лиса или еж?
Нам надо рассмотреть еще одно потенциальное возражение против Верховного алгоритма. Наверное, самое серьезное. Его выдвигают не инженеры знаний и не рассерженные эксперты, а сами практики машинного обучения. На секунду поставив себя на их место, я мог бы сказать: «Послушайте, Верховный алгоритм совершенно не похож на мою повседневную работу! Я перепробовал сотни алгоритмов для каждой проблемы, и для разных задач лучше подходят разные алгоритмы. Разве может один заменить все это многообразие?»
На это я отвечу: вы правы. Но разве не лучше вместо сотен вариантов многих алгоритмов пробовать сотни вариантов одного-единственного? Если выяснить, что в каждом алгоритме важно, а что нет, найти у важных элементов общее и посмотреть, как они дополняют друг друга, можно сложить из них Верховный алгоритм. Именно этим мы и займемся на страницах этой книги или хотя бы попытаемся как можно ближе к этому подойти. Наверное, у вас, дорогой читатель, по мере чтения тоже возникнут какие-то идеи на этот счет.
Насколько сложен будет Верховный алгоритм? Тысячи строк кода? Миллионы? Мы пока не знаем, но в машинном обучении бывало, что простые алгоритмы чудесным образом побеждали очень замысловатые. В известном эпизоде книги The Sciences of the Artificial[34] пионер искусственного интеллекта и нобелевский лауреат Герберт Саймон просит представить себе муравья, который упорно бежит по пляжу к себе домой. Путь муравьишки сложен не потому, что сложен он сам, а потому что вокруг полно маленьких дюн, на которые надо взбираться, и гальки, которую приходится обегать. Попытки смоделировать муравья, запрограммировав все возможные пути, будут обречены на провал. Аналогично самое сложное в машинном обучении — это данные. Все, что должен сделать Верховный алгоритм, — усвоить их, поэтому не надо удивляться, если сам он окажется несложным. Человеческая рука проста: четыре пальца вместе плюс отведенный в сторону большой. И несмотря на это, рука может делать и использовать бесконечное разнообразие инструментов. Верховный алгоритм по отношению к алгоритмам — то же, что рука по отношению к карандашам, мечам, отверткам и вилкам.