d9e5a92d

Потапов А. - Нелинейная динамика обработки информации в нейронных сетях

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

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

Обсуждаются также гамильтоновы нейронные сети.

Введение

Искусственные нейронные сети широко используются для решения как инженерных, так и научных задач [17, 18, 45, 46, 59, 58, 79, 95, 97]. Поскольку они оказались весьма эффективным инструментом обработки информации, постоянно делаются попытки расширить область их приложения или найти новые принципы их построения или работы. Около десяти лет назад предпринимались усилия с целью улучшить работу нейросетей при помощи динамического хаоса, обзор большинства таких попыток можно найти, например, в [93, 34], см. также [5]. Несмотря на множество интересных деталей, главный вопрос так и остался невыясненным: полезен или нет хаос для целей обработки информации?

Аргументы существуют как за, так и против. С одной стороны, активность мозга весьма сложна и, по некоторым данным, хаотична. Быть может, эта хаотичность даёт какие-либо преимущества в борьбе за существование?

С другой стороны, никто не делает хаотическими, скажем, процессоры для того, чтобы повысить их надежность или производительность. В таком случае, почему хаос будет полезен в нейронных сетях, которые также занимаются обработкой информации?
Цель данной статьи рассмотреть принципы работы основных типов нейронных сетей с точки зрения нелинейной динамики, обсудить ряд попыток сделать динамику сети хаотической, а также представить альтернативный взгляд на роль хаоса в нейросетях. Если рассмотреть нейронную сеть как управляющий элемент некоторой большей системы, взаимодействующей с окру ж ающим миром, то хаос может возникнуть уже в очень простых моделях. Несколько таких моделей известны, например, в исследованиях по искусственному интеллекту. Более того, системам, взаимодействующим со своим окружением, необходим источник "инициативы" для того, чтобы исследовать мир и учиться на собственном опыте.

И динамический хаос вполне может служить источником такой инициативы. Кроме того, настоящей работе мы обсудим гамильтоновы нейронные сети, которые практически не исследовались до настоящего времени.

Такие сети могут оказаться классическими аналогами квантовых нейронных сетей.
Структура статьи следующая. Сначала в разделе 2 мы обсудим определение и различные взгляды на нейронные сети. В разделе 3 мы рассмотрим принципы работы некоторых существующих нейронных сетей для того, чтобы показать, почему, с точки зрения их пользователей и разработчиков сложная динамика и хаос не являются необходимостью.

В разделе 4 мы поясним, почему хаос может бытъ полезным. В разделах 5, 6 и 7 мы обсудим альтернативный подход к проблеме.

Что такое искусственная нейронная сеть?

Несмотря на огромное число публикаций, в настощее время нет общепринятого определения искусственой нейронной сети (ИНС). Причина, скорее всего, в том, что различных типов сетей существует очень много.

Поэтому иногда используется более общий термин, ’’коннекционизм", обозначающий методологию создания сложной системы как комбинации похожих или идентичных элементов [29]. Для ИНС базовые нелинейные элементы называются формальными нейронами.

Как правило, формальный нейрон получает несколько входных сигналов хі, суммирует их, выполняет нелинейное преобразование над этой суммой у = /(Х)ж*), после чего посылает у в качестве своего выходного сигнала другим нейронам или устройствам. Функция / называют функцией активации. Очень часто / является "сигмоидной" функцией вида /(ж) = 1/(1 + е~аж) или /(ж) = tanh аж.

В предельном случае а оо, / становится пороговой функцией.
Связи между нейронами характеризуются весами ищ. Нейроны могут также получать внешние сигналы Хі с весами w'ik.

Таким образом, типичная операция, выполняемая нейроном в сети это преобразование вида f(J2j wijxj + Sfc wik.Xk)- Выходом нейросети служат состояния нейронов (всех или некоторых) по окончании всех промежуточных расчетов. Таким образом, основные черты нейронной сети следующие:


- Это устройство для обработки информации, получающее на входе сигнал X (как правило, вектор) и вырабатывающее выходной сигнал Y = F(X) ( Y также может быть вектором).
- Она состоит из элементов-нейронов, которые работают параллельно, подобно нейронам мозга.
- Она способна обучаться. Обычно под обучением понимается процесс подборки весов Wij для того, чтобы добиться желаемых свойств отображения F.
Искусственные нейронные сети (ИНС) исследуются с нескольких точек зрения, из которых наиболее важными нам представляются следующие четыре.

