Системное автоматизированное проектирование

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

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

Рассмотрим случай, когда М=1.

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

A ( y= +1 ) и B ( y= -1 ). Модификация весов связей (j= 1 ) производится после каждого вычисления

выхода нейрона в соответствии с выражением ( 6 ) при подаче на вход сети очередного вектора обучающей выборки:

 

 

где 0 < n <= 1, y (t) - состояние выхода нейрона при входном векторе x(t), для которого желаемым вектором является d(t). Если выход совпадает с желаемым вектором, связи не изменяются.

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

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

сложные модели - многослойные персептроны ( см. рис. ). В этих моделях вводятся "скрытые" слои нейронов, элементы которых не связаны непосредственно с входами и выходами системы.

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

(отвечающие тому или иному классу).

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

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

 

АЛГОРИТМЫ ОБУЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ

 

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

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

определяется архитектурой сети.

 

ОБУЧЕНИЕ С СУПЕРВИЗОРОМ

 

В этом случае формируется обучающая выборка - совокупность входных векторов { , s=1,...,N }, каждому из которых поставлен в соответствие определенный выходной вектор из множества

{ , p,...M }. Размерности входного N и выходного M векторов могут не совпадать. Процедура обучения производится при заданной топологии связей между нейронами. При этом необходимо подобрать

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

Сеть, удовлетворяющая этому требованию, является обученной.

Одним из первых алгоритмов, предложенных для обучения персептронов еще в 60-х годах, был алгоритм Уидроу-Хоффа.

Рассмотрим его. Алгоритм предполагает выполнение последовательности шагов. Каждый шаг в свою очередь состоит из двух этапов.

 

ЭТАП 1. На вход сети подается один из векторов обучающей выборки. На выходе сети задается желаемый выходной вектор. Веса всех связей, соединяющих активные входные и выходные нейроны, увеличиваются на малую величину del.

ЭТАП 2. На вход сети подается тот же вектор из обучающей выборки. Нейронной сети предоставляется возможность в соответствии с имеющимися весами связей самой установить на выходе определенный вектор. Если нет соответствия между входным и выходным векторами, то веса связей, соединяющих активные входные и выходные нейроны, уменьшаются на ту же величину del.

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

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

имеющих два слоя и если выполняются ограничения на характеристики выход-вход нейрона.

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

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

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

решение задачи обучения.

Имеется достаточное количество эвристических методов, среди них наибольшее распространение получил метод "обратного распространения ошибки" ( back- propagation error, BPE ).

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