概要:

本文中的Alexnet神经网络在LSVRC-2010图像分类比赛中得到了第一名和第五名,将120万高分辨率的图像分到1000不同的类别中,分类结果比以往的神经网络的分类都要好。为了训练更快,使用了非饱和神经元并对卷积操作进行双GPU实现。为了减少全连接层的过拟合,本文采用了dropout的正则化方法。

一、背景

简单的识别任务在小数据集上可以被解决的很好,但是在数据集很大的情况下,我们需要一个很强的学习模型。CNN可以通过改变数据集的广度和深度来补偿大数据中没有的数据,同时比起层次大小相似的前馈神经网络,CNN有更少的连接和参数,所以更加容易训练,现在由于GPU的出现,CNN可以被大量地训练。

二、模型

1.ReLU非线性

本文使用的是ReLU非线性函数,虽然tanh(x)和(1+e-x)-1函数是标准函数,但是它们梯度下降的时间需要训练很久,所以我们采用max(0,x)函数。

2.多GPU训练

在训练CNN的时候我们采用在GPU上运行,而且我们采用两个GPU同时运行的方式,这里运行有个技巧:只在某些特定的层进行GPU通信,例如第三层的神经网络会将第二层的所有神经网络作为输入,但是第四层的神经网路可能只会讲同GPU的神经网络映射作为输入,这样双GPU的运行效果要比单个GPU处理半个范围类似的神经网络速度快。

3.局部响应归一化

ReLU具有让人满意的特性,不需要通过输入归一化来防止饱和。但是我们发现局部响应归一化有助于泛化。

4.重叠池化

网络使用大小为33,步长为2的池化层,使得池化时有重叠部分,讲top-1和top-5错误率降低了0.4%和0.3%。

5.整体结构

三、减少过拟合

1.数据加强

一种方法是随机选取其中224
224图像及其水平翻转后的图像作为训练数据,使得数据扩大2048倍,大大减少过拟合。预测的时候利用图像角落上的4个图像和中间的一个图像,计算结果的平均值。

第二种方法是转变图像RGB通道的强度。对RGB像素值作主成分分析,然后对每张训练图像的像素值,加上主成分乘上对应特征值,再加上均值为1,标准差为0.1的随机值的积。

2.Dropout

将许多模型预测结合起来是降低测试误差的方法,但是花费的时间比较多,用dropout方法以0.5的概率对每个隐层神经元的输出设为0,“失活的”神经元不再进行前向传播并且不参加反向传播,这个技术减少了复杂的神经元相互适应,因为一个神经元不能依赖特定的其他神经元存在。所以神经元被强迫学习更鲁邦的特征。

四、结果

在ILSVRC-2010数据集上网络取得了top-1和top-5错误率37.5%和17.0%。

实验进展:

学习了神经网络简单模型的搭建,做了批训练和优化的实验,正在搭建分析手写数字的卷积神经网络模型。

下周计划:

搭建完分析手写数字的卷积神经网络,看一篇比较经典的CNN论文,看一篇推荐系统相关的论文。

