前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【CNN】四张图彻底搞懂CNN反向传播算法(通俗易懂)

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

作者头像
zenRRan
发布2019-12-06 12:52:53
4.7K1
发布2019-12-06 12:52:53
举报
文章被收录于专栏:深度学习自然语言处理

作者:陈楠

来源:知乎

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

链接: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)处的值是第一行中最大的值,则将

赋值给

中索引为

的位置。最后计算:


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 深度学习自然语言处理 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 卷积层的反向传播
  • 2. Average pooling的反向传播
  • 3. Max-pooling的反向传播
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档