Данная статья является продолжением статьи <Популярные нейросетевые архитектуры>. Все архитектуры описанные в предыдущей статье [1], в той или иной степени, эксплуатируют идею персептрона. Однако, существуют нейросети принципиально иного характера. Далее разговор пойдёт именно о них. Ниже мы рассмотрим следующие архитектуры:
Перед чем перейти к рассмотрению конкретных сетей мы обсудим несколько общих идей.
Для начала опишем одну важную концепцию - <победитель забирает всё> (Winner Takes All - WTA). Пусть перед нами стоит задача разбиения входных образов на n классов. Рассмотрим абстрактную сеть. Для этого предусмотрим в сети n выходов - каждый выход ассоциирован с конкретным классом. Тренировать сеть будем таким образом, чтобы на векторах определённого класса выход соответствующего нейрона был максимален, а на остальных нейронах выход был нулевым. Ясно, что на реальных данных результат будет отличатся от идеала. Концепция WTA состоит в следующем: после обработки очередного образа выберем из всех нейронов выходного слоя нейрон с максимальным выходом (нейрон победитель), далее повысим значение его выхода до максимума (обычно единица), а значение других нейронов выходного слоя положим равным нулю. Таким образом на выходе мы получаем вектор с единицей для соответствующего класса и с нулями для всех остальных. Подробнее об этой концепции можно прочитать в [1]. Применение данной концепции мы рассмотрим ниже.
Рассмотрим
задачу классификации образов. Пусть есть k n-мерных независимых случайных величин (моделей)
. Предположим, что они распределены нормально и
- математическое ожидание, а
- ковариационная матрица
соответствующей случайной величины (все величины - n-мерные случайные
вектора). Из внешнего мира мы получили некоторый вектор
, и нашей задачей является определить, к какой модели он относится
(какая случайная величина из исходного набора его породила). Будем считать, что
все модели равновероятны (нет априорных знаний). Как известно, из теории
вероятностей, вероятность принадлежности вектора
к iой модели
, обозначим
(эта величина зависит только от
модели и не зависит от
) .
В показателе
экспоненты стоит квадрат, так называемого, расстояния Махаланобиса. Формально
расстояние Махаланобиса вводится следующим образом: пусть случайные величины
и
имеют одинаковую ковариационную
матрицу
, тогда расстоянием по Махаланобису
назовём
, квадрат которого вычисляется по формуле
. Для задачи классификации (принятие решения о принадлежности вектора
модели) вводится расстояние Махаланобиса между вектором
и моделью
с параметрами
и
. Что же обозначает расстояние
Махаланобиса <физически>? Вычисление
расстояния Махаланобиса можно рассматривать как вычисления длины вектора
в некоторой системе координат
связанной с математическим ожиданием модели. Рассмотрим подробно, как строится
эта система координат. Первым шагом можно считать вычисление
. Это равносильно переносу системы координат из нуля в точку
математического ожидания модели.

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

Рис2. Преобразование системы координат. <Растяжение>.
Единичный шар
в новой с.к. растянется по осям, пропорционально дисперсии, превратившись, с
точки зрения предыдущих с.к., в эллипсоид. Таким образом длиной вектора нужно
будет считать то, во сколько раз нужно увеличить эллипсоид (растянув его оси в
равной пропорции), чтобы конец вектора лежал на его поверхности. Теперь вектора
с одинаковой длиной образуют эллипсоид, а не сферу, с осями параллельными осям
координат в системе связанной с
. Таким образом изменение на одно и то же число двух различных
координат входного вектора
, скажется на его мере неравномерно, а пропорционально дисперсии по
соответствующей координате. Теперь возьмём произвольную матрицу
. Как и в предыдущем случае единичный шар растянется превратившись в
эллипсоид, вместе с этим недиагональные элементы
вызовут, как бы, вращение
эллипсоида вокруг начала координат. Таким образом (из-за статистической
зависимости координат) изменяя одну из координат вектора
в исходной или второй с.к., мы
изменяем сразу несколько в конечной с.к. (согласно их ковариации). Итак,
основываясь на параметрах модели, мы получили новую с.к. в которой длинна
и есть расстояние Махаланобиса.
С учётом выше
сказанного, можем записать
. Таким образом, зная параметры моделей (мат. ожидание и ковариационную
матрицу), для вынесения решения о принадлежности
к той или иной модели (классу)
достаточно посчитать вероятность для каждой из моделей
и выбрать модель с максимальным
значением, т.е.
- такой подход в выборе гипотез
называется методом максимального правдоподобия. Рассмотрим простейший случай:
элементы случайных векторов (моделей) статистически независимы и имеют
одинаковую дисперсию
, следовательно диагональные элементы ковариационной матрицы равны
между собой, а все остальные элементы - нули, т.е.
, где I - единичная матрица. Тогда
, так как произведение транспонированного вектора на самого себя есть
квадрат евклидовой нормы, то
(при
мы получим простое расстояние в смысле Евклида).
Данные нейросети тесно связаны с
понятием функции радиального вида (Radial Based Functions - RBF)[5] и статистическими методами кластерного
анализа. В контексте нейросетей под функцией радиального вида будем понимать
простой Гауссиан:
. Как видно из формулы
, притом своего максимума она достигает в
нуле.

