CN107967516A - 一种基于迹范数约束的神经网络的加速与压缩方法 - Google Patents

一种基于迹范数约束的神经网络的加速与压缩方法 Download PDF

Info

Publication number
CN107967516A
CN107967516A CN201710947769.8A CN201710947769A CN107967516A CN 107967516 A CN107967516 A CN 107967516A CN 201710947769 A CN201710947769 A CN 201710947769A CN 107967516 A CN107967516 A CN 107967516A
Authority
CN
China
Prior art keywords
layer
neural network
parameter matrix
trace norm
parameter
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
Application number
CN201710947769.8A
Other languages
English (en)
Inventor
何明捷
张�杰
山世光
陈熙霖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
In Extension (beijing) Technology Co Ltd
Original Assignee
In Extension (beijing) Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by In Extension (beijing) Technology Co Ltd filed Critical In Extension (beijing) Technology Co Ltd
Priority to CN201710947769.8A priority Critical patent/CN107967516A/zh
Publication of CN107967516A publication Critical patent/CN107967516A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

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)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于迹范数约束的神经网络的加速与压缩方法,其整体步骤如下:进行神经网络前向传播,并判断是否收敛;分离任务相关的损失函数和迹范数约束,并进行基于损失函数的神经网络反向传播;对反向传播更新后的每一层的参数矩阵做迹范数约束;将迹范数约束后的参数矩阵更新到网络中;当神经网络的训练过程收敛后,对最终的参数矩阵进行奇异值分解,并对神经网络进行压缩重构。本发明通过在模型训练阶段提高模型参数的低秩特性,取得了良好的加速和压缩效果,具有适用性广泛、精度不受影响的优点,可以满足实际应用中对降低存储空间和提高处理速度的需求。

Description

