Перейти к содержанию

4.4.6 Первые нейрокомпьютеры

Материал из Охота на электроовец: Большая Книга Искусственного Интеллекта

Первая версия перцептрона была смоделирована при помощи компьютера IBM 704. Обучившись, программа Розенблатта была способна успешно распознавать различные геометрические фигуры (круги, квадраты, треугольники). Успешные эксперименты с цифровой машиной привели к созданию аппаратной версии перцептрона — первого в мире нейрокомпьютера Mark I Perceptron.

Рис. 93. Фрэнк Розенблатт и нейрокомпьютер Mark I Perceptron

Эта работа Розенблатта дала начало новому направлению в вычислительной технике — нейроморфной инженерии.

Дело в том, что при симуляции нейронных сетей при помощи компьютеров с фон-неймановской архитектурой возникает нежелательный эффект, получивший в 1977 г. с лёгкой руки Джона Бэкуса наименование «бутылочное горлышко фон Неймана» [von Neumann bottleneck][1]: поскольку в этой архитектуре программы и данные хранятся в памяти, процессор и память разделены и данные пересылаются между ними при помощи соединительной шины, то это приводит к возникновению задержек. Независимо от того, насколько быстро может работать процессор, на деле он ограничен скоростью передачи данных, являющейся узким местом архитектуры. В биологических нейронных сетях нейроны выполняют одновременно функции хранения и обработки данных. Данные, воплощающиеся в пороге активации нейрона и параметрах синаптических связей, не требуют пересылки по перегруженной общей шине устройства. При симуляции нейронной сети фон-неймановская машина вынуждена выполнять расчёт сигналов в каждом нейроне последовательно, что сильно замедляет процесс симуляции. Даже в современных параллельных архитектурах число вычислительных ядер на порядки меньше количества ячеек памяти. Чтобы преодолеть это неприятное ограничение, необходимо создание машин с принципиально иной архитектурой. Те архитектуры, которые подражают строению биологических нейронных сетей, называют нейроморфными. Более подробно мы поговорим о них позже, когда будем обсуждать современные проекты в этой области.

Конечно, и архитектура фон Неймана в некотором роде подражает человеческому мозгу. Ведь она была создана фон Нейманом в том числе под влиянием работ Мак-Каллока и Питтса. Поэтому граница между классическими и нейроморфными архитектурами в какой-то степени условна. Можно говорить о той или иной степени нейроморфности какой-либо архитектуры. Но всё же в большинстве случаев более или менее очевидно, к какому именно из полюсов тяготеет то или иное устройство.

Розенблатт не был единственным исследователем, проводившим на стыке 1950-х и 1960-х гг. опыты в области создания нейроморфных машин. В 1960 г. профессор Бернард Уидроу и его аспирант Тед Хофф из Стэнфордского университета разработали ADALINE (Adaptive Linear Neuron, или позднее Adaptive Linear Element, адаптивный линейный нейрон / адаптивный линейный элемент) — однослойную искусственную нейронную сеть и физическое устройство, реализующее эту сеть, основанное на элементах, получивших название «мемисторы» (не путать с мемристорами!).

Сначала Уидроу, как и Розенблатт, моделировал нейронную сеть при помощи потенциометров — переменных резисторов, регулируя сопротивление каждого из них вручную. Но для того, чтобы реализовать в такой схеме возможность самообучения, необходимо было осуществлять вращение ручек автоматически. В этой ситуации Розенблатт сделал ставку на использование электромоторов. Уидроу же ухватился за идею, подсказанную ему Норманом Абрамсоном из Гавайского университета. «Почему бы не сделать это химически, электрохимически, — сказал Абрамсон своему коллеге в одном из разговоров, — как это делается в мозге?»

Основываясь на этой идее, Уидроу придумал принципиальную схему устройства, названного мемистором (от memory — память и resistor — резистор, поскольку по сути элемент был резистором с памятью).

По замыслу Уидроу, мемистор должен был представлять собой банку, наполненную электролитом, с двумя погружёнными в неё электродами. Чтобы изменять сопротивление между ними, Уидроу предполагал использовать третий электрод, подведение тока к которому должно было каким-то образом менять химический состав раствора и тем самым изменять его сопротивление. Однако конкретных мыслей о том, какие химические вещества использовать, на какую именно реакцию полагаться и как быстро можно изменять сопротивление, у учёного не было.

На помощь пришёл Тед Хофф, который хорошо разбирался в химии. Хофф сразу понял, что будет очень сложно изменить сопротивление электролита. Вместо этого он предложил использовать гальванизацию.

