前向传播和反向传播_卷积神经网络(CNN)反向传播算法推导

本文详细介绍了卷积神经网络(CNN)的反向传播算法,从直观感受和数学公式两方面推导卷积层和池化层的反向传播过程。首先回顾了卷积和池化的概念,接着分析了卷积层和池化层的delta误差传播,以及如何求解各层参数的导数。最后,总结了CNN的训练流程,并预告将使用Python实现LeNet手写数字识别。
摘要由CSDN通过智能技术生成

f058125b50e6a71de2b99653c345d0c2.png

在之前的文章中我介绍了多层感知机反向传播的数学推导,主要是用数学公式来进行表示的,在全连接神经网络中,它们并不复杂,即使是纯数学公式也比较好理解。而卷积神经网络相对比较复杂,在本篇文章中我们将从直观感受和数学公式两方面来介绍CNN反向传播算法的推导。

南柯一梦宁沉沦:神经网络中反向传播算法数学推导​zhuanlan.zhihu.com
e53f55c24c4d9f1bd0869adbf9c50282.png

首先我给大家介绍一下我分析delta误差反向传播过程的简单方法,如果神经网络l+1层某个结点的delta误差要传到l层,我们就去找前向传播时l+1层的这个结点和第l层的哪些结点有关系,权重是多少,那么反向传播时,delta误差就会乘上相同的权重传播回来。

假设第l层有一个结点a,l+1层有一个结点b。两个结点间的连接权重为w。如果前向传播时,结点a对结点b的影响是

。而反向传播时,结点b的delta误差
对结点a的delta误差
的影响是
。它们的系数都为两结点之间的连接权重。

卷积神经网络前向传播过程简要介绍

在理解卷积神经网络的反向传播之前,我们需要对卷积、池化以及卷积神经网络前向传播过程作一个简要的回顾。

卷积运算介绍

在卷积神经网络中,所谓的卷积运算,其实并不是严格的数学意义上的卷积。深度学习中的卷积实际上是信号处理和图像处理中的互相关运算,它们二者之间有细微的差别。深度学习中的卷积(严格来说是互相关)是卷积核在原始图像上遍历,对应元素相乘再求和,得到的新图像在尺寸上会有减小。可以通过下图直观的去理解。假设输入图像的有m行,n列,卷积核的尺寸为filter_size×filter_size,输出图像的尺寸即为(m-filter_size+1)×(n-filter_size+1)

v2-6428cf505ac1e9e1cf462e1ec8fe9a68_b.gif
图源http://ufldl.stanford.edu/tutorial/supervised/FeatureExtractionUsingConvolution/

在全连接神经网络,图像数据以及特征是以列向量的形式进行存储。而在卷积神经网络中,数据的格式主要是以张量(可以理解为多维数组)的形式存储。图片的格式为一个三维张量,行×列×通道数。卷积核的格式为一个四维张量,卷积核数×行×列×通道数

卷积操作是每次取出卷积核中的一个,一个卷积核的格式为三维,为行×列×通道数。对应通道序号的图片与卷积核经过二维卷积操作后(即上图所示操作),得到该通道对应的卷积结果,将所有通道的结果相加,得到输出图像的一个通道。每个卷积核对应输出图像的一个通道,即输出图像的通道数等于卷积核的个数。

这里概念有一点绕,但是卷积神经网络中所谓张量的卷积,本质上是进行了一共卷积核数×通道数二维卷积</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值