Нейросети в статистике и численных методах

На практике очень часто возникает задача аппроксимации неизвестной функции по экспериментальным точкам: задан набор пар точек {Jfj, Yj = Ф(АГ^)}, необходимо построить аппроксимацию F(X) для Ф(Х). Помимо обычной аппроксимации кривых и поверхностей, к этому виду можно привести поразительно большое количество задач распознавания образов, классификации, прогноза и управления. Например, в качестве Хі могут выступать показания датчиков, характерзующих обстановку вокруг автомобиля, а в качестве Yj действия опытного водителя в данной ситуации.

Хорошая аппроксимация F(X) позволяет создать систему, способную управлять автомобилем.
Классическая теория аппроксимации, как правило, имеет дело с функциями одной переменной. При необходимости построить аппроксимацию, скажем, функции 10 переменных классические методы, такие как аппроксимация полиномом, не слишком эффективны.

Аппроксимации комбинациями сигмоидных функций часто оказываются существенно лучше.
Общая задача аппроксимации нейронной сетью выглядит следующим образом. Выбирается некоторый общий вид аппроксимирующей функции F(X, w) ("архитектура сети" ), а затем подбираются коэффициенты w с тем чтобы минимизировать погрешность 2 \Yj F{X1w)\2. Процесс минимизации называется обучением нейросети.

Он существенно зависит от выбранного типа сети.
На первый взгляд все выглядит исключительно просто. Но если начать строить реальную сеть, немедленно возникают вопросы: сколько нейронов взять, как их соединять, какие методы минимизации использовать и т.п. Современная теория нейронных сетей способна на некоторые из них давать строгие ответы, а на другие отвечать на основе богатого опыта.

Строгие результаты основаны на (а) теореме Колмогорова об аппроксимации функций сигмоидами, (Ь) ряде теорем, показывающих, что многослойные персептроны являются универсальными аппроксиматорами (см. ниже) и (с) методах математической статистики. Очень хорошее описание статистического взгляда на нейронные сети можно найти в работах [16, 25, 81].

Нейросети в computer science

Это направление связано главным образом с логикой и вычислительными возможностями нейронных сетей. Отображение X Y, порождаемое нейросетью, можно рассматривать как способ организации вычислений.

В этом плане основное отличие нейронных сетей от обычных компьютеров в том что они (1) могут работать с очень высокой степенью параллелизма, (2) вместо программирования, они обучаются на примерах и (3) они способны распознавать образы только по какой-либо их части.
В то же время между нейросетями и компьютерами нет жесткой границы. Начало истории искусственных нейронных сетей часто связывают со знаменитой работой Маккаллока и Питтса, опубликованной в 1943 году [63]. В ней показано, что простые сети пороговых элементов, иногда называемых нейронами Маккаллока-Питтса, могут работать как логические элементы, а значит из них можно составить большую сеть, которая будет работать как универсальный компьютер.

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

Разницу между заданным и получающимся значением на выходе можно использовать для необходимой коррекции весов это т.н. обучение с учителем. В задачах искусственного интеллекта, таких как управление перемещением робота, необходимо научиться правильным действиям в заданном " состоянии" (при данной комбинации показаний сенсоров) когда правильный ответ заранее неизвестен, известен только нужный окончательный результат и отклонение от него всей ситуации в целом, сложившейся в результате множества действий. Правильные действия в каждой конкретной ситуации можно найти только в процессе множества проб и ошибок. Такой путь обучения называется "обучение поощрением" (Reinforcement Learning) или "обучение с критиком".

Оно основано на сигналах поощрения в случае успеха или наказания при его отсутствии. Первая попытка построения искусственной нейронной сети с поощрительным обучением была предпринята М. Минским еще в 1954 году, однако существенный прогресс в развитии методов обучения поощрением был достигнут лишь в 1980-1990 годах [83].

Важной чертой этого метода является интеграция нейросети в бсілыпую систему, при этом обучение протекает как взаимодействие обучающегося " агента" со своим окружением. Мы рассмотрим эти вопросы подробнее в разделах 5 и 6.
Хорошее изложение основ нейронных сетей с позиции computer science можно найти, например, в [7].

