logo search
Записка

1.1.1. Многослойный персептрон.

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

Однако основной проблемой, традиционно ограничивающей возможные сетевые топологии простейшими структурами, является проблема обучения. На этапе обучения сети предъявляются некоторые входные образы, называемые обучающей выборкой, и исследуются получаемые выходные реакции. Цель обучения состоит в приведении наблюдаемых реакций на заданной обучающей выборке к требуемым (адекватным) реакциям путем изменения состояний синоптических связей. Сеть считается обученной, если все реакции на заданном наборе стимулов являются адекватными. Данная классическая схема обучения с учителем требует явного знания ошибок при функционировании каждого нейрона, что, разумеется, затруднено для иерархических систем, где непосредственно контролируются только входы и выходы. Кроме того, необходимая избыточность в иерархических сетях приводит к тому, что состояние обучения может быть реализовано многими способами, что делает само понятие “ошибка, делаемая данным нейроном” весьма неопределенным.

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

Рассмотрим иерархическую сетевую структуру, в которой связанные между собой нейроны (узлы сети) объединены в несколько слоев (Рис. 1). На возможность построения таких архитектур указал еще Ф. Розенблатт, однако им не была решена проблема обучения. Межнейронные синоптические связи сети устроены таким образом, что каждый нейрон на данном уровне иерархии принимает и обрабатывает сигналы от каждого нейрона более низкого уровня. Таким образом, в данной сети имеется выделенное направление распространения нейроимпульсов - от входного слоя через один (или несколько) скрытых слоев к выходному слою нейронов. Нейросеть такой топологии мы будем называть обобщенным многослойным персептроном или, если это не будет вызывать недоразумений, просто персептроном.

Рис.1. Структура многослойного персептрона с пятью входами, тремя нейронами в скрытом слое, и одним нейроном выходного слоя.

Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных нейронов Мак Каллока и Питтса. На низшем уровне иерархии находится входной слой, состоящий из сенсорных элементов, задачей которого является только прием и распространение по сети входной информации. Далее имеются один или, реже, несколько скрытых слоев. Каждый нейрон на скрытом слое имеет несколько входов, соединенных с выходами нейронов предыдущего слоя или непосредственно со входными сенсорами X1..Xn, и один выход. Нейрон характеризуется уникальным вектором весовых коэффициентов w. Веса всех нейронов слоя формируют матрицу, которую мы будем обозначать V или W. Функция нейрона состоит в вычислении взвешенной суммы его входов с дальнейшим нелинейным преобразованием ее в выходной сигнал:

Выходы нейронов последнего, выходного, слоя описывают результат классификации Y=Y(X). Особенности работы персептрона состоят в следующем. Каждый нейрон суммирует поступающие к нему сигналы от нейронов предыдущего уровня иерархии с весами, определяемыми состояниями синапсов, и формирует ответный сигнал (переходит в возбужденное состояние), если полученная сумма выше порогового значения. Персептрон переводит входной образ, определяющий степени возбуждения нейронов самого нижнего уровня иерархии, в выходной образ, определяемый нейронами самого верхнего уровня. Число последних, обычно, сравнительно невелико. Состояние возбуждения нейрона на верхнем уровне говорит о принадлежности входного образа к той или иной категории.

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