Нейрокомпьютерные системы

          

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


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

Если вектор радиальных функций в

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

Нейрокомпьютерные системы

Граница между этими классами определяется уравнением

Нейрокомпьютерные системы
.

Доказано, что каждое множество образов, случайным образом размещенных в многомерном пространстве, является

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

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

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

Нейрокомпьютерные системы

Использование

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

обучающими парами

Нейрокомпьютерные системы
. Примем, что координаты каждого из
Нейрокомпьютерные системы

центров узлов сети определяются одним из векторов

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


Нейрокомпьютерные системы


(1)
где
Нейрокомпьютерные системы
определяет радиальную функцию с центром в точке
Нейрокомпьютерные системы
с вынужденным вектором
Нейрокомпьютерные системы
,
Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
.

Доказано, что для ряда радиальных функций в случае
Нейрокомпьютерные системы


квадратная интерполяционная матрица
Нейрокомпьютерные системы
является невырожденной и при этом неотрицательно определенной. Поэтому существует решение уравнения (1) в виде

Нейрокомпьютерные системы


(2)
что позволяет получить вектор весов выходного нейрона сети.

Теоретическое решение проблемы, представленное выражением (2), не может считаться абсолютно истинным по причине серьезного ограничения общих свойств сети, вытекающих из сделанных вначале допущений. При очень большом количестве обучающих выборок и равном ему количестве радиальных функций проблема с математической точки зрения становится бесконечной (плохо структурированной), поскольку количество уравнений начинает превышать число степеней свободы физического процесса, моделируемого уравнением (1). Это означает, что результатом такого чрезмерного количества весовых коэффициентов станет адаптация модели к разного рода шумам или нерегулярностям, сопровождающим обучающие выборки. Как следствие, интерполирующая эти данные гиперповерхность не будет гладкой, а обобщающие возможности останутся очень слабыми.

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


Радиальная нейронная сеть


Использование в разложении

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

базисными функциями, то аппроксимирующее решение можно представить в виде

Нейрокомпьютерные системы

(3)

где

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

Чаще всего в качестве радиальной функции применяется функция Гаусса. При размещении ее центра в точке

Нейрокомпьютерные системы
она может быть определена в сокращенной форме как

Нейрокомпьютерные системы

(4)

В этом выражении

Нейрокомпьютерные системы
- параметр, от значения которого зависит ширина функции.

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

Нейрокомпьютерные системы
определяется зависимостью (4). Это сеть с двухслойной структурой, в которой только скрытый слой выполняет нелинейное отображение, реализуемое нейронами с базисными радиальными функциями. Выходной нейрон, как правило, линеен, а его роль сводится к взвешенному суммированию сигналов, поступающих от нейронов скрытого слоя. Вес
Нейрокомпьютерные системы
, как и при использовании сигмоидальных функций, представляет поляризацию (порог), вводящую показатель постоянного смещения функции.

Нейрокомпьютерные системы

Рис. 2.  Обобщенная структура радиальной сети

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

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


Автоассоциативная сеть Хопфилда


Структура сети Хопфилда представляется в виде системы с непосредственной обратной связью выхода со входом (рис. 1). Выходные сигналы нейронов являются одновременно входными сигналами сети:

Нейрокомпьютерные системы
. В классической сети Хопфилда отсутствует автосвязь (связь выхода нейрона с его собственным входом), что соответствует
Нейрокомпьютерные системы
, а матрица весов является симметричной:
Нейрокомпьютерные системы
. Отсутствие автосвязи и симметричность матрицы весов являются достаточными (но не необходимыми!) условиями сходимости итерационных (переходных) процессов в сети Хопфилда.

Далее в данной лекции предполагаем, что каждый нейрон имеет биполярную ступенчатую функцию активации со значениями

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

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
обозначает количество нейронов,
Нейрокомпьютерные системы
.

Далее допустим, что порог срабатывания является компонентой вектора

Нейрокомпьютерные системы
. Тогда основную зависимость, определяющую сеть Хопфилда, можно представить в виде

Нейрокомпьютерные системы

(1)

с начальным условием

Нейрокомпьютерные системы
.

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

Нейрокомпьютерные системы
.

Нейрокомпьютерные системы

Рис. 1.  Структура сети Хопфилда



Двунаправленная ассоциативная память


Обобщением сети Хопфилда на случай двухслойной рекуррентной структуры, позволяющей кодировать множества двух взаимосвязанных векторов, считается двунаправленное ассоциативное запоминающее устройство, называемое BAM (Bidirectional Associative Memory) (рис. 3). Сигналы распространяются в двух направлениях. Если в первом цикле сигналы вначале проходят в одну сторону для задания состояний нейронов-получателей, то в следующем цикле эти нейроны сами становятся источниками, высылающими сигналы в обратную сторону. Процесс повторяется до достижения состояния равновесия.

Функция активации нейронов имеет пороговый характер. Для обеспечения лучших характеристик сети на этапе обучения используются только биполярные сигналы. Матрица весов

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

Пусть входные обучающие данные представляют собой множество пар

Нейрокомпьютерные системы
биполярных векторов. На основе этого множества формируется матрица

Нейрокомпьютерные системы

В результате процесса двунаправленной обработки сигналов формируются два стабильных вектора

Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
, удовлетворяющих уравнениям

Нейрокомпьютерные системы

Нейрокомпьютерные системы

Каждой промежуточной точке

Нейрокомпьютерные системы
можно сопоставить энергетическую функцию

Нейрокомпьютерные системы

которая убывает при каждом изменении состояния вплоть до достижения локального минимума

Нейрокомпьютерные системы

Нейрокомпьютерные системы

Рис. 3.  Структура сети BAM

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

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

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- число запоминаемых в сети BAM пар векторов.



Обучение сети Хопфилда методом проекций


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

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- матрица весов сети размерностью
Нейрокомпьютерные системы
, а
Нейрокомпьютерные системы
- прямоугольная матрица размерностью
Нейрокомпьютерные системы
, составленная из
Нейрокомпьютерные системы

обучающих векторов

Нейрокомпьютерные системы
. Решение такой линейной системы уравнений имеет вид

Нейрокомпьютерные системы

где знак + обозначает псевдоинверсию.

Если обучающие векторы линейно независимы, последнее выражение можно упростить и представить в виде

Нейрокомпьютерные системы

(2)

Здесь псевдоинверсия заменена обычной инверсией квадратной матрицы

Нейрокомпьютерные системы
размерностью
Нейрокомпьютерные системы
.

Выражение (2) можно записать в итерационной форме, не требующей расчета обратной матрицы. В этом случае (2) принимает вид итерационной зависимости от последовательности обучающих векторов

Нейрокомпьютерные системы
,
Нейрокомпьютерные системы
:

Нейрокомпьютерные системы

Нейрокомпьютерные системы

при начальных условиях

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

Модифицированный вариант метода проекций - метод

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

Нейрокомпьютерные системы

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



Обучение сети Хопфилда по правилу Хебба


Для одного обучающего вектора

Нейрокомпьютерные системы
значения весов могут быть вычислены по правилу Хебба

Нейрокомпьютерные системы

поскольку тогда

Нейрокомпьютерные системы

(вследствие биполярных значений элементов вектора

Нейрокомпьютерные системы
всегда
Нейрокомпьютерные системы
).

При вводе большего количества обучающих векторов

Нейрокомпьютерные системы
веса
Нейрокомпьютерные системы
подбираются согласно обобщенному правилу Хебба

Нейрокомпьютерные системы

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

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



Сеть Хемминга


Сеть Хемминга включает в себя три слоя (рис.2).

Первый слой имеет однонаправленное распространение сигналов от входа к выходу и фиксированные значения весов.

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

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

Выходной однонаправленный слой формирует выходной вектор, соответствующий входному вектору.

