深度学习发展简要笔记

来源:非正式组织

概要:在Yann LeCun、Yoshua Bengio和Geoffrey Hinton三巨头nature深度学习综述《deep learning》文章中提到,这段期间神经网络模型被主流的计算机视觉和学术界所抛弃。


一、前言


深度学习的发展大致分为这么几个学期:


  • 萌芽期:从BP算法的发明(1970s-1980s)到2006年期间。


  • 迅速发展期:从2006年栈式自编码器+BP微调提出之后。


  • 爆发期:从2012年Hintont团队的Alexnet模型在ImageNet竞赛取得惊人成绩之后。


萌芽期


在Yann LeCun、Yoshua Bengio和Geoffrey Hinton三巨头nature深度学习综述《deep learning》文章中提到,这段期间神经网络模型被主流的计算机视觉和学术界所抛弃。


这期间,学者们试图用有监督学习的方式训练深度神经网络,然而方法不是十分奏效,陷入了困境,在Andrew的教程中可以找到大概这几点原因:数据获取


  • 数据获取问题。有监督训练依赖于有标签的数据才能进行训练。然而有标签的数据通常是稀疏的,因此对于许多问题,很难获得足够多的样本来拟合一个复杂模型的参数。例如,考虑到深度网络具有强大的表达能力,在不充足的数据上进行训练将会导致过拟合。


  • 局部极值问题。使用监督学习方法来对浅层网络(只有一个隐藏层或者没有隐藏层)进行训练通常能够使得参数收敛到合理的范围内。但是当用这种方法来训练深度网络的时候,并不能取得很好的效果。特别的,使用监督学习方法训练神经网络的时候,通常会涉及到求解一个高度非凸的优化问题。对深度网络而言,这种非凸优化问题的搜索区域中充斥着大量“坏”的局部极值,因而使用梯度下降法(或者像共轭梯度下降法,L-BFGS等方法)效果并不好。


  • 梯度弥散问题(或者梯度消失)。梯度下降法在使用随机初始化权重的深度网络上效果不好的技术原因是:梯度会变得非常小。具体而言,当使用反向传播方法计算导数的时候,随着网络的深度的增加,反向传播的梯度(从输出层到网络的最初几层)的幅度值会急剧的减小,结果就造成了整体的损失函数相对于最初几层的权重的导数特别小。这样,当使用梯度下降法的时候,最初几层的权重变化非常缓慢,以至于他们不能够从样本中进行有效的学习。这种问题通常被称为“梯度的弥散”或者梯度消失。


因为一直没有找到有效的解决这些问题的方法,这期间,深度神经网络的发展一直不温不火。或者说在2001年Hochreiter的Gradient flow in recurrent nets: the difficulty of learning long-term dependencies(好像是这篇)提出了神经网络存在的几个问题后,在接下来的几年内神经网络的发展陷入了低谷。而那几年流行的机器学习算法是SVM和集成模型(随机森林、adaboost等)。


迅速发展期


2006年hinton在nature上发表了一篇文章Reducing the dimensionality of data with neural networks,针对上面提到的三个深度学习的问题,提出了栈式自编码器+BP微调的解决方案。在一定程度上解决了上面的三个问题。


  • 栈式自编码神经网络是无监督学习算法。因而不需要规模很大的有标签样本。


  • 经过自编码神经网络训练后的参数已经落在一个较优的位置上,从这个位置开始BP微调,不用担心局部极值问题。


  • 自编码神经网络训练已经使得深度网络的前几层具有表达能力了,比如可以提取出图片的边,局部组建等等,即使有梯度弥散问题,前几层参数不再更新,也不会影响最终深度网络的表达能力。


从此,深度学习开启崭新的浪潮。


爆发期


在12年的ILSVRC竞赛中,Hinton团队的Alexnet模型Imagenet classification with deep convolutional neural networks将1000类分类的top-5误差率降低到了15.3%,碾压了第二名使用SVM算法的26.2%,开启了深度学习的革命,从此之后,深度学习走上了指数式的发展道路。


