这篇论文提出了AlexNet,奠定了深度学习在CV领域中的地位。
1. ReLu激活函数
2. Dropout
3. 数据增强


网络的架构如图所示

包含八个学习层:五个卷积神经网络和三个全连接网络,并且使用了最大池化。

RELU非线性层

传统的神经网络的输出包括$tanh$ 和 $ y = (1+e^{-x})^{-1}$,namely sigmoid。 在训练阶段的梯度下降的过程中, 饱和的非线性层比非饱和的非线性层下降得更慢。

-- RELU 可以加快训练的速度,与饱和非线性函数相比达到相同的训练损失率,可以经过更少的迭代时间;

-- 同时指出了 如果使用传统的饱和型的神经元模型,并不能够使这个比较大的神经网络模型很好的工作;

-- 在ImageNet  数据集主要关注的使避免过拟合;

多个GPU进行训练(Traning on Multiple GPUs)

单个GPU的memory 是有限的,对于网络和数据集来说,训练十分困难;

利用两个GPU进行并行训练;

GPU只在某些层进行通信。这意味着,例如,第3层的内核从第2层中的所有内核映射中获取输入。但是,第4层中的内核仅从第3层中驻留在第3层的内核映射中获取输入。 相同的GPU。 选择连通模式是交叉验证的一个问题,但这使我们能够精确调整通信量,直到它是计算量的可接受部分。

Local Response Normalization

尽管RELU激活函数的使用,可以在加快训练速度的同时,取得比饱和非线性映射更好的效果,但是作者在采用了局部归一化技术后,泛化性得到了提高。

在RELU后使用这些技术;

减小过拟合(Reducing Overfitting)

动机:由于整个网络拥有6000万个参数;尽管ILSVRC的1000个类使得每个训练示例对从图像到标签的映射施加10位约束,十分有必要去考虑过拟合的问题。

数据扩充(Data Augmentation)

图像数据扩充,即人工的扩大数据集, 是减小过拟合现象最简单和常用的方法,作者使用两者不同的数据扩充方法:

--第一种形式是包括生成图像平移(image translations)和水平反射(horizontal reflection,镜像)具体的,他们从256*256的图像种随机抽取了224*224的图像patch用于训练,这将我们的训练集的大小增加了2048倍,尽管由此产生的训练示例当然是高度相互依赖的。在测试阶段,取每一个测试样本四个角以及中间区域,一共5个patch然后再镜像后得到10个样本输入到网络中,最后将10个softmax输出平均后作为最后的输出(测试阶段的处理有意思)。

--第二种形式是使用PCA对于训练数据进行增强:对于每一个RGB图像进行一个PCA的变换,完成去噪功能,同时为了保证图像的多样性,在特征值上加了一个随机的尺度因子,每一轮重新生成一个尺度因子,这样保证了同一副图像中在显著特征上有一定范围的变换,降低了过拟合的概率,作者指出这种方法近似的捕获了自然图像的主要属性,即对象标识不受光照强度和颜色变化的影响;

Dropout

将每个隐藏层的神经元以50%的概率进行随机置零;这些被随机置零的神经元并不在前向传播中产生作用,也不参与反向传播。使得每次的输入,神经网络都会对不同的体系结构进行采样,但是这些结构是分享权重的;减小了神经元之间复杂的协同适应能力。

所以dropout 强迫网络学习与其他神经元的许多不同的子集一起使用的更加健壮的特征。作者在前连个全连接层使用了dropout , 指出 付出了两倍的收敛时间‘


Overlapping Pooling

CNNs中的池化层总结了同一核映射中相邻神经元群的输出。传统的池化都是不重叠的,也就是说池化操作的步长是等于filter的尺寸的;而作者采用了重叠池化的操作,即步长小于filter的尺寸,减小了损失。


