掌桥专利:专业的专利平台
掌桥专利
首页

一种基于层剪枝灵敏度的迭代式重训练方法及一种图像处理器

文献发布时间:2024-04-18 19:52:40


一种基于层剪枝灵敏度的迭代式重训练方法及一种图像处理器

技术领域

本发明涉及神经网络技术,特别涉及一种基于层剪枝灵敏度的迭代式重训练方法及一种图像处理器。

背景技术

为了追求卓越的性能,现阶段深度学习模型的参数量呈爆炸性增长。2018年Google提出的包含1.1亿参数的Bert模型,2019年OpenAI推出包含15亿参数的GPT-2模型,在GPT-2模型的基础上提出了GPT-3模型,参数个数达到了1750亿,而目前火爆全球的聊天软件chatGPT就是基于GPT系列模型的基础上进行开发的,2021年微软和英伟达推出的包含5300亿参数的深度学习模型MT-NLG,这些大型的语言模型虽然效果很好,但是其消耗的资源难以想象。而剪枝方法可以将模型的参数个数变小,从而减少模型带来的消耗。

剪枝算法分为结构性剪枝和非结构性剪枝。结构性剪枝通过裁减神经元个数减少参数个数。非结构性剪枝通过裁减权重矩阵中的权重减少参数个数。2016年Han等人以权重绝对值的大小作为模型非结构性剪枝的依据,并且通过迭代方式进行精度恢复。这种方法虽然能够获得很高的剪枝率,但是迭代式重训练恢复精度会消耗大量的时间,原因就是使用统一的剪枝阈值和阈值增量,没有考虑不同权重矩阵对于剪枝的灵敏度。中国专利申请CN114358257A公布了一种通过预训练的方法获取目标模型中各层的剪枝灵敏度,进而获取模型各层的剪枝率。这个方法是通过迭代式的方式获取灵敏度,非常的耗时。本文提出了一种基于层剪枝灵敏度的迭代式重训练方法,该方法通过权重矩阵绝对值之和和权重矩阵所处模型的深度来计算一个权重矩阵的剪枝灵敏度,并且通过获得的剪枝灵敏度来优化迭代式重训练,从而减少迭代式重训练的时间。

发明内容

为了解决迭代式重训练方法和灵敏度计算耗时的问题,本发明提出一种基于层剪枝灵敏度的迭代式重训练方法及一种图像处理器,所述重训练方法进行迭代式重训练的过程具体包括以下步骤:

101、开始进行重训练,初始化初始阈值和阈值增量;

102、根据当前待更新的权重矩阵的绝对值之和以及权重矩阵在网络中的深度计算当前权重矩阵的缩放因子,并初始化剪枝精度因子为0;

103、利用缩放因子更新初始阈值和阈值增量,并获取当前权值矩阵在进行重训练之前的输入和输出作为训练数据;

104、根据步骤103更新得到的初始阈值和阈值增量,以及精度因子,计算剪枝阈值;

105、根据剪枝阈值对权值矩阵进行剪枝,通过训练数据对剪枝后的权值矩阵进行重训练;

106、判断剪枝后当前权值矩阵的误差是否在设定范围内,若在则令剪枝精度因子自加1,然后返回步骤104;

107、若精度不达标则判断是否还有其他矩阵需要进行剪枝操作,若有则切换到到剪枝的权值矩阵,并返回步骤102。

进一步的,剪枝阈值的计算包括:

剪枝阈值=初始阈值+阈值增量×j;

其中,j表示剪枝精度因子。

进一步的,权重矩阵的缩放因子的获取过程包括以下步骤:

计算当前权值矩阵中各个元素的绝对值之和;

获取当前权值矩阵的深度值,其中当前权值矩阵离输入层越近深度值越小、离输出层越近深度值越大;

根据深度值和矩阵中各个元素的绝对值之和计算剪枝灵敏度;

将当前权值矩阵的灵敏度与神经网络所有权值矩阵灵敏值之和的最小值之比值作为缩放因子的值。

进一步的,各个矩阵的绝对值之和表示为:

其中,sum表示矩阵的绝对值之和;n、m表示权值矩阵维度。

进一步的,根据深度值和矩阵的绝对值之和计算剪枝灵敏度包括:

其中,st表示矩阵的剪枝灵敏度;sum表示矩阵的绝对值之和;β为平衡因子,0<β<1;x为当前权值矩阵的深度。

