Нейронные сети, обучаемые на основе алгоритма обратного распространения ошибки | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 11 мая, печатный экземпляр отправим 15 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №42 (437) октябрь 2022 г.

Дата публикации: 21.10.2022

Статья просмотрена: 472 раза

Библиографическое описание:

Абраров, Р. Д. Нейронные сети, обучаемые на основе алгоритма обратного распространения ошибки / Р. Д. Абраров. — Текст : непосредственный // Молодой ученый. — 2022. — № 42 (437). — С. 1-6. — URL: https://moluch.ru/archive/437/95596/ (дата обращения: 03.05.2024).



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

Ключевые слова: глубокие нейронные сети, нейронные сети, метод обратного распространения ошибки.

Введение. Глубокие нейронные сети содержат множество нелинейных скрытых слоев, что делает их очень эффективными моделями, которые могут выявить очень сложные взаимосвязи между их входами и выходами. Однако, при ограниченных обучающих данных многие из этих сложных взаимосвязей будут результатом шума выборки, поэтому они будут существовать в обучающем наборе, но не в реальных тестовых данных, даже если они взяты из того же распределения. Это приводит к переоснащению, а для его уменьшения было разработано множество методов. Они включают в себя прекращение тренировки, как только производительность на проверочном наборе начинает ухудшаться, введение различных штрафов за вес, таких как мягкое распределение веса по Новлану и Хинтону [1].

Алгоритм обратного распространения ошибки применяется для многослойного перцептрона [2]. У ИНС имеется входы , выходы и внутренние узлы. Перенумеруем все узлы (включая входы и выходы) числами от 1 до N. Обозначим через вес, стоящий на ребре, соединяющем ый и ый узлы, а через — выход

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

.(1)

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

(2)

где

— множитель, задающий скорость «движения».

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

(3)

Аналогично,

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

(4)

где соответствующая сигмоидальная функция, в данном случае — экспоненциальная

(5)

Если же й узел — не на последнем уровне, то у него есть выходы; обозначим их через

. В этом случае

,(6)

и (7)

Причём — это в точности аналогичная поправка, но вычисленная для узла следующего уровня (будем обозначать ее через — от она отличается отсутствием множителя Поскольку уже определено выше, как вычислять поправку для узлов последнего уровня и выражать поправку для узла более низкого уровня через поправки более высокого, можно сформулировать алгоритм. Именно из-за этой особенности вычисления поправок алгоритм называется алгоритмом обратного распространения ошибки (backpropagation). Краткое формулировка этапов, следующая:

— для узла последнего уровня

— для внутреннего узла сети

— для всех узлов

Получающийся алгоритм представлен ниже. На вход алгоритму, кроме указанных параметров, нужно также подавать в каком-нибудь формате структуру сети. На практике очень хорошие результаты показывают сети достаточно простой структуры, состоящие из двух уровней нейронов — скрытого уровня (hidden units) и нейронов-выходов (output units); каждый вход сети соединен со всеми скрытыми нейронами, а результат работы каждого скрытого нейрона подается на вход каждому из нейронов-выходов [3]. В таком случае достаточно подавать на вход количество нейронов скрытого уровня.

Алгоритм: BackPropagation

  1. Инициализировать маленькими случайными значениями,
  2. Повторить раз:

Для всех d от 1 до m:

a) Подать на вход сети и подсчитать выходы

каждого узла.

b) Для всех .

c) Для каждого уровня , начиная с предпоследнего:

Для каждого узла уровня вычислить

Для каждого ребра сети

(18)

  1. Выдать значения

Примеры и эксперименты. Чтобы продемонстрировать, как эта теория выглядит на практике, приведём расчёты, демонстрирующею обратного распространения ошибки в простой нейронной сети с тремя слоями: входными, скрытыми и выходными (рис. 1). Стоит отметить, что ИНС обучаются посредством уточнение весовых коэффициентов своих связей. Этот процесс управляется ошибкой — разностью между правильным ответом, и представляемыми тренировочными данными, и фактически выходными значениями ошибка на выходных узлах определяются простой разностью между желаемыми и фактическими выходными значениями.

: Стандартной ИНС

Рис 1: Стандартной ИНС

Таблица 1

Предварительное значение для параметров ИНС

1

1

-3

2

0,3

0,3

2

-1

3

-2

0,4

0,5

Приведенная выше картинка с тремя слоями нейронов, каждый из которых связан с каждым из нейронов в предыдущем и следующем слоях, выглядит следующим образом. Однако очевидно, что рассчитать распространение входных сигналов по всем слоям, пока они не превратятся в выходные сигналы, весьма непросто. Здесь покажем, как работает этот механизм, чтобы можно было представить, что происходит в ИНС в действительности, даже если впоследствии будет использован компьютер, для реализации алгоритма. Поэтому попытаемся проделать необходимые вычисления на примере меньшей нейронной сети, состоящей всего лишь из одного скрытого слоя, который включает в себя 3 нейрона, как показано выше.

