【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在法律领域的相关研究工作
让更多的人知道你“在看”
【CNN】四张图彻底搞懂CNN反向传播算法(通俗易懂)相关推荐
- 四张图彻底搞懂CNN反向传播算法(通俗易懂)
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:机器学习算法那些事 阅读本文之前,可以先阅读之前讲述的全 ...
- cnn stride and padding_彻底搞懂CNN中的卷积和反卷积
前言 卷积和反卷积在CNN中经常被用到,想要彻底搞懂并不是那么容易.本文主要分三个部分来讲解卷积和反卷积,分别包括概念.工作过程.代码示例,其中代码实践部分主结合TensorFlow框架来进行实践.给 ...
- javascript 不让成为nan_一张图彻底搞懂JavaScript的==运算
大家知道,==是JavaScript中比较复杂的一个运算符.它的运算规则奇怪,容易让人犯错,从而成为JavaScript中"最糟糕的特性"之一. 在仔细阅读了ECMAScript规 ...
- synchronized 分布式时为什么会失效_10张图,搞懂索引为什么会失效?
MySQL数据是如何存储的? 聚集索引 我们先建如下的一张表 CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ...
- 原来10张图就可以搞懂分布式链路追踪系统原理
分布式系统为什么需要链路追踪? 随着互联网业务快速扩展,软件架构也日益变得复杂,为了适应海量用户高并发请求,系统中越来越多的组件开始走向分布式化,如单体架构拆分为微服务.服务内缓存变为分布式缓存.服务 ...
- 13 张图彻底搞懂分布式系统服务注册与发现原理
作者 | 雷架 来源 | 爱笑的架构师(ID:DancingOnYourCode) 头图 | CSDN 下载自东方IC 在微服务架构或分布式环境下,服务注册与发现技术不可或缺,这也是程序员进阶之路必 ...
- I2C协议靠这16张图彻底搞懂(超详细)
文章目录 背景 硬件层 数据传输协议 实际上如何工作? 单个主设备连接多个从机 多个主设备连接多个从机 如何编程? 总结 背景 I²C(Inter-Integrated Circuit),中文应该叫集 ...
- 13张图彻底搞懂分布式系统服务注册与发现原理
在微服务架构或分布式环境下,服务注册与发现技术不可或缺,这也是程序员进阶之路必须要掌握的核心技术之一,本文通过图解的方式带领大家轻轻松松掌握. 引入服务注册与发现组件的原因 先来看一个问题,假如现在我 ...
- 一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别
先总结下区别:event.clientX.event.clientY鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条.IE事件和标准事件都定义了这2个属性event. ...
- 四张图,读懂 BIO、NIO、AIO、多路复用 IO 的区别
作者:扛麻袋的少年 blog.csdn.net/lzb348110175/article/details/98941378 学习之前,我们先来了解一下IO模型: ①同步阻塞IO(Blocking IO ...
最新文章
- firefox让标签栏显示在地址栏的下面的方法
- 文章17周项目2--通过基准线结合(三个数字排序(指针参数))
- Omi框架学习之旅 - 插件机制之omi-finger 及原理说明
- Flask常见错误与解决方法
- linux学习笔记-第六课-/etc/passwd,/etc/shadow,useradd,su,sudo等
- PowerShell远程管理Windows Server(2):公网访问【web形式】
- 21适配器模式(Adapter Pattern)
- python数据分析_使用Python进行数据分析
- c语言不定方程的二元一次,poj1061 - 同余方程,二元一次不定方程
- 2021年度移动广告流量观察白皮书
- flex 左右布局_web前端学习:移动端开发常用布局—前端弹性布局总结
- Hadoop中Writable类
- 优势java_Java的核心优势
- 1.大数据架构详解:从数据获取到深度学习 --- 大数据的本质
- 沧小海笔记之PCIE协议解析——第二章 详述PCIE事务层
- pdm导出rtf文档
- 使用苹果cms常见问题整理
- java: 未报告的异常错误org.json.JSONException; 必须对其进行捕获或声明以便抛出
- 电容参数X5R,X7R,Y5V,COG
- 公司内网与外网同时使用