基于块张量分解的循环神经网络稀疏连接方法转让专利

申请号 : CN201711290493.7

文献号 : CN107798385B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐增林叶锦棉李广西陈迪

申请人 : 电子科技大学

摘要 :

本发明公开一种基于块张量分解的循环神经网络稀疏连接方法,应用于深度学习神经网络结构优化领域,解决现有的方法未能同时基于输入数据的高维事实和全连接本身的冗余特性进行分析和优化,从而不能同时达到加快训练速度和维持或提高模型精度的问题;本发明的方法考虑到深度网络中全连接层的稀疏性,引入了张量分解思想,提升了网络参数共享程度,并利用BPTT进行模型训练,适应于目前深度网络绝大部分的应用场景;相比于已有的全连接方式,本发明方法在训练速度,收敛精度上有较大的提升。

权利要求 :

1.基于块张量分解的循环神经网络稀疏连接方法,其特征在于,包括:S1、对网络的输入向量x张量化,得到第一张量 对记忆向量h张量化,得到第二张量对全连接权重矩阵W张量化,得到第三张量 所述输入向量为3维的彩色图片;

S2、对第三张量 进行张量分解,得到张量分解后的第三张量

S3、用 表示新的稀疏连接方式,替换原矩阵乘法W·x为新的张量乘法S4、采用BPTT算法对循环神经网络进行训练;所述步骤S4还包括在反向传播阶段,对核心张量和因子张量需要分别求梯度。

2.根据权利要求1所述的基于块张量分解的循环神经网络稀疏连接方法,其特征在于,步骤S3所述用 表示新的稀疏连接方式后新的稀疏连接边数为:其中,N表示第三张量 分解的块数,d表示维度,Ik表示第n块分解的第k个因子张量的第一个维度,Jk表示第n块分解的第k个因子张量的第二个维度,Rk表示第n块分解的第k个因子张量的第三个维度,Π表示累乘运算。

3.根据权利要求1所述的基于块张量分解的循环神经网络稀疏连接方法,其特征在于,步骤S4所述在反向传播阶段,对核心张量和因子张量需要分别求梯度,具体为:其中, 表示第三张量 第n块分解的第k个因子张量,k=1,2,…d;×k表示两个张量沿着第k维进行乘积;×1,2,…,d表示两张量沿着多个维度进行乘积; 表示第三张量第n块分解的核心张量,L表示模型的Loss; 表示输入到隐层的线性变换结果。

4.根据权利要求3所述的基于块张量分解的循环神经网络稀疏连接方法,其特征在于,具体表达式为:

说明书 :

基于块张量分解的循环神经网络稀疏连接方法

技术领域

[0001] 本发明属于深度学习神经网络结构优化领域,特别涉及一种基于块张量分解的循环神经网络稀疏连接方法的设计技术。

背景技术

[0002] 循环神经网络(RNN)已被广泛应用于时间序列信息处理领域,具体应用如语音识别,文本翻译,视频分类等。在传统的神经网络模型中,数据是从输入层到隐含层再到输出层流动,层与层之间全连接,每层之间的节点无连接。但是这种神经网络无法捕捉时间序列信息。在RNN网络中,会对时间序列中的前序信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。
[0003] 然而现实世界中输入数据通常是高维数据,如视频分类中每一个输入数据是一帧3维的彩色图片。传统的RNN将输入数据展开为一个向量,彻底丢弃了数据本身可能蕴藏的高维信息。此外,基于向量输入RNN网络假设了输入向量中每个元素是线性独立的,因此需要一个全连接层用于将输入向量映射到隐层向量空间,极大增加了网络训练的难度。在某些网络结构中,该全连接层的参数量可能占据了整体参数量的90%以上。
[0004] 目前已有一些方法对该全连接层进行裁剪和优化。一类方法是通过数值分析的方式,如聚类分析,从已训练的参数本身入手,对参数进行分析,裁剪相似的参数。但是该方法由于未改变全连接权重矩阵的维度,因此未能减少训练和预测的时间和难度。一类方法通过分析BPTT(循环神经网络(RNN)反向传播算法)算法的训练过程对网络结构进行裁剪,如GRU(Gated Recurrent Unit,是RNN的一个变种,译为:门控循环单元)基于误差反向传播时仅改变误差项的权重,将广泛使用的LSTM(Long Short-Term Memory,是RNN的一个变种,译为:长短期记忆网络)网络结构从4个控制门降低到3个。另一类方法是基于低秩性质的观察,如用奇异值分解(SVD)对全连接权重矩阵进行低秩分解。然而基于矩阵的低秩方法未能从输入数据中提取足够空间信息,因为往往带来较严重的精度损失。
[0005] 总体而言,现有的方法都未能同时基于输入数据的高维事实和全连接本身的冗余特性进行分析和优化,因此未能同时达到加快训练速度和维持或提高模型精度的目的。

发明内容

