基于四元数的卷积核编码方式研究

2017-12-11 14:43鲍毛毛茅廷陈宇珽方晓邱媛媛
电脑知识与技术 2017年31期

鲍毛毛 茅廷 陈宇珽 方晓 邱媛媛

摘要:近年来,随着人工智能的飞速发展,深度学习领域也得到了极大关注。卷积神经网路是深度学习研究领域中的一个重要方向。然而现有的卷积神经网路模型在卷积核层面只能处理二维数据。鉴于此目的,该文提出四元数卷积神经网络模型(Quaternions Convolutional Neural Network,QCNN),目的是在卷积核层面可以处理三维数据,充分挖掘图像信息。该文首先介绍了四元数神经元模型,然后提出了四元数感受野模型、四元数卷积神经网络的输入和四元数特征图生成模型,创建了四元数卷积神经网络,并层次递进的构建了四元数卷积神经网络模型的拓扑结构,最后用四元数BP算法训练学习整个网络。QCNN将CNN的数据处理从2维扩展到3维,并利用四元数的代数几何理论,充分融合不同维度的特征信息。

关键词:卷积神经网路;四元数;四元数编码

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)31-0269-04

1 绪论

近年来,随着人工智能的飞速发展,深度学习领域也得到了极大关注。深度学习是模式识别和机器学习研究领域中的一个新的方向。其中卷积神经网络(Convolution Neural Network ,CNN)通过对样本的自动学习,根据系统需要解决问题的复杂度,抽取样本的局部特征计算比较,从而推理形成一个自动学习特征的识别系统。Cire?an等利用multi-stage卷积神经网络识别分类[1]。这种方法仅仅以图像为单位,没有利用视频中每一帧的关联信息。Karpathy介绍了通过改变第一个卷积层的结构,使它可以接受多个帧作为输入,然后隐层融合特征[2]。但是这些都是基于传统卷积神经网络结构,并没有改变神经元和特征图的传导方式,对于信息的融合并不是特别充分。

基于四元数对彩色图像的识别技术已经得到一定发展和实际应用,最广泛的做法是将彩色图像的RGB通道编码在四元数的三个虚轴上,从四元数理论上做数学分析。郎方年等和黎云汉等[3-4]将四元数主成分分析(Quaternion principal component analysis, QPCA) 应用于彩色人脸识别; Lu等[5]基于四元数理论提出了局部四元数 Gabor二值模块描述子的算法, 并且在文中和文献 [35]中的算法进行了对比; Ding 等[6]利用四元数K-L变化(Quaternion K-L Transform)和仿生模式识别方法(Biomimetic Pattern Recognition)进行人脸识别; Sun 等[7]基于QPCA提出了两种彩色人脸识别的算法, 分别是基于四元数的二维PCA (2D Principal component analysis, 2DPCA)和基于四元数的双向PCA (Quaternion bidirectional PCA, QBDPCA)。另外,也有将四元数拓展到BP神经网络的研究和应用[8]。而且,有一些研究者已经基于克利福德(Clifford)代数提出克利福德神经网络(CliffordNeuralNetworks)。目的是为四元数以及四元数神经网络建立一个统一的理论基础[9]。

鉴于以上背景,本文基于四元数理论框架和卷积神经网络结构,提出了四元数卷积神经网络模型。

2 系统结构

传统的卷积神经网络输入只能是一个灰度图,所以它的输入和卷积核都是标量,只能是2维数据的输入,这样丢失了数据不同维度之间的相关性,损失了大量信息。在彩色图像的各种表示方法中,目前四元数的表示方法颇为流行,可以将彩色图像的RGB通道编码在四元数的三个虚轴上。结合传统CNN和四元数理论,本文提出了一种基于四元数的卷积神经网络结构,主要思想是将输入和卷积核都扩展为四元数,利用四元数的性质进行前向和反馈,训练整个四元数卷积神经网络。

四元数卷积神经网络模型如图1所示,本文会将网络模型分为四元数神经元模型,四元数感受野模型、四元数卷积神经网络的输入、四元数特征图生成模型、四元数卷积神经网络的下采样和全连接介绍,并相应阐述它的拓扑结构,最后介绍四元数卷积神经网络的学习算法。

2.1 四元数代数和几何理论

四元数代数和几何理论是四元数卷积神经网络的理论基础,本小节先介绍四元数的代数定义,再介绍四元数三维空间的几何理论。

四元数是复数的推广,将复数的一个虚部扩展为三个虚部,其定义如下:

