神经网络和深度学习
- 何为深度学习?从本源来讲,深度学习是机器学习的一个分支,是指一类问题以及解决这类问题的办法。
首先,深度学习问题是一个机器学习问题,指从无限样例中通过算法总结出一般性的法则,并能够利用到新的未知数据上.比方,咱们能够从一些历史病例的汇合中总结出症状和疾病之间的法则.这样当有新的病人时,咱们能够利用总结进去的法则,来判断这个病人得了什么疾病.
其次,深度学习采纳的模型个别比较复杂,指样本的原始输出到输入指标之间的数据流通过多个线性或非线性的组件.因为每个组件都会对信息进行加工,并进而影响后续的组件,所以当咱们最初失去输入后果时,咱们并不分明其中每个组件的奉献是多少.这个问题叫作贡献度调配问题。在深度学习中,贡献度调配问题是一个关键问题,关系到如何学习每个组件中的参数
- 何为神经网络?神经网络是一种比拟好的能够解决调配度调配问题的模型。这种数学模型受人脑神经系统的工作形式启发而成,和目前计算机的构造不同,人脑神经系统是一个由生物神经元组成的高度简单网络,是一个并行的非线性信息处理 零碎.人脑神经系统能够将声音、视觉等信号通过多层的编码,从最原始的低层特色一直加工、形象,最终失去原始信号的语义示意
和人脑神经网络相似,人工神经网络是由人工神经元以及神经元之间的连贯形成,其中有两类非凡的神经元:一类用来接管内部的信息,另一类用来输入信息.这样,神经网络能够看作信息从输出到输入的信息处理系统.如果咱们把神经网络看作由一组参数管制的 简单函数,并用来解决一些模式识别工作(比方语音辨认、人脸识别等),神经网络的参数能够通过机器学习的形式来从数据中学习.
因为神经网络模型个别比较复杂,从输出到输入的信息传递门路个别比拟长,所以简单神经网络的学习能够看成是一种深度的机器学习,即深度学习.
- 这里要留神的是,神经网络和深度学习并不等价.深度学习能够采纳神经网络模型,也能够采 用其余模型(比方深度信念网络是一种概率图模型).然而,因为神经网络模型 能够比拟容易地解决贡献度调配问题,因而神经网络模型成为深度学习中次要 采纳的模型.尽管深度学习一开始用来解决机器学习中的示意学习问题,然而因为其弱小的能力,深度学习越来越多地用来解决一些通用人工智能问题,比方推理、决策等
人工智能
- 如何定义智能?图灵测试:一个人在不接触对方的状况下,通过一种非凡的形式和对方进行一系列的问答.如果在相当长时间内,他无奈依据这些问题判断对方是人还是计算机,那么就能够认为这个计算机是智能的
- 促使人工智能从哲学到科研,疏导了许多钻研方向。如机器感知(计算机视觉、语音信息处理)、学习(模式识别、机器学习、强化学习)、语言(自然语言解决)、记忆(常识示意)、决策(布局、数据挖掘)等.所有这些钻研畛域都能够看成是人工智能的钻研领域.
- 目前,人工智能的次要畛域大体上能够分为以下几个方面:
(1)感知:模仿人的感知能力,对外部刺激信息(视觉和语音等)进行感知和加工.次要钻研畛域包含语音信息处理和计算机视觉等.
(2)学习:模仿人的学习能力,次要钻研如何从样例或从与环境的交互中进行学习.次要钻研畛域包含监督学习、无监督学习和强化学习等.
(3)认知:模仿人的认知能力,次要钻研畛域包含常识示意、自然语言了解、推理、布局、决策等.
人工智能的流派
- 在人工智能的钻研过程中产生了很多不同的流派.一些研究者认为人工智能应该通过研 究人类智能的机理来构建一个仿生的模拟系统;而另外一些研究者则认为能够应用其余办法来实现人类的某种智能行为,例如让机器具备航行能力不须要模仿鸟的航行形式,而是应该钻研空气动力学.
- 目前支流办法大略有两种:
(1))符号主义,又称逻辑主义、心理学派或计算机学派,是指通过剖析人类智能的性能,而后用计算机来实现这些性能的一类办法.符号主义有两个根本假如:a)信息能够用符号来示意;b)符号能够通过显式的规定(比方逻辑运算)来操作.人类的认知过程能够看作符号操作过程.在人工智能 的推理期和常识期,符号主义的办法比拟流行,并获得了大量的成绩
(2)连贯主义,又称仿生学派或生理学派,是认知科学畛域中的一类信息处理的办法和实践.在认知科学畛域,人类的认知过程能够看作一种信息处理过程.连贯主义认为人类的认知过程是由大量简略神经元形成 的神经网络中的信息处理过程,而不是符号运算.因而,连贯主义模型的次要构造是由大量简略的信息处理单元组成的互联网络,具备非线性、分布式、并行化、局部性计算以及自适应性等个性.
这里要留神的是,流派间并不是严格对抗的。深度学习的次要模型神经网络尽管是一种连贯主义模型,然而却具备可解释性这一符号主义的长处.然而随着深度学习的倒退,越来越多的研究者开始关注如何交融符号主义和连贯主义,建设一种高效并且具备可解释性的模型.
机器学习
- 机器学习是人工智能的重要分支,是指从无限的观测数据中学习(或“猜想”)出具备一般性的法则,并利用这些法则对未知数据进行预测的办法.
- 传统的机器学习次要关注如何学习一个预测模型.个别须要首先将数据表 示为一组特色(Feature),特色的示意模式能够是间断的数值、离散的符号或其余模式.而后将这些特色输出到预测模型,并输入预测后果.这类机器学习能够看作浅层学习,其一个重要特点是不波及特色学习,其特色次要靠人工教训或特色转换方法来抽取
- 当咱们用机器学习来解决理论工作时,会面对多种多样的数据模式,比方声 音、图像、文本等.不同数据的特色结构形式差别很大.对于图像这类数据,咱们 能够很天然地将其示意为一个间断的向量.而对于文本数据,因为其个别由离散符号组成,并且每个符号在计算机外部都示意为无意义的编码,所以通常很难找到适合的示意形式.因而,在理论工作中应用机器学习模型个别会蕴含以下几个 步骤:
(1)数据预处理:通过数据的预处理,如去除噪声等.比方在文本分类中,去除停用词等.
(2)特征提取:从原始数据中提取一些无效的特色.比方在图像分类中,提 取边缘、尺度不变特色变换特色等.
(3)特色转换:对特色进行肯定的加工,比方降维和升维.
(4)预测:机器学习的外围局部,学习一个函数并进行预测.
上述流程中,每步特色解决以及预测个别都是离开进行的.传统的机器学习模型次要关注最初一步,即构建预测函数.然而实际操作过程中,不同预测模 型的性能相差不多,而前三步中的特色解决对最终零碎的准确性有着非常要害 的作用.特色解决个别都须要人工干预实现,利用人类的教训来选取好的特色,并最终进步机器学习零碎的性能.因而,很多的机器学习问题变成了特色工程问题.开发一个机器学习零碎的次要工作量都耗费在了 预处理、特征提取以及特色转换上.
示意学习
- 何为示意学习?如果有一种算法能够主动学习出无效特色(或者称为示意),那么这种学习就叫做示意学习
- 示意学习的要害?解决语义鸿沟问题。语义鸿沟问题是指输出数据的底层特色和高层语义信息之间的不一致性和差异性.比方给 定一些对于“车”的图片,因为图片中每辆车的色彩和形态等属性都不尽相同,因 此不同图片在像素级别上的示意(即底层特色)差异性也会十分大.然而咱们了解这些图片是建设在比拟形象的高层语义概念上的.如果一个预测模型间接建设在底层特色之上,会导致对预测模型的能力要求过高.如果能够有一个好的示意在某种程度上可能反映出数据的高层语义特色,那么咱们就能绝对容易地构 建后续的机器学习模型.
示意学习的外围问题
(1)什么是一个好的示意
(2)如何学习到好的示意
结构好的示意:部分示意和分布式示意的比对
- 好的示意个别具备以下长处:
(1)信息容量大,同样大小向量能够示意更多信息
(2)使后续工作简略,须要蕴含更高层的语义信息
(3)具备一般性,能够比拟容易的迁徙到其余工作下来
- 部分示意来示意特色。假如所有色彩的名字形成一个词表 ????,词表大小为 |????|.咱们能够用一个 |????| 维的 one-hot 向量来示意每一种色彩.在第???? 种颜色对应的 one-hot 向量中,第???? 维的值为 1,其余都为 0.
部分示意具备解释性好和计算效率高两个长处,然而也存在问题:1)one-hot 向量的维数很高,且不能扩大.如果 有一种新的色彩,咱们就须要减少一维来示意;2)不同色彩之间的类似度都为 0,即咱们无奈晓得“红色”和“中国红”的类似度要高于“红色”和“彩色”的相 似度.
- 分布式示意来示意特色。用 RGB 值来示意色彩,不同色彩对应到 R、G、B 三 维空间中一个点,是一种低纬度的浓密向量
分布式示意向量维度较低,退出新色彩不须要减少维度,而且不同色彩的类似度也容易计算
- 咱们能够应用神经网络将高维向量(部分示意)映射到低维向量空间(分布式示意)。这个过程叫做嵌入,行将一个高维空间中的一些对象映射到另一个低维空间中,并尽可能放弃不同对象之间的拓扑关系.
示意学习
- 要学习到一种好的高层语义示意(个别为分布式示意),通常须要从底层特色开始,通过多步非线性转换能力失去.
而深层构造的长处就是能够减少特色的重用性,从而指数级地减少示意能力.
因而,示意学习的要害是构建具备肯定深度的多层次特色示意。
- 而在传统的机器学习中,只管也有很多无关特色学习的办法,比方主成分剖析、线性判别分析、独立成分剖析等.
然而,传统的特色学习个别是通过人为地设计一些准则,而后依据这些准则来选取无效的特色.特色的学习是和最终预测模型的学习离开进行的,因而学习到的特色不肯定能够晋升最终模型的性能.
深度学习
- 深度学习的次要目标就是能从数据中主动学习到无效的数据表示,从而最终晋升预测模型的准确率。所谓‘深度’,就是指原始数据进行非线性特色转换的次数。
深度学习的解决流程,就是通过多层特色转换,把原始数据变成更高层次更形象的示意,从而代替人工设计特色,防止‘特色工程’
- 深度学习是将多种原始数据特色通过多步特色转换失去一种特色示意,并输出到预测函数失去最终后果。
在深度学习中,要害要解决贡献度调配问题,即一个零碎中不同的组件或其参数对最终后果的奉献,就像下棋胜利后要反思每一步棋对胜利的奉献。这是一个十分艰难的问题,因为深度学习的每个组件并不能间接失去监督信息,而是要通过整个模型的最终监督信息(处分)失去,并且有肯定的延时性
而目前次要采纳的神经网络模型,采纳误差反向流传算法,从而能够比拟好地解决贡献度调配问题
端到端学习
- 传统机器学习通常把工作的输入输出之间认为的切割成许多模块,每个模块离开学习。如自然语言了解工作,个别须要分词、词性标注、句法分析、语义剖析、语义推理等步骤。
这种办法存在两个问题:(1)每个模块须要独自优化(2)前一步谬误会对后续模型产生很大影响
- 而在古代机器学习中,咱们通常采纳端对端训练的办法。即在学习过程中,不明确地给出不同模块或阶段的性能,两头过程不须要人为干涉.端到端学习的训练数据为“输出 - 输入”对的模式,毋庸提供其余额定信息.
因而,端到端学习和深度学习一样,都是要解决贡献度调配问题.目前,大部分采纳神经网络模 型的深度学习也能够看作一种端到端的学习.
神经网络
神经网络由多个节点相互连接而成,能够用来对数据间的简单关系建模。
不同节点间的连贯被赋予了不同的权重,每个权重示意一个节点对另一个节点的影响大小。
每个节点示意一种特定函数,来自其余节点的信息通过相应的权重综合计算,输出到此节点函数中失去一个新的活性值。
综上来看,神经网络是由大量函数通过相互间的影响权重连贯而成的非线性动静构造
深度学习框架
总结
在传统机器学习中,除了模型和学习算法外,特色或示意也是影响最终学习效果的重要因素,甚至在很多的工作上比算法更重要.因而,要开发 一个理论的机器学习零碎,人们往往须要破费大量的精力去尝试设计不同的特色以及特色组合,来进步最终的零碎能力,这就是所谓的特色工程问题
因而,如何主动学习无效的数据表示成为机器学习中的关键问题.晚期的示意学习办法,比方特色抽取和特征选择,都是人工引入一些主观假如来进行学习的. 这种示意学习不是端到端的学习形式,失去的示意不肯定对后续的机器学习工作无效.而深度学习是将示意学习和预测模型的学习进行端到端的学习,两头不须要人工干预.然而深度学习又要解决贡献度调配问题,而神经网络恰好是 解决这个问题的无效模型.