热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Deeplearning论文笔记一:ImageNetClassificationwithDeepConvolutionalNeuralNetworks

1.简介ImageNetClassificationwithDeepConvolutionalNeuralNetworks发表在NIPS2012上
      1.简介

       ImageNet Classification with Deep Convolutional Neural Networks 发表在NIPS2012上面,在当时引起了不小的轰动,因为这篇文章的方法在ImageNet LSVRC-2010数据集上的分类效果比其他分类效果好很多,Top 5的错误率由25%降到17%。

       这篇文章的主要贡献如下:

        1.训练了一个大型的卷积神经网络并且效果是目前为止所有方法里面最好的;

2.实现了一个基于GPU的2D卷积网络,并且我们使用该框架进行了CNN的训练。文章对CNN进行了很多的优化,提高了网络的训练速度和分类效果。

       数据集使用ImageNet。ImageNet拥有超过1500万张高清图片,图片有22000多个类别。从2010年开始,ILSVRC(ImageNet Large-Scale Visual Recognition Challenge)每年都会举行一次。在ImageNet数据集上,我们使用两个评价标准:top-1和top5。top-1错误率是指测试的图片的真正标签没有出现在所预测出的前五个标签中的图片的比例,也就是说,连续预测5次都没有预测正确的图片的比例。ImageNet里面的图片分辨率不一,需要将图片通过缩小和裁剪得到256*256像素的图片,除此之外不对图片进行任何处理。
2.架构
ReLU:对神经元输出进行建模的标准方法是将它的输入x看成是f的函数:
在用梯度下降法训练的时候,这些饱和非线性函数要比非饱和非线性函数慢很多,比如
我们称这类非线性神经元为改正的线性单元(Rectified Linear Units),如下图所示,其训练速度比tanh函数要快很多。

Training on Multiple GPUs: 框架使用多个GPU并行计算,并且GPU之间可以直接访问对方memory,不用经过主机内存。此外,框架还有一个trick:GPU通信只在某些层进行,因此可以提高运算效率。

Local Response Normalization: 局部响应归一化有助于提高泛化能力,计算公式如下:



Overlapping pooling: 传统的pooling方法只对相邻单元处理并且有重合,本文对pooling层进行了部分重合,减少了过拟合,提高了分类效果。

      框架架构如下图所示,共8层,五个卷积层和三个全连接层,最后是一个1000-way的softmax分类器,将图片分成1000个类别。该实验在两个GPU上进行运算,从图中可以看到,第二,第四和第五个卷积层只和在同一块GPU上的上层连接,因此减少了GPU之间数据的交换,提高了运算效率。全连接层的神经元与上一层的全部神经元相连接。局部响应正则化层在第一和第二卷积层之后,pooling层在第一第二响应正则化层之后和第五卷积层之后。ReLU用于五个卷积层和三个全连接层的输出。

第一个卷积层使用96个11*11*3的卷积核处理输入的224*224*3的图片,步长为4个像素;第二个卷积层使用256个5*5*48大小的卷积核。第三个卷积层有384个3*3*256的卷积核;第四个卷积层有384个3*3*192的卷积核。第五个卷积层使用256个3*3*192的卷积核。全连接层每层有4096个神经元。



3. Reducing Overfitting

该方法的神经网络有6000万个参数,虽然ILSVRC有1000个类别,但是还是无法避免过拟合的问题,因此本文采用了两种方式来避免过拟合。

3.1.data Augmentation

本文使用了两种方法来实现数据扩展,两种方法只需要很小的计算量,而且是在CPU上运算的,并不会占用GPU的计算资源。

第一种是图片平移和水平翻转(image translations and horizontal reflections),我们从246*256的图片中提取出来5个224*224的图片(四个角+一个中心),同时水平翻转后再提取出来五个子图片,共10个图片,在softmax层对这些图片分别进行预测,对预测结果求平均值作为图片的预测结果。

第二种是改变图片的RGB通道的强度,对图片进行PCA分析,图片的像素值*(与之对应的特征值)*(服从均值为0标准为0.1的高斯分布的随机数),因此,对于每个RGB像素Ixy=
对它们添加如下量:其中,pi和是3*3协方差矩阵的RGB像素值的特征向量和特征值,a是前面提到的随机变量,一张图片在训练过程中a是固定的,这个方法能够捕捉到自然图片的重要属性,并且使top-1错误率降低了1%。

3.2Dropout

后面会细讲。

4. 训练过程

使用随机梯度下降法进行训练,batch=128,momentum=0.9, weight decay=0.0005,权重w的更新方式如下:


i是迭代系数,v是动量值,是学习率
每层权值的初始值为服从均值为0,标准差为0.01的高斯分布的随机数,第二,四,五卷积层和三个全连接层的biases均设置为1,其他设为0。所有层的学习率都是一样的,在训练时会调整,调整的启发式算法是:如果当前学习率下验证集的错误率不在改变时,就将学习率除以10,总共调整三次后停止,用120万张照片训练了大约90个循环。

训练结果如下图所示:




5. 结果分析

如下图所示,是网络学习到的卷积核,网络学习到了不同频率,方向和颜色块的核,框架中的GPU连接方式,使得GPU产生了特化,上半部分的核是GPU1学习得到的,下半部分的核是GPU2学习得到的,两者有很大的区别,GPU2 感知到了颜色而GPU1没有,这种现象每次均会发生。


我们可以通过计算两张图片最后一层生成的4096维向量的欧氏距离的大小来确定他们的相似度,距离越小,图片的相似度越高。

此外,通过欧式距离计算向量的相似度效率不高,我们可以通过训练一个auto-encoder来将这些向量压缩为短的二值编码来提高计算效率。这种图片搜索方式比直接将auto-encoder用于原始的像素效果要好,因为后者没有利用图片的标签信息只是检索有相似的边的模式,而不是检索语义上的相似。


此外,为了简化实验,本文并没有采用任何非监督的预训练,因为我们已经有足够的计算能力来增大网络的大小,因此不需要增加有标记数据的数量。


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 程度|也就是_论文精读:Neural Architecture Search without Training
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了论文精读:NeuralArchitectureSearchwithoutTraining相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 技嘉秀高端B450主板:不再支持第七代APU,性价比高且兼容锐龙一代和二代
    在台北电脑展上,技嘉展示了一款高端的B450主板,型号为“b450 aorus pro wi-fi”。该主板具有10+1相供电、散热片覆盖的供电区域和芯片组,以及两个m.2插槽和背部IO挡板。虽然不支持第七代APU bristol ridge,但它兼容锐龙一代和二代,且具有较高的性价比。该主板还配备了音频声卡、Wi-Fi无线网卡等功能,是一款性能出色且设计精良的主板。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • Window10+anaconda+python3.5.4+ tensorflow1.5+ keras(GPU版本)安装教程 ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ... [详细]
  • OpenStackQ版本已经发布了一段时间了。今天,小编来总结一下OpenStackQ版本核心组件的各项主要新功能,再来汇总一下最近2年来OpenStackN、O、P、Q各版本核心 ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
author-avatar
木头人2幸福
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有