本发明涉及数据处理的技术领域,尤其涉及一种图像张量数据的处理方法,其能够直接应用于任意阶数的图像张量数据。
背景技术:
受限玻尔兹曼机(restrictedboltzmmanmachine,rbm)是由可见层和隐含层组成的两层神经网络,由于其很强的特征表示能力,而被广泛应用到模式识别和机器学习中。传统rbm中的可见层和隐含层数据都是用向量形式表示。
然而,今天来源于实际生活中的数据常常具有高维度特性。为了在这些高维数据上应用rbm,常用的方法就是将数据向量化,向量化的过程往往会破坏高维数据中的内部结构,导致重要的关联信息丢失,或者是产生维度灾难的问题。另外,rbm是一种全连接的网络结构,随着数据维度的增长,模型中的参数将呈指数形式增长。因而需要更多的存储空间和更高的计算复杂度,这使得rbm算法不适合在普通设备或高维数据上应用。
技术实现要素:
为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种图像张量数据的处理方法,其能够大大降低模型中自由参数个数,权值层的限制灵活,可以适用于任意阶数的图像张量数据。
本发明的技术方案是:这种图像张量数据的处理方法,该方法引入具有tensortrain结构的受限玻尔兹曼机ttrbm模型,该方法的输入与输出数据均用张量表示,中间层的权值也用张量表示,限制权值具有tensortrain的结构;通过调整张量train分解的秩控制中间层中自由参数个数;调节tt分解的秩,尺寸相同的不同特征表示。
本发明的模型输入与输出数据均用张量表示,中间层的权值也用张量表示,为了减少中间层的权值数量,发明中限制权值具有tensortrain的结构,通过调整张量train分解的秩控制中间层中自由参数个数,权值层的自由参数个数随着样本数据的维度呈线性增长,这样大大降低了模型中自由参数个数,权值层的限制灵活,可以适用于任意阶数的图像张量数据。
附图说明
图1展示了一部分手写数字的原图以及重构后的图像。
图2展示了feret数据库中一些人脸图像的对比结果。
图3是本发明一个优选实施例的流程图。
具体实施方式
这种图像张量数据的处理方法,该方法引入具有tensortrain结构的受限玻尔兹曼机ttrbm模型,该方法的输入与输出数据均用张量表示,中间层的权值也用张量表示,限制权值具有tensortrain的结构;通过调整张量train分解的秩控制中间层中自由参数个数;调节tt分解的秩,尺寸相同的不同特征表示。
本发明的模型输入与输出数据均用张量表示,中间层的权值也用张量表示,为了减少中间层的权值数量,发明中限制权值具有tensortrain的结构,通过调整张量train分解的秩控制中间层中自由参数个数,权值层的自由参数个数随着样本数据的维度呈线性增长,这样大大降低了模型中自由参数个数,权值层的限制灵活,可以适用于任意阶数的图像张量数据。
优选地,ttrbm模型的能量函数为公式(1)
其中
其中θ表示偏置项
其中
优选地,公式(1)中,每个可见单元
以及每个隐含单元
其中σ为sigmoid函数σ(x)=1/(1+e-x)。
优选地,假设
对于θ中任意的参数θ,
利用吉布斯采样的方式采集一系列样本集,首先从样本集中选定某个样本
模型的期望通过样本
定义两个指标
公式(1)对
由于
对于偏置项得到
优选地,如图3所示,该方法包括以下步骤:
(1)给定包含n个张量形式的训练样本集
(2)随机初始化gd[id,jd],
(3)t=1:t循环:
将样本集
m=1:m循环:
固定当前模型的参数θ,从
k=0:k-1
固定
固定
利用(6)-(8)计算参数的梯度分别为:
迭代参数:θ→θ+δθ,循环结束
计算e(t),如果|e(t)-e(t+1)|<∈成立,则终止迭代;循环结束。
优选地,该方法用于描述学习一种数据的生成模型,这种模型包含多种数据的输入,定义这种模型为多模态的ttrbm。
优选地,训练阶段,利用五种矩阵的图像块(x,z1,z2,z3,z4)作为训练集,x表示高分辨率图像块,它是从彩色图像的ycbcr空间的y通道生成的图像,(z1,z2,z3,z4)表示的是低分辨率图像,它们分别是y通道x-,y-,xx-,yy-方向的图像的梯度,(x,z1,z2,z3,z4)是可见层的输入,它们连接着共同的隐含层y,因此,公式(1)写为,
可见层与隐含层的联合分布为,
为了得到训练样本,从设定的69幅彩色图像中获取图像块,从而得到包含10,000个图像块的训练图像集
测试阶段,给定一幅低分辨图像,它的四个低分辨特征z={z1,z2,z3,z4},然后利用一种简单的高分辨重建方法,得到预期的x0,x0以z被看作是可见层的输入,通过可见层的输入得到隐含层y,进而,隐含层的值又传递回可见层,从而得到高分辨图像块x,最后再将图像块还原为原来图像的大小。
以下更详细地说明本发明。
本发明采用的技术方案为一种张量数据的受限玻尔兹曼机方法,该方法的具体实施过程如下:
二维模型构建
首先引入具有tensortrain结构的受限玻尔兹曼机(ttrbm)模型。
传统rbm的能量函数为:
e(x,y;θ)=-xtwy-btx-cty
其中
其中
其中gd[id,jd]为rd-1×rd的矩阵,gd为rd-1×id×jd×rd大小的高维数据。
其中θ表示偏置项
其中
模型的求解
在研究ttrbm模型算法之前,首先给出下面的理论。
定理1.在ttrbm模型中,每个可见单元
以及每个隐含单元
其中σ为sigmoid函数σ(x)=1/(1+e-x)。
证明:由于
以
其中,
定义
从而可以推导出
令(i1,...,id)=(i′1,...,i′d)即得出结论。
假设
对于θ中任意的参数θ,可以证明
上式中等式右边第一项可以看作是数据的期望,第二项是模型的期望。由于模型的期望值需要计算样本空间中所有可见层和隐含层取值可能性的和,因此该式的计算难点在于计算模型的期望。为了避免这个问题,可以从模型中采样,利用采集的样本的期望来近似模型的期望。这就是对比散度的算法,该算法的思想很简单,即利用吉布斯采样的方式采集一系列样本集,首先从样本集中选定某个样本
因此,模型的期望可以通过样本
从而可以得到,
为了清楚,下面定义两个指标
以及
对于核矩阵
又由于
利用同样的方法,对于偏置项,我们可以得到,
以及
从之前定义的能量函数(1)可以看出,能量函数只依赖gd[id,jd],d=1,...,d。当一个参数增长s倍时,其他参数降低1/s倍时,他们的乘积不变,不会影响能量函数的值,为了避免这个问题,在优化目标中,加上惩罚项
ttrbm的求解算法可以总结为下表1。定义原始样本集与重构样本集之间的重构误差为,
其中,
表1
实验测试:
1.重构实验:
为了测试ttrbm算法的收敛性,下面从两个数据库上进行了重构的实验对比。该实验涉及到两个数据库:
·minisi数据库中的一部分手写体数字集。
手写体数据集中共包含70,000幅带标签的手写体数字图像,每张图像都是灰度图像,大小为28*28。在这个数据集中,有60,000个训练样本以及10,000个测试样本。重构实验中,在每个数字中选取2,000幅图像(共20,000幅)做重构实验。
·feret人脸数据库。
该数据库包含200个人的1400幅图像,每个人7幅图像。所有图像都经过灰度化的处理,并下采样到32*32。实验中,随机选取100个人的图像做测试。
实验中,γ,α以及β的初始值如算法1所示。当d=2并且tt分解的秩为r=[1,1,1]时,ttrbm与mvrbm方法是类似的。每一层的参数实际上是两个矩阵的乘积形式。在ttrbm模型中,权值层的两个核矩阵g1和g2大小分别为i1×j1以及i2×j2,然而,在mvrbm中,两个核矩阵的大小分别为j1×i1以及j2×i2。因此,主要对比了这两种方法在重构实验中的差别。
手写体数据集上,设定隐含矩阵的大小为25*25,最大迭代次数为t=150。结果表明,当r=[1,1,1]时,提出的方法的收敛速度比另一种方法稍快一些。但当r=[1,2,1]时,本方法的收敛速度要明显快与另一种方法。图1展示了一部分手写数字的原图以及重构后的图像。不同方法的重构图像视觉效果相似,这是因为不同算法几乎都收敛到同一误差值,mvrbm的重构误差为10.2275/(28*28),ttrbm(r=[1,2,1])的重构误差为9.7783/(28*28)。
与mvrbm相比,本方法的优势在于可以调节tt分解的秩进而重构人脸图像。设定r=[1,5,1]以及r=[1,10,1]。实验结果表明,当r=[1,5,1]以及r=[1,10,1],ttrbm的重构呈现逐渐递减的趋势,即适当调整tt分解的秩,ttrbm算法在重构人脸数据时是收敛的。图2展示了feret数据库中一些人脸图像的对比结果,可以看出mvrbm以及ttrbm(r=[1,1,1])时都不能重构出正确的人脸图像,然而,当r=[1,10,1]时,ttrbm重构出的人脸图像具有较好的视觉效果。
2.高分辨率图像的重建
所提出的ttrbm也可以用来描述学习一种数据的生成模型,这种模型包含多种数据的输入,因此可以定义这种模型为多模态的ttrbm。在这个实验中,利用高分辨率图像的重建来测试该模型的性能。
训练阶段,利用五种矩阵的图像块(x,z1,z2,z3,z4)作为训练集,x表示高分辨率图像块,它是从彩色图像的ycbcr空间的y通道生成的图像。(z1,z2,z3,z4)表示的是低分辨率图像,它们分别是y通道x-,y-,xx-,yy-方向的图像的梯度。(x,z1,z2,z3,z4)可以看做是可见层的输入,它们连接着共同的隐含层y,因此,能量函数可以写为,
可见层与隐含层的联合分布为,
为了得到训练样本,我们从69幅彩色图像中获取图像块,这些图像可以从网址http://decsai.ugr.es/cvg/dbimagenes/下载,从而可以得到包含10,000个图像块的训练图像集
测试阶段,给定一幅低分辨图像,它的四个低分辨特征可以得到z={z1,z2,z3,z4}。然后利用一种简单的高分辨重建方法,我们就可以得到预期的x0。因此x0以z被看作是可见层的输入。通过可见层的输入,我们可以得到隐含层y,进而,隐含层的值又传递回可见层,从而得到高分辨图像块x,最后再将图像块还原为原来图像的大小。
表2分别列出了这些方法的重建图像结果以及耗费的时间。
表2
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。