本文是对《ImageNet Classification with Deep Convolutional Neural Networks》一文的浅显翻译与理解,如有侵权即刻删除。

更多相关文章,请移步:
文献阅读总结:计算机视觉

文章目录

  • Title
  • 总结
    • 1 整体框架
      • 1.1 ReLU激活函数
      • 1.2 GPU上并行训练
      • 1.3 局部归一化
      • 1.4 有重叠池化
    • 2 减少过拟合
      • 2.1 数据增强
      • 2.2 Dropout
    • 3 回顾

Title

《ImageNet Classification with Deep Convolutional Neural Networks》

——NIPS2012

Author: Alex Krizhevsky

总结

该文是深度学习浪潮的奠基作之一,具体讲解可参考李沐解读视频:https://www.bilibili.com/video/BV1ih411J7Kz?spm_id_from=333.999.0.0

文章将基于CNN的神经网络模型扩展到了多层,提出了AlexNet方法,以增强模型在大规模图像数据集上的效果,同时在有标签数据样本上的实验,也能够超过现有方法。

1 整体框架

AlexNet在结构上包含八层,前五层为卷积层,后三层为全连接层。鉴于GPU的显存受限,文章构建了在双GPU上并行训练的模型,通过中间某些层的通信完成对两个网络的结合。其模型示意图如下所示:

此外,文章介绍了一些主要的贡献,在下文中简单介绍不再赘述。

1.1 ReLU激活函数

文章指出,使用ReLU这种不饱和非线性函数,模型的收敛速度要快于饱和的非线性函数例如tanh或sigmoid,如图所示:

1.2 GPU上并行训练

受限于GPU的显存大小,文章将模型搭建在两个GPU上,通过中间层通信完成网络的数据信息交换。

1.3 局部归一化

文章提出了在网络层上的归一化方法,能够提高模型效果,其计算如下所示:

1.4 有重叠池化

传统意义上的池化是前一层的各个位置对应后一层的各个位置,即层内部的数据量不变。而有重叠的池化,即将池化层的大小调整得小于前一层的输出大小,从而使得池化层的每个位置是经由前一层多个位置聚合得到的。

2 减少过拟合

文章为减少过拟合,在网络模型中加入了正则化的操作,具体可以分为两类,即数据增强和dropout(舍弃)。

2.1 数据增强

数据增强又可分为两种思路,一种是对256256的原始图片,随机在其中取224224大小的内容作为输入,那么一张图片从理论上就可以有2048中输入结果。此外,还可以通过对图片的RGB内容进行修改,以得到数据增强的效果。

2.2 Dropout

该方法可作用于网络的每一层上,对每个位置,按照一定的概率决定是否随机舍弃,这种情况下就意味着模型每一次得到的输入是不同的,但其参数集是共享的,也就避免了对单次输入数据的过拟合学习。

3 回顾

该部分为李沐解读视频中,从2021年眼光回看2012年该论文的一些局限:

  • 整篇论文的写作加入了大量工程技术方面的细节,而对于使用技术的解释有一部分没有展开介绍,更像是一篇技术报告。
  • 当时提到的大型神经网络模型要通过很好的正则化来防止过拟合,现在看来如果模型设计得当,没有明确的正则化项也同样能够达到理想结果。
  • intro部分没有介绍别的神经网络模型,而直接指出要怎样调整CNN。事实上在当时,用CNN搭建模型并非主流,因此这种写作就导致了一个较窄的视角,在写作中应当注意与其他方法相联系。
  • 文章在介绍数据集时提到,送入模型的就是原始图像而非提取后的特征,在当时没有作为一个重点展开,而是一笔带过。但之后大部分端到端的工作,都将原始图像的输入作为一个卖点来提出了。
  • 文章介绍了normalization方法,但这个技巧并不重要,在后续几乎没有人会用到它,现在也有了更好的规范化技巧。
  • 对网络模型结构的示意图表达得较为复杂,将模型分布到两张GPU上进行并行的训练和通讯,从之后几年的眼光来看也是一个非常复杂的技术细节且并非十分必要。但最近的两三年,随着GPT/BERT等大规模模型的出现,研究者们发现在一张GPU上又开始难以训练,开始尝试把模型切成几块做并行化训练。
  • 文章提到的数据增强方面,在CPU上执行,要比在GPU上的模型训练快得多,所以是free的。从当时的视角看来,可能作者的CPU相比GPU性能要更好。但如今来看,GPU的发展速度大幅超过CPU,那么放到如今可能在CPU上做数据增强反而会占据最大一块的训练时间。
  • 文章提到的dropout方面,通过按照一定概率将网络层间的输入部分变为0,可以等价于新的模型,多次dropout就是多个模型的混合。但现在看来,dropout并不是做了模型混合,而只是一个正则化项,基本等价于L2范式。而且现在的CNN设计的全连接不会达到4096这么大的长度,因此dropout也变得不那么重要。不过dropout在全连接层上还是非常有效的,在RNN或者attention上用得比较多。

