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







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

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




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







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


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


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


![]() | (1) |





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

квадратная интерполяционная матрица

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





базисными функциями, то аппроксимирующее решение можно представить в виде
![]() |
(3) |
где




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

![]() |
(4) |
В этом выражении

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



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






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



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



где


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

![]() |
(1) |
с начальным условием

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


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



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


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




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


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


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







где

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

где





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


где знак + обозначает псевдоинверсию.
Если обучающие векторы линейно независимы, последнее выражение можно упростить и представить в виде
![]() |
(2) |
Здесь псевдоинверсия заменена обычной инверсией квадратной матрицы


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




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




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


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


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

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


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



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


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



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

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



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


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



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

а также

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

где


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

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


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

где


Сигналы

Такой нейрон указывает на вектор образа с минимальным расстоянием Хемминга до входного вектора


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




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





для


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

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



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

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

Функция консенсуса
Для состояния


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

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








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



где




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





Состояние

![]() |
(4) |
где

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

параметра





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



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


где

3. Число




4. Число



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















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





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


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




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






Здесь


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


Связь







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






где

При






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


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


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



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

1) должна поддерживать устойчивое состояние в форме матрицы
![]() |
(1) |
в которой строки соответствуют городам, столбцы - их номерам в маршруте; в каждой строке и каждом столбце только одна единица, остальные нули;
2) из всех решений вида (1) функция энергии должна поддерживать те, которые соответствуют коротким маршрутам.
Таким требованиям удовлетворяет функция энергии в виде:
![]() |
(2) |
где первые три члена поддерживают первое требование, четвертый член — второе. Первый член равен нулю, если каждая строка




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




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

Здесь

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

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


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


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

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


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

![]() |
(1) |
где






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




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







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

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

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




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







увеличить изображение
Рис. 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) |
причем





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



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



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) или кластеризацией. Номера нейронов-победителей при последовательном предъявлении векторов


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




где

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

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


где


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

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


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




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

где





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


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


Для любых








определим критерий качества
![]() |
(1) |
Требуется найти набор




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









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



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


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


функцию









В определение ядра




Если число классов заранее не определено, то полезен критерий слияния классов: классы



где





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

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



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






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




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

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


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

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

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









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


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

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


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

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


где

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




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

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


где



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



б) у вектора




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


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



3. Сравнение.
а) выход





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

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





4. Поиск.
а) если критерий сходства не выполняется, схема сброса вырабатывает сигнал







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


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



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

где

Веса в слое сравнения - двоичные:

В результате такого алгоритма обучения ядра


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

где

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


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








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

Веса


где


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


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



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





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

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




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





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


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

или

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

где



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

где


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


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




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



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




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



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



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


При

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

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

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

При





где






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




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

где

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




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

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


где

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




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




где







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










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




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



Часть "




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


если












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

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

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

(агрегирование предпосылки).
Каждой импликации


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

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

агрегирование на уровне импликации).
Нечеткие сети TSK (Такаги-Сугено-Канга)
Схема вывода в модели TSK при использовании





Условие


При

![]() |
(1) |
Веса



увеличить изображение
Рис. 3. Нечеткая нейронная сеть TSK
1. Первый слой выполняет фазификацию каждой переменной. Это параметрический слой с параметрами

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


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

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



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