Первоначально вычислим значение нейронов скрытого слоя:

Далее для каждого нейрона применяем функцию, которая получает входной сигнал, но генерирует выходной сигнал с учётом порогового значения. В данном случае применяем функцию активацию RelU.

Исходя из этого, вычислим взвешенное значение:

Так как на выходе ожидался результат

, вычисляем ошибку:

.

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

Далее эту ошибку умножим на веса активных нейронов:

Для вычисления дельта весов необходимо оценить скорость обучение нейронной сети (Neural network learning rate (LR)): для нашего примера возьмём

Ошибка ИНС является функцией весов внутренних связей. Улучшение нейронной сети означает уменьшение этой ошибки посредством изменение указанных весов. Далее производим обновление весов активных нейронов:

После обновление всех весов вычисляем заново все нейроны и выход.

Далее для каждого нейрона применяем функцию RelU:

Исходя из этого, вычисляем взвешенное значение:

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

Эту ошибку умножаем на веса активных нейронов:

Далее для вычисления дельта весов нам необходимо определить скорость обучение нейронной сети (Neural network learning rate ( ):

Далее производим обновление весов активных нейронов:

После второго обновления всех весов вычисляем заново все нейроны и выход:

Наконец вычисляем взвешенное значение:

Вывод. Итак, так как ещё не достигнут желаемый результат ( ), то должны быть повторены все вышеуказанные действие вновь и вновь, пока не будет получен результат. В результате, будут определены окончательные значения весов, так как ИНС уже будет обучена. После программного анализа данного примера удалось добиться результата после 51-й итерации.

Литература:

  1. Nowlan. S. J. and Hinton, G. E. Simplifying neural networks by soft weight sharing.Neural Computation, 4, 173–193.
  2. Горбань А. Н., Россиев Д. А., Нейронные сети на персональном компьютере. — Новосибирск: Наука, 1996. — 276 с.
  3. Хайкин С. Нейронные сети. Полный курс — М.: «Вильямс», 2006. — 1104 с.
Основные термины (генерируются автоматически): нейрон, нейронная сеть, обратное распространение ошибки, последний уровень, узел, вес, взвешенное значение, выход, го узла, ошибка.


Ключевые слова

нейронные сети, глубокие нейронные сети, метод обратного распространения ошибки

Похожие статьи

Некоторые аспекты теории нейронных систем | Статья в журнале...

Однослойная нейронная сеть представляет собой сеть из определенной группы нейронов.

На рисунке 2 представлена многослойная нейронная сеть эталонного вида, то есть со всеми

Выходной вектор проходит по сети, вычисляется выход сети и сравнивается со значением

То есть входной вектор из определенного класса даст определенный векторный выход.

нейронная сеть, сеть, обратное распространение ошибки...

где — реальное выходное состояние j-го нейрона выходного слоя НС при подаче на ее входы k-го образа; — требуемое выходное состояние этого нейрона. Суммирование ведется по всем нейронам выходного слоя и по всем обрабатываемым сетью образам.

Краткий обзор нейронных сетей, методов их активации и обучения.

Нейроны способны хранить и обрабатывать значения только в пределах [0;1] или [-1;1]

При инициализации нейронной сети веса расставляются в случайном порядке.

Метод обратного распространения ошибки — самая фундаментальная составляющая нейронной сети.

Свёрточные слои имеют ядра размером пикселей с шагом 1. Выход последней свёртки имеет...

Проблемы обучения нейронных сетей | Статья в журнале...

Ключевые слова: нейронные сети, обучение, подготовка начальных значений весовых коэффициентов

Поэтому выходные значения следует масштабировать в пределах от 0.0 до 1.0.

Советуется не задавать одинаковые веса. Таким образом бы в узлы пришли бы

нейронная сеть, обратное распространение ошибки, сеть, коэффициент корреляции...

Разработка математической модели нейронной сети

весовые коэффициенты, весовых коэффициентов, вектор весов. - вес, пороговый уровень. Взвешенная входных сигналов: где - вектор сигналов нейрона, вход с весом

модель, нейрон, математика, нейронные сети, основные модели нейронных сетей, нейрон.

Сети нейронов с связями.Нейроны в таких располагаются в узлах гексагональной решетки. нейрон...

Модель математической нейронной сети | Статья в журнале...

Ключевые слова: нейрон, синапс, нейронная сеть, функция активации, линейная функция

Нейронная сеть берет на вход два числа и должна на выходе дать другое число — ответ.

На самом деле, совокупность весов нейронной сети или матрица весов — это своеобразный мозг всей системы.

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

Исследование возможностей использования нейронных сетей

Наш мозг, как и любая биологическая нейронная сеть, состоит из совокупности нейронов.

Рис. 6. Функционирование нейронных сетей при повреждениях.

Она преобразует взвешенную сумму в число, которое является выходом нейрона (out).

Сети с обратными связями (Recurrent neural network) — искусственные нейронные сети, в которых выход...

Матричный метод расчетов динамических рекуррентных...

Ключевые слова: искусственная нейронная сеть, синаптические веса, ассоциативная память

В выражениях (1) и (2): — значения сигналов на входе n-го нейрона; - СВ каналов на входе

Ключевые слова: нейрон, синапс, нейронная сеть, функция активации, линейная функция

Она преобразует взвешенную сумму в число, которое является выходом нейрона (out).

Искусственные нейронные сети | Статья в журнале...

Каждый узел — это искусственный нейрон, или элементарный процессор.

Из топологий нейронных сетей выделяют сети прямого распространения (Feedforward)

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

Рис. 1 – Структура нейронной сети с одной обратной связью. Где – i–ое входное значение q–го набора чисел.

Похожие статьи

Некоторые аспекты теории нейронных систем | Статья в журнале...

Однослойная нейронная сеть представляет собой сеть из определенной группы нейронов.

На рисунке 2 представлена многослойная нейронная сеть эталонного вида, то есть со всеми

Выходной вектор проходит по сети, вычисляется выход сети и сравнивается со значением

То есть входной вектор из определенного класса даст определенный векторный выход.

нейронная сеть, сеть, обратное распространение ошибки...

где — реальное выходное состояние j-го нейрона выходного слоя НС при подаче на ее входы k-го образа; — требуемое выходное состояние этого нейрона. Суммирование ведется по всем нейронам выходного слоя и по всем обрабатываемым сетью образам.

Краткий обзор нейронных сетей, методов их активации и обучения.

Нейроны способны хранить и обрабатывать значения только в пределах [0;1] или [-1;1]

При инициализации нейронной сети веса расставляются в случайном порядке.

Метод обратного распространения ошибки — самая фундаментальная составляющая нейронной сети.

Свёрточные слои имеют ядра размером пикселей с шагом 1. Выход последней свёртки имеет...

Проблемы обучения нейронных сетей | Статья в журнале...

Ключевые слова: нейронные сети, обучение, подготовка начальных значений весовых коэффициентов

Поэтому выходные значения следует масштабировать в пределах от 0.0 до 1.0.

Советуется не задавать одинаковые веса. Таким образом бы в узлы пришли бы

нейронная сеть, обратное распространение ошибки, сеть, коэффициент корреляции...

Разработка математической модели нейронной сети

весовые коэффициенты, весовых коэффициентов, вектор весов. - вес, пороговый уровень. Взвешенная входных сигналов: где - вектор сигналов нейрона, вход с весом

модель, нейрон, математика, нейронные сети, основные модели нейронных сетей, нейрон.

Сети нейронов с связями.Нейроны в таких располагаются в узлах гексагональной решетки. нейрон...

Модель математической нейронной сети | Статья в журнале...

Ключевые слова: нейрон, синапс, нейронная сеть, функция активации, линейная функция

Нейронная сеть берет на вход два числа и должна на выходе дать другое число — ответ.

На самом деле, совокупность весов нейронной сети или матрица весов — это своеобразный мозг всей системы.

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

Исследование возможностей использования нейронных сетей

Наш мозг, как и любая биологическая нейронная сеть, состоит из совокупности нейронов.

Рис. 6. Функционирование нейронных сетей при повреждениях.

Она преобразует взвешенную сумму в число, которое является выходом нейрона (out).

Сети с обратными связями (Recurrent neural network) — искусственные нейронные сети, в которых выход...

Матричный метод расчетов динамических рекуррентных...

Ключевые слова: искусственная нейронная сеть, синаптические веса, ассоциативная память

В выражениях (1) и (2): — значения сигналов на входе n-го нейрона; - СВ каналов на входе

Ключевые слова: нейрон, синапс, нейронная сеть, функция активации, линейная функция

Она преобразует взвешенную сумму в число, которое является выходом нейрона (out).

Искусственные нейронные сети | Статья в журнале...

Каждый узел — это искусственный нейрон, или элементарный процессор.

Из топологий нейронных сетей выделяют сети прямого распространения (Feedforward)

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

Рис. 1 – Структура нейронной сети с одной обратной связью. Где – i–ое входное значение q–го набора чисел.

Задать вопрос