Нейрокомпьютерные системы
Нейронные сети - новая модель параллельных и распределенных вычислений, один из основных архитектурных принципов построения машин 6-го поколения. В основу искусственных нейросетей положены следующие черты живых нейросетей, позволяющие им справляться с нерегулярными задачами:Сети, обладающие этими свойствами, принадлежат к классу коннекционистских моделей обработки информации. Основная их черта - использование взвешенных связей между обрабатывающими элементами как средства запоминания информации. Обработка ведется одновременно большим числом элементов, где каждый нейрон связан с большим числом других, поэтому нейронная сеть устойчива к неисправностям и способна к быстрым вычислениям. Задать нейронную сеть для решения конкретной задачи — значит определить:
История и перспективы развития нейрокомпьютеров
На заре вычислительной техники (конец 1940-х начало 1950-х годов) существовало два подхода к разработке машин с "интеллектуальным" поведением.Первый из подходов заключался в: 1) представлении знаний в виде множества атомных семантических объектов или символов; 2) манипуляциях с этим множеством символов по формальным алгоритмическим правилам. Эта символьно-алгоритмическая парадигма является основой так называемого традиционного искусственного интеллекта.
Одновременно с этим существовало другое направление исследований, использующее машины, архитектура которых моделировала мозг животных и обучалась под воздействием окружающей среды, а не программировалась каким-либо языком высокого уровня. Работы по так называемым нейронным сетям активно велись в 1960-х годах, затем утратили популярность в 1970-х и начале 1980-х, но во второй половине 1980-х возникла новая волна интереса к ним.
Коннекционистская парадигма
Основная идея состоит в следующем: для того, чтобы реализовать некоторые возможности мозга, необходимо воссоздать его архитектурные особенности. Таким образом, коннекционистская машина или нейронная сеть является высокосвязной сетью простых процессоров (искусственных нейронов), каждый из которых имеет много входов и много выходов.В биологических нейронах способность к обработке выражается в электрохимических характеристиках межнейронных соединений (синапсов). В коннекционистских системах она моделируется заданием силы связи или веса каждому входу. Биологические нейроны взаимодействуют путем передачи электрических импульсов, которые идентичны друг другу, а информация заключена в пространственно-временных связях между ними. Нейроны непрерывно суммируют эффект всех приходящих импульсов. Если результат суммирования возбуждающий, то генерируется выходной импульс, если тормозящий, то выходной импульс не генерируется.
В искусственных нейронных сетях каждый нейрон непрерывно обновляет свое состояние порождением значения активации, которая является функцией входных сигналов и внутренних параметров нейрона. Активация используется для генерации выхода через некоторую сжимающую функцию.
Типичные характеристики искусственных нейронных сетей (НС):
Ранние годы
Идеи создания машин, использующих свойства нейронов, возникли одновременно с разработкой первых компьютеров общего назначения. Фактически, сопоставления вычислений и работы мозга были на переднем плане во многих ранних работах. Например, Джон фон Нейман в первом отчете по машине EDVAC указал на аналогии между используемыми в машине обрабатывающими элементами и нейронами.В 1942 году Норберт Винер и его коллеги сформулировали идеи кибернетики, которую определили как науку об управлении и связях в организмах животных и в машинах. Главной была идея рассмотрения биологических процессов с инженерной и математической точек зрения. Наиболее важной считалась идея обратной связи.
В те же годы, когда Винер сформулировал принципы кибернетики, Маккаллок и Питтс опубликовали формальное описание искусственных нейронных сетей. Главная их идея заключалась в том, что любая связь типа "вход-выход" может быть реализована искусственной (формальной) нейронной сетью.
Одной из ключевых черт нейронных сетей является то, что они способны обучаться. В 1949 году Дональд Хебб описал механизм работы мозга животного. Согласно этому механизму, синаптические силы (веса) изменяются в соответствии с уровнями активности предсинаптического и постсинаптического нейронов. На языке искусственных нейронов это означает, что вес входа должен увеличиваться, чтобы отражать корреляцию между входом и выходом нейрона.
Следующей вехой было изобретение персептрона Розенблаттом в 1957 году. Наиболее важным результатом его работы является доказательство того, что простая процедура обучения сходится к решению поставленной задачи.
В 1969 году интерес к нейронным сетям снизился в связи с публикацией Минского и Пайперта, указавших на важный класс задач, которые однослойный персептрон решать не может. При этом задача обучения многослойного персептрона в то время еще не была решена: было неясно, какой вклад в ошибку многослойной сети вносит каждый нейрон.
Символьная парадигма
С самого начала было очевидно, что цифровые машины хорошо подходят не только для обработки цифровой информации (собственно вычислений), но и для манипуляции символами, т.к. сами машины ничего не знают о семантике битовых строк в их памяти.Исследования по искусственному интеллекту имели успех во многих областях, особенно в области экспертных систем. Однако они не оправдали надежд пионеров этого направления на то, что все знания могут быть формализованы и что разум можно рассматривать как устройство, обрабатывающее информацию по определенным правилам. Оказалось, что знания подразделяются на формализуемые и интуитивные. Пример формализуемых знаний — математика, интуитивных — интуитивные знания эксперта в некоторой конкретной области деятельности.
С коннекционистской точки зрения интуитивные знания не могут быть представлены в виде множества лингвистически формализованных правил, и должны быть привлечены совершенно иные стратегии.
Возрождение нейронных сетей
В 1982 году Джон Хопфилд показал, что высокосвязная сеть нейронов с обратными связями может быть описана как динамическая система, обладающая "энергией". При ассоциативном вызове сеть, стартующая в случайном состоянии, сходится к конечному устойчивому состоянию с минимальной энергией. Новый подход к описанию сетей с обратными связями оказался очень плодотворным.Подобный прорыв произошел и в связи с многослойными сетями без обратных связей. Для обучения этих сетей был разработан алгоритм обратного распространения ошибки.
Нейронные сети являются нелинейными динамическими системами с коллективными свойствами. Для исследования таких сложных моделей нужна большая вычислительная мощность. Новый интерес к искусственным нейронным сетям обусловлен не только новым математическим подходом, но и существенным прогрессом вычислительной техники.
В модели МакКаллока-Питса нейроны имеют состояния 0,1 и пороговую логику перехода из состояния в состояние. Каждый нейрон в сети определяет взвешенную сумму состояний всех других нейронов и сравнивает ее с порогом, чтобы определить свое собственное состояние. Розенблатт ввел в модель МакКаллока-Питса способность связей к модификации, что сделало ее обучаемой. Эта модель была названа персептроном. Новый виток быстрого развития нейронных сетей связан с работами ряда авторов, в особенности с работами Хопфилда, а также с успехами технологии развития СБИС.
Нейрокомпьютеры - устройства, основными компонентами которых являются нейронные сети, применяются в ряде областей:
для решения задач искусственного интеллекта - распознавания образов, обработки изображений, чтения рукописных символов и т.п.;
Нейронные сети различаются между собой меньше всего моделями нейрона, а в основном топологией связей и правилами определения весов (правилами обучения). По структуре сети делятся на однослойные и многослойные.
К однослойным относятся модель Хопфилда и так называемая машина Больцмана. Многослойная сеть имеет входной, выходной и скрытые слои. На входной слой подается информация, с выходного снимается результат обработки, а скрытые слои участвуют в обработке информации.
В отличие от традиционных средств обработки информации, программирование нейронных сетей осуществляется неявно в процессе обучения. Обучение строится следующим образом: существует так называемый задачник, то есть набор примеров с заданными ответами, эти примеры предъявляются системе, нейроны получают условие примера и преобразуют их. Далее нейроны несколько раз обмениваются преобразованными сигналами и, наконец, выдают ответ в виде набора сигналов. Отклонение от правильного ответа штрафуется. Обучение заключается в минимизации штрафа как неявной функции связей.
В традиционных вычислительных системах:
В нейрокомпьютере (нейронной сети):
Нейрокомпьютерные системы
Кубические модели нейронов
Вектор
входных двоичных сигналов рассматривается как адрес ячейки памяти, содержимое которой равно 0 или 1. Для размерности 
вектора

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