一种基于迹范数约束的神经网络的加速与压缩方法
技术领域
本发明涉及一种加速与压缩方法,尤其涉及一种基于迹范数约束的神经网 络的加速与压缩方法,属于神经网络技术领域。
背景技术
神经网络,是一种由人工神经元组成的前馈网络,神经网络由多种类型的 层,包括卷积层、全连接层、池化层、激活层等组成。输入数据在通过各个层 时和各层的参数进行运算从而获得神经网络的输出。神经网络在目标检测、图 像分类、语义分割、特征点定位等众多计算机视觉任务上有着广泛的应用。当 神经网络拥有数以万计的神经元连接时,会造成神经网络参数的物理存储要求 很高,同时网络的运算量很大,难以满足在实际应用场景中的实时性要求,限 制了神经网络在移动设备等存储、计算资源受限的设备上的应用。
目前针对神经网络的加速和压缩方案主要致力于在模型训练完成后对原模 型进行近似,以减小参数数量和计算量,从而达到加速和压缩的目的,例如, 已有专利文献对神经网络模型各层的参数采用近似方法进行简化,从而减少各 层计算量的方法。但是由于这类方法是在模型训练完成后对训练好的模型进行 近似,能够到达的近似精度有限,因此这类方法会使得模型的性能下降。此 外,也有人提出了通过对卷积核采用频域分解的方法进行近似简化,减少神经 网络中模型卷积层计算量的方法。但这类方法只设计了针对卷积层的加速和压 缩方法,对神经网络中的其它层的通用性有限,并且丢掉低频信息也会带来比较大的精度损失。
上述方法虽然能够在一定程度上起到加速和压缩的作用,但是适用范围有 限,并且都是对已训练好的模型进行被动压缩,没有从训练阶段考虑模型的被 压缩能力,降低被压缩后的精度损失。为了充分提高模型的压缩率,减少压缩 后模型准确率的下降,满足实际应用中对降低存储空间和提高处理速度的需 求,需要针对神经网络设计合理的训练阶段的加速和压缩方案。
发明内容
为了解决上述技术所存在的不足之处,本发明提供了一种基于迹范数约束 的神经网络的加速与压缩方法。
为了解决以上技术问题,本发明采用的技术方案是:一种基于迹范数约束 的神经网络的加速与压缩方法,其整体步骤如下:
Ⅰ、首先在神经网络的训练过程中进行神经网络的前向传播,输入数据逐 层经过网络的各层并和各层的参数进行运算直到获得最后一层的输出值,通过 判断网络输出值与实际值之间的误差是否小于指定阈值,来判断神经网络的训 练是否收敛;
Ⅱ、通过邻近点梯度下降法分离端到端训练时的迹范数约束和任务相关的 损失函数,先进行原任务相关的损失函数的神经网络反向传播,通过反向传播 来计算各层参数矩阵的梯度,通过梯度下降法计算更新后的参数;
Ⅲ、对反向传播更新后的每一层的参数矩阵做迹范数约束;
Ⅳ、将迹范数约束后的参数矩阵更新到网络中;
Ⅴ、对最终的每一层的参数矩阵进行奇异值分解,保留较大的部分奇异值 和对应的特征向量,将原参数矩阵拆分成2个较小的参数矩阵相乘,利用每一 层得到的2个较小的参数矩阵对神经网络进行压缩重构。以卷积层和全连接层 为例,对于卷积层,将原参数矩阵压缩成2个较小的参数矩阵相乘之后,将这2 个矩阵分别构建一个新的卷积层,其中第一个卷积层的卷积核的尺寸和通道数 与原来的卷积层的卷积核相同,新的卷积核的数量和保留的奇异值个数相同; 第二个卷积层的卷积核的长宽都为1,通道数和保留的奇异值个数相同,卷积 核的数量和原卷积层卷积核的数量相同;对于全连接层,将原参数矩阵拆分成2个较小的参数矩阵相乘之后,将这2个矩阵分别各构建成一个新的全连接层, 其中第一个全连接层的输入维度和原有全连接层相同,输出维度和保留的奇异 值个数相同,第二个全连接层的输入维度和保留的奇异值个数相同,输出维度 和原全连接层的输出维度相同。
其中,步骤Ⅲ中的迹范数约束通过奇异值收缩来实现;奇异值收缩的具体 过程为:对参数矩阵进行奇异值分解,收缩每个奇异值后再将奇异值矩阵和特 征向量矩阵相乘得到新的参数矩阵。
本发明通过在模型训练阶段提高模型参数的低秩特性,取得了良好的加速 和压缩效果,可以满足实际应用中对降低存储空间和提高处理速度的需求。本 发明与传统的加速和压缩方法相比,具有以下优势:
1)适用性广泛:适合于神经网络中任何有参数的层,不局限于特点类型 的层;
2)高压缩率和加速比:在训练阶段主动提高参数矩阵的低秩特性,参数 矩阵的低秩特性优于无低秩约束的已有方法,从而能到达更高的压缩率和加速 比;
3)精度不受影响:通过在训练阶段进行奇异值收缩,使得参数矩阵更多 的奇异值接近零,通过去掉接近零的奇异值来进行参数压缩时,模型精度不受 影响。
附图说明
图1为本发明的步骤流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1所示的一种基于迹范数约束的神经网络的加速与压缩方法,其具体步 骤为:
步骤一、进行神经网络前向传播:
前向传播的具体过程是将输入数据逐层经过网络的各层,和各层的参数进 行运算直到获得最后一层的输出值。通过判断网络输出值与实际值之间的误差 是否小于指定阈值,来判断神经网络的训练是否收敛,若不收敛,则进行步骤 二,否则跳转至步骤五;
步骤二、分离任务相关的损失函数和迹范数约束,并进行损失函数反向传 播:
获取神经网络每一层的参数,并将每层的参数表示为矩阵。以神经网络的 卷积层和全连接层为例,其中卷积层是由n个卷积核组成,每个卷积核有c个 通道,卷积核的尺寸为w×h,w为卷积核宽度,h为卷积核高度。该卷积层 的参数数量为c×w×h×n,将其表示为一个M×N的矩阵Wl t,其中 N=n。对于全连接层,它的N个输出都和M个输入有连 接,其参数矩阵表示为一个M×N的矩阵Wl t
反向传播的具体过程是通过损失函数计算网络输出值与实际值之间的误 差,并将该误差从输出层向输入层逐层计算梯度,再通过梯度下降法计算更新 后的参数。
一个矩阵的迹范数是该矩阵所有奇异值之和,表示为||Wl t||*,约束Wl t的迹 范数,使其变小,可以降低Wl t矩阵的秩,从而使得Wl t能够被更低秩的近似, 从而实现更高的压缩比和加速比。
迹范数约束是约束该参数矩阵的迹范数,使其变小,表示为:
其中,λ为控制约束程度的系数,nl为层的数量。
传统的任务相关的损失函数的对参数的更新是通过反向传播进行,不能直 接加入迹范数约束。本算法通过邻近点梯度下降法(Proximal Gradient Descent)分离迹范数约束和任务相关的损失函数,可以在反向传播后进行迹范 数约束,即:
其中,为通过任务相关的损失函数f在反向传播时更新参数 矩阵,定义为α表示学习率,用于控制参数更新 速率。为迹范数最小化的邻近点算子。
公式让参数矩阵的迹范数约束和反向传播在训练时兼容,一次前向传播和 一次反向传播称为一次迭代,用t表示当迭代次数。
步骤三、对每一层的参数矩阵做迹范数约束:
在获得了每层反向传播更新后的参数矩阵之后,对的迹范数通过邻近点算子进行最小化。
通过奇异值收缩来实现迹范数最小化的邻近点算子。具体方法为:对进行奇异值分解,得到其中为对角阵,即: 的奇异值。通过公式(3)对进行奇异值进 行收缩得到更新后的参数矩阵
步骤四、将更新后得到的更新到神经网络中,并跳转至步骤一再次进 行前向传播;
步骤五、对最终的参数矩阵进行奇异值分解,得到 保留S中最大的k个奇异值,得到分别保留U和V中 和保留的奇异值对应的k个特征向量,得到计算 定义即:用 QlPl T替换原参数矩阵Wl,减少的参数数量为MN-(Mk+kN)。用这2个新的 矩阵Ql和Pl对网络进行重构。对于卷积层,将这2个矩阵分别各构建成一个新 的卷积层,其中第一个卷积层的卷积核的尺寸和通道数和原卷积层相同,卷积核的数量和保留的奇异值个数k相同,第二个卷积层的卷积核的长宽都为1, 通道数和保留的奇异值个数k相同,卷积核的数量和原卷积层卷积核的数量相 同。对于全连接层,将这2个矩阵分别各构建成一个新的全连接层,其中第一 个全连接层的输入维度和原有全连接层的输入维度M相同,输出维度和保留 的奇异值个数k相同,第二个全连接层的输入维度和保留的奇异值个数k相 同,输出维度和原全连接层的输出维度N相同。k越小,压缩后的模型参数越 少,计算量也越小。通过训练过程中的迹范数约束,降低了模型参数矩阵的 秩,使得在进行参数压缩时能选择更低的k,而不降低模型的精度。
针对传统加速和压缩方法仅被动压缩已训练好的模型,导致适用范围有 限、会造成模型准确率下降的问题,本发明开发了一种在训练阶段对模型进行 加速和压缩的方法,通过在模型的训练过程中加入对参数矩阵的迹范数约束, 实现对参数矩阵的秩约束,从而获得参数矩阵更低秩的网络模型。在保持模型 性能的同时,提高模型的加速比和压缩比。通过将迹范数约束和任务相关的损 失函数分离,能够在端到端的模型训练过程中提高模型的可压缩性,并且既可 以对神经网络的卷积层进行加速和压缩,也可以对神经网络的全连接层进行加 速和压缩。
上述实施方式并非是对本发明的限制,本发明也并不仅限于上述举例,本 技术领域的技术人员在本发明的技术方案范围内所做出的变化、改型、添加或 替换,也均属于本发明的保护范围。

