Метод обратного распространения ошибки. От чего зависит изменение весовых коэффициентов

В этой лекции мы узнаём, о чём пойдёт речь в настоящем разделе.

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

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

Как вы помните из курса логистической регрессии, суть в том, что наши учебные данные будут состоять из пар входных и целевых переменных. Наша цель – сделать так, чтобы прогнозы были как можно ближе к целевым переменным. Мы достигнем этого путём создания функции затрат. Функция затрат велика, когда прогнозы сильно отличаются от целевых переменных, и мала, когда прогнозы близки к ним. Как и любой хороший предприниматель, мы стремимся к тому, чтобы наши затраты оказались как можно более низкими.

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

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

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

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

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

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

.

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

где При этом

Обратите внимание, что индексы, находящиеся в левой части уравнения, отличаются от индексов, находящихся в правой части, а суммирование у нас идёт по n и k.

Теперь давайте обсудим, что означает ошибка по W в зависимости от каждого значения k. Предположим, мы хотим изменить значение Vmk. Это будет единичный скрытый узел сети, прямо распространяющийся к единичному исходящему узлу. Ошибка здесь зависит только от tk, yk и zm. Но пусть мы решили обновить Wdm, означающее связь единичного входного узла с единичным скрытым узлом. Тогда от скрытого узла обновление распространяется на все исходящие узлы. Таким образом, Wdm будет суммироваться по k и зависит от целевых переменных, прогнозных переменных, весовых коэффициентов от скрытого слоя к исходящему и от входных переменных:

Именно это и имеется в виду, когда говорят, что ошибка обратно распространяется.

Понравилась статья? Поделить с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: