深度学习中先验知识的应用

2015-12-23 01:12宣冬梅王菊韵
计算机工程与设计 2015年11期
关键词:隐层先验神经网络

宣冬梅,王菊韵,于 华,赵 佳

(1.中国科学院大学 工程管理与信息技术学院,北京100049;2.中国传媒大学 理学院,北京100024)

0 引 言

Hinton等[1]构建的多层深度信念网 (deep belief network,DBN)掀起了深度学习的浪潮,DBN 的基础来自于人工神经网络。在之前人工神经网络的研究中,目标函数对于各层之间的权重是非凸的优化问题,当网络层数较多时,即变量个数较多时,目标函数容易陷入局部最优。Hinton等较好地解决了这个问题。通过无监督学习实现逐层预训练 (layer-wise pre-training)达到解决非凸优化的局部最优问题,实质是利用逐层预训练给出一个较好的初始解,然后再利用微调 (fine-tuning)获得较好的局部最优解。另一个重要的信息是深层人工神经网络具有优异的特征学习能力,自主学习而且学习得到的特征能够更好地刻画数据本身,从而有利于可视化或分类[2]。

本文在介绍了深度学习原理的基础上,将模型进行改进,引入先验知识的概念,得到更广泛的应用。

1 深度学习

1.1 深度学习的发展及应用

深度学习与浅层学习最大的区别就是强调了模型结构的深度[3],明确了特征学习的重要性,而浅层学习主要是靠人工经验抽取样本的特征,模型主要是用来预测和分类,虽然一些浅层学习方法在互联网的应用上获得了一定的成功,但是浅层学习方法有很大的局限性。贝叶斯网络[4]是一种比较有效的机器学习方法,但是特征需要人工设定。在应用朴素贝叶斯分类器时,主要涉及两个问题,首先要决定怎样将任意样本表示为属性值的形式,其次是要决定如何估计朴素贝叶斯分类器所需的概率。对于朴素贝叶斯模型,假设属性之间相互独立,但这个假设在实际应用中往往是不成立的,这会给朴素贝叶斯模型的正确分类带来一定的影响,在属性个数比较多或属性之间相关性较大时,选择朴素贝叶斯模型的分类效率是很低的。核函数[5]方法是机器学习中较流行的方法,但其缺陷也是需要人工选择核函数,人为地进行特征选择,对分类结果的影响比较大。主成分分析[6](principle component analysis,PCA)作为可以自动提取特征的方法之一,但是只能提取线性特征,而现实问题绝大多数的特征都存在非线性关系。

Arel等[7]介绍了主流的深度学习以及近十年来的研究方向,突出了深度学习方法的优势。近年来深度学习方法在工业界的发展如火如荼,主要原因在于该方法提高了若干经典问题的最好结果,如语音识别、图像识别等[8,9]。Lee等[10]也验证了深度学习网络能够学习到更好的特征。与之前的神经网络的方法的区别在于隐层个数更多[11],明确突出了特征学习的重要性,并且在用反传算法求局部最优解时给出了较好的初始可行解[5]。深度神经网络作为多层人工神经网络,构建各层网络的方法主要有自动编码(auto-encoder)[12]和RBM[13,14]。自动编码是利用输入数据,人为构造带有参数的编码函数得到上一层的数据,再利用上一层的数据通过带参数的解码函数来尽量还原输入数据,通过最小化输入数据与通过解码函数得到的数据之间的损失来调整参数,从而达到预训练的目的。RBM 作为较常用的构建深度网络的机器学习方法,以能量模型为理论基础,层与层之间的结构类似于双层神经网络模型,层内的神经元互不连接,层间的神经元全连接。常用的激活函数是Sigmoid函数,它通过最大化已知数据出现的概率达到调整参数 (即预训练)的目的,思想与极大似然估计有密切关系。该方法的优点是能够自动提取特征,缺点是针对多分类问题,自动提取特征不能更好地将不同种类的样本分类,这就需要有不断反复地调整结构以及参数。目前,使用深度学习方法时普遍是在多个机器上同时进行,针对多个神经网络结构和参数分别调整,以便更快的得到更好的神经网络结构和参数,但是这样的条件在一般的实验室是不现实的。

1.2 先验知识的提出

