卷积层,池化层等,前向/反向传播原理

原文地址:https://www.cnblogs.com/zf-blog/p/8638664.html

参考链接:https://www.zybuluo.com/hanbingtao/note/485480

                 https://github.com/hanbt/learn_dl/blob/master/cnn.py

一、卷积层

(1)首先是卷积神经网络中的卷积操作

计算公式为:

注意上式的使用场景:stride = 1 , channel = 1

我们可以将其扩展到 stride = s , channel = d时的情况,这个时候公式如下:

(2)然后,我们再来看一下数学中的卷积操作,下面引入数学中的二维卷积公式

对于如下的图,数学中的卷积操作如下:

从上图可以看到,A左上角的值与B对应区块中右下角的值相乘,而不是与左上角的相乘。因此,数学中的卷积和卷积神经网络中的『卷积』还是有区别的,为了避免混淆,我们把卷积神经网络中的『卷积』操作叫做互相关(cross-correlation)操作。

另外:数学卷积和互相关操作是可以相互转化的,比如对于C = A * B,这里A和B的卷积就相当于将B翻转180度然后与A做互相关操作得到。

(3)再来说说卷积层的前向、反向传播

首先是前向传播:很简单,直接使用互相关的公式计算即可;

然后是反向传播:可以参考我之前作的关于全连接层的反向传播过程,原理公式近似;

具体说一下反向传播过程:

首先引入一道题:

首先说一下前提:

另外:是加权后的输出,但没有经过激活函数;

可以发现,卷积层的反向传播过程和全连接层的反向传播过程真的是神似啊,只不过公式需要对应的修改一下;

这里还要注意一点的是,步长stride = s和stride = 1时反向传播的区别:

这里面就涉及到了“扩展”和"zero padding"操作,在后面代码中有所体现;

紧接着我们可以得到权重梯度和偏置项梯度如下:

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值