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. mongoDB操作2

    一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可以实现全部和部分查询. 1.查询全部 空的查询文档{}会匹配集合的全部内容.如果不指定查询文档,默认就是{}. ...

  2. JavaScript之函数柯里化

    什么是柯里化(currying)? 维基百科中的解释是:柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术.意思就是当函 ...

  3. Buy the Ticket HDU 1133 卡特兰数应用+Java大数

    Problem Description The "Harry Potter and the Goblet of Fire" will be on show in the next ...

  4. LeetCode 36. Valid Sudoku (C++)

    题目: Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated according t ...

  5. Android源码项目目录结构

    src: 存放java代码 gen: 存放自动生成文件的. R.java 存放res文件夹下对应资源的id project.properties: 指定当前工程采用的开发工具包的版本 libs: 当前 ...

  6. 软工1816 · Alpha冲刺(5/10)

    团队信息 队名:爸爸饿了 组长博客:here 作业博客:here 组员情况 组员1(组长):王彬 过去两天完成了哪些任务 后端代码复审 福大各个食堂的菜品口味量化.属性标记 组织前后端线下协作 接下来 ...

  7. Alpha 冲刺(4/10)

    队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 协助前后端接口的开发 测试项目运行的服务器环 ...

  8. 人生的第一篇blog

    开始写博客了,人生第一篇博客啊,要写些什么呢?想想也没有什么头绪,随便写写吧. 这学期要使用代码管理工具了,要写团队项目了.一直以来都是自己一个人在默默编程,没有过合作经历.对于代码的管理也只是一直在 ...

  9. Apache 的知识点

    apache 的官方文档 http://httpd.apache.org/docs/ Mac下如何查看Apache的版本 在终端(Terminal)中输入 apachectl -v,之后回车,结果如下 ...

  10. .NET中的堆(Heap)和栈(Stack)的本质

    计算机的内存可以分为代码块内存,Stack内存和Heap内存.代码块内存是在加载程序时存放程序机器代码的地方. 栈(Stack)一般存放函数内的局部变量. 堆(Heap)一般存放全局变量和类对象实例等 ...