Нейрокомпьютерные системы

увеличить изображение
Рис. 2.  Структура сети Хемминга

Сеть Хемминга считается гетероассоциативным запоминающим устройством с парой связанных между собой векторов

Нейрокомпьютерные системы
, где
Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
- входной и выходной биполярные векторы сети.

Веса первого слоя соответствуют векторам

Нейрокомпьютерные системы
, т.е.

Нейрокомпьютерные системы

Аналогично, веса выходного слоя соответствуют векторам образов

Нейрокомпьютерные системы
, связанных с
Нейрокомпьютерные системы
:

Нейрокомпьютерные системы

Во втором слое (MAXNET), функционирующем в режиме WTA (Winner Takes ALL - "Победитель забирает все"), каждый нейрон должен усиливать собственный сигнал и ослаблять сигналы остальных нейронов. Для этого принимается

Нейрокомпьютерные системы

а также

Нейрокомпьютерные системы

Для обеспечения сходимости итерационного процесса во втором слое веса

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- достаточно малая случайная величина,
Нейрокомпьютерные системы
.

Нейроны первого слоя рассчитывают расстояния Хемминга

Нейрокомпьютерные системы

между поданным на вход сети вектором

Нейрокомпьютерные системы
и векторами весов
Нейрокомпьютерные системы

нейронов этого слоя. Значения выходных сигналов нейронов первого слоя определяются по формуле

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- число компонент вектора
Нейрокомпьютерные системы
.

Сигналы

Нейрокомпьютерные системы
становятся начальными состояниями нейронов второго слоя. Этот слой определяет "победителя", т.е. нейрон, выходной сигнал которого близок к 1.
Такой нейрон указывает на вектор образа с минимальным расстоянием Хемминга до входного вектора
Нейрокомпьютерные системы
. Функция активации для нейронов второго слоя задается выражением

Нейрокомпьютерные системы


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

Достоинством сети Хемминга считается небольшое количество взвешенных связей между нейронами. Многочисленные эксперименты доказали, что сеть Хемминга дает лучшие результаты, чем сеть Хопфилда. Единственная проблема, связанная с сетью Хемминга, проявляется в случае, когда зашумленные образы находятся на одинаковом (в смысле Хемминга) расстоянии от двух или более эталонов. В этом случае выбор сетью Хемминга одного из эталонов становится случайным.


Отдельную группу нейронных сетей составляют


Отдельную группу нейронных сетей составляют сети с обратной связью между различными слоями нейронов. Это так называемые рекуррентные сети. Их общая черта состоит в передаче сигналов с выходного либо скрытого слоя на входной слой.
Благодаря обратной связи при подаче сигнала на входы сети, в ней возникает переходный процесс, который завершается формированием нового устойчивого состояния, отличающегося в общем случае от предыдущего. Если функцию активации нейрона обозначить
Нейрокомпьютерные системы
, где
Нейрокомпьютерные системы
- взвешенная сумма его возбуждений, то состояние нейрона можно определить выходным сигналом
Нейрокомпьютерные системы
. Изменение состояния
Нейрокомпьютерные системы
-го нейрона можно описать системой дифференциальных уравнений
Нейрокомпьютерные системы

для
Нейрокомпьютерные системы
, где
Нейрокомпьютерные системы
- пороговое значение.
Рекуррентной сети можно поставить в соответствие энергетическую функцию Ляпунова
Нейрокомпьютерные системы

Изменение состояния какого-либо нейрона инициализирует изменение энергетического состояния сети в направлении минимума ее энергии вплоть до его достижения. В пространстве состояний локальные энергетические минимумы E представлены точками стабильности, называемыми аттракторами из-за тяготения к ним ближайшего окружения. Благодаря наличию аттракторов, рекуррентные сети могут быть использованы как устройства ассоциативной памяти.
Ассоциативная память играет роль системы, определяющей взаимную зависимость векторов. В случае, когда на взаимозависимость исследуются компоненты одного и того же вектора, говорят об автоассоциативной памяти. Если же взаимозависимыми оказываются два различных вектора, можно говорить о памяти гетероассоциативного типа. К первому классу относится сеть Хопфилда, а ко второму - сеть Хемминга и сеть типа BAM (Bidirectional Associative Memory - двунаправленная ассоциативная память).
Задача ассоциативной памяти сводится к запоминанию обучающих векторов, чтобы при представлении нового вектора система могла сгенерировать ответ - какой из запомненных ранее векторов наиболее близок к вновь поступившему образу. Часто в качестве меры близости отдельных множеств применяется расстояние Хемминга.
При использовании двоичных значений (0,1) расстояние Хемминга между двумя векторами
Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
определяется в виде
Нейрокомпьютерные системы

При биполярных значениях элементов обоих векторов расстояние Хемминга рассчитывается по формуле
Нейрокомпьютерные системы

Мера Хемминга равна числу несовпадающих компонент двух векторов. Она равна нулю, когда
Нейрокомпьютерные системы
.

Функция консенсуса


Для состояния

Нейрокомпьютерные системы
МБ вводится понятие консенсуса

Нейрокомпьютерные системы

Каждая связь в этой сумме учитывается один раз. Консенсус

Нейрокомпьютерные системы

интерпретируется как количественная мера желательности, чтобы все связи

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

Нейрокомпьютерные системы

Разница консенсусов соседних состояний

Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
равна

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- множество связей нейрона
Нейрокомпьютерные системы
. Видно, что
Нейрокомпьютерные системы
для всех
Нейрокомпьютерные системы
могут вычисляться параллельно.



Максимизация консенсуса


Переход МБ из одного состояния в другое с максимизацией консенсуса происходит путем выполнения пошаговой процедуры. На каждом ее шаге выполняется испытание, состоящее из двух частей:

для данного состояния

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

Состояние

Нейрокомпьютерные системы
принимается с вероятностью

Нейрокомпьютерные системы

(4)

где

Нейрокомпьютерные системы
- управляющий параметр ("температура").

Процесс максимизации консенсуса начинается с высокого значения

Нейрокомпьютерные системы

параметра

Нейрокомпьютерные системы
и случайно выбранного начального состояния
Нейрокомпьютерные системы
. В течение процесса параметр
Нейрокомпьютерные системы
уменьшается от
Нейрокомпьютерные системы
до 0. По мере того как
Нейрокомпьютерные системы

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

1. Начальное значение параметра

Нейрокомпьютерные системы
для каждого нейрона
Нейрокомпьютерные системы

Нейрокомпьютерные системы

2. Правило понижения

Нейрокомпьютерные системы

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- положительное число, меньшее единицы, но близкое к ней.

3. Число

Нейрокомпьютерные системы
испытаний, которые проводятся без изменения
Нейрокомпьютерные системы
(
Нейрокомпьютерные системы
— функция от
Нейрокомпьютерные системы
).

4. Число

Нейрокомпьютерные системы
последовательных испытаний, не приводящих к изменению состояния машин (
Нейрокомпьютерные системы
- функция от
Нейрокомпьютерные системы
), как критерий завершения процесса.



Машина Больцмана


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

Нейрокомпьютерные системы
- число нейронов,
Нейрокомпьютерные системы
- множество связей между нейронами, при этом все автосвязи принадлежат этому множеству, т.е.
Нейрокомпьютерные системы
. Каждый нейрон может иметь состояние 0 или 1. Состояние
Нейрокомпьютерные системы
МБ определяется состояниями нейронов
Нейрокомпьютерные системы
- начальное состояние. Каждая связь
Нейрокомпьютерные системы
имеет вес
Нейрокомпьютерные системы
- вещественное число, множество связей -
Нейрокомпьютерные системы
. Связь
Нейрокомпьютерные системы
называется активной в состоянии
Нейрокомпьютерные системы
, если
Нейрокомпьютерные системы
. Вес связи
Нейрокомпьютерные системы
интерпретируется как количественная мера желательности, чтобы эта связь была активной. При
Нейрокомпьютерные системы
- активность очень желательна, при
Нейрокомпьютерные системы
- активность очень нежелательна. Как и в модели Хопфилда, связи в МБ симметричны, т.е.
Нейрокомпьютерные системы
.