回到Hilton团队的Alexnet模型上,仅仅使用了有监督的训练,貌似没涉及无监督的预训练。不是在之前说有监督的深度学习训练存在很多问题吗,大概是因为这几条原因,导致了有监督训练的可行:


  • 大规模标注数据的出现。在ILSVRC使用的数据集包括120万的训练图片,5万张验证图片和15万张测试图片。这些图片都是有标注的(属于1000类),而在imagenet出现之前,这样规模的标注数据是不存在的。


  • 对于局部极值的问题,nature综述中,三个大牛作者的说法是:对于深度网络来说,局部极值从来都不是一个问题,从任意的初始参数值开始训练网络,最后都能达到相似的分类效果。这也是被最近的理论和实践所证明的。


  • 对于梯度弥散导致的收敛速度慢的问题,Alexnet模型的两大利器:ReLu激活函数和GPU并行加速,前者使SGD有6倍的加速,后者使用两块CTX580GPU也极大的加快了SGD的收敛速度,两者的效果相乘,使得无监督预训练几乎是多余的了,梯度弥散问题也不再是一个很大问题。


总结


对于06-12年期间的深度神经网络主要以无监督预训练为主流,从12年以后,这时数据库足够大(上万级别),模型足够先进(ReLU激活函数,dropout等等),同时计算速度足够快(GPU)加速,使得无监督预训练(自编码神经网络)在很多应用场景中失去了存在的价值,有监督训练已经足够完成任务。


一句话总结,06年的无监督预训练开启了深度学习的纪元,在之后深度学习快速发展的过程中,大数据的获取、计算机硬件的发展以及深度模型的升级使得有监督训练重新走上舞台,无监督训练也算是完成了历史使命。


那么预训练还有用吗?答案是肯定的,比如我们有一个分类任务,数据库很小,这时还是需要通过预训练来避免过拟合的问题,只不过预训练是通过在一个大的数据库上,通过有监督来完成的,这种有监督预训加小的数据库上的微调的模型称为Transfer learning。


未来智能实验室致力于研究互联网与人工智能未来发展趋势,观察评估人工智能发展水平,由互联网进化论作者,计算机博士刘锋与中国科学院虚拟经济与数据科学研究中心石勇、刘颖教授创建。


未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎支持和加入我们。扫描以下二维码或点击本文左下角“阅读原文”


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用ServiceLocator模式改进JNDI实践

J2EE应用系统是打了“分布式”的标签的,所以客户端需要定位业务层的组件和服务,常见的比如有:EJB Home接口、EJB LocalHome接口、JMS消息列队或主题、JMS消息列队工厂等等,当然还有再普通不过的JAVA对象了,那么对这些分…

数据革命在危机中诞生 援助组织尝试灵活方法拨开战争迷雾

无国界医生组织在安曼为叙利亚提供支持。图片来源:Neil Brandvold来源:科学网概要:每当战争、飓风或其他灾害肆虐时,援助组织面临的最大问题之一就是缺乏可靠的数据。当Issam Salim(化名)讲述他进行的手术时…

德勤2018TMT八大预测:移动互联网迎来二次革命

来源:智东西概要:数万手机AR应用上市,AI芯片打入旗舰手机,数据中心ML芯片多样化,移动数字经济继续开挂。2017年,很多传统TMT巨头面临增长缓趋,于是考虑重资产化追求规模效应,开拓、转…

oracle 中 start tran,The value (30) of MAXTRANS parameter ignored

The value (30) of MAXTRANS parameter ignored在客户的数据库系统中(Oracle 10.2.0.3),当使用expdp备份时就出现如下错误,非常准时。可以看到,这个错误就是由于备份时创建备份主表(Master Table)产生的:Sat Mar 7 02:40:01 2009T…

JNDI概述

JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。那么,JNDI…

北京出台自动驾驶新规:自动驾驶车辆须配备司机应急

来源:人民日报概要:在中国境内注册的独立法人单位,因进行自动驾驶相关科研、定型试验,可申请临时上路行驶。记者今天从北京市交通委获悉,北京市交通委联合市公安交管局、市经济信息委等部门,制定发布了加快…

oracle简单序列,-30天下载

