История искусственного интеллекта в современном понимании берет начало с Дартмутского семинара, на котором впервые и прозвучал сам термин «искусственный интеллект». Семинар проходил летом 1956 г. в Дартмутском колледже недалеко от Ганновера, штат Нью-Гэмпшир, и был организован двумя исследователями – Марвином Мински и Джоном МакКарти. Марвин Мински был увлечен концепцией самообучающейся машины. В 1951 г. он в компании еще одного студента из Принстона построил одну из первых подобных машин, SNARC, небольшую электронную нейронную сеть с 40 «синапсами», способную к элементарному обучению. Джон МакКарти, в свою очередь, изобрел LISP, язык программирования, широко используемый в разработке ИИ.
Джону МакКарти также приписывают применение графов для создания шахматных программ. В работе семинара приняло участие около 20 исследователей, в том числе Клод Шеннон, инженер-электротехник и математик из Bell Labs (лаборатории гигантской телефонной компании AT&T в Нью-Джерси), Натан Рочестер из IBM и Рэй Соломонофф – основоположник концепции машинного обучения.
Участники бурно обсуждали области, движимые зарождающимися автоматизированными вычислениями и кибернетикой: изучение правил в естественных и искусственных системах, сложная обработка информации, искусственные нейронные сети, теория автоматов… На этом небольшом семинаре были разработаны и декларированы основные принципы и подходы к созданию искусственного интеллекта. Сам термин предложил все тот же Джон МакКарти.
Логика превыше всего
В настоящее время часть ученых представляет себе интеллектуальные машины, работающие только на основе логики и использующие для этого деревья поиска и экспертные системы. Инженер вводит в систему данные и правила их обработки, а система извлекает из них результаты вычислений или анализа. Более широкая цель ученых заключается в создании машины, способной заменить человека в сложных рассуждениях. Аллан Ньюэлл и Герберт Саймон из Университета Карнеги-Меллона в Питтсбурге первыми разработали программу Logic Theorist («Логический теоретик»), которая умела доказывать простые математические теоремы, исследуя дерево поиска, составленное из преобразований математических формул. Это было прекрасное время.
Однако через некоторое время тематика ИИ надолго погрузилась в спячку. В 1970 г. Агентство Министерства обороны США ARPA[11] сократило бюджеты фундаментальных исследований в области ИИ. Три года спустя, после отчёта Лайтхилла, который дал крайне пессимистические прогнозы для будущих исследований в области искусственного интеллекта, Великобритания сделала то же самое. Нет денег – нет исследований…
Процесс сдвинулся с мертвой точки в начале 1980-х. В то время большие надежды подавали экспертные системы, и Япония запустила амбициозный проект по созданию «компьютера пятого поколения», который должен был интегрировать навыки логического мышления в саму его конструкцию. Он должен был уметь вести беседу, переводить тексты, интерпретировать изображения и, возможно, даже рассуждать, как человек. К сожалению, эта идея себя не оправдала. Разработка и коммерциализация экспертных систем, таких как MYCIN, о которой мы уже говорили, оказались намного сложнее, чем ожидалось.
Идея поставить рядом с врачами или инженерами когнитологов (специалистов по восприятию и познанию), пытавшихся записать ход их мыслей или рассуждений в процессе диагностики болезни или неисправности, не сработала. Это опять оказалось сложнее, дороже и вовсе не так надежно, как предполагалось вначале, и к тому же упрощало знания и опыт, накопленные специалистом, до примитивного набора правил.
С этим «классическим» интеллектом, который так трудно воспроизвести, связаны алгоритмы на графах, которые тоже имели в свое время оглушительный успех.
Игровой мир
В 1997 г. чемпиона мира по шахматам Гарри Каспарова пригласили в Нью-Йорк принять участие в матче из шести партий против Deep Blue, суперкомпьютера, созданного транснациональной корпорацией IBM, – монстра высотой почти 2 м и весом 1,4 т. В шестой, заключительной партии матча, которую предваряли три ничьи и по одной победе с каждой стороны, Гарри Каспаров сдался уже на двадцатом ходу. Он признался, что был поражен и побежден вычислительной мощью машины.
Давайте на минутку остановимся на устройстве Deep Blue. В компьютере было 30 процессоров, дополненных 480 схемами, специально разработанными для проверки позиций на шахматной доске. Обладая такой вычислительной мощностью, машина могла оценивать качество примерно 200 млн позиций на доске в секунду, используя классические алгоритмы деревьев поиска.
Несколько лет спустя, 14, 15 и 16 февраля 2011 г., после трех раундов игры компьютер IBM Watson одержал победу в американской игре-викторине – Jeopardy! Аватар компьютера, размещенный между двумя чемпионами, представлял собой земной шар, покрытый световыми лучами. Программа, написанная учеными-компьютерщиками, удаляла из вопроса ненужные слова (артикли, предлоги…), определяла значимые слова и искала эти слова в огромном количестве текстов, порядка 200 млн страниц, определяя там те предложения, в которых можно было найти ответ.
Эти тексты, а именно вся Википедия, энциклопедии, словари, тезаурусы, сообщения информационных агентств, литературные произведения, хранились в его оперативной памяти объемом 16 терабайт[12] (жесткие диски были бы слишком медленными для таких задач). Сотни тысяч объектов и имен собственных сформировали большой список записей, каждая из которых относилась к определенной статье Википедии, веб-странице или тексту, где она появилась… Система Watson проверяла, существует ли документ, в котором присутствует часть ключевых терминов вопроса. После этой проверки проблема сводилась к нахождению правильного ответа в статье.
Например, если бы вопрос звучал так: «Где родился Барак Обама?», система Watson знала, что ответом будет название места. В ее базе данных был список всех документов, в которых упоминался Барак Обама. Поэтому где-нибудь обязательно нашлась бы статья со словами «Обама», «родился» и «Гавайи». Затем машине просто нужно было выбрать слово «Гавайи», соответствующее ответу. Watson, по сути, состояла из системы быстрого поиска информации в сочетании с хорошей индексацией данных. Но эта система не понимала смысла вопроса. Она вела себя как школьник, выполняющий домашнее задание с открытой книгой (или открытой Википедией!). На заданный вопрос она может найти правильный ответ в учебнике и переписать его, ничего не понимая в том, что пишет.
В 2016 г. появляется еще одно достижение. В Сеуле южнокорейский чемпион по игре в го был побежден своим компьютерным противником AlphaGo, внушительной системой, разработанной DeepMind, дочерней компанией Google. Восемнадцатикратный чемпион мира Ли Седоль проиграл машине четыре игры из пяти. В отличие от Deep Blue, AlphaGo была «обучена». Она тренировалась, играя против самой себя, сочетая при этом несколько хорошо известных методов: сверточные сети, усиленное обучение и метод Монте-Карло для поиска в дереве, метод «рандомизированных деревьев поиска». Впрочем, не будем забегать вперед.
Нейробиология и перцептрон
В 1950-х гг., когда «великие магистры» классического искусственного интеллекта, основанного на логике и графах, раздвинули границы его применения, пионеры машинного обучения сформулировали альтернативные идеи. Они были уверены, что логики недостаточно, чтобы компьютерные системы были способны решать сложные задачи. Необходимо было приблизиться к функционированию мозга и тем самым сделать системы способными программировать самих себя, опираясь на механизмы обучения мозга. Это направление основано на так называемом «глубоком обучении» (deep learning) и искусственных нейронных сетях, – именно в этой области я и работаю. На подобных механизмах основана работа большинства продвинутых современных приложений, включая автономные автомобили.
Происхождение метода относится к середине прошлого века. Еще в 1950-х гг. пионеры искусственного интеллекта поддерживали теории, разработанные Дональдом Хеббом, канадским психологом и нейробиологом, который, в частности, размышлял о роли нейронных связей в обучении. Вместо того чтобы воспроизводить логические цепочки человеческих рассуждений, почему бы не исследовать их носитель, этот потрясающий биологический процессор, которым является мозг?
Таким образом, исследователи вычислений сконцентрировались на нейронном способе обработки информации в отличие от ранее применявшейся логической, или «последовательной», обработки. Они нацелились на моделирование биологических нейронных цепей. Машинное обучение, на которое были направлены их усилия, основывалось на оригинальной архитектуре, сети математических функций, которые по аналогии называют «искусственными нейронами».
Они улавливают входной сигнал, и нейроны в сети обрабатывают его таким образом, что на выходе этот сигнал идентифицируется. Сложность операции, например, распознавание образов, поддерживается комбинированным взаимодействием очень простых элементов, а именно искусственных нейронов. Так и в нашем мозге взаимодействие основных функциональных единиц – нейронов – порождает сложные мысли.
Возникновение описываемой концепции датируется 1957 г.: в том же году в Корнельском университете психолог Фрэнк Розенблатт, вдохновленный когнитивной теорией Дональда Хебба, построил перцептрон – первую обучающуюся машину. Мы рассмотрим ее в следующей главе, так как она являются эталонной моделью машинного обучения. После обучения перцептрон способен, например, распознавать образы (геометрические фигуры, буквы и т. д.).
В 1970-х гг. два американца, Ричард Дуда, в то время профессор электротехники в Университете Сан-Хосе (Калифорния), и Питер Харт – ученый-компьютерщик из SRI (Стэнфордского исследовательского института) в Менло-Парке (Калифорния), обсуждали все эти так называемые методы «распознавания статистических форм[13]», примером которых является перцептрон. С самого начала их руководство стало мировым эталоном, Библией распознавания образов для всех студентов… и для меня тоже.
Но перцептрон далеко не всесилен. Система, состоящая из одного слоя искусственных нейронов, имеет «врожденные» ограничения. Исследователи пытались увеличить его эффективность, вводя несколько слоев нейронов вместо одного. Но без алгоритма обучения слоев, который к тому моменту еще не был известен, такие машины все еще оставались очень малоэффективными.
Эпоха застоя
Перейдем к кому времени, когда в 1969 г. Сеймур Паперт и Марвин Мински – тот самый, который в 1950-х гг. увлекался искусственными нейронными сетями, прежде чем отречься от них, опубликовали книгу «Перцептроны: Введение в вычислительную геометрию»[14]. Они математически доказали пределы возможностей перцептрона, и некоторые из доказанных ими ограничений по сути поставили крест на использовании этой и подобных машин.
Казалось, развитие уперлось в непреодолимую стену. Эти два профессора Массачусетского технологического института пользовались большим авторитетом, так что их работа наделала много шума. Агентства, финансирующие исследования, прекратили поддержку исследовательских работ в этой области. Как и исследования в GOFAI, исследования нейронных сетей пережили серьезный застой.
В этот период большинство ученых перестали говорить о создании умных машин, способных к обучению. Они предпочитали ограничивать свои амбиции более приземленными проектами. Используя методы, унаследованные от нейронных сетей, они создали, например, «адаптивную фильтрацию» – процесс, лежащий в основе многих коммуникационных технологий в современном мире. Прежде физические свойства проводных линий связи сильно ограничивали передачу высокочастотных сигналов, приводя к их существенным искажениям уже на расстоянии нескольких километров. Теперь сигнал восстанавливается с помощью адаптивного фильтра. Используемый алгоритм называется Luckyʼs Algorithm в честь его изобретателя Боба Лаки, который в конце 1980-х руководил отделом Bell Labs, где тогда работало около 300 человек. в том числе и я.
Без адаптивной фильтрации у нас не было бы телефона с громкой связью, который позволяет вам говорить в микрофон без самовозбуждения, происходящего от усиления микрофоном звука громкоговорителя (когда это случается, мы слышим громкий вой или свист). В эхокомпенсаторах, кстати, используются алгоритмы, очень похожие на алгоритм перцептрона.
Не появился бы без этой технологии и модем[15]. Это устройство позволяет одному компьютеру коммуницировать с другим компьютером по телефонной линии или иной линии связи.
Преданные последователи
Тем не менее, и во времена застоя в 1970-х и 1980-х гг. некоторые ученые продолжали работать над нейронными сетями, хотя научное сообщество считало их сумасшедшими, чуть ли не фанатиками. Я имею в виду Теуво Кохонена, финна, который написал об «ассоциативных воспоминаниях» – теме, близкой к нейронным сетям. Я также говорю и о группе японцев – в Японии существует изолированная инженерная экосистема, отличная от западной, – и среди них о математике Сун-Ити Амари и исследователе искусственного интеллекта Кунихико Фукусима. Последний работал над машиной, которую он назвал «когнитроном», по аналогии с термином «перцептрон». Он создал две его версии: «когнитрон» 1970-х и «неокогнитрон» 1980-х. Как и Розенблатт в свое время, Фукусима был вдохновлен достижениями нейробиологии, особенно открытиями американца Дэвида Хьюбела и шведа Торстен Н. Визеля.
Эти два нейробиолога получили Нобелевскую премию по физиологии в 1981 г. за свою работу над зрительной системой кошек. Они обнаружили, что зрение возникает в результате прохождения визуального сигнала через несколько слоев нейронов, от сетчатки до первичной зрительной коры, затем в другие области зрительной коры, и, наконец – в нижневисочную кору. Нейроны в каждом из этих слоев выполняют особые функции. В первичной зрительной коре каждый нейрон связан только с небольшой областью поля зрения, а именно со своим рецепторным полем. Такие нейроны называются «простыми». В следующем слое другие нейроны включают активацию предыдущего слоя, что помогает поддерживать представление изображения, если объект немного перемещается в поле зрения. Такие нейроны называются «сложными».
Таким образом, Фукусима был вдохновлен идеей первого слоя простых нейронов, которые обнаруживают простые узоры в небольших рецепторных полях, выдающих изображение, и сложных нейронов в следующем слое. Всего в неокогнитроне было пять слоев: простые нейроны – сложные нейроны – простые нейроны – сложные нейроны, и затем «классификационный слой», подобный перцептрону. Он, очевидно, использовал для первых четырех уровней некоторый алгоритм обучения, но последний был «неконтролируемым», то есть он не принимал во внимание конечную задачу. Такие слои обучались «вслепую». Только последний слой обучался под наблюдением (как и перцептрон). У Фукусимы не было алгоритма обучения, который регулировал бы параметры всех слоев его неокогнитрона. Однако его сеть позволяла распознавать довольно простые формы, например, символы чисел.
В начале 1980-х гг. идеи Фукусимы поддерживали и другие ученые. Некоторые североамериканские исследовательские группы также работали в этой области: психологи Джей Макклелланд и Дэвид Румелхарт, биофизики Джон Хопфилд и Терри Сейновски, и ученые-компьютерщики, в частности Джеффри Хинтон – тот самый, с которым я впоследствии разделю Премию Тьюринга, присужденную в 2019 г.