文献阅读(63)NIPS2012-ImageNet Classification with Deep Convolutional Neural Networks相关推荐

  1. 论文《ImageNet Classification with Deep Convolutional Neural Networks》阅读及AlexNet的Tensorflow2复现

    论文<ImageNet Classification with Deep Convolutional Neural Networks>阅读及AlexNet的Tensorflow2复现 论文 ...

  2. 《每日论文》ImageNet Classification with Deep Convolutional Neural Networks

    这篇论文是剖析 CNN 领域的经典之作,也是入门 CNN 的必读论文.作者训练了一个面向数量为 1.2 百万的高分辨率的图像数据集 ImageNet, 图像的种类为 1000 种的深度卷积神经网络. ...

  3. AlexNet论文翻译(中英文对照版)-ImageNet Classification with Deep Convolutional Neural Networks

    图像分类经典论文翻译汇总:[翻译汇总] 翻译pdf文件下载:[下载地址] 此版为中英文对照版,纯中文版请稳步:[AlexNet纯中文版] ImageNet Classification with De ...

  4. 经典DL论文研读(part4)--ImageNet Classification with Deep Convolutional Neural Networks

    学习笔记,仅供参考,有错必纠 文章目录 ImageNet Classification with Deep Convolutional Neural Networks 摘要 Introduction ...

  5. ImageNet Classification with Deep Convolutional Neural Networks论文翻译——中文版

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 翻译论文汇总:https://github.com/SnailTyan/deep-learning-papers- ...

  6. 论文研读 —— 6. ImageNet Classification with Deep Convolutional Neural Networks (1/3)

    文章目录 Authors and Publishment Authors Bibtex Abstract 1. Introduction 2. The Dataset Authors and Publ ...

  7. ImageNet Classification with Deep Convolutional Neural Networks论文翻译——中英文对照

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 翻译论文汇总:https://github.com/SnailTyan/deep-learning-papers- ...

  8. 《ImageNet Classification with Deep Convolutional Neural Networks》翻译

    1 引言 2 数据集 3 架构 3.1 ReLU 非线性 3.2 训练多个GPU 3.3 局部响应归一化 3.4 重叠池化 3.5 整体架构 4 减少过拟合 4.1 数据增强 4.2 Dropout ...

  9. 论文研读 —— 6. ImageNet Classification with Deep Convolutional Neural Networks (2/3)

    文章目录 3. The Architecture 3.1. ReLU Nonlinearity 3.2. Training on Multiple GPUs 3.3. Local Response N ...

最新文章

  1. FM-2018-大熊猫的肠道菌群可能并没有特化出发酵纤维素的能力
  2. jquery ajax 省 城市 二级菜单 源码,利用了jquery的ajax实现二级联互动菜单
  3. [NHibernate]基本配置与测试
  4. JS 表单和表单元素
  5. 计算机无法进入桌面怎么备份,无法进入系统如何正常备份数据?
  6. Eureka深入理解
  7. 单片机编程软件 UV4启动界面修改(没啥卵用系列)
  8. for linux pdf转mobi_linux PDF转换为SWF
  9. c51间隔点亮c语言编程,51系列单片机C语言编程
  10. OpenCV — Otsu 算法
  11. 怎么把ide改成ahci_怎么改硬盘模式IDE,AHCI
  12. Android sdk build-tools sdk tools 历史版本下载
  13. *Php消息队列实现
  14. UMTS 与 WCDMA的区别
  15. oracle怎么看alter日志,Oracle 11g 日志alter文件位置
  16. Pytorch 学习日记(一)
  17. 【练习】苏宁易购注册界面的实现
  18. Elasticsearch 跨机房灾备方案实战(一) —— 消息队列实现双写
  19. Android拖动实现(一个流畅的拖动排序DragSortGridView,自动滚屏)
  20. 中国食品加工用酶市场趋势报告、技术动态创新及市场预测

热门文章

  1. BIM模型文件下载——体育馆模型
  2. codeforces 538B
  3. HTML 格式化标签
  4. AES加密出现Error: Malformed UTF-8 data报错的解决方法
  5. O'Relly图书大合集
  6. linux 七层防火墙,iptables防火墙实现七层过滤对应用层的过滤
  7. 基于python命令流及代码的Plaxis自动化建模
  8. ArrayBlockingQueue原理详解
  9. proces record
  10. delphi 操作符重载_Delphi XE2中的运算符重载示例