Смекни!
smekni.com

Нейронные сети (стр. 3 из 3)

(14)

Заметим, что в этой формуле 1-е два сомножителя есть не что иное, как

. Таким образом, с помощью (14) можно выражать величины
для нейронов n-го слоя через
для нейронов (n+1) - го. Поскольку для последнего слоя
легко вычисляется по (13), то можно с помощью рекурсивной формулы

(15)

получить значения

для вех нейронов всех слоев.

Окончательно формулу (7) для модификации весовых коэффициентов можно записать в виде

. (16)

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

Присваиваем всем весовым коэффициентам сети случайные начальные значения. При этом сеть будет осуществлять какое-то случайное преобразование входных сигналов и значения целевой функции (6) будут велики.

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

Рассчитать по формуле (13)

. Затем с помощью рекурсивной формулы (15) подсчитываются все остальные
и, наконец, с помощью (16) изменение весовых коэффициентов сети.

Скорректировать веса сети:

.

Рассчитать целевую функцию (6). Если она достаточно мала, считаем сеть успешно обучившейся. Иначе возвращаемся на шаг 2.

Перечислим некоторые проблемы, возникающие при применении этого метода.

Локальные минимумы

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

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

Паралич сети

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

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

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

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