机器学习40讲_24_23_层次化的神经网络深度学习
你好,我是王天一。
今天我和你分享的主题是层次化的神经网络深度学习,虽然只是对生物神经网络的低水平模仿,可人工神经网络却给机器学习打开了一扇全新的大门。
自适应的特性让它能够灵活的更新参数,非线性则赋予它更加强大的表达能力。
曾经的阿卡琉斯之种异化问题也随着隐藏层的引入,得到了完美的解决。
有原始特征重构而出的导出特征,让多层感知器摆脱了对数据集线性可分的限制,呈现在神经网络前方的是大有可为的光阔天地。
神经网络最重要的证明出现在一九八九年,美国学者乔治塞本科证明了神经网络以对数几率作为激活函数时的通用逼近定理。
简而言之,通用毕竟定理说的是,如果一个前柜神经网络具有单个隐藏层,那它就可以利用有限个神经元来逼近定义。
在实数集上任意的连续函数。
两年之后的一九九一年,奥地利学者库尔特霍尔尼克又证明了通用逼近特性,并不取决于激活函数的选择,而是由多层前柜网络自身的架构所决定,这就为神经网络的性能提供了坚实的理论依据。
每一个隐藏神经元都能够生成线性的分类边界,在不同的局部选取不同的线性边界,拼接起来的就是全局层面,非规则的形状。
这呢就是通用b鉴定理说明的主要问题。
虽然在理论上有良好的性能,但是通用毕近定理它只是一个存在性定律,它并没有说明你和复杂形状的边界到底需要多少个隐藏神经元,也没有解释如何才能学习出这样复杂的边界。
当单个隐藏层在广度上难以实现的时候,一个自然的思路就是以网络结构的深度来换取广度,也就是通过增加隐藏层的数目,来降低每个隐藏层中神经元的数目。
这就是深度学习的起源。
准确的说呢深度学习它是一类学习方法,它应用的模型架构是深度神经网络。
深度神经网络是具有多个隐藏层的前贵神经网络,也可以说是浅层神经网络层次化的组合。
他背后体现出来的是多极的思想。
如果把层次化的深度网络压扁成一个平面,得到的就是全连接的单隐藏层。
神经网后反过来,深度神经网络也可以看成是对满足通用逼近定理的单层网络的正则化,通过削减多余的连接来提升网络的泛化性能。
层次化其实是解决问题的一种固有思路,大到政府架构,小到快递配送都能够看到层次化的身影。
层次化的机器学习呢是将一个复杂问题分解成若干个简单的问题,再在不同层面上对这些简单问题进行表示和学习。
从功能上看,深度神经网络通过多个隐藏层的起点,实现对输入特征、连续不断的非线性处理、提取和变换出新的特征。
每个层次都能够将它的输入数据转换成更加抽象的一些复合标识,从而呢通过结构的层次化实现抽象特征的层次化,在图像识别中特征层次化的作用体现的最为明显。
点击文稿,你可以看到来自深度学习这本书当中的一个图片识别的实例。
在识别这张图片的时候,理想的算法应该能够由像素灰度值所组成的数组输出。
像女人这样的标签。
那么这个识别的过程呢,实际上就是逐层提取模式的过程。
算法的第一层可以根据灰度的空间分布,提取出诸如边缘这类在较小的几何尺度上保持不变的低层次特征。
第二层呢则进一步从边缘的组合当中抽象出角度还有弧度。
这一类高级的形状特征,第三层再根据形状的组合,抽象出面部,还有身体等器官的一个轮廓。
最后呢将这些器官再组合成关于女人的这个潜在的模式。
除了层次化之外呢,深度学习的另一个主要特点是分布式,这个特点是由本杰奥在深度学习的开山文献、人工智能中的深度结构学习当中提出的。
在前面的文章中,我曾介绍过维度灾难。
在构造局部模型时,数据维度的增加会让低维空间中数据点的近邻不再保持。
新来的数据。
很可能找不到任何作为参考的近邻点。
而在构造全局模型时,数据维度的增加又会增加模型当中参数的数量,使不同自变量对因变量的贡献变得难以衡量,从而呢导致多元线性回归当中挪生门的现象。
同样是处理高纬数据,深度学习却采用了分布式的表示,将作为整体的高纬特征打散成若干个低维特征的组合。
比方说吧在传统的学习框架之下,那我要学习高富帅这个概念的时候,不管是全局模型还是局部模型,都会把它看作一个整体。
要么呢去寻找他的近邻啊,比方说白富美,要么呢用一组诸如身高啊或者财产啊之类的属性去拟合他。
但是在分布式表示的框架之下呢,高富帅这个概念会被拆分成。
高富和帅这三个单独的属性的组合,三个属性同时满足,才能形成整体意义上的概念。
分布式表示呢体现了化整为零的思想,它的优势是多重的。
一方面他增强了神经网络的表达能力。
在分布式的表示之下,如果说高富帅这三个属性各有两种取值,那么高和不高就可以用两个不同的神经元来表示。
啊,另外两个属性也是一样。
所以要描述这三个属性形成的所有的可能的组合只需要六个神经元。
而在非分布式的局部表示之下,啊,三者构成的整体需要用一个神经元来刻画。
那么三个属性的组合呢,总共就需要二的三次方,等于八个神经元来描述。
显然属性的数目越多,每个属性可能的取值越多。
这时呢分布式表示的优势就越明显。
那么点击文稿,你可以看到关于分布式表示它一个直观的突示。
另一方面,分布式表示,在表达上的优势也会反作用于学习。
局部表示,他秉持的是非此即彼的二元论,对一个概念的学习结果,只有高富帅和非高富帅这两种对立的情况,并不存在类似于说矮富帅或者高穷帅这样的一个推广,在分布式表示当中就不存在这样的限制。
它既然能够把不同的属性表达出来,也就能够基于近似的表达,学习出单个的属性,给出高富帅和矮富帅这样的样本组合。
深度学习呢就能够学到后面的两个特征,给出高富帅和白富美的组合呢。
深度学习也能够学到富的属性。
这呢是局部表示框架下的传统学习,所难以达到的层次化和分布式相辅相成,让深度学习呢如虎天翼层次化为分布式,提供了更丰富的特征选择,分布式又可以利用层次化构造出更加复杂的模式。
通俗的说呢,层次化能够识别出眉毛、眼睛、嘴这些不同的器官,而分布式的表示能够确定只要这些器官组合在一块儿,十有八九就是一张人脸。
这就像说啊柳叶眉加杏核眼加樱桃口是一张人脸。
那么八字眉加三角眼加香肠嘴也是一张脸啊,只不过这不同的脸呢它的美丑不一样,感知器的自适应性在深度神经网络上啊也可以得到保持。
虽然其中的过程呢颇费周折受梯度消失的限制,传统的反向传播算法不能直接被用来训练深度网络,这导致训练的难度一度成为限制深度网络应用的掣肘。
可现在深度神经网络的训练采用的是逐层预训练,结合整体微调的方法。
每一层的预训练呢通过自编码器实现整体的微调,则使用这个反向传播这部分的具体细节。
在人工智能基础课当中已经做过介绍啊,你可以回忆一下和之前介绍的所有谴责模型相比,深度学习呢可以说是上得叮当下得厨房。
它既能够像主成分分析或者流性学习那样,找到数据当中的隐含模式,又能够像逻辑回归或者普苏贝叶斯那样对数据进行分类。
这相当于把无监督学习和监督学习两手抓、两手硬。
这呢也开辟了理解深度学习的两个角度。
从预测的角度看,深度神经网络可以看成是一组堆叠起来的广义线性模型。
在广义线性模型当中,自变量的线性组合是作为链接函数反函数的自变量来出现,它的结果等于因变量的数学期望。
而在深度学习当中,每一个神经元其实都表示了一个广义线性模型,增加神经元的数目就相当于增加线性变换的复杂度。
由于前一层中模型的输出会作为后一层中模型的输入,那么不同层次之间的交互又可以看成是对广义线性模型进行了参数的扩展。
那么增加层数也就相当于增加非线性变换的次数,线性模型和非线性模型。
这样一轮又一轮的组合,就让深度网络具备了更强的拟合能力。
而从解释的角度来看呢,深度学习它起到的是降维的作用。
从高维数据当中提取出隐藏的低维几何结构。
没错,就是流行。
深度学习。
他既要从高维空间中构造出低维流行,也要找到高维数据在低维流行当中的表示。
前者呢是对高维数据的参数化过程,后者则是在流行上对数据的一个参数的表示。
将高维数据映射到低维流形上,能够简化进一步的回归或者分类的任务。
这时使用浅层的支持向量机或者k金零算法就可以搞定。
这种思路呢会将深度生成模型解释为流行的展开,而将申度帕明模型解释为流行的分离。
至于说数据变换呢,那就是计算样本在流形上的投影。
最后来看一看贝叶斯视角之下的深度学习和前面提到的其他模型一样,贝斯主义将深度神经网络的优化也看作后验概率最大化的问题。
参数的鲜暗分布在这个过程当中,会以正则画像的形式出现。
贝斯主义关于深度学习一个有趣的结论是什么呢?他是将预训练过程看成是正则画像,这显然在暗示预训练的作用在于确定参数的鲜艳分布。
而在介绍神经网络时,我曾提到权重衰减器就对应着参数的高斯显验。
而在深度学习当中,用来抑制过拟合的这个招包奥的方法和具有伽马线案的贝斯领回归啊,两者可以证明是当效的。
今天我和你分享的深度神经网络当中啊,一些主要的设计思想以及看待深度神经网络的不同角度。
但是深度学习的原理至今尚未得到清晰的阐释,解释,他的思路呢也是众说纷纭,莫衷一是。
本文当中的观点,虽然都来自于这个领域当中的研究权威,但也仅仅是做一家之言供你参考。
总结下来呢,今天的内容包括着以下四个要点,第一,深度神经网络是具有层次化结构的多层神经网络。
第二,深度神经网络采用分布式表示,提升了网络结构的表达能力和学习能力。
第三,深度神经网络是一组堆叠起来的广义线性模型。
第四,深度学习能够找到高维数据所对应的低维流行。
深度学习作为眼下关注度最高的机器学习概念呢,看好者是公说公有理,看衰者呢是婆说婆有理。
那么,你是如何看待深度学习的前景与发展的呢?欢迎发表你的观点。