本文主要研究的是在多分类问题中,将先验知识与深度学习方法相结合。先验知识的应用,在多分类问题中有明显的优势。①识别率明显提高。事实上,多分类问题中只是在 “边界”上的样本比较难分类,而这样的样本一般只出现在几类样本的 “边界”上。因此,当预测某样本所属的类别时,我们可以排除该样本不可能属于的一些类,在其余类上对该样本进行分类,实际上就相当于给这个样本一定的先验知识。例如,当你遇到一个白发苍苍,满脸皱纹的人时,要判断这个人是老年、中年、青年、少年中的哪一类时,你肯定不会认为他属于少年这一类。但是在一般的方法中仍要检测他是否属于少年,这显然是多余的。将某个样本不属于的那些类去掉相当于去掉了若干影响分类效果的类别,这显然能提高识别率。②各神经元之间连接权重的绝对值的降低,决定了深度学习方法能更快地收敛到局部最优解。这一点在处理实值输入时尤其明显,因为对于实值输入的深度神经网络训练时迭代参数需要设置的足够小,否则预训练的连接权重将非常大,结果会很不稳定。我们在实验中遇到过连接权重非常大的情况 (达到10137数量级)。因此,连接权重变小能节省大量的运行时间。③先验知识的有效利用能够得到更简单的神经网络结构,如果需要分类的类别很多时,有效利用先验可以简化模型,便于调参,提高效率,更容易进行参数调整以及网络结构优化等细节的处理,从而让条件一般的实验室也能够使用深度学习方法进行大量的分类实验。

2 深度学习中分类问题和先验知识的获取

2.1 分类问题

深度学习中分类问题一般隐层个数较多 (通常超过3层隐层),对应的输出层分类函数形式一般为

式中:Oi——输出层第i个神经元的输出,n——输出层神经元个数,也即待分类的类别数。

2.2 先验知识的获取及表示

一个样本有很多特征,根据某些特征,对样本做预分类,可以判断它属于或是不属于哪些类,得到先验知识;对于图像样本,根据训练集中若干像素点的统计结果,也可以获取样本的先验知识。以MNIST 数据集为例说明先验知识是如何获取的。对于0,1,2,...,9 这10 类图片,如果图片左边框的中间部分有黑色像素点的话,我们首先能够区分出这张图片不属于1,2,7这3类,这就是先验知识的获取。选取不同的分类方法,我们可以得到不同的先验知识。对于每一个待分类的样本,都对应此样本的一个先验知识,来表示此样本在没有其它信息时所属类别的概率表示:(p1,p2,p3,…,pn),其中pi表示此样本属于第i类的先验概率。在引言中的例子中,假设一个样本的概率表示是 (0.4,0.4,0.2,0)表示此样本是老年人的先验概率是0.4,是中年人的先验概率是0.4,是青年人的概率是0.2,但不可能是少年。

3 先验知识在分类问题中的应用

3.1 深度学习中隐层数目

深度学习实际上是自动提取特征的过程,特征提取的好坏决定了分类的效果。浅层人工神经网络在很多问题中效果不好的原因是提取的特征不够好。Minsky认为,单层神经网络不能解决异或问题,即不存在一个连续函数f(x,y),使得:f(0,0)=1;f(0,1)=0;f(1,0)=0;f(1,1)=1。特征提取的不够好,在最后一层隐层与输出层之间就形成单层神经网络,很可能陷入异或问题的困境。这也是很多问题用浅层神经网络不能得到很好效果的原因。因此,对于越复杂的问题,需要的层数就越多,层数越多的神经网络提取的特征越多,给出的信息也就越多,识别的准确性越高,但是层数越高,特征越多,计算复杂度增加,搜索的空间也会增大,样本对应的数值会越稀疏,数据信息损失也就越多,层数太大可能就无法分类,如图1所示。

图1 两类正弦曲线加上扰动生成的样本在多层神经中的图例

图1中,我们生成了正弦曲线加随机扰动项的两类样本,其中的4幅图分别代表输入层、第3 隐层、第6 隐层和第9隐层的散点图。从图中可以看出在第9隐层中已经不可能把样本分类。

对于多分类问题,很难想象对于每一类样本都能用统一的特征来进行稀疏表示。相反,如果先验知识较精确,即先验概率分布中分量为0的个数较多,则提取的特征可能更精确,分类效果会更好。

3.2 先验知识的应用

在n-分类问题中,对于某样本的先验概率表示(p1,p2,p3,…,pn)以及利用深度学习得到的输出(o1,o2,o3,…,on),我们提出两种方法利用先验知识得到较好的分类结果,如下算法1和算法2。

算法1实质就是将深度学习得到的输出作为给定样本分类下的条件概率;在算法2中,加入参数ε用以调整先验知识,具体体现在算法2的第一步中。经过调整后的先验知识会比原有的先验知识较为稀疏,从而在第二步中需要分类的类别数减少,进而简化需要训练的深度神经网络结构。

算法1:加先验知识的随机深度学习分类器 (RPK)

