【CNN】四张图彻底搞懂CNN反向传播算法(通俗易懂)

点击上方,选择星标置顶,每天给你送干货

阅读大概需要5分钟

跟随小博主,每天进步一丢丢

作者:陈楠

来源:知乎

整理:机器学习算法与自然语言处理公众号

链接:https://zhuanlan.zhihu.com/p/81675803

阅读本文之前,可以先阅读之前讲述的全连接层的反向传播算法详细推导过程,

已经了解反向传播算法的请自动忽略。

1. 卷积层的反向传播

废话不说,直接上图:

假设输入为一张单通道图像  ,卷积核大小为  ,输出为  。为了加速计算,首先将 按卷积核滑动顺序依次展开,如上图所示。其中,  中的红色框代表  中的红色框展开后的结果,将  依次按照此方式展开,可得  。同理可得  ,然后通过矩阵相乘可得输出  (与  等价)。此时,已经将CNN转化为FC,与反向传播算法完全一致,这里不再做详细介绍。

当有 N 个样本,做一个batch训练,即channel=N时,前向与反向传播方式如下图所示:

其中,输入图像channel=3,使用2个  的卷积核,输出两张图像,如图所示。红色框、黄色框代表的是卷积核以及使用该卷积核得到的输出图像  。当输入图像为一个batch时,  的转化方式如上图,首先将输入图像与卷积核分别按单通道图像展开,然后将展开后的矩阵在行方向级联。此时,已经将CNN转化为了FC,与反向传播算法完全一致,这里不再做详细介绍。

2. Average pooling的反向传播

 不用求,因为  为常数。 

3. Max-pooling的反向传播

遍历  的每一行,找出此行最大值的索引  ,然后将  中索引为  的值设为  对应行的值,将此行其余列的值设为  ,如上图所示红框所示。假设  中(1,1)处的值是第一行中最大的值,则将  赋值给  中索引为  的位置。最后计算:  。


方便交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

推荐阅读:

【ACL 2019】腾讯AI Lab解读三大前沿方向及20篇入选论文

【一分钟论文】IJCAI2019 | Self-attentive Biaffine Dependency  Parsing

【一分钟论文】 NAACL2019-使用感知句法词表示的句法增强神经机器翻译

【一分钟论文】Semi-supervised Sequence Learning半监督序列学习

【一分钟论文】Deep Biaffine Attention for Neural Dependency Parsing

详解Transition-based Dependency parser基于转移的依存句法解析器

经验 | 初入NLP领域的一些小建议

学术 | 如何写一篇合格的NLP论文

干货 | 那些高产的学者都是怎样工作的?

一个简单有效的联合模型

近年来NLP在法律领域的相关研究工作


让更多的人知道你“在看”

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值