1 LeNet-5 (1998)

第一个被提出的卷积网络架构,深度较浅,用于手写数字识别。

2 AlexNet (2012)

架构为:

CONV1 ->MAX POOL1 ->NORM1 ->CONV2 ->MAX POOL2 ->NORM2 ->CONV3->CONV4->CONV5->Max POOL3->FC6 ->FC7->FC8

相比于LeNet-5,AlexNet除了使用了更深的结构,还用到了:

观察架构图可以看到,AlexNet实际上被分成了两部分,这是由于当时的GPU内存限制。因此AlexNet被分别存储在两个GPU上,其中CONV3,FC6,FC7,FC8涉及到了GPU间的通信。

AlexNet是第一个成功运用的深度神经网络。

3 VGGNet (2014)

(1)改进

相比AlexNet,VGGNet有更深的网络,更小的滤波器:

(2)为什么更小的滤波器更好

假设有连续3层卷积层,它们都使用3*3的滤波器,那么最后一层激活图中,每个神经元的感受野是7*7的。可以看到,3个3*3的滤波器堆叠能达到一个7*7滤波器的感受野大小,但是却使用了更少的参数,更深的网络,引入了更多的非线性。

(3)整体架构

下面这张图显示了VGGNet的结构和内存参数情况:

其中红色的内存指的是存储激活值所占的内存,可以看到,一张图片的一次前向传播需要大约100M的内存,而且参数有一亿多个。而且我们发现,内存消耗主要集中在卷积层中,而参数主要集中在全连接层中。

VGG论文中一些其他的细节:

4 GoogLeNet (2014)

(1)改进

相比之前的网络,GoogleNet更深。由于放弃了全连接层,因此参数更少。并且使用了Inception模块,计算效率更高。

(2)Inception模块

其中模块的输入是之前层的输出,在上面并行的使用各种大小的滤波器处理,最后各个滤波器的结果在深度上串联起来,得到模块的输出。

其中红色部分都是1*1的滤波器,被称为bottleneck层,其作用是减少输入的深度,然后再送给后面的滤波器处理,使得整体的运算量降低。下面两张图对比了使用和不使用bottleneck层的运算量。

不使用bottleneck层:

使用bottleneck层:

(3)整体架构

我们可以把GoogleNet的架构分为四部分:

a 输入一开始的部分,是传统的conv->pooling结构

b 中间部分是inception模块的堆叠

c Classifier output部分,移除了复杂的全连接层,使得参数量大大减少

d 额外的Classifier output部分,是为了解决网络过深导致较低层接受不到有效的梯度信号,额外的Classifier output部分可以为较低层提供额外的梯度信号。

5 ResNet (2015)

(1)深度网络训练困难问题

ResNet提出者指出,当网络很深时,训练集和测试集上的误差都表现得不好,显然这不是过拟合,而是深度网络难以训练(并不是梯度消失导致的,因为BN已经很好的解决了梯度消失)。

(2)残差层

如上图,左边是普通层,右边是残差层,H(x)是我们期望学习的函数。普通层会直接学习这个函数,而残差层会学习其与x的差。

为什么残差层会有效,它解决了深度网络训练中的什么问题?

ResNet并不是解决了梯度消失的问题,梯度消失可以通过BN来解决,但是我们发现,使用BN的plainNet仍然比不上ResNet。事实上ResNet解决的是反传回来的梯度之间的相关性问题,具体可以参考文章The Shattered Gradients Problem: If resnets are the answer, then what is the question?

通俗来说,ResNet的结构很好的管理了梯度流,残差层的结构提供了一条使梯度直接向后流动的畅通无阻的通路,使得我们能够轻易的训练几百层的深层结构!

(3)架构

完整的ResNet是残差块的堆叠,并且不使用全连接层,更多细节:

ResNet中也使用了bottleneck来提高计算效率:

6 各种架构的性能对比

其中横坐标是运算量,纵坐标是精度,圆的大小表示占用的内存大小。

7 其他架构

8 CNN架构研究现状

(1)VGG, GoogLeNet, ResNet 被广泛投入使用,其中ResNet性能最佳

(2)加深网络是一个趋势,但是也有研究表明深度并不是最重要的,宽的ResNet仍然表现很好

(3)有很多关于层之间如何连接,跳连接的研究

转载于:https://www.cnblogs.com/coldyan/p/8371726.html