Коэффициенты квадратичного сумматора уточняются по формулам

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

Нейроны типа WTA
Нейроны типа WTA (Winner Takes All — "Победитель получает все") имеют входной модуль в виде адаптивного сумматора. Выходной сигнал
-го сумматора определяется по формуле
По результатам сравнения сигналов

отдельных нейронов победителем признается нейрон, у которого
оказался наибольшим. Нейрон-победитель вырабатывает на своем выходе состояние 1, а остальные (проигравшие) нейроны переходят в состояние 0.Для обучения нейронов WTA учитель не требуется. На начальном этапе случайным образом выбираются весовые коэффициенты
каждого нейрона, нормализуемые относительно 1 по формуле
После подачи входного вектора
, компоненты которого нормализованы по формуле
определяется победитель этапа. Победитель переходит в состояние 1, что позволяет произвести уточнение весов его входных линий
по правилу
Проигравшие нейроны формируют на своих выходах состояние 0, что блокирует процесс уточнения их весовых коэффициентов.
Выходной сигнал
-го нейрона может быть описан векторным отношением
Поскольку
, значение 
определяется углом между векторами
и
. Поэтому победителем оказывается нейрон, вектор весов которого оказывается наиболее близким текущему обучающему вектору
. В результате победы нейрона уточняются его весовые коэффициенты, значения которых приближаются к значениям текущего обучающего вектора
.Следствием конкуренции нейронов становится самоорганизация процесса обучения. Нейроны уточняют свои веса таким образом, что при предъявлении группы близких по значениям входных векторов победителем всегда оказывается один и тот же нейрон. Системы такого типа чаще всего применяются для классификации векторов.
Обучение кубических нейронов
Кубические нейроны обучаются путем изменения содержимого ячейки их памяти. Обозначим через `+' операцию инкремента-установки содержимого ячейки в +1, через `-' операцию декремента-установки в -1.Пусть в начальном состоянии все ячейки кубического нейрона установлены в ноль. Обозначим ячейки, адресуемые обучающей выборкой, как центральные ячейки или центры. Ячейки, близкие к центрам в смысле расстояния Хемминга, будем настраивать на те же или близкие к ним значения, что и сами центры, т.е. должна происходить кластеризация значений ячейки вокруг центра. Это условие должно выполнятся для сети из кубических нейронов. Алгоритм обучения строит так называемое разбиение Вороного, при котором значение в ячейке определяется значением в ближайшем центре, а ячейки, равноудаленные от центров, остаются установленными в ноль. Кубические нейроны допускают большую функциональность, чем полулинейные, и поэтому, возможно, позволяют решать те же задачи при меньшем количестве модулей.
Паде-нейрон
Паде-нейрон вычисляет произвольную дробно-линейную функцию вектора
. Так же, как и для адаптивного сумматора, числитель и знаменатель можно сделать линейными функциями
:
Паде-нейрон может использоваться как обобщение нейрона типа "адалайн" в тех случаях, когда линейных функций становится недостаточно, в частности, в задачах интерполяции эмпирических зависимостей.
В случае Паде-нейрона квадратичная ошибка определяется как

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

Персептрон
Простой персептрон — это нейрон МакКаллока-Питса (рис.1). Весовые коэффициенты входов сумматора, на которые подаются входные сигналы
обозначаются
, а пороговое значение —
. Нелинейная функция активации 
персептрона является ступенчатой, вследствие чего выходной сигнал нейрона может принимать только два значения — 0 и 1 в соответствии с правилом
![]() | (1) |
или -1 и 1 в соответствии с правилом
![]() | (2) |
где
обозначает выходной сигнал сумматора![]() | (3) |
В формуле (3) предполагается
.
Рис. 1. Нейрон МакКаллока-Питтса
Обучение персептрона состоит в таком подборе весов
, чтобы выходной сигнал
совпадал с заданным значением
или
.С персептроном связана задача четкого разделения двух классов по обучающей выборке, которая ставится следующим образом: имеется два набора векторов
и
. Заранее известно, что
,
относятся к первому классу, а
,
- ко второму. Требуется построить решающее правило, т.е. определить такую функцию
, что при
вектор
относится к первому классу, а при
- ко второму.Сигма-Пи нейроны
Выше были рассмотрены нейроны с линейной и квадратичной функциями активации. Сигма-пи нейроны являются их обобщением на случай представления функции активации u полиномом степени
,
- число входов нейрона:
где
- множество индексов, содержащее одну из возможных 
комбинаций первых
целых чисел, 
Сигмоидальный нейрон
Нейрон сигмоидального типа имеет структуру, подобную модели МакКаллока-Питса, с той разницей, что функция активации является непрерывной и может быть выражена в виде сигмоидальной униполярной или биполярной функции. Униполярная функция, как правило, представляется формулой (рис.2)

Рис. 2. Униполярная функция (? =1)
тогда как биполярная функция задается в виде (рис.3)


Рис. 3. Биполярная функция (?=1)
Параметр
влияет на крутизну графика функции
. При
сигмоидальная функция превращается в функцию ступенчатого типа, идентичную функции активации персептрона. На практике чаще всего используется значение
.Важным свойством сигмоидальной функции является ее дифференцируемость. Для униполярной функции имеем

тогда как для биполярной функции

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

проводится в направлении отрицательного градиента целевой функции
, где
Компонента градиента имеет вид

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

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

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

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

для каждого нейрона сети.
2) расчет вероятности
того, что
принимает значение
.3) генерация значения случайной переменной
и формирование выходного сигнала
, если
, или
в противном случае.При обучении с учителем по правилу Видроу-Хоффа адаптация весов проводится по формуле

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

