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

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

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

Автор:

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

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

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

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

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

Абраров, Р. Д. Нейронные сети, обучаемые на основе алгоритма обратного распространения ошибки / Р. Д. Абраров. — Текст : непосредственный // Молодой ученый. — 2022. — № 42 (437). — С. 1-6. — URL: https://moluch.ru/archive/437/95596/ (дата обращения: 16.12.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 с.
Основные термины (генерируются автоматически): нейрон, нейронная сеть, обратное распространение ошибки, последний уровень, узел, вес, взвешенное значение, выход, го узла, ошибка.


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

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

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

Аппаратная реализация искусственных нейронных сетей. Часть 1

Рассмотрены типы искусственных нейронных сетей. Представлены методы аппаратной реализации искусственных нейронных сетей с использованием аналоговых, либо цифровых схем нейрон-синапсов. Представлены выводы о работе данных алгоритмов на основе их аппар...

Использование сети Хемминга для автоматической коррекции ошибок

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

Угрозы использования систем автоматического распознавания образов

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

Применение нейронных сетей для графологического анализа почерка

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

Сравнение эффективности использования технологий CUDA и OpenCL при реализации нейронной сети репликации

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

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

В статье решается задача детектирования искусственных новостей. Используются классические методы машинного обучения, такие как метод опорных векторов и случайный лес, а также методы глубокого обучения — нейронная сеть LSTM, языковые модели BERT и XLN...

Применение искусственных нейронных сетей для прогнозирования DoS атак

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

Ключевые моменты в развитии сверточных нейронных сетей

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

Применение моделей машинного обучения для поддержки принятия врачебных решений

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

Сравнительный анализ нейронных сетей для генерации изображений высокого качества

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

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

Аппаратная реализация искусственных нейронных сетей. Часть 1

Рассмотрены типы искусственных нейронных сетей. Представлены методы аппаратной реализации искусственных нейронных сетей с использованием аналоговых, либо цифровых схем нейрон-синапсов. Представлены выводы о работе данных алгоритмов на основе их аппар...

Использование сети Хемминга для автоматической коррекции ошибок

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

Угрозы использования систем автоматического распознавания образов

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

Применение нейронных сетей для графологического анализа почерка

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

Сравнение эффективности использования технологий CUDA и OpenCL при реализации нейронной сети репликации

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

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

В статье решается задача детектирования искусственных новостей. Используются классические методы машинного обучения, такие как метод опорных векторов и случайный лес, а также методы глубокого обучения — нейронная сеть LSTM, языковые модели BERT и XLN...

Применение искусственных нейронных сетей для прогнозирования DoS атак

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

Ключевые моменты в развитии сверточных нейронных сетей

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

Применение моделей машинного обучения для поддержки принятия врачебных решений

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

Сравнительный анализ нейронных сетей для генерации изображений высокого качества

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

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