заглушки Что такое обратное распространение? - Unite.ИИ
Свяжитесь с нами:
Мастер-класс по ИИ:

AI 101

Что такое обратное распространение?

mm
обновленный on

Что такое обратное распространение?

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

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

Цель обратного распространения

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

Обучение глубокой нейронной сети

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

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

Активация = сумма (вес * вход) + смещение

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

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

Обратное распространение в сети

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

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

ошибка = (ожидаемый_выход – фактический_выход) * наклон выходного значения нейрона

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

После расчета ошибок для сети веса в сети необходимо обновить. Как уже упоминалось, вычисление ошибки включает в себя определение наклона выходного значения. После расчета наклона можно использовать процесс, известный как градиентный спуск, для корректировки весов в сети. Градиент — это уклон, угол/крутизну которого можно измерить. Наклон рассчитывается путем нанесения «y» или «подъема» на «пробег». В случае нейронной сети и частоты ошибок «y» — это расчетная ошибка, а «x» — параметры сети. Параметры сети связаны с рассчитанными значениями ошибок, и по мере корректировки весов сети ошибка увеличивается или уменьшается.

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

Блогер и программист со специализацией в Машинное обучение и Глубокое обучение темы. Дэниел надеется помочь другим использовать возможности ИИ на благо общества.