[q=qr+qii+qjj+qkk],[q∈K4] (1)

其中,[qr]为[q]的实部,记为[Req=qr],[qii+qjj+qkk]为[q]的虚部,记作[Imq=qii+qjj+qkk],[K4]表示四元数集合。

三个虚部满足如下法则:

[i2=j2=k2=-1] (2)

[ij=-ji=k;jk=-kj=i;ki=-ik=j] (3)

四元数共轭的定义位为

[q*r=qr,-w=qr-qii-qjj-qkk] (4)

四元数的基本性质与实复数稍有些区别。

1. 纯四元数定义为,四元数[q]的实部[qr]为0,[q∈I],[I]表示纯四元数集合。

2. 四元数相等定义为:两个四元数有相等的实部和虚部。

3. 兩个四元数的和差定义为其系数做代数相加减:

[q1±q2=qr1±qr2,v±w]

[=qr1±qr2,qi1±qi2,qj1±qj2,qk1±qk2] (5)

4. 实数与一个四元数的乘积等于系数相乘。

[K*q=K*qr+K*qii+K*qjj+K*qkk] (6)

5. 两个四元数的乘法定义为:

[q1?q2=qr1qr2-v?w,qr1w+qr2v+v×w] (7)

其中[?和×]分别代表向量的点乘和叉乘。

6. 四元数点乘类似于复数的点乘,定义如下:

[q1☉q2=qr1qr2, qi1qi2,qj1qj2,qk1qk2] (8)

7. 四元数模定义为:

[q=q2r+q2i+q2j+q2k] (9)

利用四元数理论可以很好的描述3D空间的几何变换。3D空间的几何变换共有三种形式:平移,膨胀和旋转。

(1) 平移:坐标x和y为两个纯虚四元数,三个虚轴可以编码到3D空间的三维向量。那么x、y的和:[x+y],即是坐标x在3D空间通过坐标y的偏移,类似于2D空间的向量相加方式。

(2) 膨胀:膨胀操作也类似于2D空间中的方法:[bx]代表向量x通过实数b缩放。

(3) 旋转:旋转方法[g]被定义为:

[g=w?v?w*] (10)

其中[w]满足模为1的四元数([x=1]),[v]是一个模为1的纯虚四元数([v=1])。四元数[w]被定义为:

[w=cosα+sinαu] (11)

这其中[α]是一个满足[α≤π]的角度,[u]是一个满足[u=1]纯虚四元数。公式总可以用[u]和[v]表示,无论[u]和[v]是否正交。所以对于旋转[g]的表示,公式可以重写为:

[g=cos2αv+sin2αu×v] (12)

这个公式體现出向量[v]可以通过向量[u]旋转2[α]角度得到。如图2所示。

如果[u]和[v]非正交,则公式可以重写为:

[ g=w?v1+v2?w*]

=[w?v1?w*+w?v2?w*]

=[v1+sin2αu×v2+cos2αv2], (13)

其中[v1]和[v2]是向量[v]的两个向量分量,满足[v1]∥[u],[v1]⊥[u]。公式也体现出向量[v]可以通过向量[u]旋转2[α]角度得到

2.2 四元数神经元模型

相比较于传统的神经元模型,四元数神经元将每个点扩展为四元数,如图3所示。对于一个输入四元数数据[x=pii+pjj+pkk],[x∈I],其中实部[pr]为0,[I]表示纯虚四元数集合。四元数神经元的权值[w=qr+qii+qjj+qkk],[w?K4],[K4]表示四元数集合,对应此四元数神经元的输出[y]:

[y=fs] (14)

其中[s]表示为:

[s=w?x?w*w±b=1q2r+q2i+q2j+q2kq2rpi+q2ipi-q2jpi-q2kpi+2qrqjpk+2qiqjpj+2qiqkpk-2qrqkpji+q2rpj-q2ipj+q2jpj-q2kpj+2qrqkpi+2qiqjpi+2qjqkpk-2qrqipkj+q2rpk-q2ipk-q2jpk+q2kpk+2qrqipj+2qiqkpi+2qjqkpj-2qrqjpik±b] (15)

从公式中可以反映出输入的三维信息[x]通过四元数的乘法规则,在不同的虚轴上进行了充分的融合。输出神经元y需要激活函数产生一个非线性状态,该文使用的激活函数为Sigmoid函数:

[fs=fsii+fsjj+fskk],

[fx=11+e-x]。 (16)

2.3 四元数卷积神经网络的感受野模型