论文解读《ImageNet Classification with Deep Convolutional Neural Networks》的更多相关文章

  1. 《Population Based Training of Neural Networks》论文解读

      很早之前看到这篇文章的时候,觉得这篇文章的思想很朴素,没有让人眼前一亮的东西就没有太在意.之后读到很多Multi-Agent或者并行训练的文章,都会提到这个算法,比如第一视角多人游戏(Quake ...

  2. ImageNet Classification with Deep Convolutional Neural Networks 论文解读

    这个论文应该算是把深度学习应用到图片识别(ILSVRC,ImageNet large-scale Visual Recognition Challenge)上的具有重大意义的一篇文章.因为在之前,人们 ...

  3. 《Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Neural Networks》论文笔记

    论文题目<Deep Feature Extraction and Classification of Hyperspectral Images Based on Convolutional Ne ...

  4. Quantization aware training 量化背后的技术——Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference

    1,概述 模型量化属于模型压缩的范畴,模型压缩的目的旨在降低模型的内存大小,加速模型的推断速度(除了压缩之外,一些模型推断框架也可以通过内存,io,计算等优化来加速推断). 常见的模型压缩算法有:量化 ...

  5. Training Deep Neural Networks

    http://handong1587.github.io/deep_learning/2015/10/09/training-dnn.html  //转载于 Training Deep Neural ...

  6. Training (deep) Neural Networks Part: 1

    Training (deep) Neural Networks Part: 1 Nowadays training deep learning models have become extremely ...

  7. [CVPR2015] Is object localization for free? – Weakly-supervised learning with convolutional neural networks论文笔记

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 } p. ...

  8. Training spiking neural networks for reinforcement learning

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 原文链接:https://arxiv.org/pdf/2005.05941.pdf Contents: Abstract Introduc ...

  9. CVPR 2018paper: DeepDefense: Training Deep Neural Networks with Improved Robustness第一讲

    前言:好久不见了,最近一直瞎忙活,博客好久都没有更新了,表示道歉.希望大家在新的一年中工作顺利,学业进步,共勉! 今天我们介绍深度神经网络的缺点:无论模型有多深,无论是卷积还是RNN,都有的问题:以图 ...

  10. 论文翻译:BinaryConnect: Training Deep Neural Networks with binary weights during propagations

    目录 摘要 1.引言 2.BinaryConnect 2.1 +1 or -1 2.2确定性与随机性二值化 2.3 Propagations vs updates 2.4 Clipping 2.5 A ...

随机推荐

  1. swagger2注解详细说明

    @Api:用在请求的类上,表示对类的说明 tags="说明该类的作用,可以在UI界面上看到的注解" value="该参数没什么意义,在UI界面上也看到,所以不需要配置&q ...

  2. Java环境变量配置 新手必备

    第一步:安装JDK,无脑下一步 建议修改安装路径 这里以jdk1.7为例子(之前帮机房安装软件,五六十台电脑都要用1.7); 2.安装完了之后右击此电脑,打开属性 打开系统高级设置 打开环境变量 这里 ...

  3. 你可能不知道的 Date 类

    Date 是 JS 中的重要的一个内置对象,其实例主要用于处理时间和日期,其时间基于 1970-1-1 (世界标准时间)起的毫秒数,时间戳长度为 13 位(不同于 Unix 时间戳的长度 10 位). ...

  4. hosts文件的内容

    C:\Windows\System32\drivers\etc\hosts 1 # Copyright (c) 1993-2009 Microsoft Corp. 2 # 3 # This is a ...

  5. PADS Layout VX.2.3 灌铜之后只显示灌铜外框,没有显示整块铜皮

    操作系统:Windows 10 x64 工具1:PADS Layout VX.2.3 使用Copper Pour功能,画了一个灌铜区,并分配了网络. Tools > Pour Manager,打 ...

  6. day63:Linux:nginx基础知识&nginx基础模块

    目录 1.nginx基础知识 1.1 什么是nginx 1.2 nginx应用场景 1.3 nginx组成结构 1.4 nginx安装部署 1.5 nginx目录结构 1.6 nginx配置文件 1. ...

  7. JavaScript innerTHML和createElement效率对比

    前言: 在DOM节点操作中,innerTHML和createElement都可以实现创建元素.它们实现的功能类似,但是效率却相差很大.本文分别统计用innerTHML字符串拼接方式.innerTHML ...

  8. 极客 Play 玩 Terminal——GitHub 热点速览 Vol.40

    作者:HelloGitHub-小鱼干 多少人以为暗黑的终端便是一名程序员的工作台,其实上,终端可以不只是一个输入 command 的界面,也可以是本周特推 kb 一样,面向极客的极简命令行知识库管理器 ...

  9. 唯品会Java开发手册》1.0.2版阅读

    <唯品会Java开发手册>1.0.2版阅读 1. 概述 <阿里巴巴Java开发手册>,是首个对外公布的企业级Java开发手册,对整个业界都有重要的意义. 我们结合唯品会的内部经 ...

  10. java流程控制学习

    Java流程控制 计算的步骤就是算法. 1.用户交互Scanner next()不能得到带有空格的字符串.[它是以空格为结束符]nextline()可以,[它是以回车为结束符] 2.顺序结构 从上到下 ...