Искусственные нейронные сети и биология

Вопросы, связанные с вычислительными возможностями и историей нейронных сетей приводят к началам теории нейронных сетей, к биологическим аналогиям, вопросам теории восприятия (cognitive science) и теориям работы мозга (см., например, [78]). Другими словами, мы приходим к биологическому взгляду на искусственные нейронные сети.

Прекрасное описание этой точки зрения можно найти, к примеру, в обзорах Фримана [34, 33].
Исследования свойств мозга в физиологии и психологии имеют значительно более давнюю историю, чем нейронные сети. Для биологии методы теории нейронных сетей только один из многих возможных подходов. Его основная задача моделирование и объяснение результатов физиологических экспериментов или углубление наших представлений о возможных принципах работы мозга.

Подобное моделирование позволяет проверять биологические гипотезы, которые не поддаются проверке иными способами [34].
Вообще говоря, вся теория нейронных сетей обязана своим появлением открытиям в нейронауке. В 50-е годы возникли большие надежды на то, что вскорости удастся смоделировать основные функции мозга. Они возникли благодаря недооценке сложности мозга: первые оценки числа нейронов в мозге давали значения порядка ~ 103 [34].

Позднее было установлено, что мозг содержит около 109 нейронов, каждый из которых имеет большое число связей, до 105. Задача моделирования функций всего мозга в этой связи отодвинулась на неопределенный срок.
Работы по моделированию биологических структур мозга начались с воспроизведения свойств единственного нейрона или его частей. Надо заметить, что биологический нейрон значительно сложнее формальных нейронов ИНС.

Например, модель распространения электрического сигнала вдоль аксона (проводника выходного сигнала нейрона) включает два уравнения в частных производных, а сравнительно простое описание динамики нейрона требует дифференциальных уравнений с запаздыванием (см., например, ссылки в [34]). Следующий уровень описания модели групп нейронов или небольших структур мозга [34]. В этом случае основная задача состоит в построении сети, которая воспроизводила бы особенности, наблюдаемые в реальных физиологических экспериментах. Подобные модели могут быть абсолютно непохожи на те, что используются в аппроксимирующих нейросетях.

Кроме того, в случае решения аналогичных задач, биологические сети оказываются гораздо сложнее.
Важным аспектом математической биологии нейронных сетей является классификация моделей, поиск наиболее общих их форм и принципов их построения. Существенный прогресс на этом пути был достигнут с использованием методов теории бифуркаций [53].
Многичисленные физиологические наблюдения демонстрируют сложность поведения мозга. Вполне вероятно, что оно является хаотическим [34, 8, 9, 38, 41]. Но почему? Какие преимущества в обработке информации может давать хаос?

Необходима ли системам, обрабатывающим информацию, своя собственная внутренняя динамика и каковы в таком случае должны быть принципы их работы? Эти вопросы относятся уже к области нелинейной динамики.

Взгляд нелинейной динамики

С точки зрения нелинейной динамики, наиболее интересны общие принципы динамики исследуемой системы. Это может быть не слишком существенно для многих конкретных деталей, но зато дает основу для общего взгляда на различные типы нейронных сетей.
Во-первых, мы можем сразу разделить все типы нейронных сетей на две большие категории "функции" и " динамические системы". Вторая категория для нас более интересна, хотя про первую мы скажем в дальнейшем несколько слов. Динамические системы могут быть консервативным,и или диссипативными.

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

У консервативных систем аттракторов нет, а потому они не могут работать по этой схеме. Тем не менее, в разделе 7 мы рассмотрим пример консервативной гамильтоновой системы, реализующей алгоритм распознавания образов.

Подобные системы могут представлять интерес с точки зрения квантовой обработки информации.
Аттракторы динамической системы представляют собой выход (У) нейронной сети. Входной сигнал X можно подавать двумя основными способами: как начальные данные либо как параметры динамической системы.

Комбинирование этих путей в принципе возможно, но ни одна подобная сеть нам неизвестна. Таким образом, нелинейная динамика позволяет предложить следующую классификацию нейронных сетей соответственно способу организации отображения X Y.
1. Сети-функции. Выходной сигнал получается в результате ряда явно заданных преобразований входного. Основные этапы преобразования представляют собой нейроны и веса. Подобные нейронные сети являются чаще всего обычными функциями нескольких переменных, зависящими от параметров: Y = F(X, w), причем вид функции F известен (явные сети).

Но, вообще говоря, определение функции может включать рекурсивные ’’петли". Некоторые из выходных или промежуточных сигналов могут снова подаваться на вход, так что результатом может быть неявная функция, например, Y = F(X,Y,w) (рекуррентные сети).

Хорошо известными примерами сетей-функций могут служить (а) многослойные персептроны и (Ь) сети с радиальными базисными функциями [16, 45].
2. Динамические сети первого типа: X = начальные данные, Y = конечное состояние (аттрактор). Динамика сети может описываться (і) обыкновенными дифференциальными уравнениями, (іі) отображениями либо (ііі) клеточными автоматами. Заметим, что в области притяжения аттрактора конечное состояние системы Y в отображении Y = F(X) не зависит от X все притягивается к одному и тому же аттрактору.

Таким образом, данный тип сетей представляет интерес только когда аттракторов несколько. Поэтому мы будем называть их многоаттракторными сетям,и. Для того, чтобы отображение F было задано правильно, то есть чтобы правильно обучить сеть, необходимо разместить аттракторы системы в нужных местах и обеспечить отсутствие ’’ложных" аттракторов.

Наиболее известными сетями данного типа являются сети Хопфилда, BSB (brain state in a box), синергетический компьютер Хакена [49, 45, 27, 42].
3. Динамические сети второго типа: X = параметры динамической системы, Y = аттрактор. Как и в предыдущем случае динамическая система может иметь различный тип, но аттрактор для каждого набора входных данных аттрактор должен быть единственным. Наличие нескольких аттракторов может испортить работу системы.

Роль входных данных заключается в манипулировании этим единственным аттрактором, с тем чтобы в результате получалось необходимое отображение. Поэтому мы будем использовать термин сети с управляемым аттрактором,.

Хорошо известными примерами таких сетей могут служить сети Гроссберга с адаптивным резонансом, сеть Хопфилда-Танка для задач комбинаторной оптимизации и модель Фримана обонятельной луковицы [18, 99, 51].
4. Гамильтоновы нейронные сети. Сети этого типа в контексте обработки информации практически не рассматривались в литературе.
С точки зрения нелинейной динамики, наиболее интересны такие свойства искусственных нейронных сетей как сложность динамики, устойчивость и предсказуемость. В частности, представляет интерес вопрос, способен ли динамический хаос улучшать работу нейронной сети и способен ли он играть какую-либо существенную роль в обработке информации?

Основная цель данной статьи как раз и состоит в обсуждении этого вопроса. Но сначала мы рассмотрим более детально принципы работы некоторых важнейших типов нейронных сетей.

Основные типы искусственных нейронных сетей

В этом разделе мы кратко рассмотрим несколько основных типов нейронных сетей с позиций нелинейной динамики. Мы не ставили своей задачей сделать всеобъемлющий обзор, подобный, например, [45].

Мы лишь хотим отметить некоторые черты каждого типа сетей, важные с динамической точки зрения.

Сети-функции

Рассмотрим простой пример аппроксимации функции Y = f(X) сигмоидной функцией tanh(x) по значениям Yj = F(Xi) в нескольких точках Хі ? [Хоі, Х02]. Поскольку об-лсть значений гиперболического тангенса это отрезок [1,1], прежде всего необходимо сделать так, чтобы значения F(Xi) на [Jf0i, -Х02] ему принадлежали.

Этого несложно добиться линейным преобразованием (предобработкой) Yj, которую мы будем предполагать выполненной Yj, ? [1,1]. Затем необходимо выбрать вид аппроксимирующей функции Y = F(X, w), где w набор параметров. Например, если зависимость близка к линейной, можно использовать функцию Y = tanh^iX + w2). Затем необходимо ’’обучить" эту аппроксимацию на примерах, т.е. найти наилучшие значения w по известным парам Xj,,Yj.

Подбор параметров можно осуществлять путем минимизации функционала ошибки E(w) = ЕЛіі - F(Xj,w))2.
Как всё это связано с динамикой? Расчет результата вообще не содержит никакой динамики.

