История нейронных сетей в СССР
Сегодня нейронные сети широко известны благодаря достижениям таких учёных как Джеффри Хинтон, Йошуа Бенджио и Ян ЛеКун. Но далеко не все открытия в области коннекционизма сделаны на Западе. Над нейронными сетями начиная с конца 50-х годов активно работали и в Советском союзе, хотя за исключением специалистов сегодня немногие знают о подробностях этих исследований. Поэтому мы решили напомнить о работе советских учёных, рассказав историю отечественного коннекционизма.
Учёные Галушкин А.И. и Ивахненко А.Г.
1960-е стали золотым веком советской науки. К 1975 году ¼ от всего количества учёных в мире работала в СССР, при этом большое внимание уделялось точным наукам, плоды которых часто имели прикладное значение. Не обходили стороной и кибернетику, в которой видели огромный потенциал. Под влиянием военного и учёного Анатолия Китова она была реабилитирована после недолгой «опалы». Шла работа в области автоматического управления, машинного перевода, сетевых технологий… Сейчас бы мы сказали, что в СССР существовала целая школа искусственного интеллекта!
В рамках кибернетики развивалось и направление, которое мы привыкли называть нейросетевым. Юрген Шмитхубер, создатель известной нейросетевой архитектуры LSTM, известный в наши дни также как историк глубокого обучения, часто ссылается в своих выступлениях на вклад советских учёных в становление этого направления.
В 60-ые годы в СССР большими тиражами выходило несколько серьёзных тематических изданий, и, судя по наукометрической статистике, изрядная доля мировых коннекционистских исследований издавалась именно на русском языке. Коннекционизм в какой-то момент оказался настолько популярен, что им занялись не только в метрополии, но и в других городах и республиках, например в Армении и Грузии. К сожалению, пока что оцифрована лишь небольшая доля публикаций тех лет, большинство работ можно найти только в оффлайн-библиотеках.
«Шла машина из Тамбова» или чем занимался Маккарти в СССР
Несмотря на железный занавес, советские исследователи не варились в собственном соку. Существовал интенсивный обмен идеями между нашими и заграничными учёными. Если говорить про кибернетику, в 1965 году в рамках международного обмена группа западных исследователей посетила СССР. В составе делегации был и Джон Маккарти, автор термина «искусственный интеллект». После открытия III Всесоюзного совещания по автоматическому управлению (технической кибернетике) в Одессе и его продолжения на пароходе «Адмирал Нахимов», делегация отправилась в тур по советским научно-исследовательским институтам. Сначала они заехали в Киев и познакомились с академиком Виктором Глушковым, автором концепции ОГАС, а также с профессором Киевского политехнического института Алексеем Ивахненко, о котором речь пойдёт далее. Затем последовал визит в Тбилиси, где западных гостей встречал директор Института систем управления Академии наук Грузинской ССР Арчил Элиашвили. Там над многослойными (или, как их называли в советской литературе, «многорядными») перцептронами работали исследователи, имена которых сейчас даже человеку, подкованному в теме, мало что скажут. Они занимались в том числе системами распознавания речи. Уинстон Нельсон (Winston Nelson) из Лаборатории Белла, участвовавший в делегации, описывает визит в грузинскую лабораторию так:
«Там на полу был небольшой робот, и он передвигался согласно произносимым вслух командам. <...> А затем мы вернулись в офис директора, где стоял длинный стол, уставленный вазами с фруктами, хачапури и превосходным грузинским коньяком».
Помимо Одессы, Киева и Тбилиси, делегация посетила Баку, Москву, Минск, Ленинград и несколько других городов союзных республик. В Москве Маккарти встретился со своим старым знакомым — академиком Андреем Ершовым. Коллеги познакомились в декабре 1958 года в Великобритании на Конференции по автоматизации мыслительных процессов. После визита в Москву Маккарти в сопровождении Ершова отправился в новосибирский Академгородок, откуда через Москву вернулся домой (в реалиях холодной войны, когда Новосибирск был одним из полузакрытых научных центров, Ершову стоило больших трудов согласовать этот визит).
Отношения между Ершовым и Маккарти, судя по их переписке, были вполне дружеские, а не только профессиональные. Например, Маккарти в одном из писем просит Ершова прислать запись песни «Шла машина из Тамбова». Или вот другой пример: когда Маккарти гостил в Союзе, в рабочей группе Международной федерации по обработке информации произошёл конфликт относительно стандартов разработки языка Алгол 68. Тогда Никлаус Вирт откололся от большинства и начал работу над языком Паскаль. Маккарти и Ершов сочинили и записали в ответ на это шуточную песню, которую адресовали «раскольникам». Маккарти привёз запись на плёнке на очередное заседание рабочей группы. Произведение исполнялось, как вспоминали авторы, на мелодию «русской народной песни» «Это не я, глупышка» (на самом деле имеется в виду песня «It ain’t me, babe» Боба Дилана). У песни был и английский, и русский варианты. Приведём припев последнего:
Подайте нам язык другой,
Чтобы не было в нем обмана,
Чтоб на нем могла писать
Любая обезьяна…
Нет, нет, нет, — это не наш язык…
Через три года Маккарти ещё раз приехал в Академгородок — теперь уже на два месяца и в качестве сотрудника Вычислительного центра: он прочитал курс по верификации программ в Новосибирском университете. В ходе одной из поездок Маккарти познакомился с Александром Кронродом, который работал над шахматной программой, наследницей которой стала знаменитая «Каисса», и договорился о проведении первого в мире шахматного матча между компьютерными программами. В этом матче в 1967-м году советская шахматная программа, разработанная в Институте теоретической и экспериментальной физики, победила программу Стэнфордского университета со счётом 3-1.
Алексей Ивахненко и «Метод группового учёта аргументов»
В 1965-м году в издательстве «Мир» впервые увидел свет перевод на русский язык книги Фрэнка Розенблатта «Принципы нейродинамики». Учитывая, что оригинал вышел в 1962-м, можно предположить, что переводить её начали почти сразу после английской публикации. Одним из самых горячих поклонников подхода, использованного Розенблаттом, в СССР стал Алексей Григорьевич Ивахненко. Он начал заниматься перцептронами ещё до выхода этой книги и был знаком с ранними публикациями Розенблатта. В момент выхода перевода «Принципов нейродинамики» Ивахненко уже был признанным учёным, его книга «Техническая кибернетика», вышедшая до перевода принципов нейродинамики, не только выдержала два издания на русском языке, но также была опубликована на английском, немецком, болгарском, польском и румынском.
Киев: Гостехиздат УССР, 1962
Научный интерес Ивахненко к самоорганизующимся системам проявился ещё в 1950-е годы: в 1959 году он успешно собрал и испытал собственную версию перцептрона — машину «Альфа», названную, по всей видимости, в честь α-перцептрона Розенблатта. С 1963 года Ивахненко работал под руководством знаменитого академика Виктора Михайловича Глушкова. Впрочем, в отношениях учёных не всё было гладко: в 1959 году Глушков пишет письмо коллеге, что в книге Ивахненко «сделана попытка объявить элементарные самонастраивающиеся системы более высокими кибернетическими устройствами, чем вычислительные машины, которые якобы способны реализовать лишь жёсткие алгоритмы». Похоже, Глушков обвинял Ивахненко в желании «подмять под себя кибернетику». Хотя, судя по другим свидетельствам, конфликт не был таким серьёзным, каким мог показаться. Один из сотрудников Ивахненко, Михаил Шлезингер, до работы с учёным был сотрудником института Глушкова, где занимался ничем иным, как симуляцией нейронных сетей на цифровой электронной машине «Киев»! Даже после перехода Ивахненко под руководство Глушкова работы над нейронными сетями не были прекращены. То есть, несмотря на разногласия, учёные продолжали работать вместе. Скорее всего, Глушков боялся, что приоритет будет неверно отдан развитию нейрокомпьютеров, с помощью которых большинство задач, особенно прикладных, на тот момент решить было нельзя. То есть, он скорее ратовал за правильное распределение ресурсов, чем за прекращение работы над нейронными сетями. Кстати, разногласия Глушкова и Ивахненко касались актуального и на сегодняшний день противопоставления символьного подхода и коннекционизма. Представителей последнего в СССР называли сторонниками «недетерминистического» подхода (в терминах Ивахненко — «подхода самоорганизации») в противовес «детерминистическому» символьному подходу. Споры эти в СССР, как и на Западе, носили весьма ожесточённый характер.
Важным результатом, полученным Ивахненко, стало создание и развитие «Метода группового учёта аргументов» (МГУА), одного из первых в истории алгоритмов глубокого обучения. Как и для Якова Цыпкина, для Ивахненко самообучение распознающей системы обозначало «процесс автоматического, то есть проходящего без вмешательства человека, установления границы, разделяющей пространство входных сигналов и признаков на области, отвечающие отдельным образам». Уже в начале 1970-х годов Ивахненко и его коллегам удавалось обучать восьмислойные нейронные сети, в основе которых лежал искусственный нейрон, основанный на интерполяционном полиноме Колмогорова — Габора.
Некоторые исследователи на Западе примерно в то же время или несколько раньше Ивахненко обучали сети с одним промежуточным слоем. Например, этим занимались коллеги Розенблатта Сэм Виглион (Sam S. Viglione) и Роджер Дэвид Джозеф (Roger David Joseph), в честь которых получил своё название алгоритм Джозефа — Виглиона. Однако сети Ивахненко, содержащие восемь слоёв, явно опережали своё время. Впрочем, сами подходы, использованные им в МГУА и Виглионом с Джозефом, отдалённо напоминают друг друга. Алгоритм Джозефа — Виглиона шаг за шагом генерирует и оценивает двухслойные нейронные сети с прямым распространением, автоматически идентифицируя небольшие подмножества признаков, которые обеспечивают лучшую классификацию примеров из обучающей выборки. Полученные сети затем подвергаются валидации (проверке) на части данных, не включенных в обучающую выборку. В МГУА в нейронную сеть на каждом шаге добавляются дополнительные слои, обучаемые с использованием регрессионного анализа (таким образом, МГУА восходит к методам, разработанным ещё в XIX веке в работах Лежандра и Гаусса). Затем применяется процедура сокращения слоя. Для этого точность предсказаний каждого из нейронов оценивается при помощи валидационной выборки, а затем наименее точные нейроны удаляются.
Книга «Предсказание случайных процессов», написанная Ивахненко в соавторстве с Валентином Лапой и увидевшая свет в 1969 году, стала своеобразным компендиумом техник, исследовавшихся советскими коннекционистами, а книга 1971-го года «Системы эвристической самоорганизации в технической кибернетике» содержит не только подробное описание МГУА, но и множество примеров его применения для решения прикладных задач. В этой книге Ивахненко писал:
«Уже в 1990-м году кибернетические системы автоматизированного управления производством (в масштабе завода, отрасли и всей страны) сократят потребность в рабочей силе на 50%, то есть, рабочая неделя может быть снижена до трёх рабочих дней».Удивительно, как Ивахненко удалось угадать важнейшие тренды в развитии вычислительной техники!
Скриншот из книги с предполагаемой хронологией достижений ИИ.
Ивахненко А.Г., Лапа В.Г. «Предсказание случайных процессов», издательство «Наукова думка», 1971 г..
В его книге можно увидеть и грядущее торжество персональных компьютеров, и триумфальное шествие интернета, и даже тенденцию на всё более тесное сращивание человека с машиной, ярко проступившую в эпоху смартфонов и носимых устройств. Кстати, у уже упоминавшегося нами Александра Кронрода, советского теоретика искусственного интеллекта, в книге «Беседы о программировании» затронута даже тема бессмертия, которой посвящена целая глава. Автор говорит, что старение — это «чужеродный, посторонний организму процесс», и далее излагает концепцию запрограммированного старения. Сторонниками этой идеи являются многие современные трансгуманисты.
Хотя нейросетевые модели наших дней, лежащие в основе новой коннекционистской весны, лишь отдалённо похожи на сети, построенные при помощи МГУА, именно данный метод в некоторой степени стал поворотным пунктом в коннекционистских исследованиях. Исследователями в полной мере был осознан тот факт, что обучение глубоких нейронных сетей в принципе возможно, и что именно их использование может обеспечить прорывные результаты в решении тех или иных задач машинного обучения. Многие работы Ивахненко и его коллег были переведены на английский язык, и отсылки к ним мы можем увидеть в современных работах по глубокому обучению. Метод группового учёта аргументов используется исследователями и в наши дни, хотя занимается им лишь небольшое количество специалистов на территории бывшего СССР и в «дальнем зарубежье». Кстати, несмотря на непопулярность метода, его реализация даже есть на гитхабе.
«Метод без названия» от Александра Галушкина
В августе 1974-го года тиражом 8 000 экземпляров вышла книга Александра Ивановича Галушкина, тогда — сотрудника МФТИ, под названием «Синтез многослойных систем распознавания образов». С точки зрения современной терминологии название книги можно понимать как «Обучение многослойных нейронных сетей». Книга Галушкина стала первым систематическим изложением идей учёного, развитых им и его коллегами в предшествующие годы.
Москва: Энергия, 1974
Первые публикации Галушкина на тему создания и обучения многослойных нейронных сетей относятся к 1971—1973 годам. Учёный прекрасно знал о работах западных коннекционистов. Полюбуйтесь списком систем распознавания образов, который приводит Галушкин в своей книге: Mark-I, Mark-II, Papa, Kybertron, Altron, Konflex, Albert-1, Adalin, Madalin, Minos-2, Illiak-2, Illiak-3, Tobermory, GHILD, Astropower, Adapt-1, Adapt-2, DSK, Ziklop-1, Simisor, Auditran, Shubocs, Gaku и др.
Галушкин рассматривает использование в нейронных сетях функций активации, отличных от функции Хевисайда и сигнума (обозначается «sgn», функция знака, имеющая три возможных значения: 0, 1 и −1). Необходимость применения функций с континуумом решений у Галушкина обосновывается следующим образом:
«Экспериментальное исследование данного алгоритма показало, что скорость сходимости при нахождении некоторой локальной моды мала, и причиной этого является применение в многослойной системе распознавания с двумя решениями, которые в значительной степени «загрубляют» информацию о градиенте функционала вторичной оптимизации при квантовании входного сигнала. В связи с этим основным предметом исследования являлась двухслойная система распознавания, по структуре подобная описанной выше, но состоящая из линейно-пороговых элементов с континуумом решений».
В итоге выбор автора останавливается на арктангенсе, умноженном на 2/π для приведения значений функции к диапазону (−1;1). График арктангенса, как и график популярных в наши дни логистической функции и гиперболического тангенса, является сигмоидой.
Галушкин рассматривает задачу обучения нейронной сети в качестве задачи градиентного спуска. Он применяет цепное правило для вычисления градиента, подробно рассматривает случай обучения сетей с двумя обучаемыми слоями, а также коротко показывает, как следует решать задачу в случае многослойных сетей и сетей с рекуррентными связями, но не даёт используемому им методу какого-либо собственного названия. При этом вопрос конкретной топологии сетей в книге практически не затрагивается, зато уделено внимание сетям с переменным числом слоёв: Галушкин описывает подход, напоминающий МГУА с послойным обучением и постепенно наращиваемыми слоями. Автор также приводит результаты множества экспериментов по обучению сетей с различными параметрами процесса обучения, стремясь оценить их влияние на сходимость модели. Кроме математических моделей, Галушкин совместно с В. Х. Наримановым ещё в начале 1970-х годов сконструировал собственную версию аппаратного перцептрона.
Александр Иванович Галушкин продолжал работу над нейросетевыми технологиями до самого конца своей жизни и был одним из наиболее ярких лидеров этого направления в Советском союзе, а затем и в России, на протяжении более чем сорока лет. В 2007 году издательство Springer Science & Business Media выпустила книгу Галушкина «Теория нейронных сетей» [Neural Networks Theory] на английском языке с вводными словами Лотфи Заде, Сюнъити Амари и одного из знаменитых пионеров нейросетевого подхода Роберта Хехта-Нильсена (Robert Hecht-Nielsen, 1947—2019). В новом тысячелетии работы Галушкина неоднократно выходили в международных научных изданиях и оказали влияние на состояние современной нейросетевой науки.
Терминология имеет значение
В те годы и в западном, и в советском мире нейроны не называли нейронами: у Розенблата в «Принципах нейродинамики» они называются модулями (units), а то, что мы сейчас знаем как «нейросети», в советской традиции имело несколько других названий. Многослойный перцептрон (multilayer perceptron) у Ивахненко назывался многорядным, вместо нейронов учёный использовал термин «переменные», вместо сети — «фильтр». У Галушкина сеть называлась «системой распознавания», нейрон — «линейно-пороговым элементом», а обученная сеть (то есть сеть, предназначенная только для выполнения [inference]) — «сетью с разомкнутым контуром». Почему учёные старались не использовать слово «нейрон»? А потому, что это отсылка к биологическому прототипу — нейрону в коре головного мозга. Слои — это тоже вполне нейробиологический термин, унаследованный от слоёв клеток коры головного мозга, поэтому у Ивахненко перцептрон — многорядный.
Тенденции «биологизаторства» в СССР противостояли философы. Они видели в его проявлении редукционизм, сведение системы более высокой ступени организации к системе более низкой ступени. Точно так же, как жизнь человека нельзя свести к одним лишь биологическим процессам, нельзя даже в далёком приближении приравнивать вычислительную модель к реальному нейрону. Такая тенденция была характерна и для западной школы, но для советской школы она была более ярко выражена. Учёные подвергались большому давлению со стороны философов, которые критиковали любую попытку назвать какой-то технический предмет термином из арсенала биологов. Да и сами коннекционисты боялись повторять в названиях имена биологических прототипов, потому как это могло не только ввести людей в заблуждение, но и в ряде случаев исказить представление о самой научной работе. К счастью, табу на слово «нейроны» в информатике не помешало учёным вести исследования в области нейронных сетей.
Другой термин, достойный внимания — это «техническая кибернетика». Учёные, занимавшиеся вычислительной техникой в 1960-х, после смерти Норберта Винера не продолжили ассоциировать себя с кибернетикой. В Советском союзе же, вопреки распространённому мнению, что она была запрещена, кибернетика расцветала. Гонения на неё продолжались всего несколько месяцев, до момента, когда признанный специалист в области кибернетики, инженер-полковник Анатолий Китов написал статью «Основные черты кибернетики». Парадоксальным образом Советский союз стал центром мировой кибернетики. Когда в 60—70-ые годы у нас говорили об этой области, на Западе среди информатиков о ней уже мало кто вспоминал. Причём развивалась именно техническая кибернетика. Предметную область так назвали, чтобы отмежеваться от винеровского понятия кибернетики, которое подразумевало применение её техник в социальных науках. Техническая кибернетика изучала только технические системы управления.
Почему сейчас, когда вспоминают о нейронных сетях, никто не говорит про кибернетиков? Почему на западе компьютерные учёные перестали называть себя таковыми? Почему это название ушло в небытие, хотя наука продолжала развиваться? Ведь к области кибернетики можно отнести и первые нейросетевые эксперименты: Мак-Каллок и Питтс были регулярными участниками конференций Мейси и долгое время работали вместе с Норбертом Винером. Кибернетик У. Росс Эшби изучал мозг, и на основе своих наблюдений выдвинул концепцию суперстабильности систем, а также создал гомеостат — одно из первых устройств, которое можно, хотя и с натяжкой, отнести к аппаратному воплощению искусственной нейронной сети. Аналогия с нейронным сетями прослеживается и в устройстве машин Грея Уолтера. Возможно, дело в том, что компания кибернетиков со временем стала относительно малочисленной (после ссоры Винера с Мак-Каллоком и Питтсом круг кибернетиков значительно поредел) и разбросанной по миру: Эшби, Грей Уолтер и Стаффорд Бир работали в Великобритании (какое-то время Бир провёл в Чили, где в годы президентства Сальвадора Альенде предпринял попытку создания кибернетической системы для управления экономикой, но её реализация была прервана приходом к власти хунты Пиночета). Американские поствинеровские кибернетики занимались в основном биологическими системами. Математиков и людей, занимающихся вычислительной техникой, среди них было мало. Естественным путём пальма первенства перешла к тем, кто тогда работал над решением прикладных задач при помощи компьютеров. А решались они главным образом при помощи символьных методов. Коннекционисты второго поколения в 70-е также по разным причинам отошли от дел. Бернард Уидроу занялся бизнесом, Розенблатт погиб, исследователи из Стэнфордского исследовательского института (SRI) переключились на символьные методы. «Провал» на Западе длился порядка пяти лет и закончился в 1978-ом году, когда темой занялись Дэвид Румельхарт, Джеффри Хинтон и их коллеги. Таким образом на время пальму первенства в мире ИИ перехватил Марвин Минский и Массачусетский институт технологий. Научная традиция пресеклась, и признанные специалисты в области IT были уже не из круга кибернетиков.
***
Советская коннекционистская традиция, в отличие от западной, была непрерывной. И Галушкин, и Ивахненко занимались своими разработками до последнего времени (Александр Галушкин умер несколько лет назад, а Алексей Ивахненко — в начале 2000-х). Да и их коллеги в других институтах продолжали исследования в области коннекционизма. Правда, бюджеты, выделяемые на это направление, были довольно скромны, так как оно не считалось мейнстримным (появились другие, более перспективные направления, перетянувшие на себя основную часть ресурсов; к их числу относились базы знаний, функциональное и логическое программирование, экспертные системы, обработка естественного языка на основе регулярных грамматик и т. д.).
Из-за того, что советские коннекционисты работали с маленькими бюджетами, им не удалось достичь быстрого прогресса, как на Западе в 1980-е. Несмотря на то, что советские учёные благодаря работам Галушкина были знакомы с методом обратного распространения ошибки уже в 1970-е годы, это не привело к появлению крупных прикладных проектов в области нейронных сетей, подобных созданию системы распознавания рукописных почтовых индексов в США. С другой стороны, не было и периода полной приостановки исследований в области искусственных нейронных сетей.
Непросто, пожалуй, найти в истории науки другой подход, для утверждения которого потребовались бы столь длительные и повторяющиеся усилия такого количества учёных, работавших зачастую в изоляции друг от друга. И всё-таки в итоге лёд тронулся, и нейронные сети возвратились в область видимости основного направления науки.