四元数感受野(以下简称感受野)模型如图4所示,输入矩阵A的每个点都是一个纯虚四元数,图中用[I]表示,大小为4*4,感受野即为四元数卷积核,图中样例的感受野大小是3*3,每个点是四元数,用[K4]表示。图4中表示矩阵A中左上角的3*3矩阵和感受野做运算,生成B中的第一个四元数像素点。运算方法如下,由于图像卷积中会将模板旋转180度,因此这里先将感受野旋转180度,将旋转后的感受野矩阵和输入A中虚线框矩阵的对应点做公式(15)运算,矩阵大小为3*3,所以对公式(15)一共做了9次运算,得到9个纯虚四元数:q1、q2、…、q9,然后求这9个纯虚四元数的和,再做一个参数为[b]的四元数平移运算,即可得到输出信号[s]。公式(17)表达了上述过程。

[s=w?x?w*|w|+b] (17)

其中[w]为感受野中的每个四元数,[x]为输入A虚线框矩阵中的每个像素点,[s]是输出信号矩阵[S]中的一个像素点。为了最大程度提取图像的低尺度全局信息,我们不会对边界处理,即类似于数字图像处理中的内卷积操作,所以输出矩阵大小应该为[n-k+12],其中[n]为输入矩阵大小,[k]表示感受野矩阵大小。对应图4中,输入图像矩阵[n=4],感受野矩阵[k=3],所以输出矩阵大小为[2*2],每个输出信号矩阵相比于输入矩阵A在横向和纵向各减少两个像素点。最后对矩阵[S]中的每个纯虚四元数像素点做非线性变换,如公式(18)所示。

[Y]=[ FS] (18)

其中函数[F]表示对于矩阵[S]中每个纯虚四元数像素点做公式(16)运算,输出[Y]即是特征矩阵B。

2.4 四元数卷积神经网络的输入

四元数卷积神经网络的输入如图5所示。输入是一个纯虚四元数矩阵,由A表示,通过2.2节感受野模型中计算特征矩阵B的方式,将感受野在输入四元数矩阵上滑动,由n个四元数卷积核[G1G2…Gn],生成n个输出信号矩阵[S1S2…Sn],再对每个输出信号矩阵做非线性变换,得到特征矩阵[B1B2…Bn]。通过这个模型,我们可以由一个输入得到任意多张四元数特征图用于QCNN隐层的训练学习。

2.5 四元数特征图生成模型

四元数隐层的卷积层输入包含多个特征矩阵,生成一张特征矩阵的过程如图6所示。对于每一个输入矩阵[An],都有一个四元数卷积核[Gn],并用3.2四元数感受野模型中计算输出信号矩阵的方法得到[Sn]矩阵,[Sn]矩阵中每个点都是应用公式(17)将四元数卷积核在输入特征矩阵中滑动计算得到。所以输入有n个矩阵,则将生成n个输出信号矩阵:[S1、S2、…、Sn]。将这n个输出信号矩阵相加得到矩阵[S],对矩阵[S]中的每个纯虚四元数像素点做非线性变换,如公式(19)所示:

[Y=FS1+S2+…+Sn]=[ FS] (19)

如果我们通过n张输入特征图生成m张输出特征图,则可对生成一张四元数特征图的过程重复m次运算,四元数卷积核的数量为n*m。生成特征图的过程,其实是特征提取的过程,我们称之为四元数卷积层。

2.6 四元数卷积神经网络下采样和全连接

传统卷积神经网络为了变换不变性、模拟视皮层的类似侧抑制效应和减少参数防止过拟合而加入下采样层,据此,我们提出四元数下采样,具体做法是将四元数卷积层后得到的四元数特征图,分别提取三个虚轴矩阵,即得到三个标量矩阵,然后对各个标量矩阵做传统的下采样操作。这个过程我们称之为四元数下采样层。

将多个四元数卷积层和四元数下采样层组合即可组成四元数卷积神经网络模型。最后是四元数全连接层,将最末下采样层得到的特征矩阵变换为1*kn的特征向量,n为特征矩阵纯虚四元数像素点的个数,k为四元数特征图的数量。例如最后下采样层有3张特征图B1、B2,B3,每个特征图大小为3*3,每个特征图中的每个点均为纯虚四元數,则将每个特征矩阵按行排列变成1*9的向量,三个特征图拼接,则为1*27的向量,特征向量的每个点为纯虚四元数,用[xi]表示,i为对应列。如果是2分类,则输出应有两个神经元,用[sj]表示,j为对应输出神经元序号。权值[wji]大小为27*2的矩阵,矩阵的每个点为四元数。如图7所示。