Выше приведён график при коэффициенте b=1. Изменяя b мы меняем <чувствительность> функции: то насколько быстро значение функции приближается к единицы, при стремление аргумента к нулю. Перейдём к описанию самой сети.
Модель нейрона существенно отличается от модели нейрона архитектурах подобных
персептрону. Итак у нейрона n-мерный вход
и n-мерный вектор весов
. Выход нейрона определяется по следующей формуле:
, где
. То есть выходом нейрона является значение функции радиального вида от
аргумента равного расстоянию (выбор меры для данного случая мы обсудим ниже)
между входным вектором и вектором весов. Что же это даёт? Выход нейрона тем
больше, чем ближе входной вектор к вектору весов. Если расстояние нулевое, то
выход нейрона максимален (единица).

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

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

Рис5. Структура связей RBF сети с линейным слоем.
Как видно из
картинки над слоем радиальных нейронов мы надстроили ещё один слой. В
классическом варианте нейроны второго слоя обладают линейной функцией
активации, то есть выход нейрона
, где
есть выход соответствующего
нейрона радиального слоя, т.е.
, где
- входной образ сети. Таким
образом мы получаем, что целевое отображение интерполируется с помощью линейной
комбинации функций радиального вида - в данном случае n-мерных гауссианов.
Функции радиального вида известны высоким качество интерполяции и обладают лишь
одним существенным недостатком - сглаживание или частичное поглощение локальных
всплесков. Так же известны и архитектуры с более чем одним слоем нейронов с
радиальной функцией активации [6], мы не будем подробно о них говорить, но
утверждается, что нейросети такой архитектуры более эффективны. Ниже, в разделе
<гибридные сети>, мы ещё вернёмся к различным вариантам нейросетей радиального
типа.
Рассмотрим
методы обучения нейросетей с базисом радиального вида. Пусть нам дана обучающая
выборка из пар
, где
- случайный вектор (модель) с
параметрами
и
, а
- желаемый выход сети.
Начнём с
рассмотрения вероятностной нейросети. Напомним, что под вероятностной
нейросетью мы понимаем сеть с одним слоем радиальных нейронов и WTA на выходе. В данном
случае
будет вектором с одним элементом равным единице и остальными нулями. В
таком случае, достаточно завести p радиальных нейронов, где каждый нейрон отвечает соответствующей модели
и обладает её параметрами.
Таким же
образом можно сконструировать и нейросеть с слоем линейных нейронов: Для каждой
пары векторов из обучающей выборки заведём отдельный нейрон в радиальном слое с
параметрами обучающего вектора . Таким образом каждый обучающий вектор
формирует отдельный нейрон. Далее записав и решив простую систему
, где
- соответствующий элемент
,
- связь iого линейного
нейрона иjого радиального,
а
- выход соответствующего радиального
нейрона.
На практике не всегда возможно узнать параметры и количество моделей заранее. Для их выянения применяются различные методы кластеризации и статистических оценок [7] (популярным методом является к-кластеризация). Для примера рассмотрим сеть с одним слоем радиальных нейронов и одним слоем линейных нейронов. Идея таких методов состоит в следующем:
·
Пусть есть обучающая
выборка
,
и
обычные числовые вектора.
· Разобьем пространство обучающих входных векторов на n кластеров.
· Для каждого кластера заведём по нейрону, с центром совпадающим с центром класса. Остальные параметры оценим с помощью статистических методов.
· Слой линейных нейронов настроим решив систему линейных уравнений, например методом наименьших квадратов (если нет аналитического решения).
Также есть метод постепенного конструирования сети с последовательным добавлением нейронов (используется в MatLab). Для обучения сетей с более чем одним слоем радиальных нейронов можно применить обратное распространение ошибки [6].
Нейросети с базисом радиального вида применяются для решения следующих задач:
· Распознавание образов.
· Интерполяция многомерных функций.
· Обработка и анализ звука.
· Анализ изображений.
· Обнаружение движения в видео последовательностях.
· Шумоподавление.
Среди нейросетей модель Хопфилда [2] занимает особое место. С помощью модели Хопфилда впервые удалось связать нейросети и нелинейные динамические системы и получить устойчивую модель ассоциативной памяти.
,
где
-
фиксированное число (обычно ноль).
Структура связей в модели Хопфилда радикально отличается от всего
рассмотренного выше. В модели Хопфилда каждый нейрон связан со всеми
остальными, то есть на вход нейрон получает сигналы от всех нейронов сети.
Таким образом, нейросеть Хопфилда полностью характеризуется матрицей весов W (
- вес связи iого и jого нейрона) и вектором состояния S, где
текущее значение выхода соответствующего нейрона. Обычно, связи
считаются симметричными, то есть
. Так же предполагается что все
диагональные элементы - нулевые
.
Рассмотрим поведение сети во
времени при фиксированной матрице весов. Пускай в момент t=0 мы
предали вектору состояния некоторое значение. Существуют два варианта
дальнейшего процесса работы сети: синхронный и асинхронный. Синхронный вариант
работы заключается в том, что все нейроны одновременно изменят своё состояние в
момент t+1 согласно состоянию сети на момент t. В случае асинхронной работы в момент t+1
своё состояние изменяет только один нейрон, в момент t+2
некоторый другой нейрон согласно состоянию сети в момент t+1 и
т.д. (каждый раз нейрон выбирается случайно). В любом случае с течением времени
сеть каким-то образом изменяет своё состояние. Утверждается, что при наложенных
нами условиях на матрицу весов сеть через какое-то конечное время придёт в
стационарное состояние, то есть
. Так же утверждается, что это
стационарное состояние S достигается и является одним и тем же вне зависимости от синхронности
работы нейронов.
Рассмотрим выражение
. Это выражение является, так называемой,
функцией энергии сети. Эта функция является функцией Ляпунова для динамической
системы, описываемой сетью Хопфилда. Можно доказать, что в процессе работы сети
функция энергии будет не возрастать, а
при стационарном состояние - достигнет минимума. Таким образом сеть Хопфилда
минимизирует соответствующий функционал энергии. Функционал с течением времени
сходится к ближайшему от стартового состояния минимуму, т.е. если мы сможем
умышленно создавать минимумы, то наша нейросеть сможет, как бы восстанавливать
<повреждённые> входные образы. Поясним эту идею:
·
Пускай мы смогли создать минимумы в состояниях
(достаточно далёких в смысле Хэмминга, то есть с большим числом
различающихся элементов).
·
Предположим, что у нас есть источник данных, который выдаёт двоичные
вектора, являющиеся зашумлёнными или неполными вариантами
и
мы хотим восстановить чистый вектор.
·
Тогда получив из этого источника вектор
, введём сеть в состояние
.
· Дождёмся пока сеть придёт в стационарное состояние.
·
Утверждается, что если шум не был слишком сильным, то сеть релаксируется к
чистому вектору из
.
Отметим, что состояния сети являются вершинами n-мерного гиперкуба, а её динамика - траекторией, проходящей по его рёбрам. Таким образом, настраивая минимумы, мы как бы помечаем некоторые вершины, а в процессе работы сеть изменяется согласно кратчайшей траектории из начального состояния к какой-либо помеченной вершине. Такое свойство сети используется для решения, так называемой, задачи странствующего коммивояжера.
Обучение сети происходит по правилу Хебба: предположим мы хотим чтобы сеть
запомнила бинарный вектор
, тогда матрица весов вычисляется по
следующему правилу
. Предположим мы уже обучили сеть
некоторому количеству векторов, тогда для добавления ещё одного требуется
пересчитать веса следующим образом:
. Особой устойчивости сеть достигает при
ортогональности обучающих образов. Утверждается, что сеть устойчиво хранит не
более 0.14N образов, где N число нейронов.
Полученная сеть является моделью с ассоциативной памятью, т.е. сеть хранит какой-то набор образов, а для доступа к одному из них требуется предъявить некоторый образ, <похожий> на требуемый. По такому же принципу работает и человеческая память: мы можем вспомнить объект, по его частичному или зашумлённому изображению. Противоположностью ассоциативной памяти является память адресная, где для получения некоторого хранящегося объекта нужно предъявить его уникальный номер - так работает память во всех современных компьютерах.
Отметим интересную особенность сети Хопфилда - ложная память. Действуя согласно правилу Хебба мы получим минимумы энергии в интересующих нас векторах, однако, так же мы получим минимумы и в некоторых точках, которым мы специально не обучали. Это сравнимо с эффектом <де жа вю> - нам кажется, что мы видели новый объект ранее.
Так же существуют различные модификации модели Хопфилда. Например, модель Коско с двунаправленной ассоциативной памятью [1] или модель с вероятностной нейродинамикой - машина Больцмана [2].
В машине Больцмана переход из одного состояния в другое осуществляется по следующему принципу:
с
вероятностью
,
с
вероятностью 1-
.

