cs231n spring 2017 lecture9 CNN Architectures 听课笔记
参考《deeplearning.ai 卷积神经网络 Week 2 听课笔记》。
1. AlexNet(Krizhevsky et al. 2012),8层网络。
学会计算每一层的输出的shape:对于卷积层,输出的边长 =(输入的边长 - filter的边长)/ 步长 + 1,输出的通道数等于filter的数量。每个filter的通道数等于输入的通道数。卷积层的参数 = filter的长 * filter的宽 * 输入的通道数 * filter的数量。池化层没有需要学习的参数。
图中分成两个通道是为了在不同GPU上处理。
2013年的ZFNet延续了AlexNet的架构(也是8层网络),优化了参数,取得了更好的效果(错误率从16.4%降到11.7%)。
2. VGGNet(Simonyan and Zisserman, 2014),16~19层网络。
三个3*3的filter串联等价于一个7*7的filter,用更小的filter的好处是增加了网络的深度,增加了非线性程度,更少的参数。
3. GoogLeNet(Szegedy et al., 2014)
Inception module是同时用不同的filter(1*1,3*3,5*5,Pooling),并把结果堆叠起来。这样做的缺点是计算量变大。解决的办法是先用1*1的卷积压缩通道数量(参考《deeplearning.ai 卷积神经网络 Week 2 听课笔记》)。
4. ResNet(He et al., 2015),152层网络。
解决了很深的网络难优化的问题。
对于深度的网络(ResNet-50+),类似GoogLeNet用1*1的卷积层去压缩通道数以提高效率。
5. 复杂度的比较
6. 其他一些网络
Network in Network (NiN)(Lin et al., 2014):启发了GoogLeNet和ResNet的“bottleneck”层(1*1卷积层)。
Identity Mappings in Deep Residual Networks (He et al., 2016):ResNet的改进。
Wide Residual Networks (Zagoruyko et al., 2016):认为residuals是很重要的,而不是深度。增加宽度而不是深度,会计算更有效。50层的宽的ResNet比152层的原始的ResNet更好。
ResNeXt (Xie et al., 2016):也是增加宽度,和Inception module很类似的想法。
Deep Networks with Stochastic Depth (Huang et al., 2016):为了解决梯度消失的问题,随机地drop掉一些层。在测试阶段使用全部的网络,不drop任何层。
FractalNet (Larsson et al., 2017):认为residual不是必须的,重要的是浅层到深层的有效传递(transitioning),训练阶段也是随机drop掉一些层,测试阶段不drop任何层。
Densely Connected Convolutional Networks (Huang et al., 2017):为了解决梯度消失的问题,每一层与其他层更稠密的连接。
SqueezeNet (Landola et al., 2017):更少的参数,更好的准确度。
7. 总结
VGG、GoogLeNet、ResNet被广泛应用,现在已经是集成到各个现成框架。
ResNet是当今最佳,默认选项。
趋势是越来越深的网络。
很多研究集中在设计层与层之间的连接方式,为了改善梯度的传播。
最新的研究在争论深度和宽度,以及residual的必要性。
cs231n spring 2017 lecture9 CNN Architectures 听课笔记的更多相关文章
- cs231n spring 2017 lecture9 CNN Architectures
参考<deeplearning.ai 卷积神经网络 Week 2 听课笔记>. 1. AlexNet(Krizhevsky et al. 2012),8层网络. 学会计算每一层的输出的sh ...
- cs231n spring 2017 lecture13 Generative Models 听课笔记
1. 非监督学习 监督学习有数据有标签,目的是学习数据和标签之间的映射关系.而无监督学习只有数据,没有标签,目的是学习数据额隐藏结构. 2. 生成模型(Generative Models) 已知训练数 ...
- cs231n spring 2017 lecture14 Reinforcement Learning 听课笔记
(没太听明白,下次重新听) 1. 增强学习 有一个 Agent 和 Environment 交互.在 t 时刻,Agent 获知状态是 st,做出动作是 at:Environment 一方面给出 Re ...
- cs231n spring 2017 lecture2 Image Classification 听课笔记
1. 相比于传统的人工提取特征(边.角等),深度学习是一种Data-Driven Approach.深度学习有统一的框架,喂不同的数据集,可以训练识别不同的物体.而人工提取特征的方式很脆弱,换一个物体 ...
- cs231n spring 2017 lecture7 Training Neural Networks II 听课笔记
1. 优化: 1.1 随机梯度下降法(Stochasitc Gradient Decent, SGD)的问题: 1)对于condition number(Hessian矩阵最大和最小的奇异值的比值)很 ...
- cs231n spring 2017 lecture11 Detection and Segmentation 听课笔记
1. Semantic Segmentation 把每个像素分类到某个语义. 为了减少运算量,会先降采样再升采样.降采样一般用池化层,升采样有各种"Unpooling"." ...
- cs231n spring 2017 lecture16 Adversarial Examples and Adversarial Training 听课笔记
(没太听明白,以后再听) 1. 如何欺骗神经网络? 这部分研究最开始是想探究神经网络到底是如何工作的.结果人们意外的发现,可以只改变原图一点点,人眼根本看不出变化,但是神经网络会给出完全不同的答案.比 ...
- cs231n spring 2017 lecture15 Efficient Methods and Hardware for Deep Learning 听课笔记
1. 深度学习面临的问题: 1)模型越来越大,很难在移动端部署,也很难网络更新. 2)训练时间越来越长,限制了研究人员的产量. 3)耗能太多,硬件成本昂贵. 解决的方法:联合设计算法和硬件. 计算硬件 ...
- cs231n spring 2017 lecture12 Visualizing and Understanding 听课笔记
这一节课很零碎. 1. 神经网络到底在干嘛? 浅层的是具体的特征(比如边.角.色块等),高层的更抽象,最后的全连接层是把图片编码成一维向量然后和每一类标签作比较.如果直接把图片和标签做像素级的最近领域 ...
随机推荐
- node作为客户端请求第三方
var http = require('http'); let util = require('util'); http.get('http://www.imooc.com/u/card',funct ...
- http中的get和post(一)
GET和POST有什么区别?及为什么网上的多数答案都是错的. 如果有人问你,GET和POST,有什么区别?你会如何回答? 我的经历 前几天有人问我这个问题.我说GET是用于获取数据的,POST,一般用 ...
- 每周.NET前沿技术文章摘要(2017-06-07)
汇总国外.NET社区相关文章,覆盖.NET ,ASP.NET等内容: .NET .NET Core and .NET Framework Working Together, Or: The Magic ...
- 平方根的C语言实现(三) ——最终程序实现
版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7223254.html 作者:窗户 Q ...
- iOS学习——iOS常用的存储方式
不管是在iOS还是Android开发过程中,我们都经常性地需要存储一些状态和数据,比如用户对于App的相关设置.需要在本地缓存的数据等等.根据要存储的的数据的大小.存储性质以及存储类型,在iOS和An ...
- lesson - 2 笔记 yum /single /rescue /
一. yum 作用: yum 命令是在Fedora 和RedHat 以及SUSE 中基于rpm 的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理R ...
- Android短视频SDK转码实践
一. 前言 一些涉及的基本概念: 转码:一般指多媒体文件格式的转换,比如分辨率.码率.封装格式等: 解复用(demux):从某种封装中分离出视频track和音频track,然后交给后续模块进行处理: ...
- Linux(CentOS7.1)修改默认yum源为国内的阿里云yum源
官方的yum源在国内访问效果不佳. 需要改为国内比较好的阿里云或者网易的yum源 修改方式: 下载wget yum install wget -y echo 备份当前的yum源 mv /etc/yum ...
- localStorage用法总结
这些知识是参考下面的朋友的.谢谢分享. http://www.jianshu.com/p/39ba41ead42e http://www.cnblogs.com/st-leslie/p/5617130 ...
- php SeasLog使用以及liunx环境下安装
1.下载SeasLog http://pecl.php.net/package/SeasLog php官方 https://github.com/Neeke/SeasLog 作者的github 2. ...