精选 | 一张动图看懂卷积神经网络之卷积计算层

2017 年 6 月 21 日 七月在线实验室

前言

卷积神经网络在深度学习领域是一个很重要的概念,是入门深度学习必须搞懂的内容。本文是一片深度学习课程笔记的节选,原作者根据七月在线寒老师讲授的深度学习课程内容所写,有兴趣阅读全文的读者可直接点击文末阅读原文』。


CNN图像识别的关键——卷积

    当我们给定一个"X"的图案,计算机怎么识别这个图案就是“X”呢?一个可能的办法就是计算机存储一张标准的“X”图案,然后把需要识别的未知图案跟标准"X"图案进行比对,如果二者一致,则判定未知图案即是一个"X"图案。

    而且即便未知图案可能有一些平移或稍稍变形,依然能辨别出它是一个X图案。如此,CNN是把未知图案和标准X图案一个局部一个局部的对比,如下图所示


未知图案的局部和标准X图案的局部一个一个比对时的计算过程,便是卷积操作


什么是卷积

    对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。

    非严格意义上来讲,下图中红框框起来的部分便可以理解为一个滤波器,即带着一组固定权重的神经元。多个滤波器叠加便成了卷积层。


    比如下图中,图中左边部分是原始输入数据,图中中间部分是滤波器filter,图中右边是输出的新的二维数据。



    将上图中左边的Source pixel与中间Converlution kernel对应做内积,其具体计算过程则是:4*0 + 0*0 + 0*0 + 0*0 + 0*1 + 0*1 + 0*0 + 0*1 + -4*2 = -8


图像上的卷积

    在下图对应的计算过程中,输入是一定区域大小(width*height)的数据,和滤波器filter(带着一组固定权重的神经元)做内积后等到新的二维数据。

    具体来说,左边是图像输入,中间部分就是滤波器filter(带着一组固定权重的神经元),不同的滤波器filter会得到不同的输出数据,比如颜色深浅、轮廓。相当于如果想提取图像的不同特征,则用不同的滤波器filter,提取想要的关于图像的特定信息:颜色深浅或轮廓。



一张动图详解卷积操作

    在CNN中,滤波器filter(带着一组固定权重的神经元)对局部输入数据进行卷积计算。每计算完一个数据窗口内的局部数据后,数据窗口不断平移滑动,直到计算完所有数据。这个过程中,有这么几个参数: 


  深度-depth:神经元个数,决定输出的depth厚度。同时代表滤波器个数。

       步长-stride:决定滑动多少步可以到边缘。

       填充值-zero-padding:在外围边缘补充若干圈0,方便从初始位置以步长为单位可以刚好滑倒末尾位置,通俗地讲就是为了总长能被步长整除。 



笔者根据cs231n的卷积动图依次截取了18张图,然后用一gif 制图工具制作了一gif 动态卷积图:


上图可以看到如下几个参数:

  • 两个神经元,即depth=2,意味着有两个滤波器。

  • 数据窗口每次移动两个步长取3*3的局部数据,取stride=2。

  • zero-padding=1。

    然后分别以两个滤波器filter为轴滑动数组进行卷积计算,得到两组不同的结果。

    结合上文的内容后,理解这个动图已经不是很困难的事情:

  • 左边是输入(7*7*3中,7*7代表图像的像素/长宽,3代表R、G、B 三个颜色通道)

  • 中间部分是两个不同的滤波器Filter w0、Filter w1

  • 最右边则是两个不同的输出

  • 随着左边数据窗口的平移滑动,滤波器Filter w0 / Filter w1对不同的局部数据进行卷积计算。


    如果初看这张图,可能不一定能立即在头脑中构造出卷积神经网络的具体执行过程,为帮助广大同学更好的入门和学习DL,七月在线去年已开两期DL课程,本第三期课程将在前两期基础上强力升级,且特邀BAT等一线名师专门直播答疑(网上视频很多,但如果没人帮你解决问题、答疑辅导,看再多视频也是迷迷糊糊、不成体系),更新增GAN等最前沿的知识。

作为最适合入门和掌握DL的王牌课程,只需五个周末,让你摸清深度学习的前世今生——



第一周 夯实DL必备基础
第1课 夯实深度学习数据基础(管)
1. 必要的微积分、概率统计基础
2. 必要的矩阵、凸优化基础
3. 实战:numpy与高效计算
第2课 DNN与混合网络:google Wide&Deep(寒)
1. 多分类softmax与交叉熵损失
2. 人工神经网络与BP+SGD优化
3. 实战:数据非线性切分+google wide&deep 模型实现分类

第二周 从CNN入手,掌握主流DL框架
第3课 CNN:从AlexNet到ResNet(寒)
1. 卷积神经网络层级结构详解,可视化理解
2. 典型卷积神经网络结构(AlexNet,VGG,GoogLeNet,ResNet)讲解
3. 实战:搭建CNN完成图像分类示例
第4课 NN框架:caffe, tensorflow与pytorch(寒)
1. Caffe的便捷图像应用
2. TensorFlow与搭积木一样方便的Keras
3. facebook的新秀pytorch
4. 实战:用几大框架完成DNN与CNN网络搭建与分类