进一步的,缩放因子的计算包括:

其中,sf为缩放因子;st

进一步的,步骤103中利用缩放因子更新初始阈值和阈值增量的过程包括:

td=ti×sf

ad=adi×sf

其中,ti为初始阈值,td为缩放之后适用于当前权重矩阵的初始阈值,sf是缩放因子;adi为初始阈值增量,ad为缩放之后适用于当前权重矩阵的阈值增量。

本发明还提供一种图像处理器,根据一种基于层剪枝灵敏度的迭代式重训练方法训练得到的图像处理器,应用于图像处理场景,包括:

图像处理单元,用于将待处理的图像输入到剪枝后的神经网络中;

基于层剪枝灵敏度的迭代重训练方法重训练后的神经网络中各层权值矩阵对待处理的图像进行图像处理,获得对应的处理结果,基于层剪枝灵敏度的迭代重训练方法重训练后的神经网络包括剪枝阈值计算单元、剪枝单元、重训练单元,其中:

剪枝阈值计算单元,用于基于当前待剪枝的权值矩阵在神经网络中的深度及其该权值矩阵的绝对值计算剪枝灵敏度,利用剪枝灵敏度对当前权值矩阵进行训练的初始阈值和阈值增量进行更新,更新后利用其计算每次剪枝的剪枝阈值;

剪枝单元,利用剪枝阈值对当前层进行剪枝操作;

重训练单元,利用训练数据对剪枝后的神经网络进行训练。

本发明相较于现有剪枝方法计算各层权重矩阵的灵敏度的速度更快;相较于传统迭代式重训练方法,本方法经过优化之后能够减少重训练的时间。

附图说明

图1为本发明一种基于层剪枝灵敏度的迭代式重训练方法的整体流程图;

图2为本发明一种基于层剪枝灵敏度的迭代式重训练方法中对权值矩阵深度值的示意图;

图3为传统迭代重训练过程的流程图;

图4为本发明优化了缩放因子之后迭代重训练过程的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提出一种基于层剪枝灵敏度的迭代式重训练方法及一种图像处理器,所述重训练方法进行迭代式重训练的过程具体包括以下步骤:

101、开始进行重训练,初始化初始阈值和阈值增量;

102、根据当前待更新的权重矩阵的绝对值之和以及权重矩阵在网络中的深度计算当前权重矩阵的缩放因子,并初始化剪枝精度因子为0;

103、利用缩放因子更新初始阈值和阈值增量,并获取当前权值矩阵在进行重训练之前的输入和输出作为训练数据;

104、根据步骤103更新得到的初始阈值和阈值增量,以及精度因子,计算剪枝阈值;

105、根据剪枝阈值对权值矩阵进行剪枝,通过训练数据对剪枝后的权值矩阵进行重训练;

106、判断剪枝后当前权值矩阵的误差是否在设定范围内,若在则令剪枝精度因子自加1,然后返回步骤104;

107、若精度不达标则判断是否还有其他矩阵需要进行剪枝操作,若有则切换到到剪枝的权值矩阵,并返回步骤102。

神经网络大量应用在计算机视觉、机器翻译、语音识别等领域中,然而随着神经网络技术的发展,其网络结构的设计愈发复杂,卷积核对应的权重矩阵中,所包含的权重数量也越来越多,增加了神经网络的运算工作量和参数量,使得神经网络难以部署在计算能力和存储空间有限的硬件资源上。因此,需要对神经网络进行剪枝处理。

但是,现有技术提供的神经网络的剪枝方法,由于采用根据人工经验手动配置固定的剪枝率组,但采用固定的剪枝率组对神经网络进行剪枝处理,只能减小剪枝后的神经网络的参数量,却无法提高剪枝后的神经网络的运行速度。

有鉴于此,本实施例提出一种基于层剪枝灵敏度的迭代式重训练方法,在本实施例中以处理图像数据的神经网络为例给出具体实施例,本发明方法也可以对可以输入神经网络模型进行处理的其他任意数据,例如语音数据、文本数据等进行处理。

在本实施例中,提供的一种基于层剪枝灵敏度的迭代式重训练方法的流程如图1所示,包括以下五个步骤:

第一步:计算权重矩阵绝对值之和

在本实施例中,所述权重矩阵是指神经网络中的权重矩阵,本实施例以n×m维度权重举证为例,权重矩阵绝对值之和表示为:

