Такие сети называются также сетями прямого распространения,
или многослойными персептронами. В дальнейшем (там, где это не может
привести к неодноз начности) будем называть такие сети многослойными.
Сети этого типа состоят из нескольких слоев нейронов: входного слоя,
выходного и нескольких «скрытых слоев». На рис. 13.3 изображена сеть, у которой
К слоев. Нейроны каждого слоя не связаны между собой. Выходной
сигнал с каждого ней рона поступает на входы всех нейронов следующего слоя.
Нейроны входного слоя не осуществляют преобразования входных сигналов, их
функция заключается в распределении этих сигналов между нейронами первого
скрытого слоя.
Функционирование многослойной сети осуществляется
следующим образом: входной сигнал, подаваемый на сеть, поступает на нейроны
входного слоя, прохо дит по очереди через все слои и снимается с выходов
нейронов выходного слоя. По мере распространения сигнала по сети он претерпевает
ряд преобразований, которые зависят от его начального значения, от преобразующих
функций и величин весов связей.
Пусть сеть состоит из К
слоев: одного входного, одного выходного и ( K >-2) скрытых слоев, — каждый слой
состоит из n ( k ) нейронов. Набор выходных
сигналов нейронов k - ro слоя ( k = 1:
K ) обозначим . Далее обозначим wk набор весов синаптических
связей, соединяющих нейроны k - 1-го слоя с нейронами k
-го слоя; — вес связи, соединяющий i - й нейрон k -1-го слоя c j
-м нейроном k -го слоя Т огда прямое функционирование сети описывается
следующи ми соотношениями:
y
1 = x
— выход нейронной сети.
Рис 13.3. Схема многослойной
однонаправленной сети
В основе методов обучения многослойных нейросетей наиболее часто лежит так
называемое дельта-правило. Дельта-правило используется при обучении с учите
лем и реализуется следующим образом:
где h — параметр (шаг
обучения);
d — эталонное (требуемое) значение выхода
элемента.
Таким образом, изменение силы связей происходит в соответствии с
ошибкой выходного сигнала 5 = ( d — у) и уровнем
активности входного элемента х.. Обобщение дельта-правила , называемое
обратным распространением ошибки ( Back — propagation ), применимо к сетям с
любым числом слоев.
Обучение сети в этом случае состоит из следующих шагов:
1. Выбрать очередную обучающую пару ( х , d ). Подать входной вектор
на вход сети.
2. Вычислить выход сети у.
3. Вычислить
разность между выходом сети и требуемым выходом (ошибку).
4.
Подкорректировать веса сети так, чтобы минимизировать ошибку.
5.
Повторять шаги с 1-го по 4-й для каждой обучающей пары, пока ошибка
не
достигнет приемлемого уровня.
Ошибка функционирования сети обычно
определяется как
г де у j
= — выход сети.
Для уменьшения этой ошибки следует изменить веса сети по правилу
Эта формула описывает процесс градиентного
спуска в пространстве весов. Очевидно, для выходного слоя
Т ак как
то для промежуточных
(скрытых)
слоев (то есть для
Если в качестве нелинейной преобразующей функции используется
сигмоидная функция, то удобно использовать рекуррентные формулы:
Рис. 13.4. Полносвязная сеть Хопфилда
Поскольку сигнал с выхода каждого
нейрона подается на входы всех остальных, >входной вектор начинает
циркулировать, преобразуясь по сети до тех пор, пока сеть не придет в устойчивое
состояние (то есть когда все нейроны на каждом пос ледующем цикле будут
вырабатывать тот же сигнал, что и на предыдущем). Оче видно, возможны
случаи бесконечной циркуляции входного вектора без достиже ния устойчивого
состояния.
Выберем функцию элементов в виде:
13.6.3. Двунаправленная ассоциативная память
Основной причиной неудач исследователей в области искусственного
интеллек та, потративших свыше 20 лет на безуспешные попытки моделирования
интеллектуальной деятельности на базе обычных цифровых ЭВМ, является,
по-види мому, тот факт, что в современных ЭВМ существует прямая зависимость
времени поиска от количества хранимых образцов. Компьютер запоминает отдельные
объекты в отдельных ячейках, как бы заучивает сведения наизусть, и при
изуче нии наук примеры для него, в отличие от человека, отнюдь не полезнее
правил. НейроЭВМ , построенная на базе нейросетей , обладает ассоциативной
памятью и классифицирует поступившие образы со скоростью, которая не зависит от
коли чества уже поступивших образцов, — она немедленно связывает новый
образ с ближайшим имеющимся.
Память человека является ассоциативной — один
предмет напоминает нам о дру гом, а тот, в свою очередь о третьем и т. д. Наши
мысли как бы перемещаются от предмета к предмету по цепочке умственных
ассоциаций. Способность к ассоциа циям может быть использована для
восстановления забытых образов («мы с вами где-то встречались»).
Двунаправленная ассоциативная память является гетероассоциативной ; входной
вектор поступает на один набор нейронов, а соответствующий выходной вектор
вырабатывается на другом наборе нейронов. Как и сеть Хопфилда , двунаправлен ная
ассоциативная память способна к обобщению, вырабатывая правильные ре акции,
несмотря на возможные искажение входа.
Очевидно, состояние нейронов можно
рассматривать, как кратковременную память, так как она может быстро изменяться
при появлении другого входного вектора. В то же время значения коэффициентов
весовой матрицы образуют долговременную память (ассоциации) и могут изменяться
на более длительном отрезке време ни, используя соответствующий метод
обучения. Обучение производится с ис пользованием обучающего набора из пар
векторов х и у. Предположим, что все запомненные образцы представляют собой
двоичные векторы.
Решение задачи с помощью двунаправленной ассоциативной
памяти можно разбить на два этапа: режим обучения и непосредственно решение
(распознавание). Рассмотрим оба эти этапа на примере.
Каждый нейрон а.
в первом слое А имеет синапсы, соединяющие его с нейронами
Ь. во втором слое В. Пусть нейроны имеют следующий «смысл»: а, —
валюта, я2 — дол лары, а3 — марки, а4 —
рубли, bt — США, b 2
— Россия, b 3 —Канада, b
4 — Германия.
Режим обучения бинарными образами
Подадим на нейросеть три
бинарных связи ( x 1, y 1 ), ( x 2, y 2 ), ( x 3, y 3 ).
Пусть
x 1 = (1,1,0,0) → y 1 = (1,1,1,0);
x 2 = (1,0,1,0) →
у2 = (0,1,0,1);
x
3 = (1,0,0,1) → y 3 = (0,1,0,0);
Смысл
обучающих связей очевиден: если возбуждены нейроны a 1 и а 2
(в нашем распоряжении есть доллары), то по соответствующим синапсам
возбудятся ней роны b 1
, b 2 , b 3 (мы можем ими воспользоваться в США,
России и Канаде), и т. д. От бинарных связей перейдем к биполярным (это сделано
исключительно для про стоты, чтобы не нужно было вводить ненулевой порог
срабатывания нейронов):
x 1
= (1,1-1,-1) → y 1 =
( 1 ,1 -1,-1 );
x 2
= ( 1,-11,-1 → у2 = ( 1,-11,-1
x 3 = ( 1,-1-1,1 →
y 3 = ( 1,-1-1,1 ;
Составим матрицу весов:
Режим распознавания Оценим эффективность запоминания обучающих
связей. Убедимся, что матрица W хранит связи ( x 1, y 1 ), ( x 2, y 2 ), ( x 3, y 3 ). Подадим на вход x 1 тогда x 1 = (2, 2, 2, -2) — это
означает, что в слое В возбудятся первые три нейрона (порог
срабатывания принят равным нулю). Тогда в бинарной форме у = (1, 1, 1,0),
что является требу емой ассоциацией. Это означает, что подача на вход x 1 , приводит к y 1, то есть ЭВМ
действительно «запомнила» связь ( x
1, y 1 ).
Аналогично проверяется запоминание остальных связей.
Сеть является
двунаправленной: y 1 W
T = (1, 5, -3, -3) → (1, 1, 0, 0) → x 1 , и т. д. Определим
энергию связей в памяти:
Если валюта может быть любой, например, доллары и марки, то она может исполь
зоваться везде:
x '-(1, 1, 1,0) → x 'М = (1, 1,1,1) → у’.
Проведенное исследование показывает, что построенная нейросеть способна за
помнить необходимую информацию на этапе обучения, а в рабочем режиме по зволяет
решать задачи распознавания, то есть реализует функции ассоциативной памяти. Вся
полученная при обучении информация сосредоточена в матрице W . За
счет параллельной структуры сеть решает задачу «мгновенно» — за одно дей
ствие — умножение входного вектора на матрицу памяти. Так как информация как бы
интегрирована в матрицу W , сеть способна достаточно эффективно
решать задачу и при частичных искажениях в исходных данных.
13.6.4. Самоорганизующиеся сети Кохонена
Характерной особенностью мозга является то, что его структура,
по-видимому ,, отражает организацию внешних раздражителей, которые в него
поступают. На пример, известно соответствие относительного положения
рецепторов на поверх ности кожи и нейронов в мозге, которые воспринимают и
обрабатывают сигналы от этих рецепторов, а участки кожи, которые плотно
«населены» рецепторами (лицо, руки), ассоциированы с пропорционально большим
числом нейронов. Это соответствие образует то, что называется соматотропической
( somatotropic ) кар той, которая отражает поверхность кожи в часть мозга —
соматосенсорную кору которая и воспринимает ощущение касания.
Системы, построенные на базе, например, многослойных сетей с обратным
распределением ошибок имеют очевидный недостаток, заключающийся в том, что мы
(как учитель) должны заранее заготовить входы и запастись соответствующи ми
правильными ответами для обучения сети. Принципы функционирования природной
соматотропической карты легли в основу создания самоорганизую щихся сетей
(карт, решеток) Кохонена , для которых не требуется предваритель ное
обучение на примерах. Сеть Кохонена воспринимает только вход и способна
вырабатывать свое собственное восприятие внешних стимулов.
Самоорганизующиеся сети Кохонена — это карты или многомерные решетки, d
каждым узлом которой ассоциирован входной весовой вектор, то есть набор из k
входных весов нейрона трактуется как вектор в ^- мерном пространстве.
(На рис. 13.5 представлена сеть при k = 2.) Входной весовой
вектор имеет ту же размерность, что и вход в сеть. Обучение происходит в
результате конкуренции, возникающей между узлами сети за право отклика на
полученный входной сигнал. Элемент сети, который выигрывает в этой конкуренции
(победитель), и его ближайшее окружение (свита) модифицируют веса своих входных
связей. Перед обучением каждая компонента входного весового вектора
инициализирую ется случайным образом. Обычно каждый вектор нормализуется в
вектор с единичной длиной в пространстве весов. Это делается делением
соответствующего веса на корень из суммы квадратов компонент этого весового
вектора. Входные вектора нормализуются аналогично. Обучение сети состоит из
следующих этапов:
1. Вектор х = (х 1 ,
х2,..., xk ) подается на вход сети.
2. Определяется расстояние dij (в k -мерном пространстве) между х и
весовыми векторами ij
каждого нейрона, например: dtj =
Рис. 13.5. Самоорганизующаяся карта Кохонена
3. Нейрон, который
имеет весовой вектор, самый близкий к х , объявляется
«победителем». Этот весовой вектор становится основным в группе входных весовых
векторов, которые лежат в пределах расстояния D от . Таким образом определяется "свита"
победителя.
4. Группа
входных весовых векторов модифицируется (поощряется) в соответ ствии со
следующим выражением для всех
весо вых векторов в пределах расстояния D от .
5.
Шаги 1 — 4 повторяются
для каждого входного вектора.
В процессе обучения значения D и
постепенно уменьшаются: η : 1 → 0, D в начале обучения
может равняться максимальному расстоянию между весовыми векторами, а к концу
обучения доходить до величины, при которой будет обучаться толь ко один
нейрон.
Из формулы адаптации входного весового вектора следует, что он (для
победите ля и его «свиты») сдвигается по направлению к входному вектору. Таким
обра зом, по мере поступления новых входных векторов весовые векторы сети
разде ляются на группы, формирующиеся в виде облаков (сгустков, кластеров)
вокруг входных векторов. По мере обучения плотность весовых векторов будет выше
в тех позициях пространства, где входные векторы появляются чаще, и наоборот. В
результате сеть Кохонена адаптирует себя так, что плотность весовых векторов
будет соответствовать плотности входных векторов. Так, если, например, на вход
сети подать поток равномерно распределенных случайных величин, то сетевые веса
будут самоприводиться в порядок в регулярную решетку. На рис. 13.6 приведен
пример самообучения двухмерной сети Кохонена .
ПРИМЕЧАНИЕ
В общем случае h = h (
r , t ), где г — расстояние между
нейронами, f — параметр, характеризую щий время обучения. Эта функция
традиционно имеет вид «мексиканской шляпы» (зависи мость силы связи от
расстояния до победителя), которая по мере увеличения параметра f делается более
узкой.
Обучающий алгоритм настраивает входные весовые векторы в окрестности
воз бужденного нейрона таким образом, чтобы они были более «похожими» на
вход ной вектор. Если все векторы нормализованы в векторы с единичной
длиной, то они могут рассматриваться как точки на поверхности единичной
гиперсферы . В процессе обучения группа соседних весовых точек перемещается
ближе к точке входного вектора.
Очевидно, так как S = то победитель может быть
найден так:
( i * , j * ) = arg max (
Sij ) — наиболее активный нейрон.
Самоорганизующиеся сети, как
уже отмечалось, не требуют предварительного обучения на примерах (учитель не
нужен) и используются в задачах распознава ния — классификации образов,
представленных векторными величинами, в которых каждая компонента вектора
соответствует элементу образа. После обучения подача входного вектора из данного
класса будет приводить к возбуждению нейронов; тогда нейрон с максимальным
возбуждением и будет представлять класси фикацию. Очевидно, в общем случае
можно формировать выход, зависящий как от активности победителя, так и от его
свиты. Так как обучение проводится без указания целевого вектора, то априори
невозможно определить, какой нейрон будет соответствовать данному классу входных
векторов. Однако после обучения такие соответствия легко идентифицируются и
могут быть использованы, напри мер, в задачах управления.