阅读笔记:ImageNet Classification with Deep Convolutional Neural Networks的更多相关文章

  1. 《ImageNet Classification with Deep Convolutional Neural Networks》 剖析

    <ImageNet Classification with Deep Convolutional Neural Networks> 剖析 CNN 领域的经典之作, 作者训练了一个面向数量为 ...

  2. ImageNet Classification with Deep Convolutional Neural Networks(译文)转载

    ImageNet Classification with Deep Convolutional Neural Networks Alex Krizhevsky, Ilya Sutskever, Geo ...

  3. AlexNet论文翻译-ImageNet Classification with Deep Convolutional Neural Networks

    ImageNet Classification with Deep Convolutional Neural Networks 深度卷积神经网络的ImageNet分类 Alex Krizhevsky ...

  4. 中文版 ImageNet Classification with Deep Convolutional Neural Networks

    ImageNet Classification with Deep Convolutional Neural Networks 摘要 我们训练了一个大型深度卷积神经网络来将ImageNet LSVRC ...

  5. 论文阅读笔记二-ImageNet Classification with Deep Convolutional Neural Networks

    分类的数据大小:1.2million 张,包括1000个类别. 网络结构:60million个参数,650,000个神经元.网络由5层卷积层,其中由最大值池化层和三个1000输出的(与图片的类别数相同 ...

  6. [论文阅读] ImageNet Classification with Deep Convolutional Neural Networks(传说中的AlexNet)

    这篇文章使用的AlexNet网络,在2012年的ImageNet(ILSVRC-2012)竞赛中获得第一名,top-5的测试误差为15.3%,相比于第二名26.2%的误差降低了不少. 本文的创新点: ...

  7. AlexNet——ImageNet Classification with Deep Convolutional Neural Networks

    1. 摘要 本文的模型采用了 5 层的卷积,一些层后面还紧跟着最大池化层,和 3 层的全连接,最后是一个 1000 维的 softmax 来进行分类. 为了减少过拟合,在全连接层采取了 dropout ...

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

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

  9. 论文解读《ImageNet Classification with Deep Convolutional Neural Networks》

    这篇论文提出了AlexNet,奠定了深度学习在CV领域中的地位. 1. ReLu激活函数 2. Dropout 3. 数据增强 网络的架构如图所示 包含八个学习层:五个卷积神经网络和三个全连接网络,并 ...

随机推荐

  1. sql查询速度慢分析及如何优化查询

    原因分析后台数据库中数据过多,未做数据优化数据请求-解析-展示处理不当 网络问题提高数据库查询的速度方案SQL 查询速度慢的原因有很多,常见的有以下几种:1.没有索引或者没有用到索引(查询慢最常见的问 ...

  2. js如何替换字符串中匹配到多处中某一指定节点?

    抛出一个问题,如图,搜索关键字,匹配到四处,那我鼠标放在第二处,我想把它变个颜色,该怎么实现呢?回到文章的标题,js如何替换字符串中匹配到多处中某一指定节点? 字符串的替换,我们首先想到的一个属性是r ...

  3. 前端面试:Http协议与浏览器

    Http与Https的区别 Http是明文传输的,Https协议是在Http协议上添加了SSL的加密协议,可以进行加密传输和身份验证. 其实就是说Http对网络传输完全是裸奔状态,也就没办法防范中间人 ...

  4. Tomcat-8.5.23 基于域名和端口的虚拟主机

    下载tomcat yum install java -y cd /opt/ wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.23/b ...

  5. Haproxy-1.8.20 根据路径(URI)转发到后端不同集群

    HAProxy根据不同的URI 转发到后端的服务器组 1 ) 实验内容说明: 1.1 ) 根据不同的URI 转发到后端的服务器组. /a /b 和其他 默认使用其他. 1.2 ) 使用IP介绍: ha ...

  6. 【Linux】Centos7 安装redis最新稳定版及问题解决

    ------------------------------------------------------------------------------------------------- | ...

  7. ctfshow—web—web签到题

    打开靶机,发现只有一句话 查看源码 发现一段字符串,猜是base64加密 拿到flag

  8. SpringBoot快速掌握(1):核心技术

    SpringBoot快速掌握(1):核心技术 SpringBoot快速掌握(1):核心技术 SpringBoot快速掌握(1):核心技术 SpringBoot快速掌握(1):核心技术 SpringBo ...

  9. Servlet中的一些注意事项

    servlet中的一些注意事项 1 什么是servlet? 1)Servlet是Sun公司制定的一套技术标准,包含与Web应用相关的一系列接口,是Web应用实现方式的宏观解决方案.而具体的Servle ...

  10. smtplib.py

    def _print_debug(self, *args): if self.debuglevel > 1: print(datetime.datetime.now().time(), *arg ...