5. Пятый слой из одного нейрона - это нормализующий слой, в котором выходной сигнал сети агрегируется по формуле (1).
Таким образом, в процессе обучения происходит уточнение параметров только первого (нелинейного) и третьего (линейного) слоев.
Определение мягкой экспертной системы. Сравнение нечеткой и мягкой экспертных систем
Нечеткие экспертные системы (ЭС) используют представление знаний в форме нечетких продукций и лингвистических переменных. Основу представления лингвистической переменной составляет терм с функцией принадлежности. Способ обработки знаний в нечетких ЭС - это логический вывод по нечетким продукциям. Особенностью нечеткой ЭС является способ извлечения функций принадлежности, который сводится либо к статистическим методам построения, либо к методу экспертных оценок. Мягкой ЭС (МЭС) будем называть нечеткую ЭС, которая обладает следующими особенностями:
использует статистические данные, которые интерпретирует как обучающие выборки для нечетких нейронных сетей; представляет знания в виде лингвистических переменных (функций принадлежности - ФП), нечетких продукций и обученных нейронных сетей. Редукция множества нечетких продукций,настройка ФП и базы правил выполняется с помощью генетических алгоритмов (ГА).
Мягкими называют вычисления, сочетающие теорию нечетких систем, нейронные сети, вероятностные рассуждения и генетические алгоритмы, и обладающие синергическим эффектом; следовательно, мягкой экспертной системой называют ЭС, сочетающую перечисленные теории ради того же эффекта взаимного усиления.
Рассмотрим возможные применения МЭС в автоматизированном проектировании. Обобщенной моделью проектирования является иерархически-блочный метод, сущность которого сводится к декомпозиции функций с последующим выделением иерархий систем и подсистем. Проектируемая система формируется с помощью синтеза таких подсистем. Анализ в ходе автоматизированного проектирования обычно заключается в том, что необходимо рассмотреть условия эксплуатации будущей системы или ее окружения, которое является сложной системой (например, для экономических информационных систем окружающая среда - это социально-экономическая среда). Кроме анализа окружающей среды в ходе проектирования приходится выполнять анализ результатов физических или численных экспериментов и имитационного моделирования. Можно выделить два основных принципа экспертной деятельности в ходе проектирования.
1. Исходные данные для анализа представляются в виде качественного описания структурно-функционального решения и в виде совокупности временных рядов системных переменных окружения.
Принцип "конструктивной неопределенности" утверждает, что точность и смысл противоречат друг другу, начиная с некоторого момента анализа. Если в технике важными являются все более точные измерения, то в ходе анализа эксперт отказывается от точных цифр в пользу нечетких, но содержательных оценок, которые осмыслены и позволяют принять проектное или управленческое решение.
Мягкая экспертная система должна предоставить инструментальную и информационную среду для экспертной деятельности в ходе проектирования. Инструменты для разработки МЭС должны представлять собой совокупность различных программных продуктов, объединенных логикой работы. Покажем, что МЭС, являющаяся инструментальной средой проектировщика, позволяет выполнить в автоматизированном режиме все этапы экспертной деятельности. Если рассматривать экспертную деятельность как управление объектом, то инструментарий экспертизы можно использовать как систему управления, а именно - нечеткий контроллер.
Представление знаний в мягкой
Если использовать нечеткую НС на этапе извлечения знаний, то, кроме функций принадлежности и нечетких продукций, порождается совокупность обученных НС, которые входят в базу знаний МЭС. Оптимизация (редукция) множества извлеченных правил выполняется на основе генетического алгоритма.
База знаний МЭС должна содержать следующие части:
функции принадлежности;нечеткие продукции;обученные нечеткие нейронные сети;процедуры интерпретации хромосом генетических алгоритмов;функции оптимальности.
Рассмотрим проблему представления перечисленных составных частей в компьютерных интеллектуальных системах. Если функция принадлежности характеризуется такими математическими свойствами, как непрерывность, выпуклость (унимодальность), то функция принадлежности может быть представлена параметризованной функцией формы. Наибольшее распространение получили четыре вида функций формы: треугольная, трапециевидная, колоколообразная и сигмоидальная, которые определяются тройкой, четверкой и двойкой параметров соответственно. Некоторые операции нечеткой алгебры сохраняют унимодальность при использовании трапециевидного представления функций принадлежности, поэтому результаты операции также являются четверкой параметров. Представление нечетких продукций упрощается в связи с тем, что порядок обработки нечетких продукций не важен и не влияет на ход вывода результата. Представление нечеткой нейронной сети является более сложной проблемой, так как описание структуры ННС не имеет смысла без нейроимитатора соответствующей архитектуры нечетких нейронных сетей, т.е. нейроимитатор определяется как составляющая часть механизма вывода мягкой ЭС. Для организации хранения знаний МЭС можно использовать как СУБД, так и специальные форматы.
Системы нечеткого вывода Мамдани-Заде
Элементы теории нечетких множеств, правила импликации и нечетких рассуждений образуют систему нечеткого вывода. В ней можно выделить:
множество используемых нечетких правил; базу данных, содержащую описания функций принадлежности; механизм вывода и агрегирования, который формируется применяемыми правилами импликации.
В случае технической реализации в качестве входных и выходных сигналов выступают измеряемые величины, однозначно сопоставляющие входным значениям соответствующие выходные значения.
Для обеспечения взаимодействия этих двух видов вводится нечеткая система с так называемым фазификатором (преобразователем множеств входных данных в нечеткое множество) на входе и дефазификатором (преобразователем нечетких множеств в конкретное значение выходной переменной) на выходе.
Фазификатор преобразует точное множество входных данных в не\-четкое множество, определенное с помощью функции принадлежности, а~дефазификатор решает обратную задачу - формирует однозначное решение относительно входной переменной на основании многих нечетких выводов, вырабатываемых исполнительным модулем нечеткой системы.

Рис. 1. Вывод в нечеткой системе при наличии M правил
Выходной сигнал модуля вывода может иметь вид

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




Рис. 2. Пример системы вывода Мамдани-Заде
На рис. 2 представлен способ агрегирования при двух входных переменных

Логическое произведение (оператор