Claims (2)

1.一种基于迹范数约束的神经网络的加速与压缩方法,其特征在于:所述方法的整体步骤如下:
Ⅰ、首先在神经网络的训练过程中进行神经网络的前向传播,输入数据逐层经过网络的各层并和各层的参数进行运算直到获得最后一层的输出值,通过判断网络输出值与实际值之间的误差是否小于指定阈值,来判断神经网络的训练是否收敛;
Ⅱ、通过邻近点梯度下降法分离端到端训练时的迹范数约束和任务相关的损失函数,先进行原任务相关的损失函数的神经网络反向传播,通过反向传播来计算各层参数矩阵的梯度,通过梯度下降法计算更新后的参数;
Ⅲ、对反向传播更新后的每一层的参数矩阵做迹范数约束;
Ⅳ、将迹范数约束后的参数矩阵更新到网络中;
Ⅴ、对最终的每一层的参数矩阵进行奇异值分解,保留较大的部分奇异值和对应的特征向量,将原参数矩阵拆分成2个较小的参数矩阵相乘,利用每一层得到的2个较小的参数矩阵对神经网络进行压缩重构。
2.根据权利要求1所述的基于迹范数约束的神经网络的加速与压缩方法,其特征在于:所述步骤Ⅲ中的迹范数约束通过奇异值收缩来实现;奇异值收缩的具体过程为:对参数矩阵进行奇异值分解,收缩每个奇异值后再将奇异值矩阵和特征向量矩阵相乘得到新的参数矩阵。
CN201710947769.8A 2017-10-12 2017-10-12 一种基于迹范数约束的神经网络的加速与压缩方法 Pending CN107967516A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710947769.8A CN107967516A (zh) 2017-10-12 2017-10-12 一种基于迹范数约束的神经网络的加速与压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710947769.8A CN107967516A (zh) 2017-10-12 2017-10-12 一种基于迹范数约束的神经网络的加速与压缩方法