第三周 CNN延伸:物体检测与图像生成
第5课 图像物体检测与风格变化(加)
1. 物体检测方法(Rcnn,Fast-rcnn,Faster-rcnn,R-FCN)
2. 秒变文艺:neural style将照片转换成大师佳作
3. 实战:R-FCN实验代码讲解,neural-style与fast neural-style代码讲解
第6课 造出你要的视界:生成对抗网络GAN(寒)
1. 无监督学习与图像生成
2. 生成对抗网络与原理
3. 实战:DCGAN图像生成

第四周 掌握自然语言处理中的神经网络
第7课 RNN/LSTM/Grid LSTM(寒)
1. 序列数据与循环神经网络
2. RNN/LSTM/Grid LSTM
3. 实战:RNN文本分类
第8课 RNN条件生成与attention(寒)
1. RNN条件生成与attention
2. “看图说话”原理
3. google神经网络翻译系统

第五周 迁移学习与增强学习
第9课 深度学习中的迁移学习(寒)
1. 迁移学习的不同任务
2. Fine-tune,保守训练,层转移,多任务学习
3. 领域对抗训练
第10课 增强学习与Deep Q Network(寒)
1. 马尔科夫决策过程
2. 价值函数与策略评价、学习
3. Deep Q network
4. 实战:用Tensorflow搭建Deep Q learning玩Flappy bird


**

是不是心动了?

现在只要拼团就可以299学习整套深度学习课程啦

还有免费GPU可以用哦

转发图片到朋友圈

还可以领取更多GPU使用时长

**


登录查看更多
25

相关内容

在数学(特别是功能分析)中,卷积是对两个函数(f和g)的数学运算,产生三个函数,表示第一个函数的形状如何被另一个函数修改。 卷积一词既指结果函数,又指计算结果的过程。 它定义为两个函数的乘积在一个函数反转和移位后的积分。 并针对所有shift值评估积分,从而生成卷积函数。
卷积神经网络的概述论文:分析、应用和展望,21页pdf
专知会员服务
89+阅读 · 2020年4月7日
【ICLR-2020】网络反卷积,NETWORK DECONVOLUTION
专知会员服务
37+阅读 · 2020年2月21日
卷积神经网络四种卷积类型
炼数成金订阅号
18+阅读 · 2019年4月16日
什么是深度学习的卷积?
论智
18+阅读 · 2018年8月14日
入门 | 一文看懂卷积神经网络
机器之心
5+阅读 · 2018年2月20日
通俗理解卷积神经网络(小学生都能看懂)
七月在线实验室
9+阅读 · 2018年1月25日
【CNN】一文读懂卷积神经网络CNN
产业智能官
18+阅读 · 2018年1月2日
干货 | 深度学习之卷积神经网络(CNN)的前向传播算法详解
机器学习算法与Python学习
9+阅读 · 2017年11月17日
Tensorflow卷积神经网络
全球人工智能
13+阅读 · 2017年10月14日
BAT机器学习面试1000题系列(第46~50题)
七月在线实验室
7+阅读 · 2017年10月7日
CNN之卷积层
机器学习算法与Python学习
8+阅读 · 2017年7月2日
卷积神经网络(CNN)学习笔记1:基础入门
黑龙江大学自然语言处理实验室
14+阅读 · 2016年6月16日
Interpretable CNNs for Object Classification
Arxiv
20+阅读 · 2020年3月12日
Neural Approaches to Conversational AI
Arxiv
8+阅读 · 2018年12月13日
Arxiv
28+阅读 · 2018年4月6日
Arxiv
21+阅读 · 2018年2月14日
VIP会员
相关资讯
卷积神经网络四种卷积类型
炼数成金订阅号
18+阅读 · 2019年4月16日
什么是深度学习的卷积?
论智
18+阅读 · 2018年8月14日
入门 | 一文看懂卷积神经网络
机器之心
5+阅读 · 2018年2月20日
通俗理解卷积神经网络(小学生都能看懂)
七月在线实验室
9+阅读 · 2018年1月25日
【CNN】一文读懂卷积神经网络CNN
产业智能官
18+阅读 · 2018年1月2日
干货 | 深度学习之卷积神经网络(CNN)的前向传播算法详解
机器学习算法与Python学习
9+阅读 · 2017年11月17日
Tensorflow卷积神经网络
全球人工智能
13+阅读 · 2017年10月14日
BAT机器学习面试1000题系列(第46~50题)
七月在线实验室
7+阅读 · 2017年10月7日
CNN之卷积层
机器学习算法与Python学习
8+阅读 · 2017年7月2日
卷积神经网络(CNN)学习笔记1:基础入门
黑龙江大学自然语言处理实验室
14+阅读 · 2016年6月16日
相关论文
Interpretable CNNs for Object Classification
Arxiv
20+阅读 · 2020年3月12日
Neural Approaches to Conversational AI
Arxiv
8+阅读 · 2018年12月13日
Arxiv
28+阅读 · 2018年4月6日
Arxiv
21+阅读 · 2018年2月14日
Top
微信扫码咨询专知VIP会员