Принципы обучения многослойных нейронных сетей с использованием алгоритма обратного распространения

машинное обучение искусственный интеллект алгоритм Нейронные сети
Принципы обучения многослойных нейронных сетей с использованием алгоритма обратного распространения

Написано впереди: я написал статью раньшеНейронные сети для базовых алгоритмов машинного обученияОн включает в себя важный алгоритм. Сегодня я видел графическое объяснение этого алгоритма, поэтому я планирую перевести его в качестве справочного материала для дальнейшего обучения. Это перевод алгоритма обратного распространения, переведенный сPrinciples of training multi-layer neural network using backpropagation. Он представляет весь процесс прямого и обратного распространения в нейронных сетях с помощью простых для понимания диаграмм. Если вы хотите вникнуть в принципы и сделать математические выводы, вам все равно нужно обратиться к другим материалам.Эта статья не предполагает рассуждений-доказательств. Картинка из оригинального текста, если есть какие-то нарушения, я сам удалю.

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

Каждый нейрон состоит из двух единиц. Первая единица представляет собой сумму произведений весового коэффициента и входной модели. Второй блок предназначен для реализации нелинейной функции, которая называется активацией нейронов. Сигналeвыходной сигнал сумматора,y=f(e)– выходной сигнал нелинейного элемента. СигналyЭто также выходной сигнал нейрона.

Для обучения нейронной сети нам нужен обучающий набор данных. Набор обучающих данных состоит из входного сигнала (x_1 , x_2) и соответствующую правильную цель (желаемый результат)zсостоит из. Обучение сети — это итеративный процесс. На каждой итерации весовые коэффициенты узлов изменяются новыми данными из обучающего набора данных. Модификации вычисляются по алгоритму, описанному ниже: каждый шаг обучения начинается с принудительного использования данных из обучающего набора в качестве входных данных. После этого шага мы можем определить значение выходного сигнала каждого нейрона в каждом слое сети. На рисунке ниже показано, как сигнал распространяется по сети, сигналw_{(xm)n}Представляет ввод в сетиx_mи нейроны во входном слоеnВес связи между ними. Сигналy_nрепрезентативный нейронnвыходной сигнал.

Сигнал распространяется через скрытый слой. Сигналw_{mn}представляет выходной нейронmи входные нейроны следующего слояnсоединения весов между.

Процесс распространения сигнала через выходной слой.

На следующем шаге алгоритма выходной сигнал сетиyСравните с ожидаемым выходным значением (целью) в обучающем наборе данных. Разница между ними называется сигналом ошибки нейронов выходного слоя.d.

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

Коэффициент весаw_{mn}Используется для распространения ошибок аналогично тому, как он вычисляет выходные значения. Меняется только направление этого потока данных (сигналы распространяются с выхода на вход один за другим). Этот метод применяется ко всем слоям сети, если ошибка распространения исходит от нескольких добавляемых ими нейронов. См. следующий пример:

При вычислении сигнала ошибки каждого нейрона весовой коэффициент каждого нейрона может быть изменен. В следующей формуле\frac{df(e)}{de}Представляет производную функции активации нейрона (веса изменены).

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

Ссылаться на: использованная литература Рышард Тадеушевич "Sieci neuronowe", Краков, 1992 г.

Примечание переводчика: в нем есть параметр errordи коэффициент обученияhдолжны соответствовать изображенным на рисунке\deltaи\eta. Может быть автору неудобно писать и пользоватьсяdиhСделайте компромисс.