cs231n---CNN架构相关推荐

  1. 深度学习与计算机视觉教程(10) | 轻量化CNN架构 (SqueezeNet,ShuffleNet,MobileNet等)(CV通关指南·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/37 本文地址:https://www.showmeai.tech/article-d ...

  2. CNN架构复现实战 | 附视频和github项目

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 经常会看到类似的广告<面试算法岗,你被要求复现论文了吗?&g ...

  3. 2012到2020主要的CNN架构总结

    来源:DeepHub IMBA本文约1600字,建议阅读5分钟本文与你讨论每个机器学习工程师都应该知道的十大CNN架构. 卷积神经网络(CNN或ConvNet)是理解图像内容的最佳学习算法之一,并且在 ...

  4. 一文读懂最近流行的CNN架构(附学习资料)

    来源: 机器学习算法全栈工程师 本文长度为4259字,建议阅读6分钟 本文为你介绍CNN架构,包括ResNet, AlexNet, VGG, Inception. 本文翻译自ResNet, AlexN ...

  5. 为你解读7大类深度CNN架构创新综述(附论文)

    https://www.toutiao.com/a6652648845299679756/ 来源:机器之心 本文约3000字,建议阅读6分钟. 本综述将最近的 CNN 架构创新分为七个不同的类别,分别 ...

  6. 「多图」图解10大CNN架构

    大家好,我是K同学啊! 你是否一直在关注不同的卷积神经网络 (CNN)?近年来,我们见证了无数CNN的诞生.这些网络已经变得如此之深,以至于很难将整个模型可视化.我们不再跟踪它们,而是将它们视为黑盒模 ...

  7. DL之CNN优化技术:学习卷积神经网络CNN的优化、实践经验(练习调参)、从代码深刻认知CNN架构之练习技巧

    DL之CNN优化技术:学习卷积神经网络CNN的优化.调参实践.从代码深刻认知CNN架构之练习技巧 目录 卷积神经网络CNN调参学习实践 练习技巧 1.练习攻略一 2.VGG16练习攻略二 卷积神经网络 ...

  8. 使用TensorFlow 2.0+和Keras实现AlexNet CNN架构

    技术 (Technical) 介绍 (Introduction) The main content of this article will present how the AlexNet Convo ...

  9. 深度学习《CNN架构续篇 - 梯度下降的优化》

    骚话一下: 今天是2020年10月2号,继续学习.本文依然是<CNN架构>的延续博文,重点介绍优化的新的梯度下降算法. 一:梯度下降的种类 说到梯度下降的方法,确实是求最优解的比较好的途径 ...

  10. CV:计算机视觉技最强学习路线之CV简介(传统视觉技术/相关概念)、早期/中期/近期应用领域(偏具体应用)、经典CNN架构(偏具体算法)概述、常用工具/库/框架/产品、环境安装、常用数据集、编程技巧

    CV:计算机视觉技最强学习路线之CV简介(传统视觉技术/相关概念).早期/中期/近期应用领域(偏具体应用).经典CNN架构(偏具体算法)概述.常用工具/库/框架/产品.环境安装.常用数据集.编程技巧 ...

最新文章

  1. MYSQL 常用SQL
  2. laravel框架应用和composer扩展包开发
  3. 那位标榜技术驱动的开发者去哪了?
  4. jdk的安装与环境变量的配置
  5. 适用于具有Couchbase和WildFly的多容器和多主机应用程序的Docker Machine,Swarm和Compose...
  6. c# 微服务学习_资深架构师学习笔记:什么是微服务?
  7. Android Fragment (一)
  8. mysql count innodb 不正确_关于mysql中innodb的count优化问题分享
  9. perl中的q,qq,qw,qr,qx
  10. 0603 学术诚信与职业道德
  11. 高可用web架构: LVS+keepalived+nginx+apache+php+eaccelerator(+nfs可选 可不选)
  12. 使用Go编译为可执行文件(windows/linux)
  13. foobar2000中文版官方下载【多功能的音频播放器】
  14. 浙江大学-西湖大学联合培养博士生
  15. python基础语法看一篇就够了,全网最全python语法笔记汇总
  16. theano java_Theano多个张量作为输出
  17. 软件测试——透过表象看本质
  18. 苹果屏蔽更新描述文件_iOS屏蔽更新文件失效,教你两个技巧暂停更新
  19. 基于java SSM的仿哔哩哔哩视频分享系统
  20. (个人解题思路系列)五子棋

热门文章

  1. cf486A Calculating Function
  2. 自写函数的防抖和节流
  3. 解决Vue的history模式刷新页面出现404的问题
  4. Router.use() requires a middleware function but got a Object
  5. 【Vue】—列表渲染v-for指令
  6. 注册商标需要多长时间
  7. 怎样的高管才能得到下属的信任?
  8. 90后的你,有什么赚钱方式?
  9. 一个人成就的高低,努力程度只是标配
  10. 不玩游戏,855和730处理器在日常应用的速度差别有多大?