Алгоритм обратного распространения — обзор

Опубликовано: 2021-10-15

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

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

В статье речь пойдет об алгоритме обратного распространения ошибки и процессе его работы.

Оглавление

Важность обратного распространения

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

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

Несколько шагов алгоритма обратного распространения в нейронных сетях можно резюмировать ниже:

● Расчет ошибки: будет вычислено отклонение выходных данных модели от фактических выходных данных модели.

● Минимальная ошибка: на этом шаге проверяется, минимизирована ли сгенерированная ошибка.

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

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

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

Нейронная сеть обратного распространения

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

Модель нейронной сети

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

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

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

Скрытые слои: использование определенных взвешенных входных данных, таких как z^l в слоях l и активаций a^l в том же слое l. Уравнения генерируются для таких слоев, как слой 2 и слой 3.

Активации слоев вычисляются с помощью функции активации f. Функция активации «f» — это нелинейная функция, которая позволяет сети изучать сложные шаблоны, присутствующие в данных.

Формируется весовая матрица вида (n,m), где число «n» обозначает выходные нейроны, а «m» обозначает входные нейроны нейронной сети. В модели вышеупомянутых слоев количество n будет равно 2, а количество m будет равно 4. Также первое число в индексе веса должно совпадать с индексом нейрона, который находится в следующем слое. Второе число должно совпадать с нейронным индексом предыдущего слоя сети.

Выходной слой: Выходной слой — это последний слой нейронной сети. Он предсказывает ценность модели. Матричное представление используется для упрощения уравнения.

Прямая передача нейронной сети и ее оценка

Уравнения, созданные при определении нейронной сети, составляют прямое распространение сети. Он предсказывает результат модели. В алгоритме прямого распространения последним шагом является оценка прогнозируемого результата по сравнению с ожидаемым выходом. Если прогнозируемый результат равен «s», а ожидаемый результат — «y», то s следует сравнивать с y. Для обучающего набора данных (x, y) x — входные данные, а y — выходные данные.

Функция стоимости «C» используется для оценки s по сравнению с y. Функция стоимости может быть простой, как среднеквадратическая ошибка (MSE), или сложной, как кросс-энтропия. Основываясь на значении C, модель узнает, насколько параметры должны быть скорректированы, чтобы приблизиться к ожидаемому результату, который равен y. Это делается с помощью алгоритма обратного распространения.

Алгоритм обратного распространения

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

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

Градиент функции C в точке x определяется как вектор всех частных производных, которые входят в функцию стоимости C по x.

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

Изменение параметра x определяется градиентом. Он показывает изменения, которые требуются в параметре x для минимизации C. Цепное правило используется для вычисления градиентов. Именно градиент позволяет оптимизировать параметры.

Так работает алгоритм обратного распространения при улучшении и обучении нейронной сети. Он служит важной частью аспектов машинного обучения. Понимание алгоритма обратного распространения является неотъемлемой частью обучения нейронной сети. Если вы хотите стать экспертом в области машинного обучения и искусственного интеллекта, вы можете пройти курс «Магистр наук в области машинного обучения и искусственного интеллекта», предлагаемый upGrad. Любой работающий профессионал имеет право на курс. Вы будете обучаться на факультетах экспертов из IIIT Bangalore, а также из LJMU. Более 650 часов обучения помогут вам подготовиться к будущему искусственного интеллекта. Любые вопросы по курсу приветствуются.

Какой метод используется в алгоритме обратного распространения?

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

Почему используется алгоритм обратного распространения?

Алгоритм обратного распространения используется для минимизации ошибки модели.

Как алгоритм обратного распространения минимизирует ошибку сети?

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