图7 四元数全连接示意图

图中[xi]即表示最后的特征向量,[wji]是第j个输出神经元和第i个输入神经元的权值,[yj]表示输出标签。整个过程用公式表达为:

[sj=iwji?xi?wji*|wji|±b],

[yj=fsj],

[fs=fsii+fsjj+fskk],

[fx=11+e-x], (20)

得到输出表示第j个神经元的输出四元数标签,输出四元数标签也为纯虚四元数。

2.7 四元数卷积神经网络学习算法

我们采用四元数BP反向传播算法来训练我们的网络,定义E是网络输出值和目标标签值的误差,计算公式为:

[E=12ndn-yn2=12nv∈i,j,kdvn-yvn2] (21)

其中[dvn]表示当前样本n个类别的实际标签,[yvn]表示通过公式(20)计算的网络输出值。参数p的更新方式为通过误差E相对p的梯度:

[pnew=pold+ Δp]

[Δp=-η.?E?p] (22)

此处p是QCNN的各个网络层的参数w和b。则输出层的更新方式为:

[ΔbL=yn-dn⊙f'sL]

[ΔwL=1|wL|ΔbLwL?yL-1?w*L|wL|2wL-2bL?wL?y*L-1] (23)

此处[wL,bL,yL,sL]表示输出层的权值、偏置、输出值和输入信号。[yL-1]表示输出层上一层的输出值即最后一个下采样层的输出。其中:

[f's??fsi?sii+ ?fsj?sjj+ ?fsk?skk] (24)

隐层的权值更新公式:

[Δbl=l+1w*l+1?Δbl+1?wl+1|wl+1|⊙f'sl]

[Δwl=1|wl|Δblwl?yl-1?w*l|wl|2wl-2bl?wl?y*l-1] (25)

此处[wl,bl,yl,sl]表示第[l]层的权值、偏置、输出值和输入信号。

3 结论

本文提出了四元数卷积神经网络模型,首先介绍了四元数的代数和几何理论,然后从四元数神经元、四元数感受野、四元数卷积神经网络的输入、四元数特征图生成模型、四元数卷积神经网络的下采样层和全连接,层次递进地介绍了QCNN模型的拓扑结构,最后介绍了QCNN的学习算法。四元数卷积神经网络可以处理三维数据,并利用四元数原理,很好的融合了不同维度的相关性。

参考文献:

[1] Cire?an D, Meier U, Masci J, et al. Multi-column deep neural network for traffic sign classification[J]. Neural Networks, 2012, 32: 333-338.

[2] Karpathy A, Toderici G, Shetty S, et al. Large-scale video classification with convolutional neural networks[C]//Proceedings of the IEEE conference on Computer Vision and Pattern Recognition. 2014: 1725-1732.

[3] Yunhan L, Shanan Z, Lei Z. Quaternion principal component analysis algorithm for face recognition[J]. Signal Processing, 2007, 23(2):214-216.

[4] Lang F N, Zhou J L, Yan B, et al. Obtain method of quaternion matrix orthogonal eigenvector set and its application in color face recognition[J]. Acta AutomaticaSinica, 2008, 34(2):121-129.

[5] Lu W, Xu Y, Yang X K, Song L. Local quaternionic Gabor binary patterns for color face recognition. In: Proceedings of the 2008 IEEE International Conference on Acoustics, Speech, and Signal Processing. Piscataway, USA: IEEE, 2008. 741?744.

[6] Ding L J, Feng H. Quaternion K-L transform and biomimetic pattern recognition approaches for color-face recognition. In: Proceedings of the 2009 IEEE International Conference on Intelligent Computing and Intelligent. Piscataway, USA: IEEE, 2009. 165?169

[7] Sun Y F, Chen S Y, Yin B C. Color face recognition Based on quaternion matrix representation. Pattern Recognition Letters, 2011,32(4):597?605

[8] P. Arena, R. Caponetto, L. Fortuna, G. Muscato and M.G. Xibilia, Quaternionic Multilayer Perceptrons for Chaotic Time Series Prediction, IEICE Transaction on Fundamentals of Electronics, Communications and Computer Sciences E79A(10) (1996), 1682-1688.

[9] S. Buchholz and G. Sommer, Introduction to neural computation in clifford algebra, and clifford algebra multilayer perceptrons, in: Geometric Computing with Clifford Algebras, G. Sommer, ed., ch. 12 and 13, Springer, 2001, pp. 291-314 and 315-334.