Минский яро поддерживал проект «Cайк»[26], самый известный провал в истории искусственного интеллекта. Целью «Cайка» было создание искусственного интеллекта путем ввода в компьютер всего необходимого знания. Когда в 1980-х годах проект стартовал, его руководитель Дуглас Ленат уверенно предрекал успех в течение десяти лет. Три десятилетия спустя «Cайк» продолжает расти, а здравый смысл и рассуждения все еще от него ускользают. По иронии, Ленат запоздало согласился заполнять «Cайк» данными, полученными из интернета, но не потому, что «Cайк» научился читать, а потому, что другого выхода не было.
Даже если каким-то чудом удастся закодировать все необходимое, проблемы только начнутся. Многие годы множество исследовательских групп пытались построить полные интеллектуальные агенты, складывая алгоритмы зрения, распознавания речи, понимания языка, рассуждения, планирования, навигации, манипуляций и так далее. Но без объединяющих рамок все эти попытки вскоре наталкивались на непреодолимую стену сложности: слишком много движущихся элементов, слишком много взаимодействий, слишком много ошибок, а разработчики программного обеспечения — всего лишь люди и не могут со всем этим совладать. Инженеры знаний убеждены, что искусственный интеллект — очередная инженерная проблема, однако человечество пока еще не достигло точки, в которой инженерия поможет нам дойти до финишной черты. В 1962 году, когда Кеннеди произнес свою знаменитую речь в честь запуска человека на Луну, этот полет был инженерной проблемой. В 1662 году — нет. В области искусственного интеллекта мы сегодня ближе к XVII веку.
Нет никаких признаков, что инженерия знаний когда-либо будет в состоянии соревноваться с машинным обучением за пределами нескольких ниш. Зачем платить экспертам за медленное, муторное превращение знаний в понятную компьютерам форму, если компьютер сам может извлечь их из данных гораздо дешевле? А как насчет всего того, что эксперты просто не знают, но что можно открыть на основе данных? А если данные недоступны, стоимость инженерии знаний редко превышает пользу. Представьте, что фермерам приходилось бы проектировать каждый початок кукурузы, вместо того чтобы засеять семена и дать им вырасти: мы все умерли бы от голода.
Другой выдающийся ученый, не верящий в машинное обучение, — лингвист Ноам Хомский[27]. Хомский уверен, что язык обязательно должен быть врожденным, потому что примеров грамматически правильных предложений, которые слышат дети, недостаточно, чтобы научиться грамматике. Однако это только перекладывает бремя обучения языку на эволюцию, и это аргумент не против Верховного алгоритма, а лишь против того, что он похож на головной мозг. Более того, если универсальная грамматика существует (как полагает Хомский), пролить на нее свет — значит сделать шаг к прояснению вопроса о Верховном алгоритме. Это было бы не так, лишь если бы язык не имел ничего общего с другими когнитивными способностями, но это неправдоподобно, учитывая, что в ходе эволюции он появился недавно.
В любом случае, если формализовать аргумент Хомского о «бедности стимула», мы обнаружим, что он очевидно ложен. В 1969 году Джим Хорнинг[28] доказал, что стохастические контекстно-свободные грамматики можно выучить на одних положительных примерах, а затем последовали еще более сильные результаты. (Контекстно-свободная грамматика — хлеб насущный для лингвистов, а их стохастические версии моделируют, с какой вероятностью следует использовать каждое правило.) Кроме того, обучение языку не происходит в вакууме: дети получают от родителей и среды всевозможные подсказки. То, что язык можно выучить на примерах всего за несколько лет, отчасти возможно благодаря сходству между его структурой и структурой мира. Эта общая структура — именно то, что нас интересует, и от Хорнинга и других мы знаем, что ее будет достаточно.
Если говорить более обобщенно, Хомский критически относится к статистическому обучению любого рода. У него есть список того, что не могут делать статистические обучающиеся алгоритмы, однако этот список устарел полвека назад. Хомский, по-видимому, приравнивает машинное обучение к бихевиоризму, в котором поведение животных сводится к ассоциативным реакциям на награды. Но машинное обучение не бихевиоризм. Современные алгоритмы обучения могут научиться богатым внутренним представлениям, а не только парным ассоциациям между стимулами.
В конце концов, практика — критерий истины. Статистические алгоритмы обучения языку работают, а построенные вручную языковые системы — нет. Первое прозрение пришло в 1970-х годах, когда DARPA (Defense Advanced Research Projects Agency — Агентство передовых оборонных исследовательских проектов, научно-исследовательское крыло Пентагона) запустило первый широкомасштабный проект по распознаванию речи. Ко всеобщему удивлению, простой последовательный обучающийся алгоритм того типа, который высмеивал Хомский, ловко победил сложную систему, основанную на знаниях. Такие обучающиеся алгоритмы теперь используются практически во всех распознавателях речи, включая Siri. Фред Елинек, глава группы распознавания речи в IBM, как-то пошутил: «Всякий раз, когда я увольняю лингвиста, программа начинает работать эффективнее». Увязнув в трясине инженерии знаний, специалисты по компьютерной лингвистике чуть не вымерли в конце 1980-х годов. С тех пор в этой области безраздельно господствуют методы, основанные на машинном обучении: на конференциях по компьютерной лингвистике сложно найти доклад, в котором бы не было чего-нибудь на эту тему. Парсеры статистики анализируют язык с точностью, близкой к человеческой, оставляя далеко позади написанные вручную программы. Машинный перевод, исправление орфографии, определение частей речи, разрешение лексической многозначности, ответы на вопросы, диалоги, подведение итогов — все лучшие системы в этих областях используют машинное обучение. Watson — компьютер, выигравший в Jeopardy! — своим появлением обязан именно ему.
На это Хомский мог бы ответить, что инженерные успехи еще не доказательство научной обоснованности. Однако если ваши дома разваливаются, а двигатели не работают, видимо, с вашей физической теорией что-то не так. Хомский полагает, что лингвисты должны сосредоточиться на «идеальных», по его собственному определению, носителях языка, и это дает ему право игнорировать необходимость в статистике при обучении языку. Неудивительно, что лишь немногие экспериментаторы теперь принимают его теории всерьез.
Еще один потенциальный источник возражений против Верховного алгоритма — это мнение, популяризированное психологом Джерри Фодором[29]: разум состоит из набора модулей, взаимодействие между которыми ограничено. Например, когда вы смотрите телевизор, ваш «высокоуровневый мозг» понимает, что это всего лишь световые вспышки на плоской поверхности, однако система восприятия зрения по-прежнему видит трехмерные формы. Но даже если сознание модулярно, это еще не значит, что в разных модулях используются разные алгоритмы обучения. Может быть, для работы, скажем, со зрительной и вербальной информацией достаточно одного алгоритма.
Критики вроде Минского, Хомского и Фодора когда-то торжествовали, но их влияние испарилось. Это хорошо, но тем не менее нельзя забывать об их аргументах, когда будем прокладывать путь к Верховному алгоритму. На то есть две причины. Первая — инженеры знаний сталкивались со многими проблемами, стоящими перед машинным обучением, и даже если они не преуспели в их решении, то извлекли много ценных уроков. Вторая — машинное обучение и инженерия знаний, как мы вскоре выясним, переплетены неожиданными и хитроумными связями. К сожалению, оба лагеря часто не слышат друг друга и говорят на разных языках: специалисты по машинному обучению мыслят в категориях вероятностей, а инженеры знаний — в категориях логики. Ниже