Решение задачи коммивояжера машиной Больцмана


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

каждое решение представляется набором

Нейрокомпьютерные системы
,
Нейрокомпьютерные системы
— число нейронов в сети,
Нейрокомпьютерные системы
- состояние нейрона. Структура связей и веса выбираются так, что:

Нейрокомпьютерные системы
. Все локальные максимумы функции консенсуса соответствуют приемлемым решениям задачи;

Нейрокомпьютерные системы
. Чем лучше приемлемое решение, тем больше консенсус соответствующего состояния машины Больцмана.

Перефразируем для МБ задачу коммивояжера.

Нейрокомпьютерные системы
. Состояние МБ соответствует локальному максимуму функции консенсуса, если и только если это состояние соответствует приемлемому маршруту.

Нейрокомпьютерные системы
. Чем короче маршрут, тем выше консенсус соответствующего состояния МБ.

Каждый нейрон соответствует элементу матрицы

Нейрокомпьютерные системы
, состояния нейронов обозначаются
Нейрокомпьютерные системы
(
Нейрокомпьютерные системы
- число городов). Функция консенсуса

Нейрокомпьютерные системы

Множество связей в сети определяется как объединение трех непересекающихся подмножеств:

Нейрокомпьютерные системы
- множество связей, несущих информацию о расстояниях между городами,

Нейрокомпьютерные системы

Нейрокомпьютерные системы
- множество ингибиторных (запретительных) связей,

Нейрокомпьютерные системы

Нейрокомпьютерные системы
- множество связей смещений,

Нейрокомпьютерные системы

Здесь

Нейрокомпьютерные системы
. Общее число связей равно
Нейрокомпьютерные системы
.

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

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

Связь

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

Доказано, что для консенсуса

Нейрокомпьютерные системы
выполняются требования
Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
, если и только если веса связей выбраны следующим образом:

Нейрокомпьютерные системы

Нейрокомпьютерные системы

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы

При

Нейрокомпьютерные системы
было проведено 100 испытаний для
Нейрокомпьютерные системы
и 25 испытаний для
Нейрокомпьютерные системы
при различных начальных состояний МБ. Для
Нейрокомпьютерные системы
получено оптимальное решение, для
Нейрокомпьютерные системы
получено решение на
Нейрокомпьютерные системы
хуже оптимума. Вероятностный механизм функционирования МБ дает возможность получать на ней несколько лучшие результаты, чем на модели Хопфилда.



Решение задачи коммивояжера сетью Хопфилда


Рассмотрим задачу коммивояжера для

Нейрокомпьютерные системы
городов. Известны расстояния
Нейрокомпьютерные системы

между каждой парой городов

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

Пусть сеть Хопфилда состоит из

Нейрокомпьютерные системы
нейронов, а состояние нейронов описывается двойными индексами
Нейрокомпьютерные системы
, где индекс
Нейрокомпьютерные системы

связан с именем города,

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

1) должна поддерживать устойчивое состояние в форме матрицы

Нейрокомпьютерные системы

(1)

в которой строки соответствуют городам, столбцы - их номерам в маршруте; в каждой строке и каждом столбце только одна единица, остальные нули;

2) из всех решений вида (1) функция энергии должна поддерживать те, которые соответствуют коротким маршрутам.

Таким требованиям удовлетворяет функция энергии в виде:

Нейрокомпьютерные системы

(2)

где первые три члена поддерживают первое требование, четвертый член — второе. Первый член равен нулю, если каждая строка

Нейрокомпьютерные системы
содержит не более одной единицы. Второй равен нулю, если каждый столбец
Нейрокомпьютерные системы
содержит не более одной единицы. Третий равен нулю, если в матрице всего
Нейрокомпьютерные системы
единиц. Короткие маршруты поддерживает четвертый член. В нем индексы
Нейрокомпьютерные системы

берутся по модулю

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

Нейрокомпьютерные системы

(3)

Из (2) и (3) получаем веса сети Хопфилда:

Нейрокомпьютерные системы

Здесь

Нейрокомпьютерные системы
- символ Кронекера.

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

Нейрокомпьютерные системы
. Поиск методов оптимального выбора этих коэффициентов является в настоящее время предметом интенсивных исследований.



Синхронное и асинхронное функционирование машины Больцмана


Для выполнения синхронного процесса все множество нейронов разбивается на непересекающиеся подмножества

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

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

Нейрокомпьютерные системы
, содержащее
Нейрокомпьютерные системы

нейронов. Для каждого нейрона из этого подмножества устанавливается состояние в соответствии с

Нейрокомпьютерные системы
. Получившееся в результате состояние есть результат одного асинхронного шага.



Персептронная сеть с обратной связью


Один из простейших способов построения рекуррентной сети на базе однонаправленной HC состоит во введении в персептронную сеть обратной связи. В дальнейшем мы будем сокращенно называть такую сеть RMLP (англ.: Recurrent MultiLayer Perceptron - рекуррентный многослойный персептрон). Ее обобщенная структура представлена на рис. 1 (

Нейрокомпьютерные системы
- единичные элементы запаздывания).

Нейрокомпьютерные системы

увеличить изображение
Рис. 1.  Структура сети RMLP

Это динамическая сеть, которая характеризуется запаздыванием входных и выходных сигналов, объединяемых во входной вектор сети. Рассуждения будут касаться только одного входного узла

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

Нейрокомпьютерные системы

(1)

где

Нейрокомпьютерные системы
- количество задержек входного сигнала, а
Нейрокомпьютерные системы
- количество задержек выходного сигнала. Обозначим
Нейрокомпьютерные системы
количество нейронов в скрытом слое. В этом случае сеть RMLP можно характеризовать тройкой чисел
Нейрокомпьютерные системы
. Подаваемый на вход сети вектор
Нейрокомпьютерные системы
имеет вид:

Нейрокомпьютерные системы

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

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

Нейрокомпьютерные системы

Сеть RMLP повсеместно применяется для моделирования динамических процессов в режиме "онлайн". Типичным примером ее приложения может служить имитация нелинейных динамических объектов, для которых сеть RMLP выступает в роли модели, а алгоритм уточнения весов - в роли процедуры идентификации параметров этой модели (рис. 2). Идентифицированная модель может в последующем использоваться для управления данным объектом. Именно по этой причине сети RMLP наиболее популярны для имитации систем управления машинами, устройствами и динамическими процессами.

В результате сравнения выходного сигнала модели

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

Нейрокомпьютерные системы

Рис. 2.  Схема включения сети RMLP при решении задачи идентификации



Рекуррентная сеть Эльмана


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

Нейрокомпьютерные системы
. Обобщенная структура этой сети представлена на рис. 3.

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

Нейрокомпьютерные системы

(в его состав входит также единичный сигнал поляризации), состояния скрытых нейронов -

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

Нейрокомпьютерные системы

Веса синаптических связей первого (скрытого) слоя сети обозначим

Нейрокомпьютерные системы
, a второго (выходного) слоя -
Нейрокомпьютерные системы
. Если взвешенную сумму
Нейрокомпьютерные системы
-го нейрона скрытого слоя обозначить
Нейрокомпьютерные системы
, а его выходной сигнал -
Нейрокомпьютерные системы
, то

Нейрокомпьютерные системы

Нейрокомпьютерные системы

увеличить изображение
Рис. 3.  Структура сети Эльмана