如何使用Oracle序列:Oracle序列(sequence)是一种数据库项,能够生成一个整数序列。通常用于填充数字类型的主键列。1、创建序列:CREATE SEQUENCE sequence_name[START WITH start_num][INCREMENT BY increment_num][{MAXVALUE maximum_num|NOM…

JNDI配置原理详解

最近写书,写到JNDI,到处查资料,发现所有的中文资料都对JNDI解释一通,配置代码也是copy的,调了半天也没调通,最后到SUN的网站参考了一下他的JNDI tutorial,终于基本上彻底明白了和多数java服务一…

【未来研究】城市云脑是互联网云脑的节点,城市云脑之间如何互补与支撑

作者: 互联网进化论作者 ,计算机博士 刘锋前言:本文是未来智能实验室的研究文章,重点探讨了基于类脑架构的智慧城市建设不应局限在城市内部,而是在互联网大背景下,不同城市之间也会发生智慧建设的协同效应。本文从城市…

oracle 数据掩码,oracle格式掩码

to char 是把日期或数字转换为字符串to date 是把字符串转换为数据库中得日期类型? 转换函数? TO_CHAR使用TO_CHAR函数处理数字TO_CHAR(number, 格式)TO_CHAR(salary,’$99,999.99’);使用TO_CHAR函数处理日期TO_CHAR(date,’格式’);? TO_NUMBER使用TO_NUMBER函数将字符转换…

JNDI全攻略

名词解释jndi是Java 命名和目录接口(Java Naming and Directory Interface,JNDI)的简称.从一开始就一直是 Java 2 平台企业版(JEE)的核心技术之一。在JMS,JMail,JDBC,EJB等技术中,就大量应用的这…

北京大学纳家勇治研究组在《美国国家科学院院刊》发文阐明时序记忆的神经机制

来源: 北京大学心理与认知科学学院官网概要:记忆是核心认知功能之一,使得人和动物能够根据经验改变自己的行为模式。近日,《美国国家科学院院刊》(Proceedings of the National Academy of Sciences of the United Sta…

oracle nvl2函数延伸,Oracle中replace、translate、nvl2 函数详解

简要比较:replace:字符串级别的代替如:SELECT REPLACE(acdd,cd,ef) FROM dual; →aefdtranslate:字符级别的代替如:SELECT TRANSLATE(acdd,cd,ef) FROM dual; →aeff分别详解:replace:语法:REPL…

管道( Pipeline )模型--示例

类图 时序图 阀门接口 /*** 阀门接口* author administrator**/ public interface Valve {public String getName();public void invoke( Context context ); }基本阀门 /*** 基础阀门* author administrator**/ public class BasicValve implements Valve{private String name…

一文告诉你,NIPS 2017有多火爆 | 附PPT、视频、代码大总结

原文来源:Medium、GitHub作者:TarasSereda「雷克世界」编译:嗯~阿童木呀、KABUDA今年的NIPS是一场盛大的、极富教育意义和探索精神的、魅力十足且人数众多的会议。第一步,登记排队量子计算机Tutorials深度学习:实践与趋…

不入oracle数据库,Oracle数据库之操作符及函数

一、操作符:1、分类:算术、比较、逻辑、集合、连接;2、算术操作符:执行数值计算;--工资加1000select empno,ename,job,sal1000 from emp;3、比较操作符:--比较运算符(between and包头不包尾)select * from …

Facebook面部识别新突破:可识别未标记照片中用户

来源:凤凰科技据科技博客TechCrunch报道,Facebook公司希望用户了解和掌控人们上传的照片,即便用户没有在照片中被标记出来。周二,Facebook推出了一项新的面部识别功能:照片检查(Photo Review)。…

oracle cronb,利用Crontab实现对Oracle数据库的定时备份

假设数据库的拥有者为oracle,数据库的用户为scott,其口令为trigger,Oracle数据库的参数$ORACLE_HOME为/usr/oracle,$ORACLE_SID为oracle1,则实现步骤如下:1、建立实现备份的shell在/usr/oracle中用vi命令建…

德扑 AI 之父解答 Libratus 的13个疑问:没有用到任何深度学习,DL 远非 AI 的全部

来源: AI科技评论概要:卡耐基梅隆大学计算机系在读博士生 Noam Brown 和计算机系教授 Tuomas Sandholm 来到 reddit 的机器学习分版,和网友们一起来了一场「你问我答」(ask me anything)。卡耐基梅隆大学计算机系在读博…

oracle导入错误1401,都是crosscheck惹的祸,备份归档失败

备份是大事,有的时候睡觉都惊醒,忘备份了如果备份不细检查备份环节就更可怕了RMAN> list archivelog all;List of Archived Log CopiesKey Thrd Seq S Low Time Name------- ---- ------- - --------- ----1224 2 107 X 25-DEC-07 /home/oracle/archive/…