К тому времени, когда я начал писать кандидатскую диссертацию, в среде исследователей искусственного интеллекта сформировались два течения: одно объединяло сторонников выбора действий на основе правил, другое поддерживало принцип нейронных сетей. Исследователи из первого лагеря (их иногда называют сторонниками символических систем или экспертных систем) пытались научить компьютеры мыслить, кодируя последовательности логических правил: если X, то Y. Этот подход был хорошо применим для простых игр с четкой структурой («искусственные задачи»), но прекращал работать при расширении множества возможных вариантов. Чтобы сделать программное обеспечение способным решать проблемы реального мира, сторонники этого подхода опрашивали экспертов по тем или иным задачам, а затем кодировали их ответы в виде программ (отсюда второе название – «экспертные системы»).
Однако ученые из лагеря нейронных сетей использовали другой подход. Вместо того чтобы учить компьютер правилам, по которым действовал человеческий мозг, они пытались его реконструировать. Насколько нам известно, запутанные сети нейронов в мозге животных – единственная основа интеллекта, и исследователи полагали, что можно напрямую воссоздать эту основу. Они поставили перед собой задачу имитировать архитектуру мозга, выстраивая слои искусственных нейронов, способных получать и передавать информацию внутри структуры подобно нейронам живых существ. Электронным нейронным сетям не задают правил, которым надо следовать при принятии решений. В них просто вводят большое множество примеров какого-либо явления – картинок, шахматных партий, звуков – и позволяют сетям самим определять закономерности внутри массива данных. Иначе говоря, чем меньше человеческого вмешательства, тем лучше.
Различия между двумя подходами можно увидеть на примере простой задачи, в которой надо определить, есть ли на рисунке кошка. Чтобы помочь программе принять решение, основанный на правилах метод требует установить правило типа «если – то»: если сверху круга расположены два треугольника, то, возможно, кошка на рисунке есть. При использовании метода нейронных сетей программа получит миллионы образцов в виде фотографий с пометкой «кошка» или «нет кошки» и попытается самостоятельно выяснить, какие признаки в миллионах изображений наиболее тесно коррелируют с пометкой «кошка». В 1950-х и 1960-х годах ранние версии искусственных нейронных сетей дали многообещающие результаты и наделали немало шума. Но потом в 1969 году лагерь сторонников правил вырвался вперед, используя аргумент, что нейронные сети ненадежны и ограничены в применении. Метод нейронных сетей быстро вышел из моды, и в 1970-х годах наступила первая «зима искусственного интеллекта». В течение последующих десятилетий о нейронных сетях то вспоминали, то снова забывали. В 1988 году я использовал подход, похожий на метод нейронных сетей (скрытые марковские модели), чтобы создать Sphinx – первую в мире независимую от говорящего программу для распознавания непрерывной речи[7]. О моем достижении написали в New York Times[8]. Но этого оказалось недостаточно, и с началом долгого «ледникового периода» в области ИИ, растянувшегося почти на все 1990-е годы, о нейронных сетях снова забыли.
7
Ли К.-Ф. О распознавании естественной речи без обучения на образцах речи говорящего // Speech Coomunication 7. 1988. № 4. С. 375–379.
8
Маркофф Д. Разговор с машинами: прогресс ускоряется // New York Times. URL: https://www.nytimes.com/1988/07/06/business/business-technology-talking-to-machines-progress-is-speeded.html?mcubz=1.HTML-код?mcubz=1 (6 июля 1988 года).