выражается формулой

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

При
и
получаем уравнение 
гиперплоскости, которая представлена на рис.1 пунктирной линией, пересекающей оси координат в точках (1.5, 0) и (0, 1.5) соответственно. Здесь:
— нормаль к разделяющей гиперплоскости;
— вектор, относящийся к первому классу, поскольку проекция
вектора
на нормаль 
больше
;
— вектор, относящийся ко второму классу, поскольку
.
Рис. 1.
Линейное разделение классов
состоит в построении линейного решающего правила, т.е. такого вектора
, где 
— порог, что при
вектор
относится к первому классу, а при 
— ко второму.
Разделение центров масс - простейший способ построения решающего правила. Суть этого способа заключается в вычислении вектора весов персептрона по следующей формуле

где
,
относятся к первому классу, а
- ко второму.Линейные решающие правила, построенные на основании разделения центров масс, могут ошибаться на примерах из обучающей выборки даже в тех случаях, когда существует и безошибочное линейное разделение. Однако метод центров масс полезен как средство определения начального значения вектора весов для алгоритма обучения персептрона.
Настройка весового вектора
Мы требуем, чтобы вектор весов в расширенном пространстве был ортогонален решающей гиперплоскости, и плоскость проходила через начало координат. Обучающую выборку (задачник) для нейрона можно рассматривать как множество пар
, где
- входной вектор,
- класс (выход, принимающий одно из двух значений, например, 0 или 1), которому принадлежит
. Такой тип обучения называется обучением с учителем, т.к. мы сообщаем сети, каким должен быть выходной сигнал для каждого вектора входных сигналов.Пусть для некоторого
выполняется
, но выход сети
где
при
, и
при
, т.е.
(угол 
на рис.2 между векторами
и
больше
). Чтобы исправить ситуацию, нужно повернуть вектор весов
, приближая его направление к направлению вектора
. В то же время изменение не должно быть слишком резким, чтобы не испортить уже выполненное обучение. Мы достигнем обеих целей, если добавим к вектору
часть вектора
, чтобы получить новый вектор
Предположим теперь, что
, а
(угол
на рис.2 между векторами
и
меньше
). Теперь нужно увеличить угол между
и
, что получается путем вычитания части 
из
:

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

Параметр
называется скоростью обучения.Алгоритм обучения нейрона (персептрона) будет иметь вид:
repeat for

begin y = h[(W,V)];

end until

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

Не требуется хранить все множество Err - достаточно накапливать сумму тех
, на которых персептрон ошибается:
Как показывают испытания, обучение по всему задачнику, как правило, сходится быстрее, чем обучение по отдельным примерам.
Промежуточный вариант: обучение по страницам
Обучающее множество разбивается на подмножества (страницы) и задается последовательность прохождения страниц: столько-то циклов по первой странице, потом столько-то по второй и т. д. Коррекция вектора
проводится после прохождения страницы. Задачник разбивается на страницы по различным эвристическим правилам, например, по правилу "от простого к сложному". Как показывает практика, чаще всего наилучшим является обучение по всему задачнику, иногда (при большом задачнике) - обучение по страницам, размеры которых определяются объемом доступной оперативной памяти.Нейрокомпьютерные системы
Метод максимума правдоподобия
Рассмотрим задачу разделения двух классов, с каждым из которых связано вероятностное распределение в пространстве векторов
значений признаков. Будем обозначать плотности этих распределений
- событие, состоящее в том, что объект принадлежит {
}-му классу. Нас интересует апостериорная вероятность:
— вероятность принадлежности объекта к {
}-му классу при условии, что он характеризуется вектором признаков
. Известная из теории вероятности формула Байеса дает
" width="352" height="47">
где
— вероятность появления объектов {
}-го класса. Для нормальных
-мерных распределений
где
— математическое ожидание
в {
}-м классе, {
} — ковариационная матрица для {
}-го класса. В результате обработки данных находят статистические оценки {
} и
: пусть для {
}-го класса имеются векторы
, тогда полагаем
Минимизация в формуле Байеса дает простое решающее правило:

принадлежит
-му классу, если 
для всех
, т.е выбирается такой класс, для которого вероятность
максимальна. Поскольку в формуле Байеса для всех 
знаменатель общий, то решающее правило приобретает следующий вид: выбираем то
, для которого
максимально. Для нормального распределения удобно прологарифмировать эту величину. Окончательно получаем:
принадлежит
-му классу, если среди величин
величина
- максимальная. Таким образом, разделяющей является поверхность второго порядка, а операцию разделения на два класса выполняет квадратичный адаптивный сумматор в комбинации с пороговым нелинейным элементом. Пороговый элемент вычисляет ступенчатую функцию
, в результате для первого класса получим ответ 1, для второго - 0.Нейрофизиологическая аналогия
Идея использования НС с квадратичными сумматорами для улучшения способности сети к обобщению базируется на хорошо известном факте индукции в естественных НС, когда возбуждение в одних областях мозга влияет на возбуждение в других. Простейшей формализацией этого является введение коэффициента, пропорционального сигналу от
-го нейрона, в величину веса
-го сигнала
-го нейрона. Снабдив такое произведение весом
— "коэффициентом индукции", получим рассматриваемую архитектуру
где
и
- соответственно квадратичная и линейная функция,
,
- функция активации нейрона. Коэффициенты функций
и константа
являются подстроечными параметрами, определяющимися в ходе обучения.Реализация булевых функций нейронными сетями
Простой персептрон (нейрон МакКаллока-Питса) с весовым вектором
реализует гиперплоскость
и булеву функцию ИЛИ от двух аргументов
и
, каждый из которых может быть нулем или единицей. При
персептрон реализует гиперплоскость
и булеву функцию И. Однако, персептрон не может воспроизвести даже такую простую функцию как ИСКЛЮЧАЮЩЕЕ ИЛИ. Она принимает значение единицы, когда один из аргументов равен единице (но не оба) (табл.1).
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Эту функцию реализует двухслойная нейронная сеть, представленная на рис.1 (сигнал
не указан). Первый слой такой сети состоит из двух нейронов, каждый из которых реализует разделяющую гиперплоскость в двумерном пространстве входных данных. Первая гиперплоскость описывается уравнением
а вторая - уравнением

Соответствующие векторы весов имеют вид
и
. Нейрон во втором слое реализует функцию И от двух выходных сигналов нейронов первого слоя.
Рис. 1. Двухслойная сеть, реализующая функцию ИСКЛЮЧАЮЩЕЕ ИЛИ

Рис. 2. Гиперплоскости, реализующие функцию ИСКЛЮЧАЮЩЕЕ ИЛИ
Выходным сигналом сети будет 1, если входные сигналы сети соответствуют точкам пространства входных сигналов, расположенным между вышеуказанными гиперплоскостями, т.е. точкам (0,1) и (1,0) (рис.2).
Выделение невыпуклых областей
Точки, не составляющие выпуклой области, не могут быть отделены от других точек пространства двухслойной сетью. Нейрон второго слоя не ограничен функцией И. Трехслойная сеть является более общей. Ограничения на выпуклость отсутствуют. Нейрон третьего слоя принимает в качестве входа набор выпуклых многоугольников, и их логическая комбинация может быть невыпуклой.При добавлении нейронов число сторон многоугольников может неограниченно возрастать. Это позволяет аппроксимировать область любой формы с любой точностью. Вдобавок не все выходные области второго слоя должны пересекаться. Следовательно, возможно объединить различные области, выпуклые и невыпуклые, выдавая на выходе 1 всякий раз, когда входной вектор принадлежит одной из них.
На рис.5 приведен пример выделения невыпуклой области, представленной в виде объединения двух треугольных областей. Пять нейронов первого слоя реализуют разделяющие гиперплоскости, два нейрона второго слоя реализуют трехвходовые функции И, нейрон третьего слоя реализует функцию ИЛИ. Весовые векторы, описывающие соответствующие гиперплоскости, имеют вид:



увеличить изображение
Рис. 5. Пример выделения невыпуклой области
Выделение выпуклых областей
Серьезное ограничение разделяющих поверхностей однослойными сетями можно преодолеть, добавив дополнительные слои. Например, двухслойные сети, получаемые каскадным соединением однослойных сетей, способны выполнять более общие классификации, отделяя точки, содержащиеся в выпуклых ограниченных и неограниченных областях. Область выпуклая, если для каждых двух её точек соединяющий их отрезок целиком лежит в области. Область ограничена, если её можно заключить в некоторый шар.Выше приведен пример выделения выпуклой области двумя гиперплоскостями (реализация функции ИСКЛЮЧАЮЩЕЕ ИЛИ). Аналогично в первом слое может быть использовано 3 нейрона с дальнейшим разбиением плоскости и созданием области треугольной формы (на рис. 3, 4,
, входы с нулевыми весами не указаны).Включением достаточного числа нейронов во входной слой может быть образован выпуклый многоугольник (многогранник) желаемой формы. Так как такие многогранники образованы с помощью операций И над областями, задаваемыми разделяющими линиями (гиперплоскостями единичной размерности), то все они выпуклы.

Рис. 3. Гиперплоскости, выделяющие на плоскости выпуклую (треугольную) область

Рис. 4. Нейронная сеть, выделяющая на плоскости выпуклую (треугольную) область
Нейрокомпьютерные системы
Функционирование сетей
Сети периодического функционирования. Простейшие представления об этих сетях таковы.В начальный момент состояния всех нейронов одинаковы, выходных сигналов нет. Подаются входные сигналы, определяющие активность сети (нулевой такт). Далее входные сигналы могут подаваться на каждом такте функционирования. На каждом такте могут сниматься выходные сигналы. После
тактов цикл функционирования заканчивается, и сеть возвращается в исходное состояние, готовая к новому циклу (акту). Между актами функционирования могут вставляться акты обучения. В общем случае, в результате цикла из
тактов нейронная сеть выдает в ответ на последовательность из
наборов входных сигналов последовательность
наборов выходных сигналов. Чаще используется упрощенный вариант: входные сигналы подаются только в самом начале, выходные снимаются в самом конце.Для слоистых и слоисто-полносвязных сетей начальные слои по мере срабатывания освобождаются и могут заниматься новой задачей, пока последние слои заканчивают работу над предыдущей. Сети периодического функционирования по характеру использования напоминают ЭВМ: на вопрос следует ответ, причем воспроизводимый. Иначе обстоит дело с сетями непрерывного функционирования.
Непрерывное функционирование нейронной сети более соответствует имеющимся представлениям о поведении живых существ, чем периодическое. Опыт показывает, что, чередуя циклы функционирования и обучения, для таких сетей можно получить хорошие результаты адаптации. Для непрерывного функционирования необходимы сети с циклами: полносвязные, слоисто-циклические или полносвязно-слоистые.
Интерпретация ответов сети
При интерпретации выходных сигналов сети необходимы аккуратность и порой изобретательность, ведь от этого истолкования зависят требования, которые мы предъявляем к работе НС. Удачная их формулировка может упростить обучение и повысить точность работы, неудачная — свести на нет предыдущие усилия.Масштабирование является естественной операцией при обработке выходных сигналов. Стандартные (обезразмеренные) НС формируются так, чтобы их выходные сигналы лежали в интервалах
(или
). Если нам нужно получить сигнал в интервале
, то нужно преобразовать выходной сигнал
:
В задачах классификации наиболее распространено правило интерпретации "победитель забирает все": число нейронов равно числу классов, номер нейрона с максимальным сигналом интерпретируется как номер класса. К сожалению, если классов много, то этот наглядный метод является слишком расточительным, потребляет слишком много выходных нейронов.
Знаковая интерпретация требует только
нейронов (
- число классов). Строится она так. Пусть
- совокупность выходных сигналов нейронов. Заменим в этой последовательности положительные числа единицами, а отрицательные - нулями. Полученную последовательность нулей и единиц рассматриваем как номер класса в двоичной записи.Порядковая интерпретация является еще более емкой, чем знаковая. В ней с помощью
нейронов можно описать принадлежность к 
классам (а не
как для знаковой). Пусть
- выходные сигналы. Проведем их сортировку и обозначим через
номер
-го сигнала после сортировки (1 соответствует наименьшему сигналу, 
- наибольшему). Перестановку
рассмотрим как слово, кодирующее номер класса. Всего возможно
перестановок. Этим интерпретатором можно пользоваться, если характерная ошибка выходного сигнала меньше
. Даже при
получаем реализуемые требования к точности
и богатые возможности (10! классов).Константа Липшица сигмоидальной сети
Рассмотрим слоистую сигмоидальную сеть (сеть с сигмоидальными нейронами) со следующими свойствами:
.
-м слое -
.
.
слоев.В этом случае оценка константы Липшица сети равна:
![]() | (2) |
Формула (2) подтверждает экспериментально установленный факт, что, чем круче характеристическая функция нейрона (т.е. чем больше
), тем более сложные функции (функции с большей константой Липшица) может аппроксимировать сеть с такими нейронами.Настройка нейронных сетей для решения задач
Тема данного раздела - формирование нейронных сетей для решения задач. Прежде чем приступить к поиску параметров сети, нужно поставить задачу, т.е. ответить на вопросы:Ответы на данные вопросы воплощаются в спецустройствах или программах: в предобработчике, интерпретаторе ответов, оценке.
Итак, прежде чем формировать сеть, необходимо создать её окружение. В процессе обучения, кроме того, используются:
Оценка способности сети решить задачу
В данном разделе рассматриваются только сети, все элементы которых непрерывно зависят от своих аргументов. Предполагается, что все входные данные предобработаны так, чтобы все входные и выходные сигналы сети лежали в диапазоне приемлемых входных сигналов
.Нейронная сеть вычисляет некоторую вектор-функцию
от входных сигналов. Эта функция зависит от параметров сети. Обучение сети состоит в подборе такого набора параметров сети, чтобы величина
была минимальной (в идеале равна нулю), здесь
- множество аппроксимируемых функций. Для того, чтобы нейронная сеть могла хорошо приблизить заданную таблично функцию
, необходимо, чтобы реализуемая сетью функция
при изменении входных сигналов с 
на
могла изменить значение с
на
. Очевидно, что наиболее трудным для сети должно быть приближение функции в точках, в которых при малом изменении входных сигналов происходит большое изменение значения функции. Таким образом, наибольшую сложность будет представлять приближение функции
в точках, в которых достигает максимума выражение
Для аналитически заданных функций величина
называется константой Липшица. Исходя из этих соображений, можно дать следующее определение сложности задачи.
Сложность аппроксимации таблично заданной функции
, которая в точках
принимает значения
, задается выборочной оценкой константы Липшица, вычисляемой по формуле:![]() | (1) |
Оценка (1) является оценкой константы Липшица аппроксимируемой функции снизу.
Константа Липшица сети вычисляется по следующей формуле:

Для того, чтобы оценить способность сети заданной конфигурации решить задачу, необходимо оценить константу Липшица сети и сравнить ее с выборочной оценкой (1). В случае
сеть принципиально не способна решить задачу аппроксимации функции
. Однако из
еще не следует утверждение о способности сети аппроксимировать функцию 
Предобработка данных
Нормировка и центрирование данных (предобработка) используются почти всегда (кроме тех случаев, когда данные представляют собой бинарные векторы с координатами 0,1 или
, либо символьные последовательности). Цель этих преобразований - сделать так, чтобы каждая компонента вектора данных лежала в отрезке
(или
) или, по крайней мере, не слишком далеко выходила из этого отрезка, и её характерный разброс тоже был бы единичным.Стандартные преобразования исходной выборки
:
или
, где
-
-я компонента вектора
,
- выборочная оценка математического ожидания
;
- выборочная оценка среднего квадратичного отклонения. Любое изменение выборки
должно, согласно этим формулам, менять и нормировку. Нормировка и центрирование вписывают исходную выборку в куб со стороной 2, вершинами которого являются векторы с координатами
.Виды сетей
В многослойных (слоистых) сетях (рис.1) нейроны первого слоя получают входные сигналы, преобразуют их и передают нейронам второго слоя. Далее срабатывает второй слой и т.д., до
-ого, который выдает выходные сигналы для интерпретатора и пользователя. Если не оговорено противное, то каждый выходной сигнал
-го слоя подается на вход всех нейронов
-го. Число нейронов в каждом слое может быть любым и никак заранее не связано с количеством нейронов в других слоях. Стандартный способ подачи входных сигналов: все нейроны первого слоя получают каждый входной сигнал. Наибольшее распространение получили трехслойные сети, в которых каждый слой имеет свое наименование: первый - входной, второй - скрытый, третий - выходной.
увеличить изображение
Рис. 1. Многослойная (слоистая) сеть
Монотонные слоистые сети - частный случай слоистых сетей с дополнительными условиями на связи и элементы. Каждый слой, кроме выходного, разбит на два блока - возбуждающий и тормозящий. Связи между слоями также подразделяются на два типа - возбуждающие (с положительными весами) и тормозящие (с отрицательными весами). Если от блока
к блоку
ведут только возбуждающие связи, то это означает, что любой выходной сигнал блока 
является монотонной неубывающей функцией любого выходного сигнала блока
. Если же эти связи только тормозящие, то любой выходной сигнал блока
является монотонной невозрастающей функцией.В полносвязной сети каждый нейрон передает свой выходной сигнал остальным нейронам, в том числе и самому себе. Выходными сигналами сети могут быть все или некоторые выходные сигналы нейронов после нескольких циклов функционирования сети. Все входные сигналы подаются всем нейронам. Для полносвязной сети входной сумматор нейрона фактически распадается на два: первый вычисляет линейную функцию от входных сигналов сети, второй - линейную функцию от выходных сигналов других нейронов, полученных на предыдущем шаге. Примером полносвязной сети является сеть Хопфилда.
Слоисто-циклические (рекуррентные) сети отличаются тем, что слои замкнуты в кольцо - последний передает свои выходные сигналы первому.
Все слои равноправны и могут как получать входные сигналы, так и выдавать выходные. Такие сети до получения ответа могут функционировать неограниченно долго, так же, как и полносвязные.
Слоисто-полносвязные сети состоят из слоев, каждый из которых, в свою очередь, представляет собой полносвязную сеть. При функционировании сигналы передаются от слоя к слою, и происходит обмен сигналами внутри слоя. В каждом слое процесс протекает следующим образом: прием сигналов с предыдущего слоя (или входных сигналов сети), обмен сигналами внутри слоя, передача последующему слою (или на выход). Подобные сети до получения ответа функционируют определенное число тактов, соответствующее количеству слоев, так же, как и слоистые сети.
Полносвязно-слоистые сети по структуре такие же, как и предыдущие, но функционируют по-другому. В них не разделяются фазы обмена внутри слоя и передачи следующему: на каждом такте нейроны всех слоев принимают сигналы от нейронов как своего, так и предыдущего, после чего передает сигналы как внутри слоя, так и последующему (или на выход). До получения ответа подобные сети могут функционировать неограниченно долго, так же, как и полносвязные.
Нейрокомпьютерные системы
Алгоритм обратного распространения ошибки
Возьмем двухслойную сеть (рис. 1) (входной слой не рассматривается). Веса нейронов первого (скрытого) слоя пометим верхним индексом (1), а выходного слоя - верхним индексом (2). Выходные сигналы скрытого слоя обозначим
, а выходного слоя -
. Будем считать, что функция активации нейронов задана в сигмоидальной униполярной или биполярной форме. Для упрощения описания будем использовать расширенное обозначение входного вектора сети в виде
, где
соответствует порогу. С вектором
связаны два выходных вектора сети: вектор фактических выходных сигналов
и вектор ожидаемых выходных сигналов
.Цель обучения состоит в подборе таких значений весов
и
для всех слоев сети, чтобы при заданном входном векторе
получить на выходе значения сигналов
, которые с требуемой точностью будут совпадать с ожидаемыми значениями
для
. Выходной сигнал
-го нейрона скрытого слоя описывается функцией

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

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

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

и
.Таким образом, получим



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

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

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

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

обозначим как
![]() | (5) |
Коэффициенты
,
и 
рассчитываются в соответствии с решением системы уравнений (5).
Для определения минимума многочлена
его производная
приравнивается к нулю, что позволяет получить
. После подстановки выражений для
в формулу для
получаем

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

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