Где
-энергия начального состояния
- энергия конечного, а Т - параметр.
Обычно Т называют температурой. При
- динамика сети близка к модели Хопфилда,
при
-
абсолютно хаотична. Чем выше температура - тем больше вероятность перехода на
уровень с большей энергией. На практике используется метод имитации отжига [2]: сеть
начинает работу с относительно высокой температурой, но в процессе работы
температура падает до нуля. Таким образом система тяготеет к более устойчивым
минимумам, понижая, таким образом, количество релаксации к ложным (побочным)
образам.
Нейросеть Хопфилда представляет большой научный интерес, однако, на практике применяется не часто; основная причина - работа только с бинарными векторами. Существуют, однако, и различные оригинальные математические решения, для преодоления этого ограничения для конкретных задач [9].
Сеть Хопфилда применяется в следующих областях:
· Минимизация функционалов.
· Задачи поиска (З.К.В).
· Физика.
· Цветовая сегментация [9].
· Распознавание образов.
Выше мы рассматривали сети решающие задачи классификации при наличие некоторых априорных данных - обучающей выборки. В этом разделе мы рассмотрим нейросеть работающую на основе самоорганизации - сеть Кохенена (Kohenen Network, Self-Organizing Map, SOM) [2].
Сформулируем задачу многомерной
кластеризации: пусть имеется некоторая многомерная выборка данных
, т.е. множество векторов некоторой
фиксированной размерности, нам требуется построит инъективное отображение из множества входных данных в
множество кластеров
, где количество кластеров k обычно известно заранее, но ничего более
о них не известно. Иными словами, требуется по некоторому признаку соотнести
каждый вектор
из
входной выборки с каким-то кластером
, тем самым разбив входное множество на k кластеров. Обычно вектора делят на
кластеры по признаку близости к друг другу в смысле Евклида.

