проектом, даже когда в 1983 г. начал работать над получением степени DEA[53]. Это была настоящая «зависимость»: я работал с HLM целый год!
Я хочу посвятить несколько страниц описанию HLM – просто для истории, потому что этот сейчас метод больше не используется. У HLM было одно преимущество, которое было одновременно и недостатком: в ней использовались пороговые бинарные нейроны, выход которых был равен +1 или –1. Вычисление взвешенных сумм с бинарными нейронами не требовало умножения, только сложения и вычитания. Отказ от умножения ускорил вычисления на компьютерах тех времен.
Чтобы обучить конкретную сеть, мне пришлось прибегнуть к одной хитрости. В выходном слое у нейронов была определенная цель, которая являлась желаемым выходом, заданным извне. Затем предыдущий слой пытался найти для каждого из своих нейронов бинарную цель +1 или –1, чтобы она соответствовала потребностям следующего слоя. И так, шаг за шагом, до первичного слоя.
Рис. 5.4. Обратное распространение цели процедуры HLM с бинарными нейронами
Для обучения каждый нейрон вычисляет цель (своего рода желаемый выход для себя, +1 или –1), заставляя нижестоящие нейроны «голосовать». Каждый нижестоящий нейрон голосует за свою цель пропорционально весу, который связывает его с рассматриваемым нейроном. Цель нейрона рассчитывается как взвешенная сумма целей нижестоящих нейронов с использованием весов соединений, связывающих их с рассматриваемым нейроном. Целью является +1, если эта сумма положительна, и –1, если она отрицательна. На рисунке нижестоящий нейрон слева голосует +1 с весом –2 (что эквивалентно голосованию –1 с весом +2), центральный нейрон голосует –1 с весом 3, а тот, что справа – +1 с весом 4,5. В целом взвешенная сумма составляет –2–3 + 4,5 = –0,5, поэтому расчетная цель равна –1. Вес нейрона обучается приближать выходной сигнал нейрона к цели, как и у перцептрона.
Таким образом, метод HLM позволяет распространять эти цели в обратную сторону, начиная с выхода. Выходные данные «говорят» нейронам предыдущего слоя: «Это мой желаемый результат. На данный момент ваши результаты не позволяют мне дать правильный ответ, так что я хочу, чтобы вы вывели именно эти желаемые результаты». Каждая из единиц в предыдущем слое «общается» с несколькими нейронами следующего слоя, которые должны изменить свой вывод так, чтобы соответствовать желаемому результату. Своеобразный эффект домино.
Подведем итоги! У каждого нейрона есть цель (виртуальный желаемый результат). Эта цель рассчитывается от нейронов следующего слоя до нейронов первичного слоя.
Если нейрон связан с несколькими нейронами в следующем слое, он может быть связан с нейроном с очень большим весом и с другими нейронами с меньшим весом. Поэтому, когда мы вычисляем цель рассматриваемого нейрона, мы должны отдать предпочтение целям связанных нижестоящих нейронов с большим весом.
Для этого мы берем цели слоя и вычисляем взвешенную сумму этих целей. Тогда, если взвешенная сумма положительна, цель будет +1, а если она отрицательна, цель будет –1. Это одни и те же веса, которые мы используем в одну сторону и в другую. Такой расчет представляет собой своего рода бюллетень, где нижестоящие нейроны «голосуют» за цель рассматриваемого нейрона пропорционально весу, связывающему их с этим нейроном. Поскольку нейрон бинарный, его цель также должна быть бинарной, а именно +1 или –1.
В алгоритме HLM цель t[j] нейрона j является взвешенной суммой целей нейронов следующего слоя. Алгоритм берет цели следующих нейронов и вычисляет взвешенную сумму этих целей, весовые показатели которых являются весами соединений, связывающих нейрон j с нижележащими нейронами.
Символ DN[j] обозначает набор нижестоящих нейронов, на которые нейрон j проецирует свой выходной сигнал. Поэтому вес w[i, j] применяется «вверх ногами».
Мы вычисляем все эти цели шаг за шагом, и в конце для каждого нейрона у нас есть цель и текущий результат, и мы обновляем веса с помощью метода, очень похожего на перцептрон, так, чтобы результат стал близок к цели. Как если бы у нас было много маленьких перцептронов, связанных друг с другом, и перераспределение конечной цели на уровне каждого нейрона.
Я провел несколько экспериментов по распознаванию образов. Алгоритм работал, но был не совсем стабильным. В 1984 г. я впервые представил свою идею на небольшой конференции в Страсбурге под названием «Нейронауки и инженерные науки», где собиралось небольшое французское сообщество, интересующееся нейронными сетями. Статья о HLM была опубликована в июне 1985 г. на конгрессе Cognitiva в Париже.
Моя разработка оказалась несколько странной версией алгоритма обратного распространения градиента, который сегодня является стандартным для обучения всех слоев, а не только последнего, в многослойной (или глубокой) сети. Позже я доказал, что с математической точки зрения этот алгоритм обратного распространения цели принадлежит к классу алгоритмов, называемых целевым распространением, которые эквивалентны обратному распространению градиента (в пределах незначительных погрешностей). За исключением того, что он распространяет для нейронов не градиенты, а виртуальные цели.
Гонка
Беседуя с моим другом Дидье Жоржем (ныне профессором Национального политехнического института Гренобля), который в то время защищал докторскую диссертацию по планированию траектории в робототехнике, я понял, что существует поразительное сходство между методами, над которыми я работаю, и тем, что исследователи теории оптимального управления называют методом сопряженных воздействий. Я пришел к мнению, что при использовании непрерывных (не бинарных) передаточных функций и распространения ошибок, а не целей, математика процесса становится более простой и последовательной. На самом деле метод сопряженного воздействия, применяемый к многослойным сетям, и является обратным распространением градиента! Больше не нужно оправдывать мою интуицию: этот новый алгоритм легко создать с использованием математического формализма, изобретенного в конце XVIII в. франко-итальянским математиком Жозефом-Луи Лагранжем для формализации механики Ньютона. Так я обнаружил обратное распространение градиента.
Но наше повествование все еще находится в конце 1984 г., когда я работал над методом HLM, и у меня не было достаточно времени, чтобы проверить и опубликовать свою новую идею…
Тем временем другие исследователи работали над тем же вопросом: Джеффри Хинтон, на тот момент молодой профессор Университета Карнеги-Меллона, изучал машины Больцмана – еще один подход к обучению сетей со скрытыми слоями. Эти машины фактически представляли собой сети с симметричными соединениями, где связи между нейронами осуществлялись в обоих направлениях. В 1983 г. Джеффри сформулировал эту идею вместе с Терри Сейновски. Но его статья представляла собой «военную хитрость». Он никогда не упоминал, что единицы машины Больцмана выглядят как нейроны, а соединения – как синапсы. Ни разу! Даже название «Оптимальный перцепционный вывод» маскировало основную тему статьи. Тогда от нейронных сетей прямо-таки несло серой, словно разговоры о них взывали к