Рис. 1. Процесс скрещивания
Последняя генетическая операция - это мутация. При двоичном кодировании мутация состоит в инверсии случайно выбранных битов.
При кодировании векторов десятичными числами мутация заключается в замене значения какого-либо элемента вектора другим случайно выбранным значением. Мутация обеспечивает защиту как от слишком быстрого завершения алгоритма (в случае выравнивания значений всех хромосом и целевой функции), так и от представления в какой-либо конкретной позиции всех хромосом одного и того же значения. Однако необходимо иметь в виду, что случайные мутации приводят к повреждению уже частично приспособленных векторов. Обычно мутации подвергается не более
-
бит всей популяции хромосом. Элемент, подвергаемый мутации, отбирается случайным образом.Доказано, что каждое последующее поколение, сформированное селекцией, скрещиванием и мутацией, имеет статистически лучшие средние показатели приспособленности (меньшие значения целевой функции).
В качестве окончательного решения принимается наиболее приспособленная хромосома, имеющая минимальное значение целевой функции. Генетический процесс завершается либо в момент генерации удовлетворяющего нас решения, либо при выполнении максимально допустимого количества итераций. При реализации генетического процесса отслеживается, как правило, не только минимальное значение целевой функции, но и среднее значение по всей популяции хромосом, а также их вариации. Решение об остановке алгоритма может приниматься и в случае отсутствия прогресса минимизации, определяемого по изменениям названных характеристик.
Элементы глобальной оптимизации
Все представленные ранее методы обучения нейронных сетей являются локальными. Они ведут к одному из локальных минимумов целевой функции, лежащему в окрестности точки начала обучения. Только в ситуации, когда значение глобального минимума известно, удается оценить, находится ли найденный локальный минимум в достаточной близости от искомого решения. Если локальное решение признается неудовлетворительным, следует повторить процесс обучения при других начальных значениях весов и с другими управляющими параметрами. Можно либо проигнорировать полученное решение и начать обучение при новых (как правило, случайных) значениях весов, либо изменить случайным образом найденное локальное решение (встряхивание весов) и продолжить обучение сети.При случайном приращении весов переход в новую точку связан с определенной вероятностью того, что возобновление процесса обучения выведет поиск из "сферы притяжения" локального минимума.
При решении реальных задач в общем случае даже приблизительная оценка глобального минимума оказывается неизвестной. По этой причине возникает необходимость применения методов глобальной оптимизации. Рассмотрим три из разработанных подходов к глобальной оптимизации: метод имитации отжига, генетические алгоритмы и метод виртуальных частиц.
Метод виртуальных частиц
Метод виртуальных (случайных) частиц может надстраиваться почти над любым методом оптимизации. Он создан для:Основная идея метода - использование случайных сдвигов аргумента и суммирование полученных значений функции для усреднения. Ожидается, что в результате уменьшится влияние рельефа минимизируемой функции на процесс минимизации и откроется более прямой путь к её глобальному минимуму.
Метод случайных частиц состоит в том, что к оптимизируемой точке (частице) добавляется несколько других, траектории которых получаются из траектории данной частицы сдвигом на случайный вектор. Эти "виртуальные" частицы время от времени уничтожаются и рождаются новые. Спуск (минимизация) строится так, чтобы уменьшилось значение суммы значений оптимизируемой функции в указанных точках.
Рассмотрим один из вариантов алгоритма виртуальных частиц. Пусть требуется найти минимум функции
.Параметры сети разбиваются на группы структурно эквивалентных. Для каждой группы задается свой интервал случайных сдвигов. Определяется число виртуальных частиц
и генерируется
случайных векторов
. Их координаты независимо и равномерно распределены в заданных интервалах.Начальное положение основной частицы -
. Начальное положение
-ой виртуальной частицы
. Случайный вектор для
-й виртуальной частицы строится так:![]() | (1) |
и её положение задается вектором
. Всем частицам, кроме
-й, присваивается вес
,
,
-я получает вес
. Далее минимизируется функция
Алгоритм локальной оптимизации может быть выбран любой - от наискорейшего спуска и партан-методов до метода сопряженных градиентов. Выбор
в виде
и
определяется двумя обстоятельствами:
дисперсия будет совпадать с дисперсией координат векторов
;
точки минимума
и
совпадут.В методе виртуальных частиц возникает важный вопрос: когда уничтожать имеющиеся виртуальные частицы и порождать новые?
Есть три варианта:
минимизируется до тех пор, пока скорость обучения не упадет ниже критической. После этого вновь производят случайные сдвиги частицы, и обучение продолжается.Первый способ наиболее консервативен. Он долго сохраняет все достоинства и недостатки предшествующего спуска, хотя направление движения может существенно измениться при порождении новых виртуальных частиц.
Третий способ вносит случайный процесс внутрь базового алгоритма, в результате возможны колебания даже при одномерной оптимизации. Его преимущество - экономия памяти.
Наиболее перспективным представляется второй способ. Он, с одной стороны, не разрушают базового алгоритма, а с другой - за счет многократного порождения виртуальных частиц позволяет приблизиться к глобальному множеству. Метод виртуальных частиц имеет все достоинства методов глобальной оптимизации, не использующих случайные возмущения, но лишен многих их недостатков.
Хорошие результаты обучения приносит объединение алгоритмов глобальной оптимизации с детерминированными методами локальной оптимизации. На первом этапе обучения сети применяется выбранный алгоритм глобальной оптимизации, а после достижения целевой функцией определенного уровня включается детерминированная оптимизация с использованием какого-либо локального алгоритма.
Нейрокомпьютерные системы
Математические основы радиальных сетей
Математическую основу функционирования радиальных сетей составляет теорема Т. Ковера о распознаваемости образов, в соответствии с которой нелинейные проекции образов в некоторое многомерное пространство могут быть линейно разделены с большей вероятностью, чем при их проекции в пространство с меньшей размерностью.Если вектор радиальных функций в
- мерном входном пространстве обозначить
, то это пространство является нелинейно
- разделяемым на два пространственных класса
и
тогда, когда существует такой вектор весов
, что
Граница между этими классами определяется уравнением
.Доказано, что каждое множество образов, случайным образом размещенных в многомерном пространстве, является
- разделяемым с вероятностью 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, Эльмана.
Нейрокомпьютерные системы
В определенные моменты в ходе обучения строятся изображения карты путем использования соответствия, показанного на рис. 1. Элементы соединяются линиями, чтобы показать их относительное размещение. Сначала карта выглядит сильно "измятой", но постепенно в ходе обучения она разворачивается и расправляется. Конечным результатом обучения является карта, покрывающая все входное пространство и являющаяся достаточно регулярной (т.е. элементы оказываются распределенными почти равномерно). Для примера была рассмотрена карта с топологией квадрата из 49 элементов, и для 250 точек данных, взятых из единичного квадрата, было проведено ее обучение, которое начиналось со случайного набора весовых значений, задающих размещение кластерных элементов в центре входного пространства, как показано на рис. 1. На рис. 2 и 3 иллюстрируется процесс разворачивания карты с течением времени. Как и для других типов сетей, в данном случае результат обучения зависит от учебных данных и выбора параметров обучения.
Рис. 1. Весовые векторы инициализируются случайными значениями из диапазона 0.4-0.6
Алгоритм Кохонена
Алгоритм Кохонена относится к наиболее старым алгоритмам обучения сетей с самоорганизацией на основе конкуренции, и в настоящее время существуют различные его версии. В классическом алгоритме Кохонена сеть инициализируется путем приписывания нейронам определенных позиций в пространстве и связывания их с соседями на постоянной основе. Такая сеть называется самоорганизующейся картой признаков (сеть SOFM - Self-Organizing Feature Map). В момент выбора победителя уточняются не только его веса, но также и веса его соседей, находящихся в ближайшей окрестности. Таким образом, нейрон-победитель подвергается адаптации вместе со своими соседями. В классическом алгоритме Кохонена функция соседства
определяется в виде
В этом выражении
обозначает эвклидово расстояние между векторами весов нейрона-победителя
и
-го нейрона. Коэффициент
выступает в роли уровня соседства, его значение уменьшается в процессе обучения до нуля. Соседство такого рода называется прямоугольным.Другой тип соседства, часто применяемый в картах Кохонена, - это соседство гауссовского типа, при котором функция
задается формулой
Степень адаптации нейронов-соседей определяется не только евклидовым расстоянием между
-м нейроном и победителем (
-м нейроном), но также и уровнем соседства
. В отличие от соседства прямоугольного типа, где каждый нейрон, находящийся в окрестности победителя, адаптировался в равной степени, при соседстве гауссовского типа уровень адаптации различен и зависит от значения функции Гаусса. Как правило, гауссовское соседство дает лучшие результаты обучения и обеспечивает лучшую организацию сети, чем прямоугольное соседство.Самоорганизующаяся карта признаков проходит два этапа обучения. На первом этапе элементы упорядочиваются так, чтобы отражать пространство входных элементов, а на втором происходит уточнение их позиций. Как правило, процесс представляется визуально путем использования двумерных данных и построения соответствующей поверхности. Например, входные векторы выбираются случайным образом на основе однородного распределения в некотором квадрате, и начинается обучение карты.
Алгоритмы обучения сетей с самоорганизацией
Целью обучения сети с самоорганизацией на основе конкуренции нейронов считается такое упорядочение нейронов (подбор значений их весов), которое минимизирует значение ожидаемого искажения, оцениваемого погрешностью аппроксимации входного вектора
значениями весов нейрона-победителя. При
входных векторах
и применении евклидовой метрики эта погрешность, называемая также погрешностью квантования, может быть выражена в виде![]() | (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 представлен способ агрегирования при двух входных переменных
.Логическое произведение (оператор
) используется как для агрегирования нечетких правил относительно конкретных переменных
,
, образующих вектор
, так и на уровне импликации
для одиночных правил вывода. Агрегирование импликаций, касающихся правил
и
, проводится с использованием логической суммы (оператор
).Нейрокомпьютерные системы
Определение значимости параметров на основании функции оценки
Есть набор
,
размерности
-мерный вектор параметров
и функция оценки
, оценивающая работу системы с параметрами
на векторе
(например, расстояние от вектора выходных сигналов системы до нужного ответа или до множества правильно интерпретируемых ответов). Требуется выделить наименее значимые параметры
и компоненты данных
и модифицировать систему, отбрасывая наименее значимые параметры. Процедура отбрасывания неоднозначна. Простейший вариант - обращение в ноль - не всегда лучший: он не учитывает корреляции между данными. Учитывая корреляцию, следует отбрасываемые компоненты заменять на функции остающихся компонент.Пусть для каждого
определено фиксированное значение
. Отбрасывание
-ой компоненты для
-го примера означает приравнивание
. В качестве простейшего варианта примем
и для любого
полагаем
(параметры обращаются в ноль, данные заменяются средним по выборке). Более тонкие методы предполагают замену отбрасываемых параметров и сигналов на некоторые функции оставшихся.
Определение значимости параметров по изменению выходных сигналов системы
Значимость параметров определяется практически так же, как и с помощью функции оценки. Пусть
- вектор данных, а
- вектор параметров. Пусто задан набор векторов
, на которых будет оцениваться функционирование системы, и определены значения
(в простейшем случае
).Вычислим в линейном приближении изменение вектора
при обращении 
в
и
в
:
Пусть в пространстве выходных сигналов системы задана некоторая норма (например, евклидова). Тогда положим:

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

В евклидовой норме (что соответствует методу наименьших квадратов) получаем:

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

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

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

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

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

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

Поставим задачу сокращения описания следующим образом: так определить некоторое наименьшее возможное множество индексов
и набор чисел
, чтобы норма отклонения
, где
, не превышала некоторой наперед заданной величины. Все функции рассматриваются на конечном множестве
. Для любой функции
евклидова норма:
С каждой функцией
связан
-мерный вектор
с компонентами
. Вектор
с координатами
является линейной комбинацией векторов
с координатами
. Линейную оболочку семейства векторов
обозначим
. Построим в пространстве
ортонормированный базис с помощью последовательной ортогонализации векторов
. Каждый следующий шаг ортогонализации выполним так, чтобы величина проекции
на новый вектор базиса была максимальной из возможных. Процесс ортогонализации продолжим, пока
, где
- проекция
на построенную ортогональную систему. По окончании процесса полагаем
.Полагаем
. Тогда
. Это и есть решение задачи. Числа
выражаются через коэффициенты разложения векторов
по
и скалярные произведения
: если
, то
.Разложение
по
имеет рекурсивную форму:
Для функций вида
с дифференцируемой функцией процедура аналогична с точностью до замены скалярного произведения: используется скалярное произведение с весами
, где
. В этом скалярном произведении вычисляются все нормы и проводится ортогонализация.Для функций с пороговой нелинейностью на выходе используем скалярное произведение с весами
.Описанная процедура сокращения "сверху вниз" с ортогонализацией особенно важна для упрощения элементов сложных сетей, в структуре которых и вектор входных сигналов элемента может быть далек от исходных данных, и его выходной сигнал далек от оцениваемого выхода всей сложной системы.
Процедуры анализа значимости и сокращения описания выделяют наиболее важные параметры и связи в НС. По аналогии с обработкой изображения их называют процедурами контрастирования или редукции.
Роль контрастирования (редукции) не сводится только к сокращению описания: более общая задача - привести параметры системы к выделенному набору значений, в частности, уменьшить разрядность, что важно для удешевления специализированных устройств, экономии памяти и т.д.
Значимость параметров и сигналов. Сокращение описания (контрастирование) сетей.
Сокращение множества параметров и входных сигналов обученной нейронной сети преследует цели:Существует два способа сокращения (редукции) описания:
Способ редукции "снизу вверх":
Нейрокомпьютерные системы
Голографические корреляторы
В голографических корреляторах образцы изображений запоминаются в виде голограммы (плоской или объемной) и восстанавливаются при когерентном освещении в петле обратной связи.Входное изображение (возможно, зашумленное или неполное) коррелируется оптически одновременно со всеми запомненными изображениями. Корреляции обрабатываются пороговой функцией и подаются на вход системы, где наиболее сильные корреляции усиливают (и, возможно, корректируют или завершают) входное изображение. Этот процесс повторяется многократно, и усиленное изображение при каждом проходе изменяется, пока система не стабилизируется на требуемом изображении.
Оптические нейронные сети предлагают огромные выгоды с точки зрения скорости и плотности внутренних связей. Они могут быть использованы (в той или иной форме) для реализации сетей фактически с любой архитектурой.
В настоящее время ограничения электронно-оптических устройств создают множество серьезных проблем, которые должны быть решены прежде, чем оптические нейронные сети получат широкое применение. Однако, учитывая, что большое количество превосходных исследователей работает над этой проблемой, а также большую поддержку со стороны военных, можно надеяться на быстрый прогресс в этой области.
Электронная реализация нейронных сетей
В качестве единицы производительности нейросетей принято "число соединений в секунду" - CPS (connections per second). Под соединением здесь понимается умножение входного сигнала на весовой коэффициент и сложение с накопленной суммой.Анализ нейросетевых алгоритмов позволяет сделать следующие выводы:
Электронные нейронные сети обычно используются в качестве акселераторов для персональных ЭВМ при решении соответствующих классов задач (обработки сигналов и изображений, распознавания образов и т.п.).
Нейрочипы
Нейрочипы подразделяются на цифровые, аналоговые и гибридные. Они могут включать в себя схемы настройки весов при обучении или предусматривать внешнюю загрузку весов. Наибольшую проблему при создании нейрочипов представляют схемы умножения, так как именно они лимитируют скорость вычислений.Аналоговые реализации используют простые физические эффекты для выполнения нейросетевых преобразований. Обеспечение заданной точности требует тщательного проектирования и изготовления.
Гибридные нейрочипы используют комбинацию аналогового и цифрового подходов. Например, входы могут быть аналоговыми, веса могут загружаться как цифровые и выходы могут быть цифровыми. Существуют нейрочипы, в которых используется представление данных частотой или шириной импульсов.
и векторный процессор для обработки
Отечественный нейропроцессор NM6403, разработанный в НПО "Модуль" (www.module.ru), имеет скалярный процессор (скалярное RISC-ядро) и векторный процессор для обработки двоичных векторов произвольной разрядности в пределах 1-64 битов. Скалярный процессор выполняет всю подготовку данных для работы векторного процессора.Модель слоя нейронов, эмулируемого процессором NM6403, показана на рис. 1. В общем случае слой имеет
входов и состоит из 
нейронов.
-й нейрон выполняет операцию умножения - накопления над
данными
, поданными на соответствующие входы нейрона.Нейропроцессор NM6403 имеет два встроенных линка, совместимых с линками сигнального микропроцессора TMS320C40. Кроме того, интерфейсы локальной и глобальной памятей позволяют без дополнительного оборудования подсоединять два нейропроцессора к общему блоку памяти.

увеличить изображение
Рис. 1. Модель слоя нейронов
Мультипроцессорная система (рис. 2) из
нейропроцессоров NM6403 эмулирует нейронную сеть в
раз быстрее, чем один нейропроцессор.
Рис. 2. Линейная (кольцевая) система из нейропроцессоров NM6403
Оптическая реализация нейронных сетей
Мощность нейронной сети определяется большим количеством связей: отдельные элементы имеют относительно малые вычислительные мощности. Обеспечение требуемой связности в электронных цепях остается серьезной проблемой, особенно при реализации нейронных сетей с полным графом соединений. Электронные интегральные цепи являются существенно планарными с рельефностью, обусловленной множеством слоев.Проблему связей можно решить при использовании оптических систем для реализации НС. Взаимное соединение нейронов с помощью световых лучей не требует изоляции между сигнальными путями: световые потоки могут пересекаться, не влияя друг на друга, и сигнальные пути могут располагаться в трех измерениях. Плотность путей передачи ограничена только размерами источников и детекторов. Все сигнальные пути могут работать одновременно, тем самым обеспечивая огромную скорость передачи данных.
В оптических НС величины оптических весов могут запоминаться в голограммах с высокой степенью плотности (до
бит на куб. см.). Веса могут модифицироваться в процессе работы сети.К сожалению, возникает множество практических проблем при попытках оптической реализации нейронных сетей. Оптические устройства имеют собственные физические характеристики, часто не соответствующие требованиям искусственных нейронных сетей. Хотя они в действительности пригодны для обработки изображений, все же изображения от оптических нейронных сетей, полученные до настоящего времени, были разочаровывающе плохими. Однако достаточно взглянуть на первые пробы телевизионных передач, чтобы понять, какой огромный прогресс возможен в повышении качества изображения. Несмотря на эти трудности, а также на такие проблемы, как стоимость, размеры и критичность к ориентации, потенциальные возможности оптических систем побуждают попытки проведения интенсивных и широких исследований. В этой области происходят стремительные изменения, и в ближайшее время ожидаются важные улучшения.
Конфигурации оптических НС в основном подразделяются на две категории: векторно-матричные умножители и голографические корреляторы.
Векторно-матричные умножители
В качестве матрицы весов (рис. 3) используется фотопленка, у которой прозрачность каждого квадрата пропорциональна весу. Выход каждого фотодетектора является сверткой между входным вектором и соответствующим столбцом матрицы весов. Умножение выполняется параллельно. При использовании соответствующих высокоскоростных светодиодов и фотодетекторов умножение вектора на матрицу может быть выполнено менее, чем за наносекунду. Более того, скорость умножения практически не зависит от размерности массива. Это позволяет наращивать сети без существенного увеличения времени вычислений. Возможность менять веса основана на использовании жидкокристаллического клапана вместо фотографического негатива.
Рис. 3. Электронно-оптический векторно-матричный умножитель
Нейросети: Нейролингвистика - Логика
- Нейросети
- Теория нейросетей
- Справочник по нейросетям
- Софт для нейросети
- ANSYS - нейросеть
- Обучение нейросети
- Классификация нейросетей
- Искуственный интелект и нейросети
- Финансы и нейросети
- Железо нейросети
- Построение нейросети
- Инструменты нейросети
- Применение нейросетей
- Нейросетевой анализ
- Нейролингвистика
- Нейролингвистика на практике
- Нейролингвистическое программирование
- Логика
- Нечеткая логика

























