Так же, как вы делали для полностью связанных слоев, но со сверткой вместо умножения матриц.Предположим, вы на 5 уровне (L5).Во время backprop у вас есть дельта-матрица, которую вы вычислили на L6, назовем это D6.В L5 у вас есть 2 задачи ... Вам нужно рассчитать dF, который вы будете использовать для обновления фильтров, и вам нужно рассчитать D5, который вы будете использовать как дельту в L4.
Как вы выполняли это вплотные слои?Для dW вы умножили вход слоя на дельту, а для следующей дельты вы умножили дельту на веса и производную функции активации.
Теперь приходит волшебство ... Если у вас есть слой с конвоями, сделайте дикое предположение, что вы делаете.Позвольте мне немного помочь.Для расчета dF вы сворачиваете D6 с исходным входом в L5.Выглядит знакомо, я надеюсь.И чтобы получить следующую дельту, вы выполняете полную свертку оригинальных фильтров с D6 и передаете это в L4.Слои пула содержат миллиарды ресурсов, и они довольно просты, поэтому я лучше их пропустить.
Если вы используете python, это хорошая практика, но не ожидайте, что она будет полезна.Это ужасно медленный процесс, поэтому для чего-то большего, чем тренировка, используйте какой-нибудь фреймворк, например tenorflow / keras / и т. Д.