Publications (1)

Publication Number Publication Date
CN107967516A true CN107967516A (zh) 2018-04-27

Family

ID=61996715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710947769.8A Pending CN107967516A (zh) 2017-10-12 2017-10-12 一种基于迹范数约束的神经网络的加速与压缩方法

Country Status (1)

Country Link
CN (1) CN107967516A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109302614A (zh) * 2018-10-08 2019-02-01 南京信息工程大学 一种基于三阶张量自编码网络的视频压缩方法
CN110503135A (zh) * 2019-07-31 2019-11-26 上海交通大学烟台信息技术研究院 用于电力设备边缘侧识别的深度学习模型压缩方法及系统
CN110580525A (zh) * 2019-06-03 2019-12-17 北京邮电大学 神经网络压缩方法及系统
CN110929837A (zh) * 2018-09-19 2020-03-27 北京搜狗科技发展有限公司 神经网络模型压缩方法及装置
CN111368976A (zh) * 2020-02-27 2020-07-03 杭州国芯科技股份有限公司 基于神经网络特征识别的数据压缩方法
WO2020199056A1 (zh) * 2019-03-30 2020-10-08 华为技术有限公司 一种数据处理方法、服务器和可读介质
CN111967574A (zh) * 2020-07-20 2020-11-20 华南理工大学 一种基于张量奇异值定界的卷积神经网络训练方法
CN111985641A (zh) * 2020-07-20 2020-11-24 华南理工大学 一种基于低秩重构的神经网络训练方法
CN112149797A (zh) * 2020-08-18 2020-12-29 Oppo(重庆)智能科技有限公司 神经网络结构优化方法和装置、电子设备
CN112633140A (zh) * 2020-12-21 2021-04-09 华南农业大学 多光谱遥感图像城中村多类别建筑物语义分割方法及系统
CN112766165A (zh) * 2021-01-20 2021-05-07 燕山大学 基于深度神经网络与全景分割的跌倒预判方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548234A (zh) * 2016-11-17 2017-03-29 北京图森互联科技有限责任公司 一种神经网络剪枝方法及装置
CN106919942A (zh) * 2017-01-18 2017-07-04 华南理工大学 用于手写汉字识别的深度卷积神经网络的加速压缩方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548234A (zh) * 2016-11-17 2017-03-29 北京图森互联科技有限责任公司 一种神经网络剪枝方法及装置
CN106919942A (zh) * 2017-01-18 2017-07-04 华南理工大学 用于手写汉字识别的深度卷积神经网络的加速压缩方法

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929837A (zh) * 2018-09-19 2020-03-27 北京搜狗科技发展有限公司 神经网络模型压缩方法及装置
CN110929837B (zh) * 2018-09-19 2024-05-10 北京搜狗科技发展有限公司 一种联想词预测方法及装置
CN109302614A (zh) * 2018-10-08 2019-02-01 南京信息工程大学 一种基于三阶张量自编码网络的视频压缩方法
CN109302614B (zh) * 2018-10-08 2022-01-18 南京信息工程大学 一种基于三阶张量自编码网络的视频压缩方法
WO2020199056A1 (zh) * 2019-03-30 2020-10-08 华为技术有限公司 一种数据处理方法、服务器和可读介质
CN113168557B (zh) * 2019-03-30 2024-04-30 华为技术有限公司 一种数据处理方法、服务器和可读介质
CN113168557A (zh) * 2019-03-30 2021-07-23 华为技术有限公司 一种数据处理方法、服务器和可读介质
CN110580525B (zh) * 2019-06-03 2021-05-11 北京邮电大学 适用于资源受限的设备的神经网络压缩方法及系统
CN110580525A (zh) * 2019-06-03 2019-12-17 北京邮电大学 神经网络压缩方法及系统
CN110503135A (zh) * 2019-07-31 2019-11-26 上海交通大学烟台信息技术研究院 用于电力设备边缘侧识别的深度学习模型压缩方法及系统
CN110503135B (zh) * 2019-07-31 2023-04-25 上海交通大学烟台信息技术研究院 用于电力设备边缘侧识别的深度学习模型压缩方法及系统
CN111368976B (zh) * 2020-02-27 2022-09-02 杭州国芯科技股份有限公司 基于神经网络特征识别的数据压缩方法
CN111368976A (zh) * 2020-02-27 2020-07-03 杭州国芯科技股份有限公司 基于神经网络特征识别的数据压缩方法
CN111985641A (zh) * 2020-07-20 2020-11-24 华南理工大学 一种基于低秩重构的神经网络训练方法
CN111967574B (zh) * 2020-07-20 2024-01-23 华南理工大学 一种基于张量奇异值定界的卷积神经网络训练方法
CN111985641B (zh) * 2020-07-20 2024-02-13 华南理工大学 一种基于低秩重构的神经网络训练方法
CN111967574A (zh) * 2020-07-20 2020-11-20 华南理工大学 一种基于张量奇异值定界的卷积神经网络训练方法
CN112149797A (zh) * 2020-08-18 2020-12-29 Oppo(重庆)智能科技有限公司 神经网络结构优化方法和装置、电子设备
CN112633140A (zh) * 2020-12-21 2021-04-09 华南农业大学 多光谱遥感图像城中村多类别建筑物语义分割方法及系统
CN112633140B (zh) * 2020-12-21 2023-09-01 华南农业大学 多光谱遥感图像城中村多类别建筑物语义分割方法及系统
CN112766165A (zh) * 2021-01-20 2021-05-07 燕山大学 基于深度神经网络与全景分割的跌倒预判方法
CN112766165B (zh) * 2021-01-20 2022-03-22 燕山大学 基于深度神经网络与全景分割的跌倒预判方法

