Обратное распространение через максимальные слои пула


13

У меня есть небольшой подвопрос к этому вопросу .

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

Итак, первый вопрос: есть ли у меня слой пула, подключенный к полностью связанному слою - как на рисунке ниже.

example1

При вычислении градиента для голубого «нейрона» пула я суммирую все градиенты от нейронов слоя FC? Если это правильно, то каждый «нейрон» пула имеет один и тот же градиент?

Например, если первый нейрон слоя FC имеет градиент 2, второй имеет градиент 3, а третий градиент 6. Каковы градиенты синего и фиолетового «нейронов» в объединяющем слое и почему?

И второй вопрос, когда объединяющий слой соединен с другим слоем свертки. Как тогда вычислить градиент? Смотрите пример ниже.

example2

Для самого верхнего правого «нейрона» объединяющего слоя (выделенного зеленым) я просто возьму градиент фиолетового нейрона в следующем слое конвоя и направлю его обратно, верно?

Как насчет наполненного зеленого? Мне нужно умножить вместе первый столбец нейронов в следующем слое из-за правила цепочки? Или мне нужно их добавить?

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


Что касается вашего первого вопроса, обратное распространение - это посмотреть, какие веса и входные данные влияют на вашу потерю и каким образом. В случае максимального пула, только максимальное количество нейронов влияет на выход (за исключением случаев, когда есть связь). Так что распространяйте только ошибку на нейрон, который имел максимальное значение активации.
— Ян ван дер Вегт

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

Ответы:


5

Если это правильно, то каждый «нейрон» пула имеет один и тот же градиент?

Нет. Это зависит от веса и функции активации. И наиболее типично веса отличаются от первого нейрона объединяющего слоя до уровня FC от второго слоя объединяющего слоя до уровня FC.

Поэтому, как правило, у вас будет такая ситуация:

FСязнак равное(ΣJWяJпJ)

FСяпJеW

Это означает, что градиент по отношению к P_j

граммрad(пJ)знак равноΣяграммрad(FСя)е'WяJ

Который отличается для j = 0 или j = 1, потому что W отличается.

И второй вопрос, когда объединяющий слой соединен с другим слоем свертки. Как тогда вычислить градиент?

Не имеет значения, к какому типу слоя он подключен. Это одно и то же уравнение все время. Сумма всех градиентов на следующем слое, умноженная на то, как выход этих нейронов зависит от нейрона на предыдущем слое. Разница между FC и Convolution заключается в том, что в FC все нейроны в следующем слое будут обеспечивать вклад (даже если, возможно, небольшой), но в Convolution большинство нейронов в следующем слое вообще не подвержены влиянию нейрона в предыдущем слое, поэтому их вклад это точно ноль.

Для самого верхнего правого «нейрона» объединяющего слоя (выделенного зеленым) я просто возьму градиент фиолетового нейрона в следующем слое конвоя и направлю его обратно, верно?

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

Как насчет наполненного зеленого? Мне нужно умножить вместе первый столбец нейронов в следующем слое из-за правила цепочки? Или мне нужно их добавить?

Добавьте их. Из-за цепного правила.

мaИксграммрad(прJ)

граммрad(прJ)знак равноΣяграммрad(пя)е'WяJ

езнак равнояdезнак равно0е'знак равно1е'знак равно0

граммрad(прмaИксNеUроN)знак равноΣяграммрad(пя)Wя мaИкс NеUроN

граммрad(проTчасерs)знак равно0.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.