Рис6. Пример кластеризации.
На картинке приведён пример кластеризации двумерных векторов с числом кластеров k=2. Как видно, к одному кластеру мы отнесли те вектора, расстояние между которыми было невелико.
Итак начнём рассмотрение нейросети, решающую задачу кластеризации.
Модель нейрона чем-то напоминает нейрон сетей с базисом радиального вида, только с тождественной (линейной) функцией преобразования вместо Гауссиана.

Рис7. Модель нейрона в Кохененской сети.
Результатом
работы нейрона является евклидово расстояние между входным вектором
и вектором весов
.
Рассмотрим структуру связей сети Кохенена. Все нейроны сети находятся в одном слое и
упорядочены в двумерную матрицу
. Входной вектор поступает на входы каждому из нейронов, в следствие
чего каждый нейрон производит определённый выход равный расстоянию входа до его
вектора весов. Далее согласно WTA выбирается нейрон победитель.
Обучение в сети Кохенена происходит без учителя на основе самоорганизации.
Пускай у нас имеется набор векторов
, для которого мы хотим провести кластеризацию. Проинициализируем веса
нейронов небольшими случайными числами. Далее будем последовательно предъявлять
сети вектора. Пускай на текущем шаге предъявив вектор сети мы получили нейрон
победитель имеющий в матрице координату (i,j). Подстроим веса нейронов следующим образом
, где
- входной вектор,
- темп обучения, обычно убывающий со временем,
- размер окрестности который
выбирается заранее. Таким образом мы оптимизируем веса нейронов из
окрестности нейрона
победителя. Таким образом веса нейрона
победителя и его соседей приближаются к входному вектору.
Проведя один или более сеансов обучения мы получим следующую картину - нейроны разделятся на группы отвечающие высоким выходом на определённые группы векторов из входного набора. Далее выбрав группы нейронов и приписав им определённый кластер будем относить вектор к тому кластеру, к которому относится нейрон победитель, если подать вектор на вход сети. Фактически мы спроецировали многомерное пространство входных векторов в двумерную матрицу.

Рис7. Пример раскраски карты Кохенена.
На картинке показана карта нейронов в случае, когда мы хотим разбить входные векторы на 2 класса. Число кластеров может меняться от 2 до количества нейронов в сети.
Возможен и вариант обучения с учителем - так называемый алгоритм квантования обучающих векторов. Обучение по этому методу проходит следующим образом:
·
Пускай нам заранее известно
количество кластеров, притом существует обучающая выборка из множества
, притом для каждого
нам уже известен кластер
.
· Вначале проведём несколько этапов обучения на основе самоорганизации, запоминая для каждого нейрона количество отнесенных к нему векторов того или иного класса.
· Разметим матрицу нейронов следующим образом - будем относить нейрон к тому кластеру, для которого максимально количество отнесённых к данному нейрону векторов.
·
Далее будем проводить
обучение со следующими изменениями - если нейрон победитель принадлежит тому же
кластеру, что и обучающий вектор, то
подстроим его веса и веса его соседей по прежней формуле:
, в ином случае по формуле:
.
Таким образом в случая правильной кластеризации веса нейрона и его соседей приблизятся к входному вектору, а в случае ошибки - удалятся.
К достоинствам сети можно отнести устойчивость, простоту, возможность анализа структуры кластеров. Недостатками являются: невысокая способность к обобщению, долгое время обучения.
Нейросеть Кохенена применяется в следующих задачах:
· Цветовая сегментация.
· Анализ звука.
· Анализ многомерных данных.
Как видно все описанные нейросети имеют свои недостатки и преимущества. Одним из способов преодоления недостатков какой-то конкретной архитектуры - гибридизация сетей. Имеется ввиду совмещение нескольких нейросетевых архитектур в одну, с целью повышения тех или иных качеств. Так же часто встречается гибридизация с не нейросетевыми моделями, то есть с другими методами распознавания образов. Известны гибриды нейросетей и скрытых Марковских моделей [10], систем нечёткой логикой [11], и т.д. Главным принципом при построение гибридной архитектуры, является использование той или иной модели в том, где она сильна и обход мест где она не срабатывает.
Несмотря на видимый спад интереса к нейронауке, она продолжает жить и развиваться. В последнее время было сделано много продвижений в области интеграции нейронных сетей и систем с нечёткой логикой, построение гибридных сетей и т.д. За время своего существования нейросети пережили, как периоды небывалой популярности, так и моменты почти полного забвения. Следует понимать, что нейросети ни в коем случае не являются этаким универсальным методом - они всего хороший и крайне удобный инструмент, со своими недостатками и преимуществами.
[1] А.Вежневец. Популярные нейросетевые архитектуры. http://cgm.graphicon.ru/issue5/Paper_vap/index.html
[2] С. Терехов. Лекции по теории и приложениям нейронных сетей. (http://alife.narod.ru/lectures/neural/Neu_index.htm)
[3] J. L. Elman. Finding Structure in Time. Cognitive Science, 14, 179-211 (1990).
[4] H. Ninomiya, A Sasaki. A Study on Generalization Ability of 3-Layer Recurrent. Neural Networks. IJCNN '02.
[5] T. Koskela, M. Lehtokangas, J. Saarinen, K. Kaski. Time Series Prediction with Multilayer Perceptron, FIR and Elman Neural Networks. http://citeseer.ist.psu.edu/koskela96time.html
[6] Е. Лисицин Radial Based Functions. Graphics and Media Journal. http://cgm.graphicon.ru/issue2/radial_based/
[7] J. Chao, M. Hoshino, T. Kitamura, T. Masuda. A multilayer RBF network and its supervised learning.
[8] M. Y. Mashor. Hybrid Training Algorithm for RBF Network. ICJIM'98 http://www.journal.au.edu/ijcim/may00/mashor_5.pdf
[9] A.G. Bors, I. Pitas. Optical Flow Estimation and Moving Object Segmentation Based on Median Radial Basis Function Network. http://citeseer.ist.psu.edu/312887.html
[10] Da-chuan Cheng, Qin Pu, Kuo-sheng Cheng, Hans Burkhardt. Possibilistic Hopfield Neural Network on CT Brain Hemorrhage Image Segmentation. http://citeseer.ist.psu.edu/504323.html
[11] H. C. C. Tan and L. C. De Silva. Human Activity Recognition by Head Movement using Elman Network and Neuro-Markovian Hybrids. ICVNZ'03 http://sprg.massey.ac.nz/ivcnz/Proceedings/IVCNZ_58.pdf
[12] Ling Li, Zhidong Deng, and Bo Zhang. A Fuzzy Elman Neural Network. http://citeseer.ist.psu.edu/479449.html
Комментарии
Отправить комментарий