alexnet在深度学习的发展中具有奠基意义,此文条理性总结论文ImageNet Classification with Deep Convolutional Neural Networks中的知识点,以供理解论文,也可做为学习cnn的参考。

我们先对cnn(卷积神经网络)做一个简要的介绍,此地的卷积和数学中的卷积并不是一个概念,数学的的卷积是一种运算,有降维的功能,而此地的卷积更像是一种变换,或是过滤器,英文的filter、kernel、convolusion都指的是它。如果我们把卷积看成是一个具有池化、过滤功能的变换函数F,那么Alex net就是F(F(F(F(F(inputImage)))))这样一个复合函数,每一个函数的入参是上一层函数的处理结果,也就是featuremap,第一层的入参就是数据集中的图像。进一步来讲,以人类的视角,我们知道图像是图像,而计算机并没有图像的认知,对它而言,就是以宽、高、通道为维度的张量。

我们可以将监督学习训练的前馈网络视为表示学习的一种形式。具体地,网络
的最后一层通常是线性分类器,如 softmax 回归分类器。网络的其余部分学习出该
分类器的表示。---花书 15章 序文 第四段

这段话摘自花书,我们可以理解,卷积层所做的都是表示学习,也就是说它并不具有分类功能,真正将数据分类的是最后的分类器,Alex net采用了全连接,以全连接作为分类器,还有支持向量机、全局池化都可以作为分类器使用。对于分类器,我们可以这样理解,经过了卷积层的层层过滤、池化输入图像被变换成了一个维度一定的向量,比如4096维的向量,分类器,在Alex net就是全连接层,就是对这个高维向量的分类,4096维的空间超出人类感知,我们只知道三维的空间,分类器就相当于对空间的划分,对吧。
分类器:  全局池化、全连接(会丢失空间信息)、dropout
表示学习:  network in network、 Inception、resnet 等等,似乎很多架构设计都是在表示学习。

按照原文中的顺序整理:

1、不饱和激活函数relu提高计算效率
    这是因为计算机计算指令,我们知道处理器是一个逻辑电路,它只能做加减乘除运算,对于指数、三角等复杂的函数它都是将函数表示成泰勒级数再去计算的,关于泰勒级数此地不做赘述,笔者大致计算,tanh的计算量大致是relu的几百倍,也就是说,计算一次tanh所消耗的计算资源,处理器所执行的指令数,是relu的几百倍。计算机指令周期*指令数=执行时间,tanh消耗的时间更长在计算机原理上的解释是这样的,cs231n也有提及用更简单的激活函数提高效率。

2、两个gpu
    这是一种分布式思想,或者是并行计算,这里边有一个限制就是上文提及的复合函数,每一层的计算是依赖于上一层的输出的,所以不能将层分开,一个gpu训练前两层,另一个训练后三层这样就不是并行计算了,它还会是串行的,效率不会有显著提高,也浪费了处理器的性能。Alex net的做法是按通道分布,两个gpu分别训练一半的featuremap,两个gpu同时处理同一层,这样就可以并行了。还有更细节的安排,详见原文。

3、dropout防止过拟合 没有dropout稳定过拟合
    我们可以明确,dropout是用于分类器全连接层的,卷积不会用,池化也不会用。它是一个正则化方法,用以避免过拟合。
    以支持向量机考虑,一个向量就是高维空间的一个点,如果神经元很多,分类就可以很精确,泛化能力就会变差,使用了dropout,降低神经元数量 相当于弱化分类器,增大分类在4096维空间的流形,dropout也是有度量的,如果drop太多的神经元也容易欠拟合。
    Bagging(bootstrap aggregating)是通过结合几个模型降低泛化误差的技术
(Breiman, 1994)。主要想法是分别训练几个不同的模型,然后让所有模型表决测
试样例的输出。这是机器学习中常规策略的一个例子,被称为 模型平均(model
averaging)。采用这种策略的技术被称为集成方法。
Dropout (Srivastava et al., 2014) 提供了正则化一大类模型的方法,计算方便
但功能强大。在第一种近似下,Dropout可以被认为是集成大量深层神经网络的实
用Bagging方法。Bagging涉及训练多个模型,并在每个测试样本上评估多个模型。
当每个模型都是一个很大的神经网络时,这似乎是不切实际的,因为训练和评估
这样的网络需要花费很多运行时间和内存。通常我们只能集成五至十个神经网络,
如Szegedy et al. (2014a)集成了六个神经网络赢得 ILSVRC,超过这个数量就会迅速
变得难以处理。Dropout提供了一种廉价的Bagging集成近似,能够训练和评估指数
级数量的神经网络。
这两段摘自花书7.11、 7.12  也就是说,dropout是把一个全连接拆分成多个,再用这多个求平均值,作为一个集成模型。

4、深度 宽度 容量
    CNN的容量由深度和宽度构成,深度是指层数,宽度指每一层的容量。
    深度增加比宽度增加具有更好的泛化性,这是一个公认的现象,但是没有人解释为什么,我们浅显的猜想,深度增加一层相当于加一层复合函数,而宽度增加相当于增加多项式,显然增加深度,增加复合函数层数更加复杂更具表现力。

5、与标准前馈网络相比 cnn参数明显更少   
      这个特性是基于参数共享,详见花书9.2

6、五个卷积层 少任意一层都会使结果更差 共八层 
    摸索 尝试 原文未提及理论依据是什么

7、受限于内存容量 训练时间
    事实证明,后来的resnet、Inception等等网络,深度都远远高于Alex net也取得了更高的准确率

8、局部归一化 relu不致于饱和 但是加入归一化有助于泛化能力
    正常的归一化是为了避免饱和,请参考tanh和sigmoid函数的图像,当输入大于1,很大很大时激活函数会很平,导数会趋近于0,梯度会消失。
    relu不会饱和,但是加入归一化有助于泛化能力,显然这也是基于实验的,没有人解释是为什么。

