CN109344966A - 一种高效张量化全连接神经网络的方法 - Google Patents
一种高效张量化全连接神经网络的方法 Download PDFInfo
- Publication number
- CN109344966A CN109344966A CN201810833968.0A CN201810833968A CN109344966A CN 109344966 A CN109344966 A CN 109344966A CN 201810833968 A CN201810833968 A CN 201810833968A CN 109344966 A CN109344966 A CN 109344966A
- Authority
- CN
- China
- Prior art keywords
- tensor
- neural network
- matrix
- dimension
- weight
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种高效张量化全连接神经网络的方法,包括以下步骤:S1:将神经网络的全连接层输入向量表示为张量形式;S2:将神经网络的全连接层的权重张量化,表示为张量环分解形式;S3:使用神经网络全连接层的张量化算法进行神经网络的前向传播;S4:在神经网络的反向传播过程中,更新神经网络全连接层的权重的张量环分解形式的核心矩阵;S5:判断数据集是否完成迭代,若是,则返回网络的权重张量参数;若不是,则返回步骤S3。本发明能减少神经网络所用参数以及神经网络的训练时间、降低大型神经网络对计算机的内存大小、GPU计算能力等硬件水平的依赖与消耗、在减少神经网络参数数量的同时不降低网络的分类精度。
Description
技术领域
本发明涉及神经网络深度学习的技术领域,尤其涉及到一种高效张量化全连接神经网络的方法。
背景技术
神经网络通常含有全连接层。全连接层将输入向量x做仿射变换y=Wx得到y,然后将y输出。
神经网络在图像分类与检测领域展现了优异的性能通过增加网络的层数与扩大每层的宽度,它能拟合各类图像数据集,完成各种复杂的分类任务。但是网络的加深与扩宽导致网络参数剧烈增加,进而降低计算机训练神经网络的速度。此外,更新大量的网络参数需要更大的计算机内存以及计算能力更强的GPU。而现今大型神经网络对计算机硬件的依赖与消耗已经达到了当前硬件水平的上限,因此减少网络参数而不降低原网络精度,是在现有硬件水平基础上使用更大型神经网络的有效方法。
Collins和Kohli在论文《Memory bounded deep convolutional networks》里提出在网络训练过程使用稀疏诱导正则化方法(sparsity-inducing regularizers)在卷积和全连接层产生零权重,从而降低网络权重对内存的占用。但是该方法只对网络的前向传播阶段的内存起降低作用。
Denil等人在文献《Predicting parameters in deep learning》提出去除神经网络权重冗余的方法,他们依据神经网络权重的结构化属性来对权重进行压缩,从而减少网络参数数量。但该方法不适用于大型神经网络的压缩,因为数据在多个网络层之间的传播,使得网络权重参数的近似误差累积,降低网络精度。
Novikov等人在文献《Tensorizing neural networks》提出将全连接层的网络权重使用TT分解(tensor train decomposition)表示,该方法可以手动调整网络的参数压缩率,但是该方法对网络权重参数的初始化敏感,压缩后的网络精度不稳定。
发明内容
本发明的目的在于克服现有技术的不足,提供一种能减少神经网络所用参数、减少神经网络的训练时间、降低大型神经网络对计算机的内存大小、GPU计算能力等硬件水平的依赖与消耗、在减少神经网络参数数量的同时不降低网络的分类精度的高效张量化全连接神经网络的方法。
为实现上述目的,本发明所提供的技术方案为:
一种高效张量化全连接神经网络的方法,包括以下步骤:
S1:将神经网络的全连接层输入向量x'∈RN表示为张量形式:
S2:将神经网络的全连接层的权重张量化,表示为张量环分解形式;
S3:使用神经网络全连接层的张量化算法进行神经网络的前向传播;
S4:在神经网络的反向传播过程中,更新神经网络全连接层的权重的张量环分解形式的核心矩阵;
S5:判断数据集是否完成迭代,若是,则返回网络的权重张量参数;若不是,则返回步骤S3。
进一步地,所述步骤S2将神经网络的全连接层的权重张量化,表示为张量环分解形式的具体步骤为:
神经网络的全连接层的参数位于权重矩阵W∈RO×H,先将O和H分解,即O=O1×O2×…×On,H=H1×H2×…×Hn,将权重矩阵表示为权重张量然后将权重张量表示为张量环分解形式,即权重张量由一组四阶核心矩阵表示,使得每个核心矩阵都有一个维度与神经网络的全连接层的输入维度对应,还有一个维度与神经网络全连接层的输出对应;权重张量的张量环分解形式,即神经网络的全连接层的权重张量化后的形式如下:
W'(o1,…on,h1,…,hn)=Tr{G1(o1,h1)…GN(on,hn)}
上式的W'(o1,…on,h1,…,hn)表示2n阶张量W'的一个元素,Gk为一个维度为rk×ok×hk×rk+1的四阶核心矩阵,其下标k表示其为N阶张量W'的张量环分解形式里的第k个四阶核心矩阵;Gk(ik)表示四阶核心矩阵Gk的第okhk个横向切片矩阵;ok、hk分别为四阶核心矩阵与全连接层输入、输出对应的维度;Gk的横向切片矩阵维度为rk×rk+1;r称为秩,其决定横向切片矩阵的元素个数,从而决定四阶核心矩阵Gk的元素个数;Tr表示取迹操作。
进一步地,所述步骤S1将神经网络的全连接层输入表示为高阶张量。
进一步地,所述步骤S3中神经网络全连接层的张量化算法的具体步骤如下:
S3-1:将权重的张量环分解形式的第一个三阶矩阵G1与输入张量X',在与输入相关的第一个维度h1上进行合并操作,得到的张量Y1'维度为r1×o1×r2×h2×…×hn,数学描述为:
S3-2:将张量Y1'与G2在它们的维度h2上进行合并以及取迹操作,得到的张量Y2'维度为r1×o1×o2×r3×h3×…×hn,数学描述为:
S3-3:重复步骤S3-2,将上一步得到的张量与权重的张量环分解形式的下一个三阶矩阵进行维度合并、取迹,直至所有张量环分解形式的三阶矩阵均被合并完,最后得到的张量Y'的维度为o1×o2×…×on,
进一步地,所述的合并操作采用合并算法完成,合并算法具体如下:
1)定义有张量和
2)将张量A'表示为矩阵A,矩阵A的第一个维度为I2×…×In,第二个维度大小为I1;
3)将张量B'表示成矩阵B,矩阵B的第一个维度为I1,第二个维度大小为o2×…×on;
4)将矩阵A乘以矩阵B,即C=A×B;
5)将矩阵C表示成张量C',维度大小为I2×…×In×O2×…×On,即完成张量A'与张量B'在第一个维度I1上的合并,
与现有技术相比,本方案原理和优点如下:
1.将全连接层的输入表示为高阶张量,可以保留全连接层输入里的空间信息,提高神经网络的分类精度。
2.将神经网络的全连接层权重表示为一组四阶核心矩阵,每个核心矩阵都有一个维度与神经网络的全连接层的输入维度对应,还有一个维度与神经网络的全连接层的输出维度对应,该种结构的特性为神经网络全连接层张量化操作提供了结构基础,同时该种结构减少了表征全连接层权重所需要的参数数量以及神经网络的训练时间。
3.神经网络全连接层的张量化操作的每次合并操作后均有一步取迹操作,这样的操作组合使得神经网络被张量化后仍有较高的稳定的分类精度。
附图说明
图1为本发明一种高效张量化全连接神经网络的方法的流程图;
图2为本发明中输入张量的图形示意图;
图3为本发明中全连接层的权重表示为张量环分解形式后的图形示意图;
图4为本发明中神经网络全连接层的张量化算法流程;
图5为本发明中神经网络全连接层的张量化操作结果图。
具体实施方式
下面结合具体实施例对本发明作进一步说明:
参见附图1所示,本实施例所述的一种高效张量化全连接神经网络的方法,包括以下步骤:
S1:将神经网络的全连接层输入向量x'∈RN表示为高阶张量形式:可以保留全连接层输入里的空间信息,提高神经网络的分类精度;将向量表示成张量后,其元素没改变,只是维度变为n1×n2×…×nn;为了便于描述以及视觉化张量,本实施例使用圆圈代表一个张量,圆圈上的线段数量代表张量的维度数,线段旁的数字表示该维度的大小。输入张量的图形如图2所示;
S2:将神经网络的全连接层的权重张量化,表示为张量环分解形式,具体步骤如下:
神经网络的全连接层的参数位于权重矩阵W∈RO×H,先将O和H分解,即O=O1×O2×…×On,H=H1×H2×…×Hn,将权重矩阵表示为权重张量然后将权重张量表示为张量环分解形式,即权重张量由一组四阶核心矩阵表示,使得每个核心矩阵都有一个维度与神经网络的全连接层的输入维度对应,还有一个维度与神经网络全连接层的输出对应;如图3所示(图中N为核心矩阵的个数),权重张量的张量环分解形式,即神经网络的全连接层的权重张量化后的形式如下:
W'(o1,…on,h1,…,hn)=Tr{G1(o1,h1)…GN(on,hn)}
上式的W'(o1,…on,h1,…,hn)表示2n阶张量W'的一个元素,Gk为一个维度为rk×ok×hk×rk+1的四阶核心矩阵,其下标k表示其为N阶张量W'的张量环分解形式里的第k个四阶核心矩阵;Gk(ik)表示四阶核心矩阵Gk的第okhk个横向切片矩阵;ok、hk分别为四阶核心矩阵与全连接层输入、输出对应的维度;Gk的横向切片矩阵维度为rk×rk+1;r称为秩,其决定横向切片矩阵的元素个数,从而决定四阶核心矩阵Gk的元素个数;Tr表示取迹操作。
S3:使用神经网络全连接层的张量化算法进行神经网络的前向传播;其中,如图4所示,神经网络全连接层的张量化算法的具体步骤如下:
S3-1:将权重的张量环分解形式的第一个三阶矩阵G1与输入张量X',在与输入相关的第一个维度h1上进行合并操作,得到的张量Y1'维度为
r1×o1×r2×h2×…×hn,数学描述为:
S3-2:将张量Y1'与G2在它们的维度h2上进行合并以及取迹操作,得到的张量Y2'维度为r1×o1×o2×r3×h3×…×hn,数学描述为:
S3-3:重复步骤S3-2,将上一步得到的张量与权重的张量环分解形式的下一个三阶矩阵进行维度合并、取迹,直至所有张量环分解形式的三阶矩阵均被合并完,最后得到的张量Y'的维度为o1×o2×…×on,
本神经网络全连接层的张量化算法中,用到的合并操作采用合并算法完成,合并算法具体如下:
1)存在张量和
2)将张量A'表示为矩阵A,矩阵A的第一个维度为I2×…×In,第二个维度大小为I1;
3)将张量B'表示成矩阵B,矩阵B的第一个维度为I1,第二个维度大小为o2×…×on;
4)将矩阵A乘以矩阵B,即C=A×B;
5)将矩阵C表示成张量C',维度大小为I2×…×In×O2×…×On,即完成张量A'与张量B'在第一个维度I1上的合并,
合并算法中,步骤2)和3)将张量表示成矩阵没有改变元素以及元素的数量,只是减少了维度。步骤5)将矩阵表示成张量没有改变元素以及元素的数量,只是增加了维度;
神经网络全连接层的张量化的操作结果如图5所示。
S4:在神经网络的反向传播过程中,更新神经网络全连接层的权重的张量环分解形式的核心矩阵;
S5:判断数据集是否完成迭代,若是,则返回网络的权重张量参数;若不是,则返回步骤S3。
以下为本实施例的方法与标准的神经网络、Novikov等人的压缩神经网络的方法进行的实验比较:
在对比实验里,使用的神经网络共有6层,前3层为卷积层,后3层为全连接层。卷积层的输出特征图数量分别为128、256、512,每层卷积层后紧跟一层分批正则化层(batchnormalization)与ReLU层,全连接层的输出维度分别为1000、500、10,网络的输出为one-hot向量。
在实验中,分别将神经网络的后3层按照本实施例的方法张量化、按照Novikov等人的方法压缩以及不压缩得到3个网络,然后使用CIFAR-10数据集训练这三个不同的网络,最后对比它们的图片分类精度,从而对比3种算法的效果。
3种算法的实验结果如下所示。
从上表可以看出,在各个参数压缩率下本专利方案的精度更高,而Novikov的方法大大降低了神经网络的分类精度。即使在参数压缩率较高的情况下,本实施例的精度也不会大幅度降低;而随着网络参数压缩率的降低,本实施例的精度逐渐上升,甚至在7.3的参数压缩率下精度比标准的神经网络的高。
以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
Claims (5)
1.一种高效张量化全连接神经网络的方法,其特征在于,包括以下步骤:
S1:将神经网络的全连接层输入向量x'∈RN表示为张量形式:
S2:将神经网络的全连接层的权重张量化,表示为张量环分解形式;
S3:使用神经网络全连接层的张量化算法进行神经网络的前向传播;
S4:在神经网络的反向传播过程中,更新神经网络全连接层的权重的张量环分解形式的核心矩阵;
S5:判断数据集是否完成迭代,若是,则返回网络的权重张量参数;若不是,则返回步骤S3。
2.根据权利要求1所述的一种高效张量化全连接神经网络的方法,其特征在于,所述步骤S2将神经网络的全连接层的权重张量化,表示为张量环分解形式的具体步骤为:
神经网络的全连接层的参数位于权重矩阵W∈RO×H,先将O和H分解,即O=O1×O2×…×On,H=H1×H2×…×Hn,将权重矩阵表示为权重张量然后将权重张量表示为张量环分解形式,即权重张量由一组四阶核心矩阵表示,使得每个核心矩阵都有一个维度与神经网络的全连接层的输入维度对应,还有一个维度与神经网络全连接层的输出对应;权重张量的张量环分解形式,即神经网络的全连接层的权重张量化后的形式如下:
W'(o1,…on,h1,…,hn)=Tr{G1(o1,h1)…GN(on,hn)}
上式的W'(o1,…on,h1,…,hn)表示2n阶张量W'的一个元素,Gk为一个维度为rk×ok×hk×rk+1的四阶核心矩阵,其下标k表示其为N阶张量W'的张量环分解形式里的第k个四阶核心矩阵;Gk(ik)表示四阶核心矩阵Gk的第okhk个横向切片矩阵;ok、hk分别为四阶核心矩阵与全连接层输入、输出对应的维度;Gk的横向切片矩阵维度为rk×rk+1;r称为秩,其决定横向切片矩阵的元素个数,从而决定四阶核心矩阵Gk的元素个数;Tr表示取迹操作。
3.根据权利要求1所述的一种高效张量化全连接神经网络的方法,其特征在于,所述步骤S1将神经网络的全连接层输入表示为高阶张量。
4.根据权利要求1所述的一种高效张量化全连接神经网络的方法,其特征在于,所述步骤S3中神经网络全连接层的张量化算法的具体步骤如下:
S3-1:将权重的张量环分解形式的第一个三阶矩阵G1与输入张量X',在与输入相关的第一个维度h1上进行合并操作,得到的张量Y1'维度为r1×o1×r2×h2×…×hn,数学描述为:
S3-2:将张量Y1'与G2在它们的维度h2上进行合并以及取迹操作,得到的张量Y2'维度为r1×o1×o2×r3×h3×…×hn,数学描述为:
S3-3:重复步骤S3-2,将上一步得到的张量与权重的张量环分解形式的下一个三阶矩阵进行维度合并、取迹,直至所有张量环分解形式的三阶矩阵均被合并完,最后得到的张量Y'的维度为o1×o2×…×on,
5.根据权利要求4所述的一种高效张量化全连接神经网络的方法,其特征在于,所述的合并操作采用合并算法完成,合并算法具体如下:
1)定义有张量和
2)将张量A'表示为矩阵A,矩阵A的第一个维度为I2×…×In,第二个维度大小为I1;
3)将张量B'表示成矩阵B,矩阵B的第一个维度为I1,第二个维度大小为o2×…×on;
4)将矩阵A乘以矩阵B,即C=A×B;
5)将矩阵C表示成张量C',维度大小为I2×…×In×O2×…×On,即完成张量A'与张量B'在第一个维度I1上的合并,
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810833968.0A CN109344966A (zh) | 2018-07-26 | 2018-07-26 | 一种高效张量化全连接神经网络的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810833968.0A CN109344966A (zh) | 2018-07-26 | 2018-07-26 | 一种高效张量化全连接神经网络的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109344966A true CN109344966A (zh) | 2019-02-15 |
Family
ID=65296448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810833968.0A Pending CN109344966A (zh) | 2018-07-26 | 2018-07-26 | 一种高效张量化全连接神经网络的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109344966A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110852424A (zh) * | 2019-11-15 | 2020-02-28 | 广东工业大学 | 一种对抗生成网络的处理方法和装置 |
CN111372084A (zh) * | 2020-02-18 | 2020-07-03 | 北京大学 | 面向神经网络编解码工具的并行推理方法及系统 |
CN114723032A (zh) * | 2022-06-02 | 2022-07-08 | 浙江芯昇电子技术有限公司 | 一种长短期记忆神经网络硬件加速方法与计算系统 |
CN114998620A (zh) * | 2022-05-16 | 2022-09-02 | 电子科技大学 | 一种基于张量分解的RNNPool网络目标识别方法 |
-
2018
- 2018-07-26 CN CN201810833968.0A patent/CN109344966A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110852424A (zh) * | 2019-11-15 | 2020-02-28 | 广东工业大学 | 一种对抗生成网络的处理方法和装置 |
CN110852424B (zh) * | 2019-11-15 | 2023-07-25 | 广东工业大学 | 一种对抗生成网络的处理方法和装置 |
CN111372084A (zh) * | 2020-02-18 | 2020-07-03 | 北京大学 | 面向神经网络编解码工具的并行推理方法及系统 |
CN111372084B (zh) * | 2020-02-18 | 2021-07-20 | 北京大学 | 面向神经网络编解码工具的并行推理方法及系统 |
CN114998620A (zh) * | 2022-05-16 | 2022-09-02 | 电子科技大学 | 一种基于张量分解的RNNPool网络目标识别方法 |
CN114723032A (zh) * | 2022-06-02 | 2022-07-08 | 浙江芯昇电子技术有限公司 | 一种长短期记忆神经网络硬件加速方法与计算系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Remote sensing image super-resolution via mixed high-order attention network | |
Chen et al. | An enhanced hybrid MobileNet | |
Bonnefoy et al. | Dynamic screening: Accelerating first-order algorithms for the lasso and group-lasso | |
CN109344966A (zh) | 一种高效张量化全连接神经网络的方法 | |
CN109035142B (zh) | 一种对抗网络结合航拍图像先验的卫星图像超分辨方法 | |
Ou et al. | Vector-kernel convolutional neural networks | |
CN109671026B (zh) | 基于空洞卷积及自动编解码神经网络的灰度图像降噪方法 | |
CN108734661B (zh) | 基于图像纹理信息构建损失函数的高分辨率图像预测方法 | |
Fu et al. | A model-driven deep unfolding method for jpeg artifacts removal | |
Ooi et al. | Deep learning algorithms for single image super-resolution: a systematic review | |
CN109584161A (zh) | 基于通道注意力的卷积神经网络的遥感图像超分辨率重建方法 | |
Wen et al. | Image recovery via transform learning and low-rank modeling: The power of complementary regularizers | |
CN107680077A (zh) | 一种基于多阶梯度特征的无参考图像质量评价方法 | |
CN109063719B (zh) | 一种联合结构相似性和类信息的图像分类方法 | |
CN105279740A (zh) | 一种基于稀疏正则化的图像去噪方法 | |
Behjati et al. | Single image super-resolution based on directional variance attention network | |
Fu et al. | Simple hardware-efficient long convolutions for sequence modeling | |
CN102542542A (zh) | 基于非局部稀疏模型的图像去噪方法 | |
WO2022062164A1 (zh) | 基于偏微分算子的广义等变卷积网络模型的图像分类方法 | |
Zhang et al. | Image denoising based on sparse representation and gradient histogram | |
CN108875915B (zh) | 一种面向嵌入式应用的深度对抗网络优化方法 | |
Gendy et al. | Lightweight image super-resolution based on deep learning: State-of-the-art and future directions | |
CN114842216A (zh) | 一种基于小波变换的室内rgb-d图像语义分割方法 | |
CN110119805A (zh) | 基于回声状态网络分类的卷积神经网络算法 | |
CN116168197A (zh) | 一种基于Transformer分割网络和正则化训练的图像分割方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190215 |