其中,sum表示矩阵的绝对值之和;n、m表示权值矩阵维度。

第二步:获取权重矩阵所处深度

权重矩阵所处深度是指该权重矩阵在神经网络中的位置,如图2,若存在两层权重矩阵,即input layer(输入层)与hidden layer(隐藏层)之间的权重矩阵、hidden layer与output layer(输出层)之间的权重矩阵,越靠近输入层的权重矩阵的深度值越小、越靠近输出层的权重矩阵的深度值越大,例如可以将图2中输入层与隐藏层之间的权重矩阵的深度值设为1、将隐藏层与输出层之间的权重矩阵的深度值设为2,本领域技术人员可以根据越靠近输入层的权重矩阵的深度值越小、越靠近输出层的权重矩阵的深度值越大的原则灵活设置深度值。

优选的,在满足越靠近输入层的权重矩阵的深度值越小、越靠近输出层的权重矩阵的深度值越大的原则基础上,确定最大深度值和最小深度值,对权重矩阵的深度进行分组,每一个分组划分为密集部分和稀疏部分,稀疏部分两个相邻深度的权值矩阵的深度值之差大于密集部分两个相邻深度的权值矩阵之差。

例如,一共有M层权值矩阵,其深度值分别为{1,2,3,…,M},将这M(M≥3)层权值矩阵划分为若干组(组数≥1),每组包括S(S≥3)层权值矩阵,以1~S层这一组为例,深度值最小的是1、深度值最大的为S,可以将

第三步:计算权重矩阵剪枝灵敏度

根据深度值和矩阵的绝对值之和计算剪枝灵敏度包括:

其中,st表示矩阵的剪枝灵敏度;sum表示矩阵的绝对值之和;β为平衡因子,0<β<1;x为当前权值矩阵的深度。

第四步:计算缩放因子

通过第三步获取的各层权重矩阵的剪枝灵敏度来计算用于迭代式重训练的缩放因子,计算公式如下所示:

其中,sf为缩放因子;st

第五步:优化迭代式重训练

传统迭代式重训练的流程图如图3所示,其中初始阈值和阈值增量是固定的,针对所有的权重矩阵,没有考虑不同权重矩阵的剪枝灵敏度,从而迭代次数过多导致重训练耗时。

本实施例通过缩放因子优化的迭代式重训练方法流程图如图4所示,它在图3的基础上增加了一层,该层根据缩放因子获取当前层的初始阈值和阈值增量。计算公式如下所示:

td=ti×sf

ad=adi×sf

其中,ti为初始阈值,td为缩放之后适用于当前权重矩阵的初始阈值,sf是缩放因子;adi为初始阈值增量,ad为缩放之后适用于当前权重矩阵的阈值增量。

在本实施例中,通过将缩放因子sf乘以初始阈值和阈值增量作为当前权重矩阵的剪枝初始阈值和阈值增量,从而减少迭代次数进而降低整个迭代式重训练方法的时间。

本实施例还提供一种图像处理器,该处理器根据一种基于层剪枝灵敏度的迭代式重训练方法训练得到,应用于图像处理场景,该处理器包括:

图像处理单元,用于将待处理的图像输入到剪枝后的神经网络中;

基于层剪枝灵敏度的迭代重训练方法重训练后的神经网络中各层权值矩阵对待处理的图像进行图像处理,获得对应的处理结果,基于层剪枝灵敏度的迭代重训练方法重训练后的神经网络包括剪枝阈值计算单元、剪枝单元、重训练单元,其中:

剪枝阈值计算单元,用于基于当前待剪枝的权值矩阵在神经网络中的深度及其该权值矩阵的绝对值计算剪枝灵敏度,利用剪枝灵敏度对当前权值矩阵进行训练的初始阈值和阈值增量进行更新,更新后利用其计算每次剪枝的剪枝阈值;

剪枝单元,利用剪枝阈值对当前层进行剪枝操作;

重训练单元,利用训练数据对剪枝后的神经网络进行训练。

本发明一种基于层剪枝灵敏度的迭代式重训练方法,不仅可以应用在图像处理器中,也可以应用在处理其他数据的神经网络模型中,利用本发明的剪枝后进行重训练,可以降低模型参数计算时间、减少重训练时间。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

相关技术
  • 一种基于剪枝模型的人脸图像快速检测训练方法和装置
  • 一种基于剪枝模型的人脸图像快速检测训练方法和装置
技术分类

06120116332593