基于深度网络的图像处理的研究
文/朱明1 武妍2
机器学习的研究一直是模式识别领域里研究的热点,而深度学习则是兴起的一种机器学习方法。现有的一些机器学习方法(如SVM、核回归等)大都都是使用浅层结构,很难有效的表示复杂函数,并且对复杂函数的表现能力和泛化能力不足,深度学习通过学习一种深层非线性网络,实现对复杂函数的逼近。本论文主要针对现有的深度网络进行结合改进,并且通过实验证明其可行性。
【关键词】神经网络 图像处理 深度网络
1 引言
图像是人类最重要的信息源。随着技术的发展,图像的应用也越来越广泛,因此图像处理已经成为研究人员关注的重点。由于图像中包含的信息比较丰富,如何能有效的抽取信息,并对其进行识别也是研究者们关心的话题。目前,在图像处理领域已经有了不少相关的研究。例如利用神经网络进行图像处理的方法:采用反向传播算法的多层前馈网络,能够逼近任意非线性映射关系的BP网络。
上述进行图像处理研究中,虽然取得一定的效果,但是还是存在一定的问题,如对多层的训练,其效果已经不是很理想;由于采用随机选定初始值的多层网络训练算法,但因输入与输出间非线性映射使网络误差函数是一个含多个极小点的非线性空间,因此会陷入局部最小的困境。
针对上述情况,我们采用“深度学习”方法来进行处理。深度学习是一类兴起的神经网络学习算法,其主要是通过学习低层特征形成抽象的高层表示 ( 属性类别或特征 ),以发现数据的分布式特征,本论文通过对深度模型进行结合改进,并且通过实验表明其具有可行性。
2 深度学习相关模型及改进2.1 稀疏自编码器
自动编码器 (Auto encoder,AE) 可以用来对高维数据降维,得到低维的数据的特征向量。其模型一般包含一个输入层、一个隐层和输出层,设样本的输入向量为 ,可以由以下公式得出隐层和输出层的Active 情况:
y=f(ωx+b) (1)
z=f(ωT
y+b') (2)
其中 f 为 S 型函数,即:f=1/(1+e-x)。自编码器的目的是让输出与输入尽量相同,即使得输出z 与输入x相同。AE 的损失函数为:
(3)
其中 KL 表示输入向量 xi
与输出向量 Zi
的 KL 散度,其目的是用来度量之间的差别。由于隐层 y 维度比输入 x 的维度小,因此可以学习到输入样本的低维表示。权重训练采用随机梯度下降。在训练该模型时,通常加入约束条件,限制隐层的神经元激活数目,使得只有少数的隐层神经元可以被激活,这种叫做稀疏自动编码器(SAE) 其结构如图2所示。SAE的损失函数表达式如下所示:
(4)
其中J(w,b)为无稀疏约束时网络的损失函数。后项KL 的表达式为:
(5)
隐层节点的输出平均表达式如下:
(6)
在求出损失函数之后,便可以求出损失函数的偏导,最终计算的偏导为:
(7)
(8)
得到损失函数和偏导后即可采用梯度下降的办法求取参数。算法的大致流程如下:
(1)送入训练的样本,并且设置每层:
(2)a. 通 过 输 出 与 输 入 的 比对, 利 用反 向 传 播 算 法 得 出: 和,
b. 设置
c. 设置
(3)更新参数:
从上面可得知,损失函数是与样本输入先后没有关系,因为这是由每个样本损失叠加而成的。
2.2 受限玻尔兹曼机
受 限 玻 尔 兹 曼 机 (Restricted Boltzmann Machine,RBM) 是一个可见层与一个隐层,层内无连接的结构。其结构如图 3所示。
设定一个RBM具有n个可见单元和m个隐单元,向量 v 和 h 分别表示可见单元和隐单元的状态。vi表示第 i 个可见单元状态,hj表示第 j 个隐层单元的状态。对于给定的一组状态(v,h),RBM所具备的能量定义为:
(9)上式中, 是RBM的参数,
其中 Wij
为隐层和可视层之间的连接权重,ai表示可见单元的偏置,bj表示隐单元偏置。基
于(v,h)的联合概率分布为:
(10)
Z(θ) 为归一化因子。
由 RBM 的结构可得:当给定可见层单元的状态时候,隐层单元的激活状态是独立的。第j个隐单元激活的概率为:
(11)
其中 σ() 为 S 型函数。同理当给定隐层单元状态时,可见层的激活概率为:
(12)
RBM 网络的参数 θ,可以在训练集上通过最大释然函数学习得到,即:
(13)
经过求解之后的θ 梯度为:
由于归一化因子 Z(θ) 的存在,上式右边一项的联合概率分布很难获得,只能采取一些采样方法,如 Gibbs 采样。由于 Gibbs 采样需要较多的次数,尤其当特征维数比较高的时候,训练 RBM 的效率不高。因此 RBM 一般采取一种快速学习方法,即对比散度 (Contrastive Divergence ,CD),CD算法主要步骤如下:
a. 输入:训练样本 x;隐层单元 m;学习率ε;迭代次数T。
b. 输出:权重W;隐层偏置b;可见层偏1)初始化可见层的状态 v1=x0; w、a 和b为较小随机数。
2)While(t<=T)
对隐层进行计算概率 ( 利用 (11)),后对所有可见层进行概率抽取( 利用(12)),再对隐层单元进行计算激活概率.
3)其中网络参数的更新如下式:
End
本论文主要结合上述两种模型对图像识别进行分析,首先用SA可以提取数据的特征然后通过RBM进行识别。
3 仿真结果与分析
实验对 MNIST 数据库进行实验,此数据库已经有许多不同的模式识别方法,因此这个数据库是一个公认的、理想的评估新方法的方式。本软件采用MATLAB R209a 版本。该实验采用的是 MNIST 的手写体样本库作为训练样本集。该数据集是 NIST 数据库的一个优化子集,其中包含了 60000 个训练数据和 10000 个测试用例。本次实验使用的是5000 个训练样本和 1000 个测试样本,每个图像的大小为 28×28 的。此次实验设置 SA 的参数为:迭代次数为 300 次,学习率为 0.1。最后实验的效果如下表1所示:
从上面 MNIST 实验中可以,本论文采用的结合的方法比浅层网络以及 DBN 深度网络都有比较好的效果。
4 总结
深度学习是机器学习领域兴起的研究方向,其目的是让机器可以模仿人进行学习,从而可以进行识别和认知图像、文本等数据。本论文主要对 SA 与 RBM 结合进行了研究,并通过其结合验证了其效果比浅层的神经网络以及DBN都要好。
参考文献
[1]王洪元,史国栋.人工神经网络技术及其应用 [M]. 北京 : 中国石化出版社 ,2002.
[2]ERHAN D,BENGIO Y,COUVILLE A,et al. Why does unsupervised pre-training help deep learning[J].Journal of Machine Learning Research,2010,11(03) :625-660.
[3]Yoshua Bengio and Olivier Delalleau. On the expressive power of deep architectures[C]//Proc of the 14thInternational Conference on Discovery Science.Berlin: Springer-Verlag,2011:18-36.
[4]Vincent P, Larochelle H,Bengio Y, et al.Extracting and composing robust features with denoising autoencoders[C]//Proceedings of the 25th international conference on Machine learning.ACM,2008:1096-1103.
[5]Hinton G E.Training products of experts by minimizing contrastive divergence[J].Neural computation, 2002,14(08):1771-1800.
作者简介
朱明(1989-),男,同济大学软件工程研究生在读,研究方向为机器学习。
作者单位
1.同济大学电子与信息工程学院 上海市 201804
2.同济大学电子与信息工程学院 上海市 201804