Рис. 2.1. Участники Летней школы по коннекционистским моделям 1986 г. в Университете Карнеги-Меллона (Питтсбург, США)
На фото мы видим Станисласа Дехаена (SD), Майкла Джордана (MJ), Джея Макклелланда (JMcC), Джеффри Хинтона (GH), Терри Сейновски (TS) и меня (YLC). Многие участники встречи тоже станут видными фигурами в области машинного обучения, искусственного интеллекта и когнитивных наук: Энди Барто, Дэйв Турецки, Джерри Тезауро, Джордан Поллак, Джим Хендлер, Майкл. Мозер, Ричард Дурбин и ряд других (© Организаторы летней школы).
Хотя я был всего лишь аспирантом, Джеффри предложил мне выступить с речью, объясняя это тем, что именно я создал алгоритм обратного распространения. За ужином, запив его хорошей бутылкой бордо, которую я привез с собой в багаже, он сказал мне, что через год планирует уйти из университета Карнеги-Меллон[25] и перейти в Университет Торонто. «Вы хотите присоединиться ко мне в качестве младшего исследователя?» Конечно! У меня оставался лишь год на то, чтобы защитить докторскую.
Революция продолжалась. Публикация статьи Рамельхарта-Хинтона-Уильямса об обратном распространении произвела эффект взорвавшейся бомбы[26]. Новости об успехе NetTalk распространялись как лесной пожар. Сообщество исследователей нейронных сетей быстро пополнялось все новыми участниками.
Мое программное обеспечение для моделирования нейронных сетей и обучения методом обратного распространения ошибки – все еще называемое HLM – представляло интерес для некоторых французских производителей. В частности, программу купила компания Thomson-CSF (теперь Thales).
Я получил докторскую степень в июне 1987 г. Диссертацию в Университете Пьера и Марии Кюри (теперь переименованном в Университет Сорбонны) я защищал в буквальном смысле на костылях, потому что в апреле сломал лодыжку, экспериментируя с новым методом передвижения по песку при помощи паруса! Джеффри Хинтон входил в состав жюри вместе с Морисом Милграмом, Франсуазой Фогельман-Суле, Жаком Питра (один из столпов исследований в области символического ИИ во Франции) и Бернаром Анжениолем (директором исследовательской группы Thomson-CSF). Через месяц я присоединился к Джеффри в Торонто вместе с женой и нашим ребенком, которому тогда исполнился всего лишь год. Моя жена согласилась отодвинуть на второй план свою карьеру фармацевта и заниматься сыном во время нашего пребывания в США, которое, как мы считали, не должно было продлиться более года…
Я взял с собой одного из своих друзей, Леона Ботту, студента, которого я встретил в начале 1987 г., когда он учился на последнем курсе Политехнической школы. Он проявил интерес к нейронным сетям и решил пройти со мной выпускную стажировку, не сообщив администрации школы, что я на тот момент еще не защитил докторскую. У меня уже были планы написать новое программное обеспечение для создания и обучения нейронных сетей. Это должен был быть симулятор, управляемый интерпретатором Lisp (особенно гибкого и интерактивного языка программирования). Я попросил Леона создать такой интерпретатор[27], что он и сделал буквально за три недели. Нашему сотрудничеству способствовал тот факт, что мы работали на одинаковых компьютерах: Amiga от компании Commodore. В отличие от ПК и Mac того времени, компьютеры Amiga обладали свойствами, аналогичными свойствам рабочих станций Unix, широко распространенных в ИТ-отделах по обе стороны Атлантики: они программируются на языке C с помощью компилятора gcc и текстового редактора Emacs. Я писал диссертацию на своем Amiga, используя компьютерную систему обработки текстов LaTeX. Мы обменивались программами удаленно, подключая к нашим компьютерам сеть Minitel.
Мы назвали новую программу SN (от термина «Neuronal Simulator», т. е. «нейронный симулятор»). Ее написание положило начало сотрудничеству и дружбе, продлившимся долгие годы: и сегодня офис Леона находится рядом с моим, в помещении FAIR[28] в Нью-Йорке.
В Торонто я закончил работу над SN и модифицировал эту программу, чтобы реализовать идею архитектуры нейронной сети, адаптированной к распознаванию изображений, которую я обдумывал уже некоторое время (теперь эта архитектура называется «сверточной сетью»; см. Главу 6). Она была вдохновлена неокогнитроном Фукусимы, но использовала более «классические» нейроны и управлялась алгоритмом обратного распространения. В то же время Джеффри Хинтон разработал другой, более простой тип сверточной сети, которую он использовал для распознавания речи. Он назвал ее TDNN (Time Delay Neural Network, т. е. «нейронная сеть с временной задержкой»).
26
D. E. Rumelhart, G. E. Hinton, R. J. Williams, Learning internal representations by error propagation, in D. E. Rumelhart, J. L. McClelland, PDP Researche Grou Parallel Distributed Processing: Explorations in the Microstructure of Cognition, MIT Press, 1986, vol. 1, p. 318–362.
27
Язык Lisp был создан в конце 50-х годов автором термина «искусственный интеллект» специально для работы с ИИ. Долгое время он, в различных вариантах, которых было очень много, занимал в разработке ИИ то место, которое теперь занимает Python. Как и Python, Lisp является интерпретируемым языком, он нуждается в запущенной программе – интерпретаторе, которая построчно исполняет (интерпретирует) написанный на языке Lisp программный код. Интерпретатор, в свою очередь, может быть написан для разных целей и с разными особенностями. Леон Ботта, очевидно, написал интерпретатор Lisp, специализированный именно для управления симулятором Лекуна. –