Персептрон

В машинном обучении разделяют два основных подхода: обучение с учителем и обучение без учителя. Описанные ранее методы выделения главных компонент – это обучение без учителя. Нейронная сеть не получает никаких пояснений к тому, что подается ей на вход. Она просто выделяет те статистические закономерности, что присутствуют во входном потоке данных. В отличие от этого обучение с учителем предполагает, что для части входных образов, называемых обучающей выборкой, нам известно, какой выходной результат мы хотим получить. Соответственно, задача – так настроить нейронную сеть, чтобы уловить закономерности, которые связывают входные и выходные данные.

В 1958 году Фрэнк Розенблатт описал конструкцию, названную им персептроном (Rosenblatt, 1958), которая способна к обучению с учителем.

Персептрон, настроенный на определение цвета

По Розенблатту персептрон состоит из трех слоев нейронов. Первый слой – это сенсорные элементы, которые задают, что же мы имеем на входе. Второй слой – ассоциативные элементы. Их связи с сенсорным слоем жестко заданы и определяют переход к более общей, чем на сенсорном слое, ассоциативной картине описания.

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

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

Если \(Y\) – это вектор реального выхода персептрона а, \(D\) – вектор, который мы ожидаем получить, то о качестве работы нейронной сети говорит вектор ошибки:

\[E=D-Y\]

Если задаться целью, минимизировать среднеквадратическую ошибку, то можно вывести так называемое дельта-правило модификации весов:

\[\omega _{ij}(n+1)=\omega _{ij}(n)+\eta x_{j}(n)e_{i}(n)\]

При этом начальным приближением могут выступать нулевые веса.

Это правило является не чем иным, как правилом Хебба, примененным к случаю персептрона.

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

Многослойный персептрон с двумя скрытыми слоями (Хайкин, 2006)

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

Долгое время было непонятно, как можно обучать многослойный персептрон. Основной метод – метод обратного распространения ошибки был описан только в 1974 г. А.И. Галушкиным и независимо и одновременно Полом Дж. Вербосом. Затем он был переоткрыт и получил широкую известность в 1986 г. (David E. Rumelhart, Geoffrey E. Hinton, Ronald J. Williams, 1986).

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

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