Веса

Нейрокомпьютерные системы
образуют матрицу
Нейрокомпьютерные системы

синаптических связей скрытого слоя, а

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

Нейрокомпьютерные системы

В свою очередь, веса

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


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

В том случае, когда адекватной математической модели изучаемых временных рядов не существует, удобным инструментом для решения задачи прогноза является нейросетевой экстраполятор динамических данных.

Задача прогноза векторного временного ряда ставится следующим образом:

задана реализация временного ряда
Нейрокомпьютерные системы
,
Нейрокомпьютерные системы
, на интервале времени
Нейрокомпьютерные системы
с постоянным интервалом дискретности
Нейрокомпьютерные системы
; требуется построить оценку значения временного ряда (обычно одной его координаты) в момент времени
Нейрокомпьютерные системы
, где
Нейрокомпьютерные системы
- заданное время прогноза.

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

Нейрокомпьютерные системы


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

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


Сеть RTRN


Среди рекуррентных сетей особого внимания заслуживает сеть типа RTRN (англ.: Real Time Recurrent Network), предложенная Р.Вильямсом и Д.Зипсером и предназначенная для обработки сигналов в реальном времени. Сеть RTRN - частный случай сети Эльмана.

Нейрокомпьютерные системы

увеличить изображение
Рис. 4.  Структура сети RTRN

Обобщенная структура сети представлена на рис. 4. Сеть содержит

Нейрокомпьютерные системы
входных узлов,
Нейрокомпьютерные системы
скрытых нейронов и
Нейрокомпьютерные системы
соответствующих им узлов контекстного слоя. Из
Нейрокомпьютерные системы
скрытых нейронов только
Нейрокомпьютерные системы
составляют выход сети. Обозначим взвешенную сумму
Нейрокомпьютерные системы
-го нейрона скрытого слоя
Нейрокомпьютерные системы
, а выход этого нейрона -
Нейрокомпьютерные системы
. Вектор
Нейрокомпьютерные системы
и смещенный (задержанный) на один цикл вектор
Нейрокомпьютерные системы
образуют расширенный вектор активации
Нейрокомпьютерные системы
, возбуждающий нейроны сети:

Нейрокомпьютерные системы

После описания входного вектора сети в момент

Нейрокомпьютерные системы
можно определить состояние всех нейронов согласно зависимостям:

Нейрокомпьютерные системы

u_i(k) = \sum_{j=0}^{N+K} w_{ij}x_j(k)," width="200" height="29">

(2)

Нейрокомпьютерные системы

(3)

причем

Нейрокомпьютерные системы
обозначает непрерывную функцию активации нейрона (как правило, сигмоидальную). На рис. 4 видно, что сеть RTRN представляет собой частный случай сети Эльмана, в которой веса выходного слоя постоянны и равны дельте Кронекера, т.е.
Нейрокомпьютерные системы
для
Нейрокомпьютерные системы
или
Нейрокомпьютерные системы
для
Нейрокомпьютерные системы
. В этом случае можно применять алгоритм обучения Вильяма-Зипсера.

1. Выбрать случайные начальные значения весов сети, составляющих матрицу

Нейрокомпьютерные системы
и равномерно распределенных в заданном интервале (обычно в диапазоне от
Нейрокомпьютерные системы
до
Нейрокомпьютерные системы
).

2. Рассчитать состояние всех K нейронов для очередного момента

Нейрокомпьютерные системы
с использованием формул (1) и (2). На этой основе можно определить входной вектор
Нейрокомпьютерные системы
, возбуждающий нейроны в момент
Нейрокомпьютерные системы
.

3. Рассчитать значения

Нейрокомпьютерные системы

4. Уточнить значения весов по алгоритму наискорейшего спуска согласно формуле

Нейрокомпьютерные системы

для

Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
.

Шаги (2-4) повторять вплоть до стабилизации значений всех весов сети.



Многослойные рекуррентные сети представляют собой


Многослойные рекуррентные сети представляют собой развитие однонаправленных сетей персептронного типа за счет добавления в них соответствующих обратных связей. Обратная связь может исходить либо из выходного, либо из скрытого слоя нейронов. В каждом контуре такой связи присутствует элемент единичной задержки, благодаря которому поток сигналов может считаться однонаправленным (выходной сигнал предыдущего временного цикла рассматривается как априори заданный, который просто увеличивает размерность входного вектора сети). Представленная подобным образом рекуррентная сеть, с учетом способа формирования выходного сигнала, функционирует как однонаправленная персептронная сеть. Тем не менее, алгоритм обучения такой сети, адаптирующий значения синаптических весов, является более сложным из-за зависимости сигналов в момент времени
Нейрокомпьютерные системы
от их значений в предыдущие моменты и соответственно из-за более громоздкой формулы для расчета вектора градиента.
При обсуждении рекуррентных сетей, в которых в качестве выходного элемента используется многослойный персептрон, рассмотрим наиболее известные структуры сетей RMLP, RTRN, Эльмана.

Алгоритм Кохонена


Алгоритм Кохонена относится к наиболее старым алгоритмам обучения сетей с самоорганизацией на основе конкуренции, и в настоящее время существуют различные его версии. В классическом алгоритме Кохонена сеть инициализируется путем приписывания нейронам определенных позиций в пространстве и связывания их с соседями на постоянной основе. Такая сеть называется самоорганизующейся картой признаков (сеть SOFM - Self-Organizing Feature Map). В момент выбора победителя уточняются не только его веса, но также и веса его соседей, находящихся в ближайшей окрестности. Таким образом, нейрон-победитель подвергается адаптации вместе со своими соседями. В классическом алгоритме Кохонена функция соседства

Нейрокомпьютерные системы
определяется в виде

Нейрокомпьютерные системы

В этом выражении

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

Другой тип соседства, часто применяемый в картах Кохонена, - это соседство гауссовского типа, при котором функция

Нейрокомпьютерные системы
задается формулой

Нейрокомпьютерные системы

Степень адаптации нейронов-соседей определяется не только евклидовым расстоянием между

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

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


В определенные моменты в ходе обучения строятся изображения карты путем использования соответствия, показанного на рис. 1. Элементы соединяются линиями, чтобы показать их относительное размещение. Сначала карта выглядит сильно "измятой", но постепенно в ходе обучения она разворачивается и расправляется. Конечным результатом обучения является карта, покрывающая все входное пространство и являющаяся достаточно регулярной (т.е. элементы оказываются распределенными почти равномерно). Для примера была рассмотрена карта с топологией квадрата из 49 элементов, и для 250 точек данных, взятых из единичного квадрата, было проведено ее обучение, которое начиналось со случайного набора весовых значений, задающих размещение кластерных элементов в центре входного пространства, как показано на рис. 1. На рис. 2 и 3 иллюстрируется процесс разворачивания карты с течением времени. Как и для других типов сетей, в данном случае результат обучения зависит от учебных данных и выбора параметров обучения.

Нейрокомпьютерные системы

Рис. 1.  Весовые векторы инициализируются случайными значениями из диапазона 0.4-0.6


Алгоритмы обучения сетей с самоорганизацией


Целью обучения сети с самоорганизацией на основе конкуренции нейронов считается такое упорядочение нейронов (подбор значений их весов), которое минимизирует значение ожидаемого искажения, оцениваемого погрешностью аппроксимации входного вектора

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

Нейрокомпьютерные системы

(3)

где

Нейрокомпьютерные системы
- вес нейрона-победителя при предъявлении вектора
Нейрокомпьютерные системы
.

Этот подход также называется векторным квантованием (англ. Vector Quantization - VQ) или кластеризацией. Номера нейронов-победителей при последовательном предъявлении векторов

