Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
Именно в лаборатории Корнелла Розенблатт начинает свою работу над перцептронами. В январе 1957 г. секция Розенблатта публикует первый отчёт по проекту «Перцептрон: воспринимающий и распознающий автоматон» (The Perceptron: A Perceiving and Recognizing Automaton, далее PARA) [1226] , и в том же году Розенблатт выступает с докладом о перцептроне на XV Международном конгрессе по психологии, проходившем с 28 июля по 5 августа в Брюсселе [1227] .
1226
Rosenblatt F. (1957). The Perceptron: A Perceiving and Recognizing Automaton. Project Para Report No. 85-460-1, Cornell Aeronautical Laboratory // https://blogs.umass.edu/brain-wars/files/2016/03/rosenblatt-1957.pdf
1227
Rosenblatt F. (1957). The perceptron: A Probabilistic model for Visual Perception / Proceedings of the 15th International Congress of Psychology, North Holland, pp. 290—297
В отчёте по проекту PARA Розенблатт впервые приводит определение перцептрона, а также вводит несколько
Недавние теоретические исследования, проведённые автором, показывают, что целесообразно создать электронную или электромеханическую систему, которая научится распознавать наличие сходства или тождества между образцами оптической, электрической или тональной информации способом, который может быть очень похож на процессы восприятия биологического мозга. Предлагаемая система основывается на вероятностных, а не на детерминистических принципах в своей работе и обретает надёжность благодаря свойствам статистических измерений, полученных из больших совокупностей элементов. Система, которая работает в соответствии с этими принципами, будет называться перцептроном. Модель, которая предназначена для приёма оптических или визуальных изображений в качестве входных данных, будет называться фотоперцептроном. Та [модель], которая принимает тональные паттерны или звуковые входы, будет называться фоноперцептроном, и мы также рассматриваем в перспективе возможность использования электро- или радиоперцептронов с соответствующими сенсорными устройствами. Также полезно различать перцептроны с моментальными стимулами и перцептроны для временных последовательностей — последние имеют способность запоминать последовательности событий, а не кратковременные мгновенные изображения, например полученные из коллекции отдельных кадров, вырезанных из полосы киноплёнки.
В примечаниях к отчёту говорится, что работы по «теории статистической разделимости», которые легли в основу предлагаемой конструкции фотоперцептрона, были начаты автором пятью годами ранее. Для постройки первого фотоперцептрона предлагается задействовать на полтора года штат из трёх необходимых сотрудников-профессионалов, а также цифровую вычислительную машину с персоналом.
Во многих поздних исследованиях первый перцептрон Розенблатта (далее мы будем использовать для ссылки на архитектуру, лежащую в его основе, термин «элементарный перцептрон») называют однослойным, изобретение же многослойного перцептрона Розенблаттом относят к более позднему периоду. В действительности дело обстоит несколько сложнее. Фотоперцептрон, описанный в отчёте по проекту PARA, представляет собой машину, состоящую из трёх слоёв элементов: S (сенсорного), A (ассоциативного) и R (реагирующего). При этом синаптические веса только одного слоя (A– > R) подвергаются коррекции в процессе обучения. Однако слой S– > A также содержит веса, значения которых могут быть равны строго 1 (возбуждающий синапс) или –1 (тормозящий синапс). Эти веса конфигурируются вручную [1228] .
1228
Rosenblatt F. (1957). The Perceptron: A Perceiving and Recognizing Automaton. Project Para Report No. 85-460-1, Cornell Aeronautical Laboratory // https://blogs.umass.edu/brain-wars/files/2016/03/rosenblatt-1957.pdf
Это может показаться простым рудиментом модели Мак-Каллока и Питтса, хотя на деле этот слой выполняет важную функцию, о которой мы поговорим позже.
В выпущенном ещё через четыре года работы отчёте «Принципы нейродинамики: перцептроны и теория механизмов мозга» (Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms, 1961), систематизирующем итоги исследований, Розенблатт отводит целый раздел для описания «трёхслойных систем с переменными S—A связями», прежде чем перейти к описанию «многослойных перцептронов и перцептронов с перекрёстными связями». Розенблатт не только описывает подобные архитектуры, но и предлагает алгоритмы для их обучения. Кроме того, он показывает, что многослойные сети необязательно сходятся при использовании детерминистических алгоритмов обучения, поэтому при обучении таких систем необходимо задействовать стохастические, то есть включающие в себя элемент случайности, алгоритмы [1229] . В целом эта работа Розенблатта во многом опередила время. Удивительную мощь, заложенную в алгоритмах почти шестидесятилетней давности, можно наблюдать в ряде современных экспериментов.
1229
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
В 1998 г. был опубликован набор данных MNIST (Modified National Institute of Standards and Technology database, Модифицированная база данных Национального института стандартов и технологий), содержащий 70 000 чёрно-белых изображений рукописных цифр (60 000 в обучающей выборке и 10 000 в тестовой) размером 28 x 28 пикселей и соответствующих им меток. Изображения были получены путём сканирования цифр, написанных сотрудниками Американского бюро переписей и простыми американскими школьниками [1230] . MNIST на многие годы стал одним из наиболее популярных наборов данных для оценки возможностей различных моделей для распознавания образов. В 2001 г. группа исследователей под руководством Эрнста Куссуля провела эксперименты по обучению на MNIST трёхслойных розенблаттовских перцептронов с различным количеством элементов в A– слое (входной слой нейронов перцептрона Розенблатт называл S– слоем от sensory — сенсорный, воспринимающий; выходной — R– слоем от response —
1230
LeCun Y., Cortes C., Burges C. J. C. (1998). The MNIST database of handwritten digits // http://yann.lecun.com/exdb/mnist/
1231
Kussul E., Baidyk T., Kasatkina L., Lukovich V. (2001). Rosenblatt perceptrons for handwritten digit recognition / IJCNN’01. International Joint Conference on Neural Networks. Proceedings (Cat. No.01CH37222) // https://doi.org/10.1109/ijcnn.2001.939589
4.4.6 Первые нейрокомпьютеры
Первая версия перцептрона была смоделирована при помощи компьютера IBM 704. Обучившись, программа Розенблатта была способна успешно распознавать различные геометрические фигуры (круги, квадраты, треугольники). Успешные эксперименты с цифровой машиной привели к созданию аппаратной версии перцептрона — первого в мире нейрокомпьютера Mark I Perceptron.
Эта работа Розенблатта дала начало новому направлению в вычислительной технике — нейроморфной инженерии.
Дело в том, что при симуляции нейронных сетей при помощи компьютеров с фон-неймановской архитектурой возникает нежелательный эффект, получивший в 1977 г. с лёгкой руки Джона Бэкуса наименование «бутылочное горлышко фон Неймана» [von Neumann bottleneck] [1232] : поскольку в этой архитектуре программы и данные хранятся в памяти, процессор и память разделены и данные пересылаются между ними при помощи соединительной шины, то это приводит к возникновению задержек. Независимо от того, насколько быстро может работать процессор, на деле он ограничен скоростью передачи данных, являющейся узким местом архитектуры. В биологических нейронных сетях нейроны выполняют одновременно функции хранения и обработки данных. Данные, воплощающиеся в пороге активации нейрона и параметрах синаптических связей, не требуют пересылки по перегруженной общей шине устройства. При симуляции нейронной сети фон-неймановская машина вынуждена выполнять расчёт сигналов в каждом нейроне последовательно, что сильно замедляет процесс симуляции. Даже в современных параллельных архитектурах число вычислительных ядер на порядки меньше количества ячеек памяти. Чтобы преодолеть это неприятное ограничение, необходимо создание машин с принципиально иной архитектурой. Те архитектуры, которые подражают строению биологических нейронных сетей, называют нейроморфными. Более подробно мы поговорим о них позже, когда будем обсуждать современные проекты в этой области.
1232
Backus J. (1978). Can Programming Be Liberated from the Von Neumann Style? A Functional Style and Its Algebra of Programs / Communications of the ACM, 21(8), pp. 613—641 // http://doi.acm.org/10.1145/359576.359579
Конечно, и архитектура фон Неймана в некотором роде подражает человеческому мозгу. Ведь она была создана фон Нейманом в том числе под влиянием работ Мак-Каллока и Питтса. Поэтому граница между классическими и нейроморфными архитектурами в какой-то степени условна. Можно говорить о той или иной степени нейроморфности какой-либо архитектуры. Но всё же в большинстве случаев более или менее очевидно, к какому именно из полюсов тяготеет то или иное устройство.
Розенблатт не был единственным исследователем, проводившим на стыке 1950-х и 1960-х гг. опыты в области создания нейроморфных машин. В 1960 г. профессор Бернард Уидроу и его аспирант Тед Хофф из Стэнфордского университета разработали ADALINE (Adaptive Linear Neuron, или позднее Adaptive Linear Element, адаптивный линейный нейрон / адаптивный линейный элемент) — однослойную искусственную нейронную сеть и физическое устройство, реализующее эту сеть, основанное на элементах, получивших название «мемисторы» (не путать с мемристорами!).
Сначала Уидроу, как и Розенблатт, моделировал нейронную сеть при помощи потенциометров — переменных резисторов, регулируя сопротивление каждого из них вручную. Но для того, чтобы реализовать в такой схеме возможность самообучения, необходимо было осуществлять вращение ручек автоматически. В этой ситуации Розенблатт сделал ставку на использование электромоторов. Уидроу же ухватился за идею, подсказанную ему Норманом Абрамсоном из Гавайского университета. «Почему бы не сделать это химически, электрохимически, — сказал Абрамсон своему коллеге в одном из разговоров, — как это делается в мозге?»
Основываясь на этой идее, Уидроу придумал принципиальную схему устройства, названного мемистором (от memory — память и resistor — резистор, поскольку по сути элемент был резистором с памятью).
По замыслу Уидроу, мемистор должен был представлять собой банку, наполненную электролитом, с двумя погружёнными в неё электродами. Чтобы изменять сопротивление между ними, Уидроу предполагал использовать третий электрод, подведение тока к которому должно было каким-то образом менять химический состав раствора и тем самым изменять его сопротивление. Однако конкретных мыслей о том, какие химические вещества использовать, на какую именно реакцию полагаться и как быстро можно изменять сопротивление, у учёного не было.