Хофф и Уидроу взяли лист бумаги, мягкий карандаш, провели на листе линию длиной несколько сантиметров и при помощи омметра замерили её сопротивление. Затем они взяли немного раствора сульфата меди в серной кислоте и нанесли его поверх графитной линии — после добавления электролита сопротивление уменьшилось в 1000 раз. После этого они погрузили в нанесённый на поверхность линии раствор медный электрод и, пропустив ток, смогли добиться осаждения небольшого количества меди поверх графита, что снизило сопротивление ещё примерно в 100 раз.

Исследователи хотели добиться обратного эффекта (удаления меди с поверхности) путём обращения направления электрического тока, но, пока они возились с оборудованием, кислота проела бумагу, и вся конструкция развалилась. Однако сам принцип уже был понятен, и Уидроу принялся за дело. Он взял омметр и отправился с ним в книжный магазин. Подойдя к прилавку, он сказал продавщице:

— Я хотел бы купить грифели для карандашей!

— Да, сэр. Посмотрите в витрине, там полно разных типов грифелей.

— Я хотел бы купить тот, который имеет самое высокое электрическое сопротивление.

— Прошу прощения?..

Уидроу вкратце обрисовал продавщице суть, она вытащила грифели из коробки и позволила ему заняться измерениями. Победителем стал грифель Fineline Type H, предназначенный для механического карандаша, — он выдал рекордные 9 Ом от одного конца до другого. Уидроу и Хофф взяли этот грифель, поместили один конец грифеля в зажим, окунули другой конец в раствор сульфата меди в серной кислоте, погрузили туда медный электрод и включили электрический ток. Вытащив и ополоснув грифель, учёные увидели отличное покрытие из меди на его кончике — твёрдое как камень.

Затем таким же образом медь была нанесена на другой конец грифеля. Экспериментаторы припаяли к медным оконцовкам грифеля два куска провода с пластмассовой изоляцией, покрыли места пайки лаком для ногтей, который Уидроу попросил у жены, — это было сделано, чтобы припой не растворился в серной кислоте. Затем учёные поместили грифель в лабораторную пробирку (оставив концы проводов снаружи), туда же опустили оголённый медный провод и наполнили пробирку уже знакомым раствором. В итоге у них получилось устройство с тремя выведенными наружу электрическими контактами. Подавая в разных направлениях ток между медным проводом и грифелем, можно было добиваться как осаждения меди на поверхности грифеля, так и её удаления оттуда, что позволяло изменять сопротивление грифеля в пределах от 9 до 0,25 Ом.

Именно из таких элементов и был собран ADALINE. Обучение было организовано при помощи несложной электросхемы, реализующей алгоритм, получивший название LMS (Least Mean Squares, алгоритм наименьших средних квадратов)[2], — один из ранних вариантов стохастического градиентного спуска[3]. Информация, накопленная искусственными нейронами ADALINE, была воплощена в различной толщине слоя меди на поверхности графитных стержней.

Позже в одном из интервью Уидроу так описывал события того времени: «Мы знали о Розенблатте только из газетных заметок о его работе. Она была сенсационной темой для прессы. Через некоторое время и наша работа также стала сенсационной. Некоторые из людей, занимающихся в Стэнфорде связями с общественностью, однажды организовали мою пресс-конференцию. Там была целая комната, полная репортёров, и я демонстрировал самообучающуюся машину. Это было довольно удивительно для 1960 года. Никто не знал, что это, чёрт возьми, такое и что можно с этим делать. Мы тоже не знали, что с этим можно делать»[4].

Как в перцептроне Розенблатта, так и в ADALINE искусственный нейрон выполняет две операции: суммирование входящих сигналов и подстановку их в некоторую функцию, называемую пороговой функцией или функцией активации. В качестве пороговых Розенблатт и Уидроу использовали функции, которые могли принимать одно из двух значений (обычно 0 или 1). Если аргумент функции превышал некоторое пороговое значение, то сама она принимала значение, равное верхнему порогу (обычно 1), в противном случае — нижнему порогу (обычно 0). Пороговая функция в перцептроне и ADALINE служила заменой условия срабатывания нейрона в сетях Мак-Каллока и Питтса. Нейрон Мак-Каллока и Питтса активируется в случае, если число возбуждающих сигналов превышает некоторое пороговое значение (при отсутствии тормозящих сигналов). Единственным важным отличием сетей Розенблатта и Уидроу стал факт появления синаптических весов (или коэффициентов), на которые умножался сигнал при прохождении через соответствующее соединение нейронов. Таким образом, сигналы в сетях Розенблатта и Уидроу перестали быть аналогами логических суждений «истина» или «ложь» и стали численными значениями.

