【AI学习笔记10】卷积神经网络CNN反向传播原理 The principle of CNN backpropagation
卷积神经网络CNN反向传播原理 The principle of CNN backpropagation
一、链式法则Chain rule
开始推导反向传播原理之前,先回顾一下偏导数(Partial Derivatives)的链式法则:【1】【2】【3】


图中, L代表损失函数(Loss Function),对x的偏导数为:

二、反向传播backpropagation公式推导 【4】【5】
- 以如下卷积为例:

- 卷积运算的动态图:


- 对Filter F的链式求导公式如下:




- 对Input X的链式求导公式如下:


用矩阵表示:

- 总结链式求导公式如下:

三、Pooling的反向传播 【6】
- max pooling
max pooling在前向传播中,把一个patch中最大的值传递给下一层,其他值会被舍弃掉。因此,在反向传播中,就是将当前梯度直接传递给前一层的某个像素,而让同一个patch中的其他像素值为0。

- average pooling
在反向传播中,就是把某个像素的值平均分成 n 份分配给上一层。

参考文献(References):
【1】 Fei-Fei Li & Andrej Karpthy & Justin Johnson 《Lecture 4: Backpropagation and Neural Networks part 1》
https://github.com/maxim5/cs231n-2016-winter/blob/master/lecture-slides/winter1516_lecture4.pdf
【2】Andrej Karpathy 《CS231n Winter 2016: Lecture 4: Backpropagation, Neural Networks 1》 https://www.youtube.com/watch?v=i94OvYb6noo
【3】Pavithra Solai 《Convolutions and Backpropagations》
https://pavisj.medium.com/convolutions-and-backpropagations-46026a8f5d2c
【4】Rukayat Sadiq 《CNN BackPropagation Fall 2021》
https://deeplearning.cs.cmu.edu/F21/document/recitation/Recitation5/CNN_Backprop_Recitation_5_F21.pdf
【5】ESRSchao 《【CNN基础知识】一文详解反向传播(Backpropagation)在CNN中如何具体实现——卷积、池化(上)》
https://blog.csdn.net/qq_45912037/article/details/128073903
【6】Jackie_AI 《Pooling层的作用以及如何进行反向传播》
https://blog.csdn.net/purple_love/article/details/134487445
posted on 2025-03-02 23:55 JasonQiuStar 阅读(384) 评论(0) 收藏 举报
浙公网安备 33010602011771号