10、池化 有重复的池化错误率降低0.4%、0.3%,原文没有提供理论依据 使实验出来的  同时 重复池化更难过拟合

11、输出1000个类别 softmax归一化 最大似然概率
    
13、随机梯度下降 
    引入动量,递归计算避免鞍点和局部极值,损失函数会过早收敛,误差也会停止传播,训练就会失去意义。学习率太低收敛速率也会很低,太高就会在极值点徘徊振荡,不会收敛。Alex net选择的学习率是3倍缩小,每一次循环缩小三倍,直到终止。

Alex net解读相关推荐

  1. ALEX net 解读

    在imagenet上的图像分类challenge上Alex提出的alexnet网络结构模型赢得了2012届的冠军.要研究CNN类型DL网络模型在图像分类上的应用,就逃不开研究alexnet,这是CNN ...

  2. 1024 程序员节专题论坛来袭,权威解读 MindSpore、CANN 5.0 特性和 HCIA MDC 开发者认证...

    "授人以鱼不如授人以渔",一句古话中蕴含的发展真理,我们将其套用到如今炽手可热的 AI 领域之上会发现无比适用.2018 年,华为提出了普惠 AI 的概念,降低 AI 开发门槛,让 ...

  3. 硬货 | 一文解读完五篇重磅ACL2017 NLP论文

    向AI转型的程序员都关注了这个号☝☝☝ 作者 | 洪亮劼 责编 | 何永灿 涉及自然语言处理.人工智能.机器学习等诸多理论以及技术的顶级会议--ACL 2017于今年7月31日-8月4日在加拿大温哥华 ...

  4. python网上编程课程-少儿编程 为你解读Python编程课程

    少儿编程 为你解读Python编程课程.重庆乐博乐博少儿编程培训学校的老师好评率高,具有很好的亲和力,专业知识讲解清晰,授课思路明晰,合理课程安排和辅导,针对学员的学习心理状态也会及时关注,赢得了广大 ...

  5. [caffe]深度学习之图像分类模型AlexNet解读

    在imagenet上的图像分类challenge上Alex提出的alexnet网络结构模型赢得了2012届的冠军.要研究CNN类型DL网络模型在图像分类上的应用,就逃不开研究alexnet,这是CNN ...

  6. Paper之IEEERSJ:2009年~2019年机器人技术(IEEE机器人和自动化国际会议RSJ智能机器人与系统国际会议机器人技术:科学与系统机器人学报)历年最佳论文简介及其解读

    Paper之IEEE&RSJ:2009年~2019年机器人技术(IEEE机器人和自动化国际会议&RSJ智能机器人与系统国际会议&机器人技术:科学与系统&机器人学报)历年 ...

  7. Paper:《Generating Sequences With Recurrent Neural Networks》的翻译和解读

    Paper:<Generating Sequences With Recurrent Neural Networks>的翻译和解读 目录 Generating Sequences With ...

  8. Paper之ACLEMNLP:2009年~2019年ACL计算语言学协会年会EMNLP自然语言处理的经验方法会议历年最佳论文简介及其解读

    Paper之ACL&EMNLP:2009年~2019年ACL计算语言学协会年会&EMNLP自然语言处理会的经验方法会议历年最佳论文简介及其解读 目录 ACL计算语言学协会年会& ...

  9. Paper:2017年的Google机器翻译团队《Transformer:Attention Is All You Need》翻译并解读

    Paper:2017年的Google机器翻译团队<Transformer:Attention Is All You Need>翻译并解读 目录 论文评价 1.Motivation: 2.创 ...

最新文章

  1. p2v、v2v 转换-windows篇
  2. oracle 11g rac手册(第2版) 高清,Oracle Database11g RAC手册(第2版)_IT教程网
  3. restful,RESTful API 设计,GET/PUT/DELETE/POST
  4. 【PP操作手册】工作中心的维护
  5. PhpStorm 对 AngularJS 的支持
  6. 2.在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,例如在业务方法 method() 调用之前输出“方法 method() 被
  7. 美团脱颖而出的经验_使数据科学项目脱颖而出的6种方法
  8. linux 加密工具办法
  9. 信息学奥赛一本通 1151:素数个数
  10. Java程序细胞工厂_Spring Boot实现原理分析
  11. 云图说|华为云自研云数据库GaussDB NoSQL,兼容多款NoSQL接口的数据库服务
  12. 1.7 Linux文件目录查看与编写内容
  13. 去除DataTable重复数据的三种方法(转)
  14. netdevice - 底层访问 Linux 网络设备
  15. nod32/ESET下載及更新
  16. 【算法】基于AOE网的关键路径算法
  17. linux鼠标怎么取出来,浅析linux中鼠标数据读取
  18. 谣言检测论文精读——1.IJCAI2016-Detecting Rumors from Microblogs with Recurrent Neural Networks
  19. 浅谈阿里云混合云新一代运维平台演进与实践
  20. ios打没有签名的ipa包

热门文章

  1. Clustering coefficient的计算
  2. 春天到了,讲讲Spring的工作原理
  3. LDMIA、LDMIB、LDMDB、LDMDA、STMIA、LDMFD、LDMFA、LDMED、LDMEA等指令详解
  4. 《计算机网络》第7版——知识摘要总结
  5. 2021-2027全球及中国PCR试管行业研究及十四五规划分析报告
  6. 云桌面及桌面虚拟化的功能
  7. 怎么打印加密的PDF文件?
  8. Java---高级流
  9. 南宁装修工长带队,价格公道不乱增加项目
  10. 我的世界基java版刷怪机制_我的世界刷怪上限范围解析 刷怪塔不刷怪原因