【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】

  1. 以如下卷积为例:

 

  1. 卷积运算的动态图:

 

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

   

 

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

 

 

用矩阵表示:

 

  1. 总结链式求导公式如下:

 

三、Pooling的反向传播 【6】

  1. max pooling

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

 

  1. 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)    收藏  举报