Нейрокомпьютерные системы
образуют так называемую кодовую таблицу. При классическом решении задачи кодирования применяется алгоритм
Нейрокомпьютерные системы
-усреднений (англ. К-means), носящий имя обобщенного алгоритма Ллойда.

Для нейронных сетей аналогом алгоритма Ллойда считается алгоритм WTA (англ.: Winner Takes All - "победитель получает все"). В соответствии с ним после предъявления вектора

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

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- коэффициент обучения. Веса остальных нейронов уточнению не подлежат. Алгоритм позволяет учитывать усталость нейронов путем подсчета количества побед каждого из них и поощрять элементы с наименьшей активностью для выравнивания их шансов. Такая модификация применяется чаще всего на начальной стадии обучения с последующим отключением после активизации всех нейронов. Подобный способ обучения реализован в виде режима CWTA (Conscience Winner Takes All) и считается одним из лучших и наиболее быстрых алгоритмов самоорганизации.

Помимо алгоритмов WTA, в которых в каждой итерации может обучаться только один нейрон, для обучения сетей с самоорганизацией широко применяются алгоритмы типа WTM (англ.: Winner Takes Most - "победитель получает больше"), в которых, кроме победителя, уточняют значения своих весов и нейроны из его ближайшего окружения.
При этом, чем дальше какой- либо нейрон находится от победителя, тем меньше изменяются его веса. Процесс уточнения вектора весов может быть определен обобщенной зависимостью, которая здесь представляется в виде

Нейрокомпьютерные системы


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

Нейрокомпьютерные системы


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


Классификация без учителя


Задан набор объектов, каждому объекту поставлен в соответствие вектор значений признаков (строка таблицы). Требуется разбить эти объекты на классы эквивалентности. Для каждого нового объекта нужно:

Найти класс, к которому он принадлежит.Использовать новую информацию, полученную об этом объекте, для исправления (коррекции) правил классификации.

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

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

Если число классов

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



Компрессия данных


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

Пусть изображение разделяется на одинаковые кадры размером

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

Сеть с самоорганизацией содержит

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

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

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
- размеры кадра в осях
Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
- количество кадров,
Нейрокомпьютерные системы

- количество нейронов, а

Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
- количество битов для представления соответственно градаций интенсивности пиксела и значений весов. Этот подход позволяет получить степень компрессии изображений порядка 16 при значении коэффициента сигнал/шум (PSNR) около 26-28 дБ.



Метод динамических ядер в классификации без учителя


Пусть задана выборка предобработанных векторов данных

Нейрокомпьютерные системы
- пространство векторов данных. Каждому классу будет соответствовать некоторое ядро
Нейрокомпьютерные системы
- пространство ядер.

Для любых

Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
определим меру близости
Нейрокомпьютерные системы
, а для каждого набора из
Нейрокомпьютерные системы
ядер
Нейрокомпьютерные системы
и любого разбиения
Нейрокомпьютерные системы
на
Нейрокомпьютерные системы
классов
Нейрокомпьютерные системы

определим критерий качества

Нейрокомпьютерные системы

(1)

Требуется найти набор

Нейрокомпьютерные системы
и разбиение
Нейрокомпьютерные системы
, минимизирующие
Нейрокомпьютерные системы
. Шаг алгоритма разбиваем на
Нейрокомпьютерные системы
этапа:

1) Для фиксированного набора ядер

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

2) Для каждого

Нейрокомпьютерные системы
, полученного на первом этапе, отыскивается
Нейрокомпьютерные системы
, минимизирующее критерий качества

Нейрокомпьютерные системы

Начальные значения

Нейрокомпьютерные системы
,
Нейрокомпьютерные системы

выбираются произвольно либо по какому-нибудь эвристическому правилу. Если ядру

Нейрокомпьютерные системы
ставится в соответствие элемент сети, вычисляющей по входному сигналу
Нейрокомпьютерные системы

функцию

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


В определение ядра
Нейрокомпьютерные системы
для сетей Кохонена входят суммы
Нейрокомпьютерные системы
. Это позволит накапливать новые динамические ядра, обрабатывая по одному примеру и пересчитывая
Нейрокомпьютерные системы
после получения в
Нейрокомпьютерные системы
нового примера.

Если число классов заранее не определено, то полезен критерий слияния классов: классы
Нейрокомпьютерные системы
и
Нейрокомпьютерные системы
сливаются, если расстояние между их ядрами меньше, чем среднее расстояние от элемента класса до ядра в одном из них:

Нейрокомпьютерные системы


где
Нейрокомпьютерные системы
- число элементов в
Нейрокомпьютерные системы
. Использовать критерий слияния классов можно так: сначала принимаем гипотезу о достаточном числе классов, строим их, минимизируя
Нейрокомпьютерные системы
, затем некоторые
Нейрокомпьютерные системы
объединяем, повторяем минимизацию
Нейрокомпьютерные системы
с новым числом классов и т.д.


Применение сетей с самоорганизацией


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



Прогнозирование нагрузок энергетической системы


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

Нейрокомпьютерные системы

где компонент

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

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

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

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

Нейрокомпьютерные системы



Адаптивная резонансная теория (АРТ)


Серьезная проблема для нейронных сетей - правильное соотношение стабильности и пластичности при запоминании образов. Существуют наборы эталонов (даже состоящие всего из 4-х векторов), которые при циклическом предъявлении в обучении дают никогда не сходящиеся наборы параметров сети. Предъявление всего одного нового образа в обучающем множестве часто приводит к долгому переобучению. Если сеть работает в реальном времени, например, обрабатывает сенсорную информацию, то обучающее множество может все время меняться. Для большинства моделей нейронных сетей это приводит к отсутствию обучения вообще.

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

Сеть АРТ - попытка приблизить механизм запоминания образов в искусственных НС к биологическому. Результатом работы АРТ является устойчивый набор запомненных образов и возможность выборки "похожего" вектора по произвольному предъявленному на входе вектору. Важное качество АРТ - динамическое запоминание новых образов без полного переобучения и отсутствие потерь уже запомненных образов при предъявлении новых.



Архитектура и работа


Структура сети АРТ-1 (далее АРТ) представлена на рис. 1. Входной вектор сети

Нейрокомпьютерные системы
имеет
Нейрокомпьютерные системы
компонент. В слое распознавания запоминается
Нейрокомпьютерные системы
классов образов, по одному классу на каждый нейрон
Нейрокомпьютерные системы
.

Основную работу по классификации производят слой сравнения и слой распознавания. Схемы приемников (Прм1, Прм2) и схема сброса управляют режимом работы сети и могут быть реализованы в виде обычных логических схем или в виде нейронов.

Работа блоков АРТ определяется следующими формулами:

Нейрокомпьютерные системы

Выход Прм1 обеспечивает единичный сигнал для слоя сравнения, если на вход сети подан вектор

Нейрокомпьютерные системы
(нулевой вектор на входе недопустим) и если выход слоя распознавания равен нулю.

Нейрокомпьютерные системы

Если на вход подан вектор

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

Схема сброса:

Нейрокомпьютерные системы
.

Проверяет критерий сходства для векторов

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

Нейрокомпьютерные системы

Рис. 1.  Структурная схема АРТ



Необходимость поиска


В сети АРТ используются два критерия "похожести" векторов. Первый - максимум скалярного произведения

Нейрокомпьютерные системы
при выборе "победителя" в слое распознавания. Второй - критерий сходства в блоке сброса:

Нейрокомпьютерные системы

Таким образом, задача классификации в сети АРТ состоит в том, чтобы найти ядро с максимальным скалярным произведением

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



Положительные качества и недостатки АРТ


Сеть АРТ решает дилемму стабильности-пластичности и позволяет быстро запоминать новые образы без утраты старых. Как и в случае других моделей НС, на обычных машинах фон-неймановского типа сети работают медленно и неэффективно. Для решения задачи нужно найти максимум скалярного произведения, что требует около

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

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

