Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
Представим себе человека с завязанными глазами, оказавшегося на поверхности из нашей задачи в её случайной точке. Его цель — забраться в самую глубокую точку этой поверхности (по возможности за минимальное число шагов). Вполне естественным методом будет движение по этой поверхности в направлении её наибольшего уклона, пока мы не окажемся в точке с нулевым уклоном. Первым из математиков, использовавшим этот подход, стал Огюстен Луи Коши — французский математик и механик. Этот метод, предложенный Коши в 1847 г., а также множество придуманных позже его разновидностей сегодня часто объединяют в семейство, называемое «методами градиентного спуска».
Если мы приглядимся к нашей задаче повнимательнее, то заметим несколько свойственных ей досадных неприятностей. Во-первых, вся её поверхность состоит из уровней, соответствующих целым числам. Действительно, наша сеть может ошибаться в нуле, семи или 300 случаях, но не может ошибаться в 2/3 или 124,57 случая. Такая поверхность, словно бы вышедшая из игры Minecraft, почти во всех своих точках будет иметь нулевой уклон. Нам придётся долго ощупывать окрестности точки в поисках пути вниз — «биполярная» природа функции Хэвисайда играет с нами дурную шутку. Именно поэтому хитрый Уидроу, создавая ADALINE, использовал при обучении величину сигнала до прохождения его через пороговую функцию. По её значению мы можем установить, насколько наша сеть была далека от правильного ответа. Того же результата
Конечно, можно случайным образом ощупывать окрестности текущей точки и выбирать то направление из обследованных, которое связано с максимальным уменьшением значения целевой функции, либо, обнаружив в окрестностях текущей точки новую точку, связанную хотя бы с каким-то уменьшением, немедленно перемещаться в неё. Однако подобные методы, относимые к методам «случайного спуска» (или «случайного поиска»), обычно связаны с крайне медленной сходимостью, особенно при наличии большого количества параметров. Словом, будущее глубоких нейронных сетей во многом зависело от того, можно ли придумать вычислительно эффективный метод для расчёта градиента изменения целевой функции в пространстве весов сети. В результате такой метод был найден, хотя для его разработки и доводки до стадии зрелости потребовались усилия множества людей в течение нескольких десятилетий.
5.2.3.2 Начало поиска метода
Сегодня этот метод известен под названием «метод обратного распространения ошибки» [backward propagation of errors], причём в разговорном английском языке это название уже давно сократилось до backpropagation или даже жаргонного backprop. Хотя многие современные популярные источники относят появление этого метода к 1970-м или даже 1980-м гг., в действительности непрерывный вариант метода обратного распространения ошибки был описан ещё в начале 1960-х гг. в работах Генри Келли и Артура Брайсона [1371] , [1372] . Вообще-то, Келли и Брайсон не занимались исследованиями в области нейронных сетей, их интересовал расчёт оптимальных траекторий летательных аппаратов. Например, в статье Келли «Градиентная теория оптимальных полётных маршрутов» (Gradient Theory of Optimal Flight Paths), опубликованной в 1960 г., в качестве примера рассматривалась задача управления космическим кораблём, использующим солнечный парус для путешествия между орбитами Земли и Марса [1373] .
1371
Dreyfus S. E. (1990). Artificial Neural Networks, Back Propagation, and the Kelley-Bryson Gradient Procedure / Journal of Guidance, Control, and Dynamics, Vol. 13, Num. 5 // https://doi.org/10.2514/3.25422
1372
Schmidhuber J. (2015). Deep learning in neural networks: An overview / Neural Networks. Volume 61, January 2015, pp. 85—117 // https://doi.org/10.1016/j.neunet.2014.09.003
1373
Kelley H. J. (1960). Gradient Theory of Optimal Flight Paths / American Rocket Society Journal, Vol. 30, Num. 10, October 1960 // https://doi.org/10.2514/8.5282
В 1962 г. Стюарт Дрейфус, младший брат Хьюберта Дрейфуса, смог несколько упростить метод Келли и Брайсона, используя принцип динамического программирования и цепное правило, применяемое при вычислении производной сложной функции [1374] . В 1960-е гг. решением сходных проблем, помимо Келли, Брайсона и Дрейфуса, занимался целый ряд учёных в разных странах. Например, в СССР исследования в этой области вёл один из самых знаменитых советских математиков — Лев Понтрягин [1375] . Потерявший в 14 лет зрение из-за несчастного случая (взрыва примуса), Понтрягин, благодаря собственному упорству и деятельной помощи матери, смог не только преодолеть выпавшие на его долю трудности, но и сделать выдающуюся научную карьеру [1376] .
1374
Dreyfus S. E. (1990). Artificial Neural Networks, Back Propagation, and the Kelley-Bryson Gradient Procedure / Journal of Guidance, Control, and Dynamics, Vol. 13, Num. 5 // https://doi.org/10.2514/3.25422
1375
Schmidhuber J. (2015). Who Invented Backpropagation? // http://people.idsia.ch/~juergen/who-invented-backpropagation.html
1376
Понтрягин Л. С. (1998). Жизнеописание Л. С. Понтрягина, математика, составленное им самим. — М.: КомКнига // https://e-libra.ru/books/243417-zhizneopisanie-l-s-pontryagina-matematika-sostavlennoe-im-samim.html
Однако работы этих учёных на тот момент оказались не замечены сообществом коннекционистов. В 1970 г. в магистерской диссертации финского исследователя Сеппо Линнайнмаа был представлен метод автоматического дифференцирования дискретных связанных сетей с помощью вложенных дифференцируемых функций. Описанный Линнайнмаа алгоритм фактически соответствует современной версии метода обратного распространения ошибки, однако и здесь данный метод рассматривался вне связи с нейросетевыми моделями [1377] .
1377
Schmidhuber J. (2015). Who Invented Backpropagation? // http://people.idsia.ch/~juergen/who-invented-backpropagation.html
В
1378
Chauvin Y., Rumelhart D. E. (2013). Backpropagation: Theory, Architectures, and Applications. Psychology Press // https://books.google.ru/books?id=B71nu3LDpREC
1379
Rosenblatt F. (1961). Principles of Neurodynamics. Perceptrons and the Theory of Brain Mechanisms. Cornell aeronautical lab inc., Buffalo, New York. Defense Technical Information Center // https://books.google.ru/books?id=Tk2tDAEACAAJ
1380
Widrow B., Lehr M. A. (1990). 30 years of adaptive neural networks: perceptron, Madaline, and backpropagation / Proceedings of the IEEE, Vol. 78, Iss. 9, pp. 1415—1442 // https://doi.org/10.1109/5.58323
Идея применить для обучения многослойных нейронных сетей метод, уже хорошо известный специалистам в области автоматического дифференцирования сложных функций, независимо возникла у советских и американских математиков. В США её впервые высказал Пол Вербос в диссертационной работе, увидевшей свет в 1974 г. [1381]
В начале 1970-х гг. Вербос посетил Минского в MIT и предложил ему совместную работу, идеей которой было продемонстрировать, что многослойные перцептроны могут преодолеть существующие ограничения за счёт модификации модели искусственного нейрона. Идея заключалась в замене функции активации на дифференцируемую функцию и применении метода обратного распространения ошибки для обучения многослойных сетей, составленных из таких нейронов. Однако Минский (сюрприз! сюрприз!) не выказал интереса. Вербосу не удалось заинтересовать этой идеей и других учёных из MIT, Гарварда и прочих вузов, с которыми он связывался.
1381
Werbos P. (1974). Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. PhD thesis, Harvard University, Cambridge, MA.
По иронии судьбы Вербос черпал вдохновение отчасти в одной из ранних работ Минского, в которой тот предложил использовать обучение с подкреплением в качестве способа для создания универсального ИИ. Впрочем, первые попытки реализации этого метода были не более успешны, чем первые опыты с многослойными перцептронами [1382] .
Другим неожиданным источником вдохновения для Пола Вербоса стала теория психодинамики Зигмунда Фрейда. Идеи Фрейда о принципах работы нервной системы привели Вербоса к мысли о том, что обучение в естественной нейронной сети основано на распространении подкрепления в направлении обратном нормальному течению сигнала при возникновении реакции на стимул. Это озарение, пришедшее в голову Вербоса в 1967 г., отражено в его набросках к диссертации, выполненных пятью годами позже. На тот момент ему, правда, не удалось придумать конкретный алгоритм, воплощающий этот принцип [1383] .
1382
Werbos J. P. (2006). Backwards Differentiation in AD and Neural Nets: Past Links and New Opportunities / Bucker M, Corliss G., Naumann U., Hovland P., Norris B. (2006). Automatic Differentiation: Applications, Theory, and Implementations. Lecture Notes in Computational Science and Engineering book series (LNCSE, volume 50). Springer Berlin Heidelberg // https://books.google.ru/books?id=nyvRV4J89VoC
1383
Werbos P. J. (1994). The Roots of Backpropagation: From Ordered Derivatives to Neural Networks and Political Forecasting. Wiley & Sons Ltd // https://books.google.ru/books?id=WdR3OOM2gBwC
5.2.3.3 Зигмунд Фрейд и его нейробиологические исследования
Как правило, первое, что приходит в голову неспециалисту при упоминании имени Зигмунда Фрейда, — это либидо, эго, сублимация, концепция зависти к пенису и другие сомнительные фрейдистские конструкты, научная ценность которых сегодня иногда вызывает серьёзные сомнения. Специалисты обычно обращают внимание на важный вклад Фрейда в дело становления научной психологии (например, на развитие концепции бессознательного). Но даже представители академической психологии не всегда в курсе того, что до того, как стать отцом-основателем психоанализа, Фрейд специализировался в области неврологии, занимался пионерскими нейробиологическими исследованиями, которые привлекли внимание Сантьяго Рамона-и-Кахаля и повлияли на становление нейробиологии как дисциплины. Более-менее полным собранием идей Фрейда в этой области является эссе, известное сегодня под названием «Проект научной психологии» (Project for a Scientific Psychology) или «Пролог к научной психологии» (Prologue to a Scientific Psychology). Разночтения в названии работы в данном случае вполне объяснимы: в немецком издании оно названо «Наброски психологии» (Entwurf einer Psychologie), однако название это было выбрано редакторами, оригинальная работа Фрейда оставлена без заголовка [1384] .
1384
Freud S. (1950). Project for a Scientific Psychology (1950[1895]). The Standard Edition of the Complete Psychological Works of Sigmund Freud, Volume I (1886-1899): Pre-Psycho-Analytic Publications and Unpublished Drafts // http://users.clas.ufl.edu/burt/freud%20fleiss%20letters/200711781-013.pdf