4.2深度卷积网络

觉得有用的话,欢迎一起讨论相互学习~Follow Me

参考文献
[LeNet]--Lécun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.
[AlexNet]--Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]// International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012:1097-1105.
[VGG-16]--Simonyan K, Zisserman A. Very Deep Convolutional Networks for Large-Scale Image Recognition[J]. Computer Science, 2014.

2.2经典网络

LeNet-5

  • LeNet针对的是单通道的灰度图像
  • 原始图像为\(32*32*1\)的单通道灰度图像
  • 第一层使用的是\(6个5*5\)的卷积核,步长为1,Padding 为0,图像尺寸缩小到\(28*28\)
  • 接着使用池化窗口为\(2*2\)的平均池化窗口,其中步长为2。当时更趋向于使用平均池化方法,现在更倾向于使用最大池化方法。--输出的结果是一个\(14*14*6\)的图像。
  • 第二层使用的是\(16个5*5\)的卷积核,步长为1,Padding 为0,图像尺寸缩小到\(10*10\)。当时几乎不使用Padding填充的方法,所以每次池化后特征图大小都会变小。
  • 接着使用池化窗口为\(2*2\)的平均池化窗口,其中步长为2。则输出的结果是一个\(5*5*16\)的图像。
  • 紧接着是一个具有120个节点的全连接层FC1,其和上一层的高级特征图中的400个节点进行全连接,而后是全连接层FC2,有84个神经元,最后与输出神经元相连接得到模型最终的输出。

    讨论

  • 其对现在的启发是:随着网络层数的递增,使用的卷积核的个数增加,特征图的高度和宽度逐渐减小,而深度逐渐增加。
  • 过去人们使用Sigmoid函数和Tanh函数,现在主要使用ReLU函数。
  • 各网络层之间存在连接,每个卷积核的信道数和其输入的信道数相同。


AlexNet

  • AlexNet首先用一张\(227*227*3\)的图片作为输入,实际上原文使用的图像是\(224*224*3\)作为输入,但是如果你尝试输入会发现\(227*227\)这个尺寸更好一些。
  • 第一层使用96个\(11*11\)的卷积核,步幅为4,因此图像尺寸缩小到\(55*55\),然后使用一个\(3*3\)的池化窗口构建最大池化层,步幅为2,则此时特征图尺寸缩小为\(27*27*96\)。
  • 第二层使用256个\(5*5\)的卷积核,使用“SAME”模式进行填充,则得到\(27*27*256\)的特征图。接着使用\(3*3\)的池化窗口构建最大池化层,步长为2,则此时特征图尺寸缩小为\(13*13*256\)
  • 第二层使用256个\(5*5\)的卷积核,使用“SAME”模式进行填充,则得到\(27*27*256\)的特征图。接着使用\(3*3\)的池化窗口构建最大池化层,步长为2,则此时特征图尺寸缩小为\(13*13*256\)
  • 第三层使用384个\(3*3\)的卷积核,使用“SAME”模式进行填充,则得到\(13*13*384\)的特征图。连续对特征图进行三次卷积操作,均使用“SAME”模式,卷积核个数分别为“384”,“384”,“256”之后使用\(3*3\)池化窗口的池化层对其进行池化操作,且池化步长为2.最终得到\(6*6*256\)大小的特征图。
  • 将其展开为9216个单元,然后接上两个具有4096个神经元节点的全连接层,最后连接上一个单独的Softmax函数用以输出识别的结果。

讨论

  • AlexNet网络比LeNet-5网络要大的多,LeNet-5网络大约有6万个参数,AlexNet网络包含约6000万个参数。这使得其能识别更多的特征。
  • AlexNet网络比LeNet-5网络表现更为出色的另一个原因是因为它使用了ReLU激活函数
  • 对于AlexNet,其使用了LRN的结构(局部响应归一化),简单而言是在中间特征图中每一个点上所有信道的值进行归一化操作。由于有研究证明其效果并不明显,所以我们并没有在此进行详细介绍。

    [lrn局部响应归一化示意图]


VGG-16

  • VGG-16并没有太多的超参数,其只专注于构建卷积层的简单网络
  • 首先用\(3*3\)的卷积核,步幅为1,构建卷积层,Padding="SAME",然后使用\(2*2\)的卷积核,步幅为2,构建最大池化层。
  • 对于一个\(224*224*3\)的图片,使用64个上述卷积核进行两次卷积操作,得到\(224*224*64\)的特征图,再使用上述池化方式对其进行池化操作,得到\(112*112*64\)的特征图。再对其使用128个上述卷积核进行两次卷积操作后得到\(112*112*128\)的特征图。接着使用上述池化方式对其进行池化操作,得到\(56*56*128\)的特征图。再使用256个上述卷积核对特征图进行三次卷积操作得到\(56*56*256\)的特征图。再池化,512个卷积核卷积三次,池化,512个卷积核卷积三次,池化。最终得到\(7*7*512\)结构的特征图,然后进行全连接操作.后接两个具有4096个节点的全连接层,最后接上Softmax节点。具体网络结构如下图所示:

讨论

  • VGG-16指的是这个网络包含16个卷积层和全连接层,总共包含1.38亿个参数。虽然网络较大,参数量多,但是结构并不复杂。网络结构十分规整。
  • 每一层的卷积核个数都进行翻倍,所以特征图中的信道数量也增加一倍,很有规律性,从这一点来说,这篇文章十分吸引人。

[DeeplearningAI笔记]卷积神经网络2.2经典网络的更多相关文章

  1. [DeeplearningAI笔记]卷积神经网络4.1-4.5 人脸识别/one-shot learning/Siamase网络/Triplet损失/将面部识别转化为二分类问题

    4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.1什么是人脸识别 Face verification人脸验证 VS face recogniti ...

  2. [DeeplearningAI笔记]卷积神经网络2.5-2.7 Network in Network/1*1卷积/Inception网络/GoogleNet

    4.2深度卷积网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 Inception网络 --Szegedy C, Liu W, Jia Y, et al. Going deepe ...

  3. 卷积神经网络的一些经典网络2(Inception)

    在架构内容设计方面,其中一个比较有帮助的想法是使用1x1卷积.1x1卷积能做什么? 对于6x6x1的通道的图片来说,1x1卷积效果不佳,如果是一张6x6x32的图片,那么使用1x1卷积核进行卷积效果更 ...

  4. 卷积神经网络的一些经典网络(Lenet,AlexNet,VGG16,ResNet)

    LeNet – 5网络 网络结构为: 输入图像是:32x32x1的灰度图像 卷积核:5x5,stride=1 得到Conv1:28x28x6 池化层:2x2,stride=2 (池化之后再经过激活函数 ...

  5. [DeeplearningAI笔记]卷积神经网络4.6-4.10神经网络风格迁移

    4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.6什么是神经网络风格转换neural style transfer 将原图片作为内容图片Cont ...

  6. [DeeplearningAI笔记]卷积神经网络3.10候选区域region proposals与R-CNN

    4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.10 region proposals候选区域与R-CNN 基于滑动窗口的目标检测算法将原始图片分割成小的样本图片,并传入分 ...

  7. [DeeplearningAI笔记]卷积神经网络3.1-3.5目标定位/特征点检测/目标检测/滑动窗口的卷积神经网络实现/YOLO算法

    4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1目标定位 对象定位localization和目标检测detection 判断图像中的对象是不是汽车--Image clas ...

  8. [DeeplearningAI笔记]卷积神经网络1.9-1.11池化层/卷积神经网络示例/优点

    4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.9池化层 优点 池化层可以缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性. 池化层操作 池化操作与卷积操作类似 ...

  9. [DeeplearningAI笔记]卷积神经网络1.6-1.7构造多通道卷积神经网络

    4.1卷积神经网络 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.6多通道卷积 原理 对于一个多通道的卷积操作,可以将卷积核设置为一个立方体,则其从左上角开始向右移动然后向下移动,这里设 ...

随机推荐

  1. [redis] linux下安装篇(1)

    一.redis是什么redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...

  2. 【转】SWFUpload 官方说明文档(2.5.0版)

    原文出自:http://www.runoob.com/w3cnote/swfupload-document.html SWFUpload使用指南请查阅:http://www.w3cschool.cc/ ...

  3. World Cup(思维+模拟)

    Description Allen wants to enter a fan zone(球迷区) that occupies a round square and has nn entrances. ...

  4. uc浏览器的用户体验

    用户界面: 我认为,uc浏览器的用户界面还是很招人喜欢的,可以很容易让用户找到自己想看的网页.简单快捷. 记住用户的选择: uc在每次用户访问完网站之后都会记住用户访问的高频网站,以便下次用户可以更好 ...

  5. OpenCV学习笔记——疑问

    vec3b:表示每一个Vec3b对象中,可以存储3个char(字符型)数据,比如可以用这样的对象,去存储RGB图像中的一个像素点.typedef Vec<uchar, 3> Vec3b; ...

  6. OpenCV学习笔记——Mat类型数据存储

    CV_[The number of bits per item][Signed or Unsigned][Type Prefix]C[The channel number] 比如 CV_8UC3 表示 ...

  7. Java中的网络编程-2

    Socket编程:(一般的网络编程) <1> 两个 JAVA 应用程序可通过一个双向的网络通信连接, 实现数据交换, 这个双向链路的一段称为一个 Socket. <2> Soc ...

  8. 解决Ubuntu(Linux)平台下Sublime Text 3 安装中文输入支持库后 开启gnome-terminal报错的问题

    在Ubuntu下安装Sublim Text3后发现无法输入中文,按照此链接的方法解决后.然后用下列代码配置C++的编译系统: { "cmd":["g++",&q ...

  9. Thrift语法参考

    1.Types Thrift类型系统包括预定义基本类型,用户自定义结构体,容器类型,异常和服务定义 (1) 基本类型 bool: 布尔类型,占一个字节 byte: 有符号字节 i16:16位有符号整型 ...

  10. PSP 进度条 柱状图 饼状图

    9号 类别 开始时间 结束时间 间隔 净时间 燃尽图 8::00 8:20 0 20分钟 站立会议 8:20 8:50 0 30分钟 读构建之法 9:20 13:20 120分钟 120分钟 四人小组 ...