У сети АРТ есть несколько существенных недостатков.

Чувствительность к порядку предъявления векторов. Большинство разновидностей АРТ весьма чувствительны к порядку предъявления входных векторов

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

Если компонента незашумленного входного вектора равна

Нейрокомпьютерные системы
, то предъявленные сети значения будут определяться вероятностным законом:

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- малое положительное число, характеризующее уровень шума.

Если такие данные будут предъявлены АРТ, то будет наблюдаться деградация и размножение классов. Если сетью сформировано правильное ядро для класса, к которому относится вектор

Нейрокомпьютерные системы
, то как только компонента
Нейрокомпьютерные системы
примет нулевое значение за счет шума (если векторы предъявляются не однократно), соответствующая компонента ядра также будет обнулена. Т.к. случайное нулевое значение может принять любая компонента
Нейрокомпьютерные системы
, то с течением времени все компоненты ядра будут обнулены, запомненная информация об этом классе - утрачена. Если после этого предъявить незашумленный вариант вектора
Нейрокомпьютерные системы
, то для него будет выделен новый нейрон, т.е. сформирован новый класс. Это явление называется размножением классов. Через некоторое время в сети будет множество нейронов с нулевыми весами, и все нейроны будут распределены. Работа сети прекратится. Это явление определяется исходной асимметрией алгоритмов АРТ относительно значений 0 и 1. Существуют методы для устранения асимметрии и предотвращения размножения классов.



Работа сети АРТ


Решение задачи классификации с помощью АРТ содержит следующие этапы: инициализация, распознавание, сравнение, поиск, обучение.

1. Инициализация.

а) выбираем параметр

Нейрокомпьютерные системы
, исходя из требуемой детальности классификации;

б) создаем сеть в памяти. Количество нейронов должно быть достаточным, чтобы запомнить все ядра классов (до

Нейрокомпьютерные системы
). Изначально все нейроны слоя распознавания считаются "невыделенными", их веса приравниваются к одинаковым небольшим значениям:

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- некоторая константа (обычно
Нейрокомпьютерные системы
). Веса в слое сравнения также выбираются одинаковыми, равными единице:
Нейрокомпьютерные системы
.

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

2. Распознавание.

а) предъявляем вектор

Нейрокомпьютерные системы
на входе. До этого момента
Нейрокомпьютерные системы
и выход слоя распознавания равен нулю:
Нейрокомпьютерные системы
.

б) у вектора

Нейрокомпьютерные системы
есть ненулевые компоненты, поэтому
Нейрокомпьютерные системы
становится равным единице, т.к.
Нейрокомпьютерные системы
. Сигнал
Нейрокомпьютерные системы

"подпитывает" нейроны слоя сравнения и

Нейрокомпьютерные системы
без изменений проходит через слой сравнения:
Нейрокомпьютерные системы
.

в) весовые коэффициенты

Нейрокомпьютерные системы
имеют смысл нормированных ядер классов. В слое распознавания активируется несколько нейронов, но благодаря латеральному торможению остается один нейрон с выходом
Нейрокомпьютерные системы
, а остальные тормозятся.
Нейрокомпьютерные системы
- номер выигравшего нейрона.

3. Сравнение.

а) выход

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

Нейрокомпьютерные системы

Порог всех нейронов равен 2, поэтому выход слоя сравнения равен

Нейрокомпьютерные системы

Следовательно, выход слоя сравнения на этом этапе - логическое произведение входного сигнала и двоичного ядра класса из слоя сравнения.

