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

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.

patapouf_ai
источник