Similar Documents

Publication Publication Date Title
CN107967516A (zh) 一种基于迹范数约束的神经网络的加速与压缩方法
CN109949255B (zh) 图像重建方法及设备
CN109948029B (zh) 基于神经网络自适应的深度哈希图像搜索方法
JP6890653B2 (ja) 多層ニューラルネットワークモデルの学習及び適用方法、装置、並びに記憶媒体
CN109087273B (zh) 基于增强的神经网络的图像复原方法、存储介质及系统
CN113595993B (zh) 边缘计算下模型结构优化的车载感知设备联合学习方法
CN112561028A (zh) 训练神经网络模型的方法、数据处理的方法及装置
CN116030537B (zh) 基于多分支注意力图卷积的三维人体姿态估计方法
Singh et al. Acceleration of deep convolutional neural networks using adaptive filter pruning
CN111242285A (zh) 一种深度学习模型的训练方法、系统、装置及存储介质
CN110689113A (zh) 一种基于大脑共识主动性的深度神经网络压缩方法
CN113469891A (zh) 一种神经网络架构搜索方法、训练方法、图像补全方法
CN113610192A (zh) 一种基于连续性剪枝的神经网络轻量化方法及系统
CN111738435A (zh) 一种基于移动设备的在线稀疏训练方法及系统
CN117036906A (zh) 一种基于生成对抗神经网络压缩的图像翻译方法和装置
CN110472668B (zh) 一种图像分类方法
Qi et al. Learning low resource consumption cnn through pruning and quantization
CN108805844B (zh) 一种基于先验滤波的轻量化回归网络构建方法
CN112561050A (zh) 一种神经网络模型训练方法及装置
CN110956669A (zh) 一种图像压缩编码方法及系统
CN115983366A (zh) 面向联邦学习的模型剪枝方法及系统
CN113435586B (zh) 用于卷积神经网络的卷积运算装置、系统和图像处理装置
CN116957018A (zh) 一种逐通道卷积的实现方法
CN112906291B (zh) 一种基于神经网络的建模方法及装置
CN115099405A (zh) 一种基于近似乘法的神经网络混合近似及误差补偿方法

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180427