б) модуль сброса вычисляет второй критерий сходства (первый - максимум произведения (

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


4. Поиск.

а) если критерий сходства не выполняется, схема сброса вырабатывает сигнал
Нейрокомпьютерные системы
, который тормозит нейрон
Нейрокомпьютерные системы
в слое распознавания. Сигнал
Нейрокомпьютерные системы
остается равным 1 до окончания данной классификации. Выход нейрона
Нейрокомпьютерные системы
становится равным 0, а, следовательно, и весь вектор
Нейрокомпьютерные системы
. Сигнал
Нейрокомпьютерные системы
становится равным нулю и вектор
Нейрокомпьютерные системы
снова проходит через слой сравнения без изменений, вызывая новый цикл поиска (шаги 2в-3б), пока критерий сходства не будет удовлетворен.

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

5. Обучение.

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

Различают быстрое и медленное обучение. При быстром обучении коррекции весов имеют вид:

Нейрокомпьютерные системы


где
Нейрокомпьютерные системы
- константа.

Веса в слое сравнения - двоичные:
Нейрокомпьютерные системы
.

В результате такого алгоритма обучения ядра
Нейрокомпьютерные системы
изменяются, несущественные компоненты обнуляются в процессе обучения. Если какая-то компонента вектора
Нейрокомпьютерные системы
стала нулевой на какой-то итерации обучения, она никогда не вернется к единице. В этом проявляется асимметрия АРТ по отношению к значениям 0 и 1. Эта асимметрия имеет серьезные отрицательные последствия для модели, приводя к деградации ядер классов в случае зашумленных входных векторов.

Медленное обучение меняет ядра малыми коррекциями:

Нейрокомпьютерные системы


где
Нейрокомпьютерные системы
мало и характеризует скорость обучения.

В результате каждой итерации обучения ядра меняются незначительно.

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


в 1986 г. Она представляет


Сеть АРТ-1 предложена Карпентером и Гроссбергом в 1986 г. Она представляет собой векторный классификатор и обучается без учителя, лишь на основании предъявляемых входных векторов. АРТ-1 работает только с двоичными векторами, состоящими из нулей и единиц. Позже было предложено много разновидностей этой модели. АРТ-2 запоминает и классифицирует непрерывные входные векторы. Группа моделей с суффиксом "MAP" (ARTMAP и др.) классифицирует и входные, и выходные вектора, а также строит связи между ними.


Слой распознавания


Каждый нейрон в слое распознавания имеет следующие входы: один сигнал

Нейрокомпьютерные системы
с единичным весом, одна компонента
Нейрокомпьютерные системы
с большим отрицательным весом (
Нейрокомпьютерные системы
- номер нейрона) и
Нейрокомпьютерные системы
сигналов со слоя сравнения с вектором весов
Нейрокомпьютерные системы
(у вектора
Нейрокомпьютерные системы
всего
Нейрокомпьютерные системы
компонент,
Нейрокомпьютерные системы
).

Нейроны слоя распознавания не содержат нелинейных элементов, но обладают следующей особенностью. Каждый нейрон в слое связан со всеми остальными нейронами этого же слоя обратными тормозящими связями и положительной обратной связью - с самим собой (как во втором слое сети Хемминга, см. Лекцию 10).

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

Нейрокомпьютерные системы
имеет только одну единичную компоненту, остальные - нули.

Веса

Нейрокомпьютерные системы
имеют действительные значения. Работа слоя определяется формулой:

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- выход
Нейрокомпьютерные системы
-го нейрона, равный нулю или единице.

Отсюда видно, что сигнал

Нейрокомпьютерные системы
"разрешает" работу слоя распознавания, а сигнал
Нейрокомпьютерные системы
позволяет выборочно затормозить любые нейроны в слое.



Слой сравнения


Каждый нейрон в слое сравнения имеет порог, равный двум. На вход одного нейрона в слое сравнения подаются: сигнал

Нейрокомпьютерные системы
с единичным весом, одна компонента
Нейрокомпьютерные системы
с единичным весом и все выходы слоя распознавания,
Нейрокомпьютерные системы

компонент с вектором весов

Нейрокомпьютерные системы
, где
Нейрокомпьютерные системы
- номер нейрона в слое сравнения. Весовые коэффициенты
Нейрокомпьютерные системы
- двоичные. В нейроне используется нелинейность в виде жесткой ступеньки: если активация нейрона
Нейрокомпьютерные системы
превышает порог
Нейрокомпьютерные системы
, то на выходе нейрона будет единица, иначе - ноль. Это "правило 2/3": для активации нейрона достаточно два сигнала из трех.

Работа слоя определяется формулами:

Нейрокомпьютерные системы

Работой слоя управляет сигнал

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

на входе нейрона. Если

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



Дефазификатор


Трансформировать нечеткое множество

Нейрокомпьютерные системы
в точечное решение
Нейрокомпьютерные системы
можно многими способами:

1. Дефазификация относительно центра области

Нейрокомпьютерные системы

или

Нейрокомпьютерные системы

2. Дефазификация относительно среднего центра

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- центр
Нейрокомпьютерные системы
-го нечеткого правила,

Нейрокомпьютерные системы
- соответствующая функция принадлежности.

3. Дефазификация относительно среднего максимума

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- количество точек, в которых
Нейрокомпьютерные системы

достигает максимального значения. Если функция

Нейрокомпьютерные системы
имеет максимальное значение только в одной точке, то

Нейрокомпьютерные системы

4. выбирается минимальное из максимальных значений

Нейрокомпьютерные системы
:

Нейрокомпьютерные системы
- наименьшее из
Нейрокомпьютерные системы
, для которых
Нейрокомпьютерные системы
.

5. выбирается максимальное из максимальных значений:

Нейрокомпьютерные системы
- наибольшее из
Нейрокомпьютерные системы
, для которых
Нейрокомпьютерные системы
.



Фазификатор


Фазификатор преобразует

Нейрокомпьютерные системы
-мерный вектор
Нейрокомпьютерные системы
в нечеткое множество
Нейрокомпьютерные системы
, характеризуемое функцией принадлежности
Нейрокомпьютерные системы
.

Наибольшей популярностью пользуются функции гауссовского типа, треугольные и трапецеидальные функции:

Общая форма гауссовской функции

Нейрокомпьютерные системы

Нейрокомпьютерные системы
- центр нечеткого множества,

Нейрокомпьютерные системы
- коэффициент широты.

Симметричная треугольная функция

Нейрокомпьютерные системы

Нейрокомпьютерные системы
- центр,

Нейрокомпьютерные системы
- ширина.

Трапецеидальная функция

Нейрокомпьютерные системы

Нейрокомпьютерные системы
- угол наклона.

При

Нейрокомпьютерные системы
получаем треугольную функцию.



Гибридный алгоритм обучения нечетких сетей


Параметры, подлежащие адаптации, разделяются на две группы:

первая состоит из параметров

Нейрокомпьютерные системы
линейного третьего слоя; вторая состоит из параметров нелинейной функции принадлежности первого слоя.

Уточнение параметров проводится в два этапа.

На первом этапе при фиксации определенных значений параметров функции принадлежности путем решения системы линейных уравнений рассчитываются параметры

Нейрокомпьютерные системы
полинома TSK.

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

Нейрокомпьютерные системы

При

Нейрокомпьютерные системы
обучающих выборках
Нейрокомпьютерные системы
и замене выходного сигнала сети ожидаемым значением
Нейрокомпьютерные системы
получим систему из
Нейрокомпьютерные системы
линейных уравнений вида

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы

Нейрокомпьютерные системы

Нейрокомпьютерные системы
- уровень активации (вес)
Нейрокомпьютерные системы
-го правила при предъявлении
Нейрокомпьютерные системы
-го входного вектора
Нейрокомпьютерные системы
.

Размерность матрицы

Нейрокомпьютерные системы
равна
Нейрокомпьютерные системы
, при этом обычно количество строк (количество выборок) значительно больше количества столбцов. Решение этой системы уравнений можно получить за один шаг при помощи псевдоинверсии матрицы
Нейрокомпьютерные системы
:

Нейрокомпьютерные системы

Псевдоинверсия матрицы заключается в решении задачи минимизации

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- единичная матрица.

На втором этапе (линейные параметры

Нейрокомпьютерные системы
- фиксированы) рассчитываются фактические выходные сигналы
Нейрокомпьютерные системы
,
Нейрокомпьютерные системы
:

Нейрокомпьютерные системы

вектор ошибки

Нейрокомпьютерные системы

и градиент целевой функции

Нейрокомпьютерные системы
по параметрам первого слоя. Если применяется метод наискорейшего спуска, то формулы адаптации принимают вид

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
обозначает номер очередной итерации.

После уточнения нелинейных параметров вновь запускается процесс адаптации линейных параметров TSK (первый этап) и нелинейных параметров (второй этап). Этот цикл повторяется вплоть до стабилизации всех параметров процесса.



Интеллектуальные информационные системы в условиях неопределенности и риска


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

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

Выходом является использование систем, основанных на мягких вычислениях, которые включают в себя:

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

Эти составные части не конкурируют друг с другом, а создают эффект взаимного усиления (гибридные системы). Наряду с термином "мягкие вычисления" используется термин "вычислительный интеллект" - научное направление, где решаются задачи искусственного интеллекта на основе теории нечетких систем, нейронных сетей и эволюционных (генетических) вычислений.

Нечеткие нейронные сети с генетической настройкой параметров (гибридные системы) демонстрируют взаимное усиление достоинств и нивелирование недостатков отдельных методов:

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



Лингвистические переменные


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

Пусть

Нейрокомпьютерные системы
обозначает температуру. Можно определить нечеткие множества "отрицательная", "близкая к нулю", "положительная", характеризуемые функциями принадлежности
Нейрокомпьютерные системы
,
Нейрокомпьютерные системы
,
Нейрокомпьютерные системы
. Лингвистическая переменная "температура" может принимать значения "отрицательная" "близкая к нулю", "положительная". Функция нечеткой принадлежности является непрерывным приближением пороговой функции точной принадлежности.



Мягкая экспертная система


Рассмотрим архитектуру и основные структурно-функциональные решения мягкой экспертной системы (МЭС). Для определения МЭС сопоставим понятия нечеткой и мягкой экспертных систем. В описании архитектуры МЭС будем использовать три признака: способ извлечения знаний; представление знаний; обработку знаний. Перечисленные признаки создают общую "координатную" сетку описания.



Модель Мамдани-Заде как универсальный аппроксиматор


Модели нечеткого вывода позволяют описать выходной сигнал многомерного процесса как нелинейную функцию входных переменных

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

Нейрокомпьютерные системы

где

Нейрокомпьютерные системы
- значение
Нейрокомпьютерные системы
, при котором значение
Нейрокомпьютерные системы
максимально. Пусть
Нейрокомпьютерные системы
— центр
Нейрокомпьютерные системы
нечеткого множества заключения
Нейрокомпьютерные системы
-го правила вывода. Тогда дефазификация относительно среднего центра дает

Нейрокомпьютерные системы

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



Нечеткие множества


Понятие нечетких множеств (fuzzy sets) как обобщение обычных (четких) множеств было введено Л.Заде в 1965 г.. Традиционный способ представления элемента множества

Нейрокомпьютерные системы
состоит в применении характеристической функции
Нейрокомпьютерные системы
, которая равна 1, если элемент принадлежит множеству
Нейрокомпьютерные системы
, или равна 0 в противном случае. В нечетких системах элемент может частично принадлежать любому множеству. Степень принадлежности множеству
Нейрокомпьютерные системы
, представляющая собой обобщение характеристической функции, называется функцией принадлежности
Нейрокомпьютерные системы
, причем
Нейрокомпьютерные системы
, и
Нейрокомпьютерные системы
означает отсутствие принадлежности
Нейрокомпьютерные системы
множеству
Нейрокомпьютерные системы
, а
Нейрокомпьютерные системы
- полную принадлежность. Конкретное значение функции принадлежности называется степенью или коэффициентом принадлежности.



Нечеткие правила вывода


Правило вывода

если

Нейрокомпьютерные системы
это
Нейрокомпьютерные системы
, то
Нейрокомпьютерные системы
это
Нейрокомпьютерные системы

называется нечеткой импликацией

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

Часть "

Нейрокомпьютерные системы
это
Нейрокомпьютерные системы
" называется условием (предпосылкой), а "
Нейрокомпьютерные системы
это
Нейрокомпьютерные системы
" - следствием (заключением).

Обобщение для

Нейрокомпьютерные системы
-мерного вектора
Нейрокомпьютерные системы
:

если

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

Возможна интерпретация

Нейрокомпьютерные системы

в форме логического произведения

Нейрокомпьютерные системы

в форме алгебраического произведения

Нейрокомпьютерные системы

(агрегирование предпосылки).

Каждой импликации

Нейрокомпьютерные системы
можно приписать значение функции принадлежности
Нейрокомпьютерные системы
:

форма логического произведения

Нейрокомпьютерные системы

форма алгебраического произведения

Нейрокомпьютерные системы

агрегирование на уровне импликации).



