обратное распространение с более чем одним узлом на слой - PullRequest
0 голосов
/ 22 апреля 2019

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

1 Ответ

1 голос
/ 22 апреля 2019

Я не слишком тщательно проверил приведенную здесь математику, поэтому, если кто-то увидит здесь ошибку, пожалуйста, исправьте меня!

В любом случае, изображение здесь - очень простой пример обратного распространения.Как видите, нас интересуют градиенты функции потерь L (в этом случае функция потерь чрезвычайно проста и не годится вне этого примера) по отношению к весам W для обновления весов в соответствии с оптимизатором градиентного спуска (есть и другие, лучшие оптимизаторы, но градиентный спуск легче всего понять, поэтому я предлагаю вам ознакомиться с ним).Я думаю, ключом к вашему пониманию является первое уравнение в рамке, где вы можете видеть, что сначала вы используете правило цепочки , а затем суммируете все градиенты, которые это дает вам.

Для дальнейшего понимания я предлагаю вам записать все свои уравнения для прямого распространения , а затем вычислить правило цепочки для dL / dW и dL / da на каждом уровне.Также может быть проще, если вы еще больше разберете уравнения и установите a = f (z), z = W * X (чтобы сделать правило цепочки более интуитивным, т. Е. dL /dW = dL / da * da / dz * dz / dW ).Есть также несколько руководств, которые вы можете прочитать для дальнейшего понимания.

Backpropagation multiple nodes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...