输入:给定训练样本的先验知识矩阵 (p1,p2,p3,…,pn)

输出:分类结果

步骤1 应用深度学习方法得到深度神经网络的输出(o1,o2,o3,…,on);

步骤2 计算乘积:(r1,r2,r3,…,rn)= (p1*o1,p2*o2,p3*o3,…,pn*on);

步骤3 输出最大的数ri的下标i。

算法2:加先验知识的确定型深度学习分类器 (DPK)

输入:给定训练样本的先验知识矩阵(p1,p2,p3,…,pn)以及参数ε

输出:分类结果

步骤1 如果piε,设p′i=pi;若pi≤ε则p′i=0;

步骤2 当p′i0时,应用深度学习方法得到深度神经网络的输出(o1,o2,o3,…,on);

步 骤3 计 算 乘 积:(r1,r2,r3,…,rn)= (p′1*o1,p′2*o2,p′3*o3,…,p′n*on);

步骤4 输出最大的数ri的下标i。

3.3 带有先验知识的多分类算法若干结果

由于先验知识对结果的影响很大,所以先定义所需的先验知识。

定义 (准确的先验知识)属于第i类的样本,若pi≥pj对于任意的j 都成立,我们称此先验知识是准确的。

为此,有下面关于损失函数的结论,这里统一设定损失函数为二次损失函数。

定理1 对于n-分类问题中的任意样本以及给定的准确的先验知识(p1,p2,p3,…,pn),设在无先验知识的深度神经网络的输出是(o1,o2,o3,…,on),而算法1的输出是(,,,…,),算法2的输出是,,…),损失函数是f。则有

证明:不妨设此样本属于第1类,则其真值为 (1,0,…,0)。以下分情况讨论:

(1)若在无先验知识的深度神经网络的分类结果是第1类,则有o1≥oi对任意i成立。由于p1≥pi对于任意i都成立,故r1=p1*oi≥pi*oi=ri,r2=p1*oi≥pi*oi=ri,对任意i成立,也即算法1和算法2的输出都是1,此时损失都为0。

(2)若在无先验知识的深度神经网络的分类结果是第i类,i≠1,即o1≤oi。由于p1≥pi,oi-o1≥pi*oip1*o1,即算法1 和算法2 的分类结果有可能是第1 类,否则损失与深度神经网络的损失相同。综合可知结论成立。

证毕。

事实上,准确的先验知识不仅可以降低损失,而且对神经网络结构的简化也有很大帮助。对于某类有一个很小的先验,按照算法2仅仅需要建立一个3-分类的神经网络。显然,对于3-分类问题要比4-分类问题简单,为了说明这个问题,考虑2-分类问题和3-分类问题的比较。

图2中,每个图例由两部分组成,每部分对应于一个神经元。假设使用不带有隐层的神经元,且增加第一个神经元和输出神经元的权重,将无法分类b 和c类的样本。类似地如果增加第二个神经元和输出神经元的权重,将无法分类a和c类的样本,由此可知只用单层神经网络是无法处理这样的问题。然而,若已知某个样本不属于某一类的先验知识,那么这个问题就成了二分类问题,此时只需单层神经网络就可以了。

图2 二分类方法简化神经网络结构

深度学习是自动提取特征的过程,要分类的类别越少,需要的神经网络结构也更简单。简单的神经网络结构会给调参带来很大的方便,同时也意味着输出的结果更稳定,连接权重的绝对值更小。连接权重的大小直接决定了优化算法的迭代步数,决定了求得满意解需要的时间。

4 实验结果与分析

4.1 数据集

本文使用MNIST 手写体标准数据集,此数据集是Le-Cun[15]等搜集并整理的手写体数据集。该数据集的训练集有60000张数字图像,测试集有10000张数字图像。每张数字图像类似如图3所示的手写体数字。

图3 手写数字 ‘0’

4.2 实验结果

假设准确的先验知识只有两个为0.5,其余全为0的情况,称此先验为极端先验。表1比较了Hinton等[1]的多分类方法以及类似结构下使用有先验知识的分类方法得到的识别率,表2给出了Hinton等使用多分类方法以及使用有先验知识的分类方法得到的权重的比较结果。

表1 多分类方法和有先验知识的分类方法的部分识别率比较结果

表2 多分类方法和根据先验知识分类方法的权重比较结果