Нечеткие сети TSK (Такаги-Сугено-Канга)


Схема вывода в модели TSK при использовании

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

Нейрокомпьютерные системы

Условие

Нейрокомпьютерные системы
реализуется функцией фазификации

Нейрокомпьютерные системы

При

Нейрокомпьютерные системы
правилах агрегированный выходной результат сети имеет вид

Нейрокомпьютерные системы

(1)

Веса

Нейрокомпьютерные системы
интерпретируются как значимость компонентов
Нейрокомпьютерные системы
. Тогда формуле (1) можно поставить в соответствие многослойную нейронную сеть рис. 3.

Нейрокомпьютерные системы

увеличить изображение
Рис. 3.  Нечеткая нейронная сеть TSK

1. Первый слой выполняет фазификацию каждой переменной. Это параметрический слой с параметрами

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

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

Нейрокомпьютерные системы
для вектора
Нейрокомпьютерные системы
(непараметрический слой).

3. Третий слой - генератор функции TSK, рассчитывает значения

Нейрокомпьютерные системы

В этом слое также производится умножение

Нейрокомпьютерные системы
на
Нейрокомпьютерные системы
, сформированные в предыдущем слое. Здесь адаптации подлежат веса
Нейрокомпьютерные системы
, определяющие функцию следствия модели TSK.

4. Четвертый слой составляют два нейрона-сумматора, один из которых рассчитывает взвешенную сумму сигналов

Нейрокомпьютерные системы
, а второй - сумму весов
Нейрокомпьютерные системы
(непараметрический слой).

5. Пятый слой из одного нейрона - это нормализующий слой, в котором выходной сигнал сети агрегируется по формуле (1).

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



Определение мягкой экспертной системы. Сравнение нечеткой и мягкой экспертных систем


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

использует статистические данные, которые интерпретирует как обучающие выборки для нечетких нейронных сетей; представляет знания в виде лингвистических переменных (функций принадлежности - ФП), нечетких продукций и обученных нейронных сетей. Редукция множества нечетких продукций,настройка ФП и базы правил выполняется с помощью генетических алгоритмов (ГА).

Мягкими называют вычисления, сочетающие теорию нечетких систем, нейронные сети, вероятностные рассуждения и генетические алгоритмы, и обладающие синергическим эффектом; следовательно, мягкой экспертной системой называют ЭС, сочетающую перечисленные теории ради того же эффекта взаимного усиления.

Рассмотрим возможные применения МЭС в автоматизированном проектировании. Обобщенной моделью проектирования является иерархически-блочный метод, сущность которого сводится к декомпозиции функций с последующим выделением иерархий систем и подсистем. Проектируемая система формируется с помощью синтеза таких подсистем. Анализ в ходе автоматизированного проектирования обычно заключается в том, что необходимо рассмотреть условия эксплуатации будущей системы или ее окружения, которое является сложной системой (например, для экономических информационных систем окружающая среда - это социально-экономическая среда). Кроме анализа окружающей среды в ходе проектирования приходится выполнять анализ результатов физических или численных экспериментов и имитационного моделирования. Можно выделить два основных принципа экспертной деятельности в ходе проектирования.


1. Исходные данные для анализа представляются в виде качественного описания структурно-функционального решения и в виде совокупности временных рядов системных переменных окружения.

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

Мягкая экспертная система должна предоставить инструментальную и информационную среду для экспертной деятельности в ходе проектирования. Инструменты для разработки МЭС должны представлять собой совокупность различных программных продуктов, объединенных логикой работы. Покажем, что МЭС, являющаяся инструментальной средой проектировщика, позволяет выполнить в автоматизированном режиме все этапы экспертной деятельности. Если рассматривать экспертную деятельность как управление объектом, то инструментарий экспертизы можно использовать как систему управления, а именно - нечеткий контроллер.


Представление знаний в мягкой


Если использовать нечеткую НС на этапе извлечения знаний, то, кроме функций принадлежности и нечетких продукций, порождается совокупность обученных НС, которые входят в базу знаний МЭС. Оптимизация (редукция) множества извлеченных правил выполняется на основе генетического алгоритма.

База знаний МЭС должна содержать следующие части:

функции принадлежности;нечеткие продукции;обученные нечеткие нейронные сети;процедуры интерпретации хромосом генетических алгоритмов;функции оптимальности.

Рассмотрим проблему представления перечисленных составных частей в компьютерных интеллектуальных системах. Если функция принадлежности характеризуется такими математическими свойствами, как непрерывность, выпуклость (унимодальность), то функция принадлежности может быть представлена параметризованной функцией формы. Наибольшее распространение получили четыре вида функций формы: треугольная, трапециевидная, колоколообразная и сигмоидальная, которые определяются тройкой, четверкой и двойкой параметров соответственно. Некоторые операции нечеткой алгебры сохраняют унимодальность при использовании трапециевидного представления функций принадлежности, поэтому результаты операции также являются четверкой параметров. Представление нечетких продукций упрощается в связи с тем, что порядок обработки нечетких продукций не важен и не влияет на ход вывода результата. Представление нечеткой нейронной сети является более сложной проблемой, так как описание структуры ННС не имеет смысла без нейроимитатора соответствующей архитектуры нечетких нейронных сетей, т.е. нейроимитатор определяется как составляющая часть механизма вывода мягкой ЭС. Для организации хранения знаний МЭС можно использовать как СУБД, так и специальные форматы.



Системы нечеткого вывода Мамдани-Заде


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

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

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

Для обеспечения взаимодействия этих двух видов вводится нечеткая система с так называемым фазификатором (преобразователем множеств входных данных в нечеткое множество) на входе и дефазификатором (преобразователем нечетких множеств в конкретное значение выходной переменной) на выходе.

Фазификатор преобразует точное множество входных данных в не\-четкое множество, определенное с помощью функции принадлежности, а~дефазификатор решает обратную задачу - формирует однозначное решение относительно входной переменной на основании многих нечетких выводов, вырабатываемых исполнительным модулем нечеткой системы.

Нейрокомпьютерные системы

Рис. 1.  Вывод в нечеткой системе при наличии M правил

Выходной сигнал модуля вывода может иметь вид

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

В модели вывода Мамдани-Заде присутствуют следующие операторы:

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

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

Нейрокомпьютерные системы

Рис. 2.  Пример системы вывода Мамдани-Заде


На рис. 2 представлен способ агрегирования при двух входных переменных
Нейрокомпьютерные системы
.

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