为什么深度学习可以自动学习特征
。
现在深度学习在机器学习领域是一个很热的概念,不过经过各种媒体的转载播报,这个概念也逐渐变得有些神话的感觉:例如,人们可能认为,深度学习是一种能够模拟出人脑的神经结构的机器学习方式,从而能够让计算机具有人一样的智慧;而这样一种技术在将来无疑是前景无限的。
那么深度学习本质上又是一种什么样的技术呢?深度学习是什么深度学习是机器学习领域中对模式(声音、图像等等)进行建模的一种方法,它也是一种基于统计的概率模型。
在对各种模式进行建模之后,便可以对各种模式进行识别了,例如待建模的模式是声音的话,那么这种识别便可以理解为语音识别。
而类比来理解,如果说将机器学习算法类比为排序算法,那么深度学习算法便是众多排序算法当中的一种(例如冒泡排序),这种算法在某些应用场景中,会具有一定的优势。
深度学习的“深度”体现在哪里论及深度学习中的“深度”一词,人们从感性上可能会认为,深度学习相对于传统的机器学习算法,能够做更多的事情,是一种更为“高深”的算法。
而事实可能并非我们想象的那样,因为从算法输入输出的角度考虑,深度学习算法与传统的有监督机器学习算法的输入输出都是类似的,无论是最简单的LogisticRegression,还是到后来的SVM、boosting等算法,它们能够做的事情都是类似的。
正如无论使用什么样的排序算法,它们的输入和预期的输出都是类似的,区别在于各种算法在不同环境下的性能不同。那么深度学习的“深度”本质上又指的是什么呢?
深度学习的学名又叫深层神经网络(DeepNeuralNetworks),是从很久以前的人工神经网络(ArtificialNeuralNetworks)模型发展而来。
这种模型一般采用计算机科学中的图模型来直观的表达,而深度学习的“深度”便指的是图模型的层数以及每一层的节点数量,相对于之前的神经网络而言,有了很大程度的提升。
深度学习也有许多种不同的实现形式,根据解决问题、应用领域甚至论文作者取名创意的不同,它也有不同的名字:例如卷积神经网络(ConvolutionalNeuralNetworks)、深度置信网络(DeepBeliefNetworks)、受限玻尔兹曼机(RestrictedBoltzmannMachines)、深度玻尔兹曼机(DeepBoltzmannMachines)、递归自动编码器(RecursiveAutoencoders)、深度表达(DeepRepresentation)等等。
不过究其本质来讲,都是类似的深度神经网络模型。既然深度学习这样一种神经网络模型在以前就出现过了,为什么在经历过一次没落之后,到现在又重新进入人们的视线当中了呢?
这是因为在十几年前的硬件条件下,对高层次多节点神经网络的建模,时间复杂度(可能以年为单位)几乎是无法接受的。
在很多应用当中,实际用到的是一些深度较浅的网络,虽然这种模型在这些应用当中,取得了非常好的效果(甚至是thestateofart),但由于这种时间上的不可接受性,限制了其在实际应用的推广。
而到了现在,计算机硬件的水平与之前已经不能同日而语,因此神经网络这样一种模型便又进入了人们的视线当中。
“2012年6月,《纽约时报》披露了GoogleBrain项目,吸引了公众的广泛关注。
这个项目是由著名的斯坦福大学机器学习教授AndrewNg和在大规模计算机系统方面的世界顶尖专家JeffDean共同主导,用16000个CPUCore的并行计算平台训练一种称为“深层神经网络”(DNN,DeepNeuralNetworks)”从GoogleBrain这个项目中我们可以看到,神经网络这种模型对于计算量的要求是极其巨大的,为了保证算法实时性,需要使用大量的CPU来进行并行计算。
当然,深度学习现在备受关注的另外一个原因,当然是因为在某些场景下,这种算法模式识别的精度,超过了绝大多数目前已有的算法。
而在最近,深度学习的提出者修改了其实现代码的Bug之后,这种模型识别精度又有了很大的提升。这些因素共同引起了深层神经网络模型,或者说深度学习这样一个概念的新的热潮。
深度学习的优点为了进行某种模式的识别,通常的做法首先是以某种方式,提取这个模式中的特征。
这个特征的提取方式有时候是人工设计或指定的,有时候是在给定相对较多数据的前提下,由计算机自己总结出来的。
深度学习提出了一种让计算机自动学习出模式特征的方法,并将特征学习融入到了建立模型的过程中,从而减少了人为设计特征造成的不完备性。
而目前以深度学习为核心的某些机器学习应用,在满足特定条件的应用场景下,已经达到了超越现有算法的识别或分类性能。
深度学习的缺点深度学习虽然能够自动的学习模式的特征,并可以达到很好的识别精度,但这种算法工作的前提是,使用者能够提供“相当大”量级的数据。
也就是说在只能提供有限数据量的应用场景下,深度学习算法便不能够对数据的规律进行无偏差的估计了,因此在识别效果上可能不如一些已有的简单算法。
另外,由于深度学习中,图模型的复杂化导致了这个算法的时间复杂度急剧提升,为了保证算法的实时性,需要更高的并行编程技巧以及更好更多的硬件支持。
所以,目前也只有一些经济实力比较强大的科研机构或企业,才能够用深度学习算法,来做一些比较前沿而又实用的应用。
谷歌人工智能写作项目:神经网络伪原创
人工智能学习中的深度学习是什么意思?
深度学习(DL,DeepLearning)是机器学习(ML,MachineLearning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI,ArtificialIntelligence)。
深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。
深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。
深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。
如何正确理解深度学习的概念
深度学习是机器学习领域中对模式(声音、图像等等)进行建模的一种方法,它也是一种基于统计的概率模型。
在对各种模式进行建模之后,便可以对各种模式进行识别了,例如待建模的模式是声音的话,那么这种识别便可以理解为语音识别。
而类比来理解,如果说将机器学习算法类比为排序算法,那么深度学习算法便是众多排序算法当中的一种(例如冒泡排序),这种算法在某些应用场景中,会具有一定的优势。
究竟什么是机器学习 深度学习和人工智能
目前,业界有一种错误的较为普遍的意识,即“深度学习最终可能会淘汰掉其他所有机器学习算法”。
这种意识的产生主要是因为,当下深度学习在计算机视觉、自然语言处理领域的应用远超过传统的机器学习方法,并且媒体对深度学习进行了大肆夸大的报道。
深度学习,作为目前最热的机器学习方法,但并不意味着是机器学习的终点。
起码目前存在以下问题:1.深度学习模型需要大量的训练数据,才能展现出神奇的效果,但现实生活中往往会遇到小样本问题,此时深度学习方法无法入手,传统的机器学习方法就可以处理;2.有些领域,采用传统的简单的机器学习方法,可以很好地解决了,没必要非得用复杂的深度学习方法;3.深度学习的思想,来源于人脑的启发,但绝不是人脑的模拟,举个例子,给一个三四岁的小孩看一辆自行车之后,再见到哪怕外观完全不同的自行车,小孩也十有八九能做出那是一辆自行车的判断,也就是说,人类的学习过程往往不需要大规模的训练数据,而现在的深度学习方法显然不是对人脑的模拟。
深度学习大佬YoshuaBengio在Quora上回答一个类似的问题时,有一段话讲得特别好,这里引用一下,以回答上述问题:ScienceisNOTabattle,itisacollaboration.Weallbuildoneachother'sideas.Scienceisanactoflove,notwar.Loveforthebeautyintheworldthatsurroundsusandlovetoshareandbuildsomethingtogether.Thatmakesscienceahighlysatisfyingactivity,emotionallyspeaking!这段话的大致意思是,科学不是战争而是合作,任何学科的发展从来都不是一条路走到黑,而是同行之间互相学习、互相借鉴、博采众长、相得益彰,站在巨人的肩膀上不断前行。
机器学习的研究也是一样,你死我活那是邪教,开放包容才是正道。结合机器学习2000年以来的发展,再来看Bengio的这段话,深有感触。
进入21世纪,纵观机器学习发展历程,研究热点可以简单总结为2000-2006年的流形学习、2006年-2011年的稀疏学习、2012年至今的深度学习。未来哪种机器学习算法会成为热点呢?
深度学习三大巨头之一吴恩达曾表示,“在继深度学习之后,迁移学习将引领下一波机器学习技术”。但最终机器学习的下一个热点是什么,谁又能说得准呢。
编辑于2017-12-2729918条评论分享收藏感谢收起阿里云云栖社区用户标识1已认证的官方帐号39人赞同了该回答人工智能并不是一个新的术语,它已经有几十年的历史了,大约从80年代初开始,计算机科学家们开始设计可以学习和模仿人类行为的算法。
在算法方面,最重要的算法是神经网络,由于过拟合而不是很成功(模型太强大,但数据不足)。尽管如此,在一些更具体的任务中,使用数据来适应功能的想法已经取得了显着的成功,并且这也构成了当今机器学习的基础。
在模仿方面,人工智能专注于图像识别,语音识别和自然语言处理。人工智能专家们花费了大量的时间来创建诸如边缘检测,颜色配置文件,N-gram,语法树等。不过,这些进步还不足以达到我们的需求。
传统的机器学习:机器学习(ML)技术在预测中发挥了重要的作用,ML经历了多代的发展,形成了具有丰富的模型结构,例如:1.线性回归。2.逻辑回归。3.决策树。4.支持向量机。5.贝叶斯模型。
6.正则化模型。7.模型集成(ensemble)。8.神经网络。这些预测模型中的每一个都基于特定的算法结构,参数都是可调的。
训练预测模型涉及以下步骤:1. 选择一个模型结构(例如逻辑回归,随机森林等)。2. 用训练数据(输入和输出)输入模型。3. 学习算法将输出最优模型(即具有使训练错误最小化的特定参数的模型)。
每种模式都有自己的特点,在一些任务中表现不错,但在其他方面表现不佳。但总的来说,我们可以把它们分成低功耗(简单)模型和高功耗(复杂)模型。选择不同的模型是一个非常棘手的问题。
由于以下原因,使用低功率/简单模型是优于使用高功率/复杂模型:在我们拥有强大的处理能力之前,训练高功率模型将需要很长的时间。
在我们拥有大量数据之前,训练高功率模型会导致过度拟合问题(因为高功率模型具有丰富的参数并且可以适应广泛的数据形状,所以我们最终可能训练一个适合于特定到当前的训练数据,而不是推广到足以对未来的数据做好预测)。
然而,选择一个低功率的模型会遇到所谓的“欠拟合”的问题,模型结构太简单,如果它复杂,就无法适应训练数据。
(想象一下,基础数据有一个二次方关系:y=5*x^2;你无法适应线性回归:y=a*x+b,不管我们选择什么样的a和b。
为了缓解“不适合的问题”,数据科学家通常会运用他们的“领域知识”来提出“输入特征”,这与输出关系更为直接。
(例如,返回二次关系y=5*square(x),如果创建了一个特征z=x^2,则可以拟合线性回归:y=a*z+b,通过选择a=5和b=0)。
机器学习的主要障碍是特征工程这个步骤,这需要领域专家在进入训练过程之前就要找到非常重要的特征。特征工程步骤是要靠手动完成的,而且需要大量领域专业知识,因此它成为当今大多数机器学习任务的主要瓶颈。
换句话说,如果我们没有足够的处理能力和足够的数据,那么我们必须使用低功耗/更简单的模型,这就需要我们花费大量的时间和精力来创建合适的输入特征。这是大多数数据科学家今天花时间去做的地方。
神经网络的回归:在大数据时代,云计算和大规模并行处理基础架构的共同发展,使得机器处理能力在二十一世纪初得到了极大的提升。我们不再局限于低功耗/简单的模型。
例如,当今最流行的两种主流机器学习模型是随机森林和梯度提升树。尽管如此,两者都非常强大,并且提供了非线性模型拟合的训练数据,但数据科学家仍然需要仔细地创建特征以获得良好的性能。
与此同时,计算机科学家重新使用神经网络的许多层来完成这些人类模仿的任务。这给DNN(深度神经网络)带来了新的生机,并在图像分类和语音识别任务方面提供了重大突破。
DNN的主要区别在于,你可以将原始信号(例如RGB像素值)直接输入DNN,而不需要创建任何域特定的输入功能。
通过多层神经元(这就是为什么它被称为“深度”神经网络),DNN可以“自动”通过每一层产生适当的特征,最后提供一个非常好的预测。这极大地消除了寻找“特征工程”的麻烦,这是数据科学家们最喜欢看到的。
DNN也演变成许多不同的网络拓扑结构,所以有CNN(卷积神经网络),RNN(递归神经网络),LSTM(长期短期记忆),GAN(生成敌对网络),转移学习,注意模型(attentionmodel)所有的这些被统称为深度学习(DeepLearning),它正在引起整个机器学习界的关注。
强化学习:另一个关键组成部分是关于如何模仿一个人(或动物)的学习,设想感知/行为/奖励循环的非常自然的动物行为。一个人或者一个动物首先会通过感知他或者她所处的状态来了解环境。
在此基础上,他或者她会选择一个“动作”,将他或者她带到另一个“状态”。那么他或她将获得“奖励”,循环重复,直到他或她消失。这种学习方式(称为强化学习)与传统监督机器学习的曲线拟合方法有很大不同。
尤其是,强化学习学习得非常快,因为每一个新的反馈(例如执行一个行动并获得奖励)都被立即发送到影响随后的决定。
强化学习也提供了预测和优化的平滑整合,因为它在采取不同的行动时保持当前状态的信念和可能的转换概率,然后做出决定哪些行动可以导致最佳结果。
深度学习+强化学习=AI与经典的ML技术相比,DL提供了一个更强大的预测模型,通常可以产生良好的预测结果。与经典优化模型相比,强化学习提供了更快的学习机制,并且更适应环境的变化。
机器学习vs深度学习在深度探讨machinelearning和datascience的联系之前,这里简要地讨论一下machinelearning和deeplearning。
machinelearning是一套算法,来训练数据集做预测或者采取行动以使得系统最优化。
举例来说,supervisedclassificationalgorithms被用来根据历史数据将想要贷款的客户分成预期好的和预期差的(goodorbadprospects)。
对于给定的任务(比如监督聚类),需要的技术多种多样:naiveBayes、SVM、neuralnets、ensembles、associationrules、decisiontrees、logisticregression,或者是很多技术的组合。
所有这些都是数据科学的子集。当这些算法自动化后,比如无人驾驶飞机或者无人驾驶汽车,这就叫AI了,或者说的具体一点,deeplearning。
如果采集的数据来自传感器并且通过互联网传播,那么这就是机器学习或数据科学或深度学习应用于物联网了。有些人对深度学习有不同的定义,他们认为深度学习是更深层次的神经网络(一种机器学习的技术)。
AI(ArtificialIntelligence)是创建于20世纪60年代的计算机科学的一个子领域,是关于解决那些对人类来讲非常容易但是对计算机而言很难的任务。
值得一提的是,所谓的strongAI可能可以做所有人类可以做的事情(可能除了纯粹的物理问题)。
这是相当广泛的,包括各种各样的事情,比如做计划,在世界上到处溜达,识别物体和声音,说话,翻译,社交或者商业交易,还有创造性工作(比如写诗画画)等等。
NLP(Naturallanguageprocessing)只是AI要处理的语言部分,尤其是写。
Machinelearning是这样的一种情况:给出一些可以被以离散形式描述的AI问题(比如从一系列动作中选出对的那个),然后给定一堆外部世界的信息,在不需要程序员手动写程序的情况下选出那个“正确的”行为。
通常情况需要借助外界的一些过程来判断这个动作对不对。在数学上,这就是函数:你给一些输入,然后你想要他处理一下得到正确的输出,所以整个问题就简化为用一些自动的方式建立这种数学函数模型。
和AI区分一下:如果我写了一段特别机智的程序有着人类的行为,那这就可以是AI,但是除非它的参量都是自动从数据中学会的,否则就不是机器学习。Deeplearning是当下非常流行的机器学习的一种。
它包含一种特殊的数学模型,可以想成是一种特定类型的简单块的组合(或者说是块的功能的组合),这些块可以进行调整来更好的预测最终结果。
如何对无重复的输出的样本就行深度学习建模
研究中实际观测或调查的一部分个体称为样本(sample),研究对象的全部称为总体。
为了使样本能够正确反映总体情况,对总体要有明确的规定;总体内所有观察单位必须是同质的;在抽取样本的过程中,必须遵守随机化原则;样本的观察单位还要有足够的数量。又称“子样”。
按照一定的抽样规则从总体中取出的一部分个体。样本中个体的数目称为“样本容量”。