表1中,应用先验知识的分类方法表现最 “好”的是手写数字样本取自’3’和’4’中的样本,表现最 “差”的是手写数字样本取自’5’和’6’中的样本 (在表中分别用黑体字样方式标出)。从表中可以看出,若知道某些类的一些先验知识,利用有先验知识的分类方法能够提高识别率。实验中采用了和Hinton类似的结构,一般情况下,这一结构对于有先验知识的分类方法不是最优的。对于不同类别对的45个有先验知识的分类方法模型都采用了类似的结构,却得到了比Hinton更好的结果,由此说明极端先验在多分类问题中的优越性。

为了简化神经网络的结构,实验中,多分类方法使用了3层隐层,如果只考虑’0’类样本和’1’类样本时仅需要1层隐层就可以很好的分类,分类错误的样本量为1,总测试样本量为2115。显然比多分类问题的识别率要好得多。

表2中比较了多分类方法和有先验知识的分类方法的连接权重。有先验知识的分类模型中,使用的是45个模型中连接权重绝对值的最大值。在这种极端情况下,仍然能够得出普遍比多分类方法好的结果 (除了隐层和输出层之间的权重,多分类模型与最坏情况下的二分类模型相差不多)。

5 结束语

本文以深度学习知识为背景,提出了先验知识的理论知识,研究了先验知识在多分类问题中的应用,并通过实验验证了在深度学习中加入先验知识能够提高多分类方法的识别率,减小连接权重的绝对值,且使得学习的结构更简单。在本文中仅利用了Hinton多分类方法原有的结构就得到比较好的识别率,如果可以得到更好的先验知识,分类效果则更好,更能说明在多分类问题中加入先验知识能够提高识别率,通过实验验证了该方法的有效性。

[1]Hinton G,Salakhutdinov R.Reducing the dimensionality of data with neural networks[J].Science,2006,313 (5786):504-507.

[2]Ranzato M,Boureau YL,LeCun Y.Sparse feature learning for deep belief networks[C]//In Advances in Neural Information Processing Systems,2008:1185-1192.

[3]Lee H,Grosse R,Ranganath R,et al.Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations[C]//Proceedings of the 26th Annual International Conference on Machine Learning.ACM,2009:609-616.

[4]Koller D,Friedman N.Probabilistic graphic model,principles and techniques[M].USA:MIT Press,2010.

[5]Sebastian Maldonado,Richard Weber,Jayanta Basak.Simultaneous feature selection and classification using kernelpenalized support vector machines [J].Information Sciences,2011,181:115-128.

[6]Mohamed Morchid,Richard Dufour,Pierre-Michel Bousquet,et al.Feature selection using principal component analysis for massive retweet detection [J].Pattern Recognition Letters,2014,49 (1):33-39.

[7]Arel I,Rose D,Karnowski T.Deep machine learning-a new frontier in artificial intelligence research [C]//Intelligence Magazine,2010,5 (4):13-18.

[8]Zhou S,Chen Q,Wang X.Discriminate deep belief networks for image classification [C]//17th IEEE International Conference on IEEE,2010:1561-1564.

[9]Mohamed A,Sainath TN,Dahl G,et al.Deep belief networks using discriminative features for phone recognition[C]//In Acoustics,Speech and Signal Processing IEEE International Conference on IEEE,2011:5060-5063.

[10]Lee H,Grosse R,Ranganath R,et al.Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations[C]//Proceedings of the 26th Annual International Conference on Machine Learning.ACM,2009:609-616.

[11]Bengio Y.Learning deep architectures for AI[J].Foundations and Trends in Machine Learning,2009,2:1-127.

[12]Yoshua Bengio,Aaron Courville,Pascal Vincent.Unsupervised feature learning and deep learning:A review and new perspectives[R].US:Cornell University,2012.

[13]Le Roux N,Bengio Y.Representational power of restricted Boltzmann machines and deep belief networks [J].Neural Computation,2008,20 (6):1631-1649.

[14]Nair V,Hinton GE.Rectified linear units improve restricted Boltzmann machines [C]//Proceedings of the 27th International Conference on Machine Learning,2010:807-814.

[15]LeCun Yann,Corinna Cortes.“MNIST handwritten digit database.”AT&T Labs [EB/OL].http://yann.lecun.com/exdb/mnist/index.html,2010.

猜你喜欢
隐层先验神经网络
基于RTD可编程逻辑门的n变量函数实现算法
基于BP神经网络学习算法的图像压缩技术研究
神经网络抑制无线通信干扰探究
基于无噪图像块先验的MRI低秩分解去噪算法研究
基于RDPSO结构优化的三隐层BP神经网络水质预测模型及应用
基于自适应块组割先验的噪声图像超分辨率重建
基于神经网络的拉矫机控制模型建立
基于平滑先验法的被动声信号趋势项消除
复数神经网络在基于WiFi的室内LBS应用
先验的废话与功能的进路