Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
Не оставались в стороне и советские учёные. Диссертация Вербоса увидела свет в январе 1974 г., а в августе того же года в СССР тиражом 8000 экземпляров из печати вышла книга Александра Галушкина под названием «Синтез многослойных систем распознавания образов». Хотя Галушкин несколько раз использует в своей книге термин «нейронная сеть», в большинстве случаев он применяет более нейтральный термин — «система распознавания» (СР). Искусственные нейроны у Галушкина становятся «линейно-пороговыми элементами» (ЛПЭ), обученная сеть (т. е. сеть, предназначенная только для выполнения [inference]) — «сетью с разомкнутым контуром» и так далее [1406] . С точки зрения современной терминологии название книги Галушкина можно понимать как «Обучение многослойных нейронных сетей». Книга Галушкина стала первым систематическим изложением идей учёного, развитых им и его коллегами в предшествующие годы. Первые публикации [1407] , [1408] , [1409] , [1410]
1406
Галушкин А. И. (1974). Синтез многослойных систем распознавания образов. — М.: Энергия.
1407
Галушкин А. И. (1971). Реализация критериев первичной оптимизации в системах распознавания образов, настраивающихся по замкнутому циклу в режиме обучения // Труды МИЭМ. Вып. 23.
1408
Галушкин А. И., Василькова Т. А., Слободенюк В. А., Тюхов Б. П. (1971). Анализ динамики систем распознавания нестационарных образов // Труды МИЭМ. Вып. 23.
1409
Галушкин А. И., Василькова Т. А., Слободенюк В. А., Тюхов Б. П. (1971). Анализ динамики систем распознавания нестационарных образов // Труды МИЭМ. Вып. 23; Галушкин А. И. (1973). Об алгоритмах адаптации в многослойных системах распознавания образов / Докл. АН Укр. ССР, А, 91. № 1. С. 15—20
1410
Ванюшин В. А., Галушкин А. И., Тюхов Б. П. (1972). Построение и исследование многослойных систем распознавания образов / Берг А. И. (1972). Некоторые проблемы биологической кибернетики. — Л.: Наука.
Диссертация Вербоса, вне всякого сомнения, не была известна Галушкину. По большому счёту она в те годы не была известна, по всей видимости, никому из коннекционистов. Действительно, вряд ли кто-то всерьёз ждал фундаментального прорыва от работы под названием «После регрессии: новые инструменты для предсказания и анализа в поведенческих науках» (Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences). Термин «нейронные сети» не использовался в те времена в названиях работ ни Вербоса, ни Галушкина (как недостаточно строгий и являвшийся на тот момент обозначением модели, представлявшей, по мнению многих, лишь исторический интерес). Даже Румельхарт, Хинтон и Уильямс в 1986 г. в своей знаменитой статье [1411] следовали этому принципу.
1411
Rumelhart D. E., Hinton G. E., Williams R. J. (1986). Learning representations by back-propagating errors / Nature, 323(6088), pp. 533–536 // https://doi.org/10.1038/323533a0
В то же время Галушкин прекрасно знал о работах западных коннекционистов. Полюбуйтесь списком западных систем распознавания образов, который приводит Галушкин в своей книге: Mark-I, Mark-II, Papa, Kybertron, Altron, Konflex, Albert-1, Adalin, Madalin (написано именно так, без «e» на конце. — С. М.), Minos-2, Illiak-2, Illiak-3, Tobermory, GHILD, Astropower, Adapt-1, Adapt-2, DSK, Ziklop-1, Simisor, Auditran, Shubocs, Gaku и др. (sic!). В тексте книги также упоминается алгоритм обучения Штейнбуха Lernmatrix.
Галушкин рассматривает использование в нейронных сетях функций активации, отличных от функции Хевисайда и сигнума (обозначается sgn, функция знака, имеющая три возможных значения: 0, 1 и –1). Необходимость применения функций с континуумом решений у Галушкина обосновывается следующим образом: «Экспериментальное исследование данного алгоритма показало, что скорость сходимости при нахождении некоторой локальной моды мала и причиной этого является применение в многослойной СР ЛПЭ с двумя решениями, которые в значительной степени „загрубляют“ информацию о градиенте функционала вторичной оптимизации при квантовании входного сигнала. В связи с этим основным предметом исследования являлась двухслойная СР, по структуре подобная описанной выше, но состоящая из ЛПЭ с континуумом решений». В итоге выбор автора останавливается на арктангенсе, умноженном на 2/? для приведения значений функции к диапазону (–1; 1). График арктангенса, как и график популярных в наши дни логистической функции и гиперболического тангенса, является сигмоидой.
Галушкин рассматривает задачу обучения нейронной сети в качестве задачи градиентного спуска. Он применяет цепное правило для вычисления градиента, подробно рассматривает случай обучения сетей с двумя обучаемыми слоями, а также коротко показывает, как следует решать задачу в случае многослойных сетей и сетей с рекуррентными связями, но не даёт используемому им методу какого-либо собственного названия. При этом вопрос конкретной топологии сетей в книге практически не затрагивается, зато уделено внимание сетям с переменным числом слоёв — Галушкин описывает подход, напоминающий МГУА с послойным обучением и постепенно наращиваемыми слоями. Автор также приводит результаты множества экспериментов по обучению сетей с различными параметрами процесса обучения, стремясь оценить их влияние на сходимость модели [1412] . Кроме математических моделей, Галушкин совместно с В. Х. Наримановым ещё в начале 1970-х сконструировал собственную версию аппаратного перцептрона [1413] .
1412
Галушкин А. И. (1974). Синтез многослойных систем распознавания образов. —
1413
Пупков К. А., Нариманов В. Х., Галушкин А. И. Специализированное распознающее устройство // Труды МИЭМ, вып. 23, 1971. С. 156–165.
Александр Иванович Галушкин продолжал работу над нейросетевыми технологиями до конца своей жизни и был одним из наиболее ярких лидеров этого направления в Советском Союзе, а затем и в России на протяжении более чем сорока лет. В 2007 г. издательство Springer Science & Business Media выпустило книгу [1414] Галушкина «Теория нейронных сетей» (Neural Networks Theory) на английском языке с отзывами Лотфи Заде, Сюнъити Амари и одного из знаменитых пионеров нейросетевого подхода Роберта Хехта-Нильсена. В новом тысячелетии работы Галушкина неоднократно выходили в международных научных изданиях и оказали влияние на состояние современной нейросетевой науки.
1414
Galushkin A. I. (2007). Neural Networks Theory. Springer Science & Business Media // https://books.google.ru/books?id=ULds8NuzLtkC
Непросто, пожалуй, найти в истории науки другой такой метод, для утверждения которого потребовались бы столь длительные и повторяющиеся усилия такого количества учёных, работавших зачастую в изоляции друг от друга. И всё-таки в итоге лёд тронулся, и нейронные сети возвратились в область видимости основного направления науки.
5.2.3.4 Теория расчёта весов и описание метода обратного распространения ошибки
Теперь, когда мы обсудили историю возникновения этого метода, самое время познакомиться с ним поглубже.
В целом задача поиска направления наибольшего убывания ошибки в пространстве весов нейронной сети соответствует задаче поиска направления коррекции каждого из синаптических весов и степени влияния изменения этого веса на величину ошибки. Любую нейронную сеть можно представить в виде алгебраического выражения, описывающего функцию ответа сети на полученные её рецептивным (входным) слоем входы. В простейшем варианте, когда сеть состоит из одного нейрона, это выражение будет иметь вид:
< image l:href="#"/>где x0…xn — входы сети, w0…wn — веса входных синапсов нейрона, а f — функция его активации. То есть все входы перемножаются на соответствующие веса, суммируются, а затем подставляются в функцию активации, значение которой и будет выходом нашего нейрона. Если одним из входов нашего нейрона является, в свою очередь, выход другого нейрона, то вместо соответствующей переменной xi мы должны будем подставить выражение, описывающее этот нейрон. Представим себе сеть из трёх нейронов:
Функция ответа такой сети будет иметь вид g(x0,x1,x2,x3)=f2 (w4 f0 (w0 x0+w1 x1 )+w5 f1 (w2 x2+w3 x3)), то есть мы подставили выражения f0(w0x0+w1x1) и f1(w2x2+w3x3), описывающие нейроны входного слоя, в выражение, описывающее нейрон второго слоя. По мере увеличения числа нейронов и синапсов эта формула будет становиться всё более и более огромной, но общий принцип будет оставаться неизменным. Трудно вообразить формулу, описывающую сеть из миллиона нейронов, но нет никаких сомнений в том, что при наличии необходимого числа карандашей, бумаги, свободного времени, слабоумия и отваги её всё-таки можно записать. Несложно сообразить, что, обладая формулой, позволяющей рассчитать ответ нейронной сети при заданном наборе входных данных, можно также составить функцию для расчёта ошибки этой сети для одного прецедента, для некоторого набора прецедентов, да даже для всей обучающей выборки. Например, в случае задачи с распознаванием слонов по массе и длине тела мы можем использовать сумму квадратов разниц ответов сети и действительных значений метки. Несложно заметить, что если наша сеть выдаёт только нули и единицы, то величина такой функции ошибки будет представлять собой количество случаев, в которых сеть выдала ответ, не соответствующий действительной метке класса. Если же наша сеть способна выдавать какие-либо величины, отличные от нулей и единиц, то такая функция ошибки позволит нам оценить близость выдаваемых сетью ответов к правильным меткам. Если все функции активации нейронной сети непрерывны и дифференцируемы, то есть имеют производную (хотя бы в текущей точке, но в идеале на всём пространстве параметров), значит дифференцируемой будет и наша функция ошибки, ведь суперпозиция дифференцируемых функций также является дифференцируемой. Следовательно, мы можем вычислить частные производные функции ошибки вдоль всех осей пространства весов нейронной сети. При расчёте частной производной все веса, кроме того, который соответствует расчётной оси, принимаются за константы, а затем применяется цепное правило для вычисления производной композиции функций.