Как перцептрон Розенблатта, так и ADALINE обучались при помощи сходных алгоритмов, сегодня известных под названием «метод коррекции ошибки». Подробнее этот подход мы рассмотрим позже, когда будем говорить о теореме о сходимости перцептрона. Отметим лишь, что, в отличие от перцептрона Розенблатта, в ADALINE для вычисления величины ошибки использовалось значение сигнала до прохождения его через функцию активации. Многослойная версия ADALINE вполне ожидаемо получила название MADALINE.

Группы Розенблатта и Уидроу были не единственными командами учёных, кто занимался созданием коннекционистских моделей в те годы. В конце 1950-х — начале 1960‑х гг. над созданием модели, похожей на перцептрон и ADALINE, работал немецкий информатик Карл Штейнбух (собственно, он и придумал немецкий термин Informatik — информатика, который затем перекочевал в русский язык, благодаря чему сегодня мы можем обойтись одним словом «информатика» вместо двух английских computer science). Алгоритм, созданный Штейнбухом, получил название Lernmatrix — матрица обучения. В конце 1968 г. в Технологическом институте Карлсруэ под руководством Штейнбуха на основе Lernmatrix был создан первый европейский нейрокомпьютер.

Система состояла из двух модулей. Модуль ввода был «глазами» устройства и представлял собой набор фотоэлементов. Сигналы, полученные фотоэлементами, обрабатывались при помощи обучаемой матрицы на базе реле. В своих экспериментах Штейнбух продемонстрировал, что система была способна распознавать изображения пяти гласных букв[5], [6].

Рис. 94. Нейрокомпьютер Lernmatrix. В левой части происходит сканирование изображения при помощи матрицы из двадцати фотоэлементов, в среднем блоке идёт обработка, справа расположен блок акустического вывода

Перцептрон Розенблатта был устроен похожим образом. Входные данные поступали в него при помощи модуля ввода, в котором входное изображение подсвечивалось мощным источником света и проецировалось на матрицу размером 20 × 20 фотоэлементов на основе сульфида кадмия. Перцептрон также имел коммутационную панель, которая позволяла формировать конфигурацию возбуждающих и тормозящих синаптических связей[7].

Первые нейрокомпьютеры были способны решать несложные задачи по распознаванию образов, успешно не только определяя геометрические фигуры и символы, но и, например, отличая фотографии женщин от фотографий мужчин.

К сожалению, в большинстве случаев до нас не дошли ни наборы данных, на которых производилось тестирование этих устройств, ни полученные значения метрик точности распознавания, однако, основываясь на общих представлениях о возможностях столь небольших по современным меркам моделей, можно предположить, что результаты были довольно скромными. В сборнике Naval Research Reviews за 1960 г. говорится, что при распознавании символов перцептрон Розенблатта правильно распознавал буквы в 85% случаев[8].

Рис. 95. Перцептрон Розенблатта. Провода — синапсы, соединяющие А- и S-слои

Loading comments...
  1. 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
  2. Anderson J., Rosenfeld E. (2000). Talking Nets: An Oral History of Neural Networks. New York, NY, USA: MIT Press // https://books.google.ru/books?id=-l-yim2lNRUC
  3. Douglas S. C. (1995). Generalized gradient adaptive step sizes for stochastic gradient adaptive filters / 1995 International Conference on Acoustics, Speech, and Signal Processing, Vol. 2, Iss. 8, pp. 1396—1399 // https://doi.org/10.1109/ICASSP.1995.480502
  4. Anderson J., Rosenfeld E. (2000). Talking Nets: An Oral History of Neural Networks. New York, NY, USA: MIT Press // https://books.google.ru/books?id=-l-yim2lNRUC
  5. Hilberg v. W. (1995). Karl Steinbuch, ein zu Unrecht vergessener Pionier der künstlichen neuronalen Systeme / Frequenz, Vol. 49, pp. 1—2 // https://www.degruyter.com/downloadpdf/j/freq.1995.49.1-2/freq.1995.49.1-2.28/freq.1995.49.1-2.28.pdf
  6. Karl Steinbuch: von der Kybernetik zur Politik (2017) / Heinz Nixdorf MuseumsForum Blog, 15.06.2017 // https://blog.hnf.de/karl-steinbuch-von-der-kybernetik-zur-politik/
  7. Bishop C. M. (2006). Pattern Recognition and Machine Learning. Information science and statistics. Springer New York // https://books.google.ru/books?id=kOXDtAEACAAJ
  8. United States. Office of Naval Research (1960). Research device recognizes objects or patterns / Naval Research Reviews, Volume 13, 4-Feb-1960 // https://books.google.ru/books?id=ve9cbfGDaywC