[0006] 为解决现有的循环神经网络结构忽略了输入数据的高维事实和全连接的冗余特性的问题,本发明提出了一种基于块张量分解的循环神经网络稀疏连接方法,同时基于输入数据的高维事实和全连接本身的冗余特性进行分析和优化,相比现有技术本发明收敛精度上有较大的提升。
[0007] 本发明采用的技术方案为:基于块张量分解的循环神经网络稀疏连接方法,包括:
[0008] S1、对网络的输入向量x张量化,得到第一张量 对记忆向量h张量化,得到第二张量 对全连接权重矩阵W张量化,得到第三张量
[0009] S2、对第三张量 进行张量分解,得到张量分解后的第三张量
[0010] S3、用 表示新的稀疏连接方式,替换原矩阵乘法W·x为新的张量乘法[0011] S4、采用BPTT算法对循环神经网络进行训练。
[0012] 进一步地,步骤S3所述用 表示新的稀疏连接方式后新的稀疏连接边数为:
[0013]
[0014] 其中,N表示第三张量 分解的块数,d表示维度,Ik表示第n块分解的第k个因子张量的第一个维度,Jk表示第n块分解的第k个因子张量的第二个维度,Rk表示第n块分解的第k个因子张量的第三个维度,Π表示累乘运算。
[0015] 进一步地,所述步骤S4还包括在反向传播阶段,对核心张量和因子张量需要分别求梯度:
[0016]
[0017]
[0018] 其中, 表示第三张量 第n块分解的第k个因子张量,k=1,2,…d;×k表示两个张量沿着第k维进行乘积;×1,2,…,d表示两张量沿着多个维度进行乘积; 表示第三张量第n块分解的核心张量,L表示模型的Loss; 表示输入到隐层的线性变换结果。
[0019] 更进一步地, 具体表达式为:
[0020]
[0021] 本发明的有益效果:本发明的基于块张量分解的循环神经网络稀疏连接方法,通过引入张量分解思想,首先将全连接权重矩阵张量化,对张量化后的权重张量进行张量分解,用分解后得到的权重张量表示新的稀疏连接方式,提升了网络参数共享程度;并在采用BPTT算法对模型进行训练时,在反向传播阶段对核心张量和因子张量需要分别求其梯度;训练速度和模型精度方面相较于现有的全连接方式有较大提升;本发明的方法同时基于输入数据的高维事实和全连接本身的冗余特性进行分析和优化,能实现同时达到加快训练速度和维持或提高模型精度的目的;本发明的方法得到的模型适应于目前深度网络绝大部分的应用场景。

附图说明

[0022] 图1为本发明实施例提供的方案流程图;
[0023] 图2为本发明实施例提供的本发明方法与现有方法Train Loss对比图。

具体实施方式

[0024] 为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
[0025] 如图1所示为本发明的方案流程图,本发明的技术方案为:基于块张量分解的循环神经网络稀疏连接方法,包括:
[0026] S1、对网络的输入向量x张量化,得到第一张量 对记忆向量h张量化,得到第二张量 对全连接权重矩阵W张量化,得到第三张量
[0027] 假设输入向量 记忆向量 全连接权重矩阵 构造的张量和 是d维张量, 是2d维张量,其中I=I1·
I2·...·Id,J=J1·J2·...·Jd。本发明中张量化操作是指,将原矩阵或向量的元素进行重排,折叠为一个高维张量;反之,将高维张量 进行低维展开,可恢复出原输入数据x。
[0028] S2、对第三张量 进行张量分解,得到张量分解后的第三张量
[0029] 根据全连接权重矩阵 利用块张量分解算法对其进行分解:
[0030]
[0031] 其中, 是与原张量维度相同的一个近似表示,N表示该分解共有N块,是第n块分解的核心张量, 是第n块分解的第k个因子张量。而×k是张量乘法符号,表明两个张量沿着第k维进行乘积;Ik表示第n块分解的第k个因子张量的第一个维度,Jk表示第n块分解的第k个因子张量的第二个维度,Rk既表示第n块分解的第k个因子张量的第三个维度,也表示第n块分解的核心张量的第k个维度,Π表示累乘运算。
[0032] 具体地,给定两张量 和 若第k维维度相等,即Ik=Jk,则 和 可沿第k维相乘:
[0033]
[0034] 其中, 表示下标(i1,l2,…,ik-1), 表示下标(ik+1,…,id), 和 定义相似。
[0035] S3、用 表示新的稀疏连接方式,替换原矩阵乘法W·x为新的张量乘法这里的“·”与“×”均表示乘法符号。
[0036] 全连接权重矩阵W在网络中的含义是将输入向量x中的每一个元素与记忆向量h的每一个元素全连接,连接的权重即存储于W中。经过块张量分解得到的权重张量w在所有维度上进行权重共享,极大限度地裁剪掉冗余的连接权重,大幅简化模型。
[0037] 新的稀疏连接方法中,参数量(也即连接的边数)P为:
[0038]
[0039] 在现有技术中,全连接方法的参数量是本发明方法参数量的千倍以上;从而可知本发明方法模型的收敛速度相比于现有的方法更快。
[0040] 对输入向量x,记忆向量h和全连接权重矩阵W张量化后,不能再利用简单的矩阵乘法W·x进行计算,需要利用张量乘法的方式完成,具体如下:
[0041]
[0042] 其中,×1,2,…,d表示张量收缩操作,也即两张量沿着多个维度进行乘积。
[0043] S4、采用BPTT算法对循环神经网络进行训练。
[0044] 基于新的张量乘法计算方式,本发明仍使用BPTT算法进行训练,但在反向传播阶段需要做一定的调整:对核心张量和因子张量需要分别求其梯度。
[0045]
[0046]
[0047] 其中,L表示模型的Loss; 表示输入到隐层(或者记忆单元)的线性变换结果,具体表达式为:
[0048] 本发明在视频分类数据集UCF11上进行试验,如图2所示,本发明方法的一组对比模型BT-GRU/BT-LSTM相比于现有方法中的GRU、LSTM在Train Loss有显著提升,Train Loss表示训练误差;如表1所示本发明方法的一组对比模型BT-GRU/BT-LSTM相比于现有方法中的GRU、LSTM在模型精度和参数量方面相较于现有的RNN方法有较大提升。这里的BT是block term decomposition,块张量的简写。
[0049] 表1本发明方法与现有方法的测试精度对比
[0050] 模型 GRU BT-GRU LSTM BT-LSTM测试精度 0.68 0.84 0.69 0.86
参数量 44236800 3136 58982400 3360
[0051] 本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。