Процесс минимизации может принимать форму динамической системы, скажем, w = V-E(w), но любое усложнение этой динамики воспринимается как серьезный недостаток.
Тем не менее, динамика немедленно возникает как только мы попытаемся рассматривать неявные функции, например, Y = tanh^iX + w2Y + w3). Подобные неявные представления обычно более гибки, но они требуют специальной процедуры для поиска Y. Обычно это делается путем преобразования обычного уравнения в динамическую систему, например, Y = Y + tanh^iX + w2Y + w3). Разумеется, в данном простом уравнении никакой сложной динамики быть не может, однако в его многомерных аналогах она вполне возможна.

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

Нейрон і получает сигналы от других нейронов через соединения с весами Wjj, а также внешний входной сигнал Xj.
Обобщением явных функций Y = F(X,, w) является класс явных сетей с прямым распространением сигнала (feed-forward networks), для которых Wjj = 0 при j г, так что сигнал распространяется только от нейронов с меньшими номерами к нейронам с большими. Первый нейрон получает только сигнал извне, второй извне и, возможно, от первого и т.д.

Для обучения таких сетей применяется метод, называемый обратным распространением ошибки. Чтобы корректировать веса при обучении, необходимо сначала найти вспомогательную ’’погрешность" e.j для каждого нейрона. Можно показать, что e.j удовлетворяют системе линейных уравнений с верхней треугольной матрицей (в то время
как w нижняя треугольная). Поэтому хі расчитывают поочередно с 1 до N, а затем от N до 1, после чего расчитывают поправки весов Дто^.
Обобщением неявных функций Y = F(X, Y, w) являются рекуррентные нейронные сети, со связями в обеих направлениях. Для них ограничений на структуру матрицы пщ нет.

При решении системы (1) приходится использовать какие-либо итерационные схемы, то есть превращать систему нелинейных уравнений в динамическую систему. Например, вместо х = f(wx) + X рассматривают систему х = х + f(wx) + X, неподвижные точки которой дают решения исходных уравнений.

Метод обратного распространения ошибки, связанный с вычислением вспомогательных погрешностей е*, был обобщен и на рекуррентные сети [74, 45], однако уравнения для более не имеют столь простого вида.
Использование рекуррентных персептронов может сталкиваться с трудностями, поскольку (а) решение может не существовать, (Ь) может быть неединственным, либо (с) итерационная схема может приводить к нетривиальному временному поведению вместо сходимости к неподвижной точке.
Другим широко известным типом сетей-функций являются сети с радиальными базисными функциями. Для них выбиратся скалярная базовая функция (р(г) одной переменной, а также набор узлов k = 1,..., М. Аппроксимация ищется в виде F(X) = J2kLi Ak.(p (||АГ Jf0fc||)- Значения А^. можно найти минимизируя функционал ошибки Е(А) = J2 (Yi F(Xi)Y. Решение существует в широком классе базисных функций.

Динамика, как легко заметить, отсутствует.
Тем не менее описанные типы нейронных сетей тесно связаны с нелинейной динамикой. Они используются для аппроксимации неизвестных уравнений движения динамических систем по временным рядам.

Временной ряд поставляет пары Х^ (текущее состояние динамической системы) и (следующее состояние), а задача заключается в аппроксимации зависимости Y = F(X). Затем построенная аппроксимация может быть использована для предсказания временного ряда [96] (существует также особый тип персептронов, ориентированный на обработку временных рядов и версия методики обучения, называемая "backpropagation through time") [45].

Многоаттракторные сети

Простейший пример

Рассмотрим простейший пример градиентной системы, потенциал которой имеет две ямы,
х = х ж3, ж(0) = X.
Если в качестве выходного значения взять Y = ж(оо), то при X 0 мы получим Y = 1, а при X 0 Y = 1, то есть Y = sgn(AT). Эта динамическая система распознаёт знак входных данных и разбивает их на два класса.

Или же мы можем сказать, что в систему заложены два ’’образа" (+1 и 1, один бит), а начальные данные представляют собой "зашумлённый" или "искаженный" образ. Система же распознаёт входные данные как один из двух запомненных образов.
Все прочие многоаттракторные сети функционируют аналогично: (1) запомненные образы соответствуют аттракторам динамической системы; (2) классификация или распознавание выполняется в соответствии с тем, в области притяжения какого аттрактора окажутся начальные данные; и (3) процесс сходимости к аттрактору рассматривается как распознавание образа.



Содержание раздела