CN116702858A - 一种模型处理方法、电子设备及介质 - Google Patents

一种模型处理方法、电子设备及介质 Download PDF

Info

Publication number
CN116702858A
CN116702858A CN202310514419.8A CN202310514419A CN116702858A CN 116702858 A CN116702858 A CN 116702858A CN 202310514419 A CN202310514419 A CN 202310514419A CN 116702858 A CN116702858 A CN 116702858A
Authority
CN
China
Prior art keywords
weight
network model
neural network
pruned
model
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
CN202310514419.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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202310514419.8A priority Critical patent/CN116702858A/zh
Publication of CN116702858A publication Critical patent/CN116702858A/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/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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)
  • Feedback Control In General (AREA)

Abstract

本申请涉及计算机技术领域,公开了一种模型处理方法、电子设备及介质,模型处理方法包括对训练得到的收敛模型进行权重剪枝得到剪枝模型后,对被剪枝权重中部分影响模型精度的重要权重进行恢复,并将恢复后的重要权重应用到剪枝模型中,以进行模型的再次训练,直至获得收敛后的模型。如此,可以使得在实现压缩模型的同时,实现保证模型的精度。

Description

一种模型处理方法、电子设备及介质
技术领域
本申请涉及计算机技术领域,特别涉及一种模型处理方法、电子设备及介质。
背景技术
近年来,随着卷积神经网络(Convolution Neural Network,CNN)的发展,网络深度越来越深,参数越来越多,使得大型卷积神经网络难以部署在小型边缘端设备。剪枝作为一种常用的压缩模型的方法,主要分为结构化剪枝和非结构化剪枝。其中,结构化剪枝以卷积神经网络的卷积层中的滤波器为剪枝单位,改变网络中的滤波器组和特征通道数目,实现对卷积神经网络的宽度进行缩减。非结构化剪枝以卷积神经网络中的单个权重为剪枝单位,进行细粒度的剪枝。
在传统的非结构化剪枝方法中,通过最大程度地剪去模型的参数量,使得剪枝后的模型能够部署在小型边缘端设备。然而,参数量的大规模减少会造成模型的高稀疏化,导致模型的表征能力降低,例如导致特征图的部分特征无法提取,进而导致模型的精度降低。
发明内容
为解决上述提及的现有非结构化剪枝方法会造成模型的高稀疏化,导致模型的表征能力降低,例如导致特征图的部分特征无法提取,进而导致模型的精度降低的问题,本申请提供一种模型处理方法、电子设备及介质。
第一方面,本申请提供一种模型处理方法,该方法可以用于电子设备,模型处理方法包括获取第一神经网络模型,其中,第一神经网络模型是对待剪枝神经网络模型进行剪枝得到的,并且剪枝包括将待剪枝神经网络模型的第一权重集合修改为第一神经网络模型的第二权重集合,其中,第一权重集合中非零的第一权重在第二权重集合中对应的值为零。从第二权重集合中选择出满足权重条件的目标权重集合。对第二权重集合中的目标权重集合做参数调整处理得到第三权重集合,其中,第一权重在第三权重集合中的值非零。将第三权重集合用于第一神经网络模型。
基于上述方案,获得剪枝模型后,可以确定出收敛模型的被剪枝权重中的第三权重集合,即能提高模型精度的重要权重,然后对该部分重要权重进行生长,重新应用到剪枝模型中,并基于恢复后的重要权重和剪枝模型中的未剪枝权重进行模型的再次训练,直至模型再次收敛,获取收敛后的收敛模型。如此,能够在一定程度上优化模型内存的同时有效保证模型精度。
可以理解,将待剪枝神经网络模型的第一权重集合修改为第一神经网络模型的第二权重集合可以指将剪枝神经网络模型的第一权重集合置零,即实现第一权重集合的剪枝。
可以理解,对第二权重集合中的目标权重集合可以指本申请提及的从被剪枝权重中筛选出来的重要权重。
可以理解,对重要权重进行生长可以是对重要权重进行恢复,例如,可以将置零的权重调整为正数,或者将置零的权重调整为负数。
在一些可选的实例中,从第二权重集合中选择出满足权重条件的目标权重集合,包括:对第二权重集合中的任一权重进行恢复处理,得到候选神经网络模型;获取第一神经网络模型对应的损失函数和候选神经网络模型对应的损失函数的梯度;基于对第二权重集合中每个权重进行恢复后,第一神经网络模型对应的损失函数和候选神经网络模型对应的损失函数的梯度,确定目标权重集合。
可以理解,权重条件可以是将该权重单独应用到剪枝模型后时,模型所对应的当前损失函数,与未应用前剪枝模型对应的损失函数的梯度(即下降幅度)较大。
在一些可选的实例中,获取第一神经网络模型对应的损失函数,包括:基于训练数据集对应的真实信息和第一神经网络模型输出的预测信息,确定第一损失函数;基于第一神经网络模型和候选神经网络模型,确定第二损失函数;基于第一损失函数和第二损失函数确定第一神经网络模型对应的损失函数。
可以理解,第一损失函数可以表示第一神经网络模型实现预设任务的精度,第二损失函数可以表示第一待剪枝网络模型中权重矩阵与权重矩阵对应的目标低秩逼近矩阵的不同程度。
可以理解,预设待剪枝网络模型为实现不同任务所使用的神经网络模型时,用来表示第一神经网络模型实现预设任务的精度的第一损失函数可以不同。常用第一损失函数可以包括0-1损失函数、绝对值损失函数、对数损失函数、平方损失函数、指数损失函数、代价损失函数、交叉熵损失函数等。
在一些可选的实例中,获取第一神经网络模型对应的第一损失函数,包括:将训练数据集输入第一神经网络模型,获取第一神经网络模型输出的预测信息;基于训练数据集对应的真实信息和预测信息,获取第一损失函数。
在一些可选的实例中,获取第一神经网络模型对应的第二损失函数,包括:获取待剪枝网络模型中的权重矩阵集合;确定权重矩阵集合中各权重矩阵对应的目标低秩逼近矩阵;基于各权重矩阵和各权重矩阵对应的目标低秩逼近矩阵,获取第一神经网络模型对应的第二损失函数。
在一些可选的实例中,确定权重矩阵集合中各权重矩阵对应的目标低秩逼近矩阵,包括:对各权重矩阵进行标准化处理,得到各权重矩阵对应的待分解权重矩阵;对各权重矩阵对应的待分解权重矩阵进行低秩分解处理,获取各权重矩阵对应的目标低秩逼近矩阵。
可以理解,目标低秩逼近矩阵可以是对待剪枝网络模型中的各权重矩阵进行低秩分解,可以得到由多个参数量少、简单且低秩的子权重矩阵相乘构成的矩阵。
可以理解,通过确定各权重矩阵对应的目标低秩逼近矩阵,来确定第一神经网络模型中各权重矩阵与目标低秩逼近矩阵的不同程度来确定重要权重,可以提高权重矩阵的秩,减小特征提取的遗漏,进而可以提高模型的精度。
在一些可选的实例中,对待剪枝神经网络模型进行剪枝,得到第一神经网络模型,包括:基于待剪枝网络模型中各权重的幅值和预设稀疏率对待剪枝网络模型进行剪枝,得到第一神经网络模型。
在一些可选的实例中,基于待剪枝网络模型中各权重的幅值和预设稀疏率对待剪枝网络模型进行剪枝,得到第一神经网络模型,包括:基于待剪枝网络模型中各权重的幅值和预设稀疏率,将待剪枝网络模型中预设稀疏率对应数量的权重确定为剪枝权重;将剪枝权重对应的值置零,得到第一神经网络模型。
例如,待剪枝网络模型具有m个权重,当次处理对应的预设稀疏率为α,可以基于m个权重的幅值(绝对值)对m个权重从大到小进行排序,并按照从大到小的顺序将序列中m×α个权重确定为第一权重子集合中的权重。并对第一权重集合中的权重进行剪枝处理,即将第一权重集合中的权重全部置零,得到对待剪枝网络模型进行剪枝处理后的第一神经网络模型。
可以理解,通过对待剪枝网络模型进行剪枝处理,可以减小待剪枝网络模型的参数量,例如将参数量m减小为m-m×α,可以提高模型稀疏率,使得剪枝后的模型可以部署在小型边缘端设备。
在一些可选的实例中,对待剪枝神经网络模型进行剪枝,得到第一神经网络模型,包括:基于待剪枝网络模型中各权重的幅值、预设稀疏率和预设生长率,对待剪枝网络模型进行剪枝,得到第一神经网络模型。
在一些可选的实例中,对待剪枝神经网络模型进行剪枝,得到第一神经网络模型,包括:基于待剪枝网络模型中各权重的幅值和预设稀疏率,将待剪枝网络模型中预设稀疏率对应数量的权重确定为第一权重子集合;基于待剪枝网络模型中除第一权重子集合之外的各权重的幅值和预设生长率,将待剪枝网络模型中除第一权重子集合之外预设生长率对应数量的权重确定为第二权子集合;将第一权重子集合和第二权重子集合中权重对应的值置零,得到第一神经网络模型。
例如,待剪枝网络模型具有m个权重,当次处理对应的预设稀疏率为α,当次处理对应的预设生长率为β,可以基于m个权重的幅值(绝对值)对m个权重从大到小进行排序,并按照从大到小的顺序将序列中m×α个权重确定为第一权重子集合中的权重。然后可以基于m-m×α个未置零的权重的幅值(绝对值)对未置零的权重进行从大到小进行排序,并按照从大到小的顺序将序列中m×β个权重也确定为第二权重子集合中的权重。接着,可以将第一权重子集合和第二权重子集合的并集确定为第一权重集合,并对第一权重集合中的权重进行剪枝处理,即将第一权重集合中的权重全部置零,使得在剪去预设稀疏率对应的第一权重子集合的基础上,额外地剪去第二权重子集合,得到对待剪枝网络模型进行剪枝处理后的第一神经网络模型。
可以理解,通过对待剪枝网络模型进行剪枝处理,可以减小待剪枝网络模型的参数量,例如将参数量m减小为m-m×α-m×β,可以进一步提高模型稀疏率,使得剪枝后的模型可以部署在小型边缘端设备。
第二方面,本申请提供一种电子设备,包括:存储器,用于存储电子设备的一个或多个处理器执行的指令,以及处理器,是电子设备的一个或多个处理器之一,用于执行本申请提及的模型处理方法。
第三方面,本申请提供一种可读存储介质,可读存储介质上存储有指令,指令在电子设备上执行时使得电子设备执行本申请提及的模型处理方法。
附图说明
图1根据本申请的一些实施例,示出了一种应用场景示意图;
图2是一种模型的剪枝方法的框架示意图;
图3是一种能够应用于模型处理的剪枝方法的流程示意图;
图4是本申请实施例提供的一种模型处理方法的示意图;
图5是本申请实施例提供的一种确定目标权重集合的方法的流程示意图;
图6是本申请实施例提供的一种获取待剪枝网络模型的第二损失函数的流程示意图;
图7是本申请实施例提供的模型处理方法在综合模型消耗算力和准确率的曲线示意图;
图8示出了电子设备的硬件结构示意图。
具体实施方式
本申请的说明性实施例包括但不限于基于一种模型处理方法、电子设备及介质。
可以理解,本申请实施例中提供的模型处理方法可以用于图像识别、目标检测、增强学习、语义分析等任务中使用的神经网络模型中,例如,神经网络模型的种类不限于卷积神经网络、Transformer(一种基于多头注意力机制的模型)、循环神经网络(RecurrentNeural Network,RNN)、长短记忆神经网络(Long Short-Term Memory,LSTM)等任意神经网络模型。
如图1所示,在一种具体实现中,服务器10可以对用于图像识别的神经网络模型11进行剪枝,然后发送至小型边缘端设备20,以便小型边缘端设备20能够基于剪枝后的神经网络模型进行数据处理。小型边缘端设备可以是手机、摄像头等任意可实施的电子设备。
下面对一些实施例中提及的模型的剪枝方法进行介绍。
图2是一种模型的剪枝方法的框架示意图。如图2所示,剪枝方法可以包括:
首先,获取特征图,例如可以将采样图像输入卷积神经网络,对采样图像进行特征提取处理,得到特征图。卷积神经网络可以包括卷积层和全连接层。
然后,选取一层卷积层对其进行剪枝处理。例如对于卷积神经网络中的当前卷积层,各滤波器对输入的第一特征图进行滤波处理,输出第二特征图。其中,第一特征图是当前卷积层的上一层卷积层输出的特征图。滤波器、第一特征图和第二特征图是一一对应的。基于第二特征图中的参数确定第二特征图对应的矩阵秩。可以理解,当一个矩阵为m×n矩阵,则该矩阵的秩最大为m和n中的较小者,表示为min(m,n)。当矩阵秩比较大,则可以证明该特征图中的冗余信息多。对各滤波器输出的第二特征图对应的矩阵秩进行排序处理,基于排序处理结果对卷积神经网络进行剪枝处理,剪去矩阵秩小于预设矩阵秩的第二特征图对应的滤波器,可选地,可以将滤波器中的参数全部置零。通过剪去矩阵秩小的特征图对应的滤波器,即将提取冗余信息的滤波器对应的权重矩阵中的参数全部置零,可以在后续利用剪去滤波器的模型提取图像特征的过程中减少冗余信息的提取。
接着,对剪枝后的卷积神经网络进行微调,得到最终的用于预测的卷积神经网络。
由于该剪枝方案以特征图为整体确定矩阵秩来对滤波器进行剪枝,因此只能应用于模型的结构化剪枝,无法应用于模型的非结构化剪枝,即无法实现对模型的细粒度剪枝,无法使得模型的内存优化达到最优。
图3是一种模型的剪枝方法的流程示意图。如图3所示,剪枝方法可以包括:
获取卷积神经网络的每个卷积层中每个滤波器的权重,例如,可以获取第l层卷积层中滤波器的权重W={Wl 1,...,Wn 1}。计算每个滤波器权重的三维张量的秩,得到滤波器权重的三维张量的秩R={Rl 1,...,Rn 1},根据滤波器的三维张量的秩的大小对滤波器的权重进行排序,得到排序结果,例如,得到第l层滤波器的权重W’={Wl 1,...,Wn 1}。基于排序结果剪去秩小于预设秩的滤波器,得到剪枝后的卷积神经网络W={Wm 1,...,Wn 1}。剪枝完成后,对卷积神经网络进行微调,再进行下一层卷积层的剪枝,例如对第l层卷积层完成剪枝后,可以对第l+1层卷积层进行剪枝。由于该剪枝方案以滤波器权重的三维张量为整体确定秩来对滤波器进行剪枝,也无法应用于模型的非结构化剪枝,即无法实现对模型的细粒度剪枝,无法使得模型的内存优化达到最优。
为了解决上述以特征图为整体确定秩以及以滤波器权重的三维张量为整体确定秩来对滤波器进行剪枝无法应用于非结构化剪枝,进而也无法应用于细粒度的非结构化剪枝的问题,在一些实施例中,提供两种非结构化的剪枝方法,分别为基于预设剪枝流程的方法和基于预设剪枝标准的方法。
其中,基于预设剪枝流程的方法通过预设权重剪去以及预设生长权重的剪枝流程,能够达到较好的剪枝效果。预设剪枝流程包括逐渐剪枝、随机初始化一个稀疏网络的“从稀疏到稀疏”剪枝、网络稠密与稀疏状态交替训练的“压缩/解压”剪枝等等。例如,逐渐剪枝通过每隔ΔT步训练迭代进行一次剪枝,缓慢升高模型的稀疏率直至达到目标稀疏率结束剪枝。预设剪枝标准通过预设权重重要性,从权重矩阵中选取冗余权重进行剪枝。
基于预设剪枝标准的方法通过预设剪枝标准实现剪枝,其中,剪枝标准一般包括基于权重绝对值、基于权重梯度、基于自学习得到权重的重要性分数等等。
然而,基于预设剪枝流程的方法和基于预设剪枝标准的方法均是通过最大程度地剪去模型的参数量实现剪枝,参数量的大规模减少会造成模型的高稀疏化,导致模型的表征能力降低,例如,导致特征图的部分特征无法提取,进而导致模型的精度降低。
为解决上述问题,本申请提供一种模型处理方法,在获取到收敛模型且对收敛模型中的权重进行剪枝处理,获得剪枝模型后,可以确定出收敛模型的被剪枝权重中能提高模型精度的重要权重,然后对该部分重要权重进行生长,即将该部分重要权重进行恢复,重新应用到剪枝模型中,并基于恢复后的重要权重和剪枝模型中的未剪枝权重进行模型的再次训练,直至模型再次收敛,获取收敛后的收敛模型。如此,能够在一定程度上优化模型内存的同时有效保证模型精度。
其中,各重要权重可以为将该权重单独应用到剪枝模型后时,模型所对应的当前损失函数,与未应用前剪枝模型对应的损失函数的梯度(即下降幅度)较大的权重,可以理解,梯度越大,则证明该权重单独应用到剪枝模型后获得的损失函数值越来越小,即模型收敛的程度越高,即模型的精度越高,例如,选取被剪枝权重中对应梯度较大的前预设数量的权重作为重要权重,可以有效保证模型精度。
确定重要权重的方式可以为:对被剪枝权重中的各权重依次进行恢复处理,例如,首先从被剪枝权重的各权重中随机挑选一个权重A,对该权重A进行恢复处理,并基于当前已恢复权重A和未被剪枝的权重进行模型训练,获取模型对应的当前损失函数,并获取当前损失函数与前述剪枝后模型对应的损失函数的梯度(即下降幅度),并将该梯度作为权重A对应的梯度。
然后随机选取下一个权重B进行恢复处理,并基于当前已恢复权重B和未被剪枝的权重进行模型训练,获取模型对应的当前损失函数,并获取当前损失函数与前述剪枝后模型对应的损失函数的梯度,获取权重B对应的梯度;即依次基于上述方法获取被剪枝的权重中的各权重分别对应的梯度,并基于梯度大小对被剪枝权重进行排序,选取对应梯度较大的前预设数量的权重作为重要权重。
可以理解,梯度越大,则证明基于当前已恢复的权重和未被剪枝的权重进行模型训练获得的损失函数值越来越小,即模型收敛的程度越高,即模型的精度越高,如此,选取对应梯度较大的前预设数量的权重作为重要权重,可以有效保证模型精度。
在一些实施例中,在上述进行模型剪枝的过程中,可以在满足模型预设稀疏率的权重剪枝数量的基础上,额外剪去一定数量的权重,且保证生长的重要权重的数量与额外剪去的权重的数量相同,如此,能够在不改变模型稀疏率的基础上且保证模型精度。
在一些实施例中,在上述进行模型剪枝的过程中,也可以只剪去一定数量的权重,使得其剪枝后满足模型预设稀疏率,并不额外剪去权重,但是在生长部分重要权重后,例如在第一次生长重要权重获取收敛模型时,此时由于生长了部分重要权重,模型稀疏率有所升高,未达到预设稀疏率,此时可以重新执行上述剪枝步骤和权重生长步骤,直至模型再次收敛且模型的稀疏率达到预设稀疏率,如此,也可以保证模型稀疏率。
例如,预设的模型稀疏率为60%,由于生长了20%的重要权重,模型稀疏率升高为80%,此时,在模型收敛后,可以进行第二次剪枝,例如,剪去权重的数量使得模型稀疏率降低为40%,此时使得模型稀疏率达到40%,再生长20%的重要权重,在模型再次收敛时,即可达到预设的模型稀疏率60%。其中,模型每次的剪枝比例和重要权重生长比例可以根据实际需求确定。
下面对本申请实施例中提及的模型处理方法进行详细介绍。图4是本申请实施例提供的一种模型处理方法的示意图,图4中所示的模型处理方法可以由电子设备执行。如图4所示,模型处理方法可以包括:
401:获取待剪枝网络模型和训练数据集。
本申请实施例中,待剪枝网络模型可以包括多层卷积层,多层卷积层中各卷积层可以具有层标识信息,如表征卷积层身份的身份标识信息。各卷积层的层标识信息可以是唯一的,即各卷积层的层标识信息不同。例如,待剪枝网络模型可以包括n层卷积层,卷积层的层标识信息可以是Conv1、Conv2...Conv n。各卷积层可以包括多个卷积核,多个卷积核中的各卷积核可以具有核标识信息,如表征卷积核身份的身份标识信息。各卷积核的核标识信息可以是唯一的,即各卷积核的核标识信息不同。例如,卷积层Conv1可以包括m个卷积核,卷积核的核标识信息可以是W1、W2...Wm。每个卷积核可以包括多个权重(参数),每个卷积核中的权重可以全部相同、也可以全部不同、也可以部分相同。每个卷积核中的多个权重可以以矩阵的形式进行表示,即每个卷积核中的多个权重可以用权重矩阵进行表示,权重矩阵中的每个权重可以用于提取和强化图像数据、音频数据的特征。
在一些可选的实例中,待剪枝网络模型可以包括但不限于卷积神经网络、Transformer(一种基于多头注意力机制的模型)、循环神经网络(Recurrent NeuralNetwork,RNN)、长短记忆神经网络(Long Short-Term Memory,LSTM)中的任意一种。可以理解,待剪枝网络模型可以是预设实现图像识别、目标检测、增强学习、语义分析等任务所使用的神经网络模型。在一些可选的实施方式中,待剪枝网络模型可以是视觉模型,用于实现各种视觉任务。
在一些可选的实例中,训练数据集可以是图像数据集,也可以是音频数据集。训练数据集中的数据可以具有标注信息,该标注信息可以是与待剪枝网络模型的任务相匹配的信息。例如,当待剪枝网络模型是预设实现图像识别任务所使用的神经网络模型时,标注信息可以是标注的类别信息。再如,当待剪枝网络模型是预设实现目标检测任务所使用的神经网络模型时,标注信息可以是标注的类别信息和位置信息。
402:将待剪枝网络模型的第一权重集合修改为第二权重集合,得到第一神经网络模型。
可以理解,当待剪枝网络模型参数量较多,难以部署在小型边缘端设备时,需要最大程度地减少待剪枝网络模型的参数量(即将待剪枝网络模型中最多数量的权重置零),实现对待剪枝网络模型最大程度的压缩,使得剪枝后的模型能够部署在小型边缘端设备。
在一些可选的实例中,基于待剪枝网络模型中各权重的幅值(绝对值)、当次训练处理对应的预设稀疏率以及当次训练处理对应的预设生长率,从待剪枝网络模型中确定第一权重集合。其中,第一权重集合中的权重可以位于同一卷积核,即属于同一权重矩阵,也可以位于不同卷积核,即属于不同权重矩阵。在确定第一权重集合之后,可以对第一权重集合中的权重进行剪枝处理,即将第一权重集合中的权重置零,得到第二权重集合。
在一些可选的实例中,可以基于待剪枝网络模型中各权重的幅值(绝对值)和当次训练处理对应的预设稀疏率,从待剪枝网络模型中确定第一权重子集合,并基于待剪枝网络模型中各权重的幅值(绝对值)和当次训练处理对应的预设生长率,从待剪枝网络模型中确定第二权重子集合。接着,可以将第一权重子集合和第二权重子集合的并集确定为第一权重集合,并将第一权重集合修改为第二权重集合,得到第一神经网络模型。
例如,待剪枝网络模型具有m个权重,当次处理对应的预设稀疏率为α,当次处理对应的预设生长率为β,可以基于m个权重的幅值(绝对值)对m个权重从大到小进行排序,并按照从大到小的顺序将序列中m×α个权重确定为第一权重子集合中的权重。然后可以基于m-m×α个未置零的权重的幅值(绝对值)对未置零的权重进行从大到小进行排序,并按照从大到小的顺序将序列中m×β个权重也确定为第二权重子集合中的权重。接着,可以将第一权重子集合和第二权重子集合的并集确定为第一权重集合,并对第一权重集合中的权重进行剪枝处理,即将第一权重集合中的权重全部置零,使得在剪去预设稀疏率对应的第一权重子集合的基础上,额外地剪去第二权重子集合,得到对待剪枝网络模型进行剪枝处理后的第一神经网络模型。
403:从第二权重集合中确定满足预设条件的目标权重集合。
可以理解,在对待剪枝网络模型进行剪枝的过程中,不仅需要将最大数量的权重置零,而且需要提高权重矩阵的秩,减少特征提取的遗漏,实现在对待剪枝网络模型进行压缩的同时,保证待剪枝网络模型实现预设任务的精度。因此,需要从第二权重集合中确定目标权重集合,在后续调整权重的过程中对其进行调整,保证重要权重不会被错剪,以保证模型实现预设任务的精度。
在一些可选的实例中,可以基于第一损失函数和第二损失函数,从第二权重集合中确定满足预设条件的目标权重集合。其中,第一损失函数可以是表示第一待剪枝网络模型实现预设任务的精度的损失函数,第二损失函数可以是表示第一待剪枝网络模型中权重矩阵与权重矩阵对应的目标低秩逼近矩阵的不同程度的损失函数。例如,可以确定第二权重集合中每个权重的变化对第一损失函数值和第二损失函数值的变化幅度的影响程度,进而可以将影响程度大的权重确定为目标权重,得到目标权重集合。
其中,基于第一损失函数和第二损失函数,从第二权重集合中确定满足预设条件的目标权重集合的具体方式在图5中详述。
404:将目标权重集合中的目标权重调整为第三权重集合,得到第二神经网络模型。
可以理解,将目标权重集合中的目标权重调整为第三权重集合可以是将目标权重集合中的目标权重的绝对值扩大,即将置零的权重调整为正数,或者将置零的权重调整为负数,进而可以确保对待剪枝网络模型的精度具有重大影响的重要权重能够被重新激活。
可以理解,在得到第二神经网络模型之后,可以将训练数据集输入第二神经网络模型,对第二神经网络模型进行训练,得到目标神经网络模型。例如,可以将训练数据集输入第二神经网络模型,基于第二神经网络模型中的权重对训练数据集进行特征提取处理,并输出预测信息。其中,第二神经网络模型中的权重包括第三权重集合。在第二神经网络模型输出训练数据集的预测信息之后,基于训练数据集的标注信息和预测信息,对第二神经网络模型中的第三权重集合中的权重进行调整,直至迭代次数大于预设次数,得到目标神经网络模型。
下面,对本申请实施例中提及的确定目标权重集合的方法进行详细介绍。图5是本申请实施例提供的一种确定目标权重集合的方法的流程示意图。如图5所示,确定目标权重集合的步骤可以包括:
501:获取第一神经网络模型的第一损失函数。
可以理解,在得到第一神经网络模型之后,可以确定第一神经网络模型实现预设任务的精度,即确定第一神经网络模型对训练数据集进行预测所输出的预测信息的精确度,该精确度可以用训练数据集的标注信息与预测信息的误差进行表示。可选地,可以采用第一损失函数来表示第一神经网络模型实现预设任务的精度,第一损失函数值越小,即训练数据集的标注信息与预测信息的误差越小,表示第一神经网络模型实现预设任务的精度越高。
可以理解,预设待剪枝网络模型为实现不同任务所使用的神经网络模型时,用来表示第一神经网络模型实现预设任务的精度的第一损失函数可以不同。常用第一损失函数可以包括0-1损失函数、绝对值损失函数、对数损失函数、平方损失函数、指数损失函数、代价损失函数、交叉熵损失函数等。例如,当待剪枝网络模型是实现图像识别任务所使用的神经网络模型时,可以获取交叉熵损失函数作为第一损失函数,当待剪枝网络模型是实现目标检测任务所使用的神经网络模型时,可以获取代价损失函数作为第一损失函数。
502:获取第一神经网络模型的第二损失函数。
可以理解,待剪枝网络模型作为一种实现预设任务所使用的神经网络模型,权重的数量(参数量)较多,存在较多冗余权重,因此可以减小待剪枝网络模型中的冗余权重(例如,对待剪枝网络模型进行剪枝处理,即将待剪枝网络模型中的部分权重置零),来减小待剪枝网络模型的参数量,实现对待剪枝网络模型的压缩。在对待剪枝网络模型进行压缩时,由于减少了待剪枝网络模型中的冗余权重,故压缩前后的待剪枝网络模型中的权重矩阵发生变化,压缩后的权重矩阵的秩可能会小于压缩前的权重矩阵的秩(例如将待剪枝网络模型中某个权重矩阵某一行的权重均置零),而利用低秩的权重矩阵对训练数据集中的数据进行特征提取时,会造成特征提取遗漏,进而会导致利用压缩前后的待剪枝网络模型对训练数据集进行预测所输出的预测信息之间具有误差,压缩后的待剪枝网络模型实现预设任务的精度低于压缩前的待剪枝网络模型实现预设任务的精度。
在一些可选的实例中,可以对待剪枝网络模型中的各权重矩阵进行低秩分解,可以得到由多个参数量少、简单且低秩的子权重矩阵相乘构成的目标低秩逼近矩阵。例如,对于一个m×n的权重矩阵A,可以对其进行低秩分解得到由子权重矩阵Um×k、子权重矩阵∑k×k以及子权重矩阵VT k×n相乘的目标低秩逼近矩阵,其中,k<<n,权重矩阵Am×n的参数量为m×n,目标低秩逼近矩阵的参数量为k×(m+n+1)。虽然,权重矩阵对应的目标低秩逼近矩阵的参数量远小于相应的权重矩阵,但是由于目标低秩逼近矩阵中的子权重矩的秩低,故利用权重矩阵对应的目标低秩逼近矩阵对训练数据集中的数据进行特征提取时,会造成特征提取遗漏。因此,在对待剪枝网络模型进行压缩时,可以增大权重矩阵与权重矩阵对应的目标低秩逼近矩阵的不同,提高压缩后的权重矩阵的秩,减小特征提取遗漏,进而可以减小利用压缩前后的待剪枝网络模型对训练数据集进行预测所输出的预测信息之间的误差,保证压缩后的待剪枝网络模型实现预设任务的精度。可选地,可以采用第二损失函数来表示权重矩阵与权重矩阵对应的目标低秩逼近矩阵的不同,第二损失函数值越小,即权重矩阵与权重矩阵对应的目标低秩逼近矩阵的不同程度越大,权重矩阵的秩越高,对特征提取遗漏的越少,进而利用压缩前后的待剪枝网络模型对训练数据集进行预测所输出的预测信息之间的误差越小,压缩后的待剪枝网络模型实现预设任务的精度越高。
503:基于第一损失函数和第二损失函数,从第二权重集合中确定目标权重集合。
可以理解,在对待剪枝网络模型进行剪枝的过程中,不仅需要减少参数量,而且需要减少特征提取的遗漏,因此,在对待剪枝网络模型进行剪枝的过程中,不仅需要将最多数量的权重置零,而且需要提高权重矩阵的秩,实现在对待剪枝网络模型最大程度的压缩的同时,保证待剪枝网络模型实现预设任务的精度。
在一些可选的实例中,通过对待剪枝网络模型进行剪枝得到第一神经网络模型,可以调整训练数据集的标注信息与预测信息的误差,即改变第一损失函数值大小,并且可以调整权重矩阵与权重矩阵对应的目标低秩逼近矩阵的不同程度,提高权重矩阵的秩。因此,通过对待剪枝网络模型进行剪枝得到第一神经网络模型,可以同时调整第一损失函数值和第二损失函数值,以在减少待剪枝网络模型的参数量的同时,提高待剪枝网络模型中权重矩阵的秩,减少特征提取的遗漏,保证待剪枝网络模型实现预设任务的精度。
可以理解,在对待剪枝网络模型中的第一权重集合进行置零后,若第一权重集合中存在对第一损失函数值的变化幅度和第二损失函数值的变化幅度具有较大影响的重要权重,即对第一神经网络模型所输出的预测信息的精确度具有重大影响的重要权重,若将重要权重保持置零,在后续对第一神经网络模型进行权重(未置零权重)调整的过程中,第一损失函数值的变化幅度和第二损失函数值的变化幅度较小,难以通过调整未置零权重使得第一神经网络模型收敛。因此,可以在对待剪枝网络模型中的第一权重集合进行剪枝处理得到第二权重集合后,可以从第二权重集合中确定目标权重集合(即重要权重)进行生长处理,以保证对第一损失函数值的变化幅度和第二损失值的变化幅度具有较大影响的重要权重不会被错剪,使得在后续对第一神经网络模型进行权重调整的过程中,可以对重要权重进行权重调整,以改变第一损失函数值和第二损失函数值的变化幅度,使得第一神经网络模型收敛,以在减少待剪枝网络模型的参数量的同时,提高待剪枝网络模型中权重矩阵的秩,减少特征提取的遗漏,保证待剪枝网络模型实现预设任务的精度。
在一些可选的实例中,可以根据第一损失函数和第二损失函数的和确定目标损失函数,并确定对目标损失函数值的变化幅度影响较大的重要权重(即目标权重集合),即对第一损失函数值的变化幅度和第二损失函数值的变化幅度影响较大的重要权重,在后续对待剪枝网络模型中的权重进行调整时,也对目标权重集合中的目标权重进行调整,使得在减少待剪枝网络模型的参数量的同时,提高待剪枝网络模型中权重矩阵的秩,减少特征提取的遗漏,保证待剪枝网络模型实现预设任务的精度。
在一些可选的实例中,目标损失函数可以采用如公式1所示的形式:
L=Ltask+λLrank 公式1
其中,公式1中,L可以表示目标损失函数,Ltask可以表示第一损失函数,Lrank可以表示第二损失函数,λ可以表示引入的线性组合超参数。
可以理解,目标损失函数可以是以待剪枝网络模型中的多个权重为自变量的函数,利用目标损失函数对每个权重进行链式求导,可以得到每个权重对应的导数,该导数可以反映权重的变化对目标损失函数值的变化幅度的影响程度,权重的导数越大,权重的变化对目标损失函数值的变化幅度的影响程度越大。
在一些可选的实例中,在确定第二权重集合中每个权重对应的导数之后,可以对第二权重集合中每个权重对应的导数的幅值(绝对值)从大到小进行排序,并按照从大到小的顺序将序列中m×β个导数对应的权重确定为目标权重集合。
下面,对本申请实施例中提及的第二损失函数的确定方法进行详细介绍。图6是本申请实施例提供的一种获取第一神经网络模型的第二损失函数的流程示意图。如图6所示,获取第一神经网络模型的第二损失函数的步骤可以包括:
601:对待剪枝网络模型中的各权重矩阵进行标准化处理,得到各权重矩阵对应的待分解权重矩阵。
可以理解,对于待剪枝网络模型中的各权重矩阵,可以基于弗罗贝乌斯范数(Frobenius Norm)计算公式确定待剪枝网络模型中各权重矩阵的弗罗贝乌斯范数,然后可以将待剪枝网络模型中的各权重矩阵除以各权重矩阵的弗罗贝乌斯范数,实现对待剪枝网络模型中的各权重矩阵进行L2标准化处理,得到待剪枝网络模型中各权重矩阵对应的待分解权重矩阵。
在一些可选的实例中,弗罗贝乌斯范数(Frobenius Norm)计算公式可以采用如公式2所示的形式:
其中,在公式2中,||W||F可以表示待剪枝网络模型中各权重矩阵的弗罗贝乌斯范数,W可以表示待剪枝网络模型中的各权重矩阵,WT可以表示待剪枝网络模型中各权重矩阵的转置,tr(·)可以表示·的迹。
在一些可选的实例中,待剪枝网络模型中各权重矩阵对应的待分解权重矩阵可以采用如公式3所示的形式:
其中,在公式3中,||W||F可以表示待剪枝网络模型中各权重矩阵的弗罗贝乌斯范数,W可以表示待剪枝网络模型中的各权重矩阵,可以表示待分解权重矩阵。
602:对待剪枝网络模型中各权重矩阵对应的待分解权重矩阵进行奇异值分解处理,确定待剪枝网络模型中各权重矩阵对应的目标低秩逼近矩阵。
可以理解,为了提高压缩后的权重矩阵的秩,可以对各权重矩阵对应的待分解权重矩阵进行奇异值分解,得到待剪枝网络模型中各权重矩阵对应的特征向量集合和奇异值集合。然后可以基于待剪枝网络模型中各权重矩阵对应的特征向量合集和奇异值集合确定左奇异矩阵、奇异值矩阵和右奇异矩阵,并将左奇异矩阵、奇异值矩阵和右奇异矩阵相乘作为权重矩阵对应的目标低秩逼近矩阵。
在一些可选的实例中,对于待剪枝网络模型中各权重矩阵对应的待分解权重矩阵,可以确定待分解权重矩阵的转置,并基于待分解权重矩阵和待分解权重矩阵的转置确定多个特征值和特征向量。然后可以基于特征向量确定权重矩阵对应的左奇异矩阵和右奇异矩阵,基于特征值确定奇异值矩阵。例如,可以基于待分解权重矩阵和待分解权重矩阵的转置的乘积,确定多个特征值和特征向量,并基于确定的多个特征向量确定左奇异矩阵。可以基于待分解权重矩阵的转置和待分解权重矩阵的乘积,确定多个特征值和特征向量,并基于确定的多个特征向量确定右奇异矩阵。可以将全部特征值的开方确定为待剪枝网络模型中各权重矩阵对应的奇异值,得到待剪枝网络模型中各权重矩阵对应的奇异值集合。接着,可以基于奇异值集合确定奇异值矩阵。
在一些可选的实例中,在得到待剪枝网络模型中各权重矩阵对应的奇异值集合之后,可以从待剪枝网络模型的各权重矩阵对应的奇异值集合中确定候选奇异值集合。例如,可以根据矩阵低秩近似原理(Eckart-Young)从待剪枝网络模型的各权重矩阵对应的奇异值集合中选取最大的k个奇异值,作为待剪枝网络模型中各权重矩阵对应的候选奇异值集合。接着,可以基于待剪枝网络模型中各权重矩阵对应的候选奇异值集合生成待剪枝网络模型中各权重矩阵对应的奇异值矩阵。
603:根据待剪枝网络模型中的各权重矩阵和各权重矩阵对应的目标低秩逼近矩阵,确定第二损失函数。
下面,以待剪枝网络模型中一个权重矩阵和权重矩阵对应的目标低秩逼近矩阵为例对第二损失函数进行介绍,具体地,第二损失函数的计算公式可以采用如公式4所示的形式:
UTU=I
VTV=I
其中,在公式4中,可以表示权重矩阵经过标准化处理得到的待分解权重矩阵,U可以表示左奇异矩阵,V可以表示右奇异矩阵的转置,∑可以表示奇异值矩阵,U和V可以表示正交基向量拼接成的酉矩阵,Trun可以表示目标低秩逼近矩阵,其可以具体为左奇异矩阵、奇异值矩阵、右奇异矩阵的转置的乘积,||·||F可以表示·的弗罗贝乌斯范数,I可以表示单位矩阵。
可以理解,实际应用中,模型处理流程方法可以通过软件代码的形式实现并执行。
在一些可选的实施方式中,模型处理流程方法相关操作的伪代码(记为伪代码M1)如下:
Input:一个n层的稠密网络W;在第iter次迭代的目标稀疏率fs(iter);在iter次迭代的生长权重占比fdeacy(iter);剪枝权重的更新频率Δ;总剪枝时长T=Tprune+Tfinetune;学习率α
Out:A Sparse Model W⊙M:
1初始化一个全1矩阵;
2 M←1;
3//阶段1:权重更新(剪枝和生长);
4 for iter←1to Tprune do
5将训练数据输入网络进行前向传播,计算损失L;
8 if iter%Δ=0then
7//更新权重位置掩码M;
8
9根据权重幅值|W|剪枝到iter次迭代的目标稀疏率fs(iter)%;
10再次根据权重幅值|W|剪去剩余权重的fdeacy(iter)%;
11根据组合损失产生的梯度大小生长同样数量的权重fdeacy(iter)%
12 end if
13 else
14使用梯度下降法训练稀疏网络
15 end if
18 end for
17//阶段2:不改变权重的位置,对网络进行微调;
18 for iter←Tprune+1to T do
19不改变权重位置,训练稀疏网络直至收敛;
20 end for
21 return稀疏网络W⊙M接下来,对伪代码M1中的各行代码进行说明:
首先,M1中第5行代码用于确定任务损失,可以将训练数据集输入稠密网络W,在稠密网络W中,各卷积层的各待处理权重矩阵对训练数据进行前向传播,稠密网络W可以输出训练数据集中数据的预测信息,进而可以基于训练数据集中数据的标注信息和预测信息确定任务损失。
M1中第8行用于确定对抗损失函数,可以通过确定稠密网络W中各待处理权重矩阵对应的低秩逼近,并利用各目标低秩逼近矩阵对训练数据进行卷积处理,稠密网络W可以输出训练数据集中数据的预测信息,进而可以基于训练数据集中数据的标注信息和预测信息,确定对抗损失函数。
M1中的第9行用于基于预设的需要剪枝的权重的剪去一定数量的权重,以提高模型的稀疏化,降低模型的内存。
M1中的第10行用于在预设的需要剪枝的权重的基础上额外剪去一定数量的剩余未剪枝权重。
M1中的第11行用于对已经被剪权重,按照梯度的绝对值的大小进行排序,对梯度较大的权重进行生长,从而可以确定保证被错剪的重要的权重能够被重新激活。
可以理解,上述伪代码,通过在对权重进行剪枝后,可以基于目标损失函数确定全部被剪权重的导数,对导数较大的权重进行生长,以保证重要的权重不会被错剪,保证模型的精度。
为验证本申请实施例提供的模型处理方法的剪枝效果,在一些实例中,基于小数据集CIFAR-10进行剪枝效果的验证。表1示出了在不同稀疏率下基于不同剪枝算法得到的剪枝后的模型的分类准确率。基于表1可知,本申请实施例提供的模型处理方法在高稀疏率上的剪枝效果显著优于其他非结构化剪枝方法。
表1
在另一些实例中,基于大数据集ImageNet进行剪枝效果的验证。表2示出了在不同稀疏率下基于不同剪枝算法得到剪枝后的模型的分类准确率。基于表2可知,本申请实施例提供的模型处理方法在高稀疏率上的剪枝效果显著优于其他非结构化剪枝方法。
表2
图7是本申请实施例提供的模型处理方法在综合模型消耗算力和准确率的曲线示意图,基于图7可知,本申请实施例提供的模型处理方法在综合模型消耗算力和准确率上的效果显著优于其他非结构化剪枝方法。
在另一些实例中,在下游视觉任务,如目标检测、实例分割上通过使用ResNet-50FPN为主干网络的Mask R-CNN框架,在COCO val2017数据集上进行验证。表3示出了在不同稀疏率下基于不同剪枝算法得到的剪枝后的目标检测模型的定位准确率和分割准确率。基于表3可知,本申请实施例提供的模型处理方法在高稀疏率上的剪枝效果显著优于其他非结构化剪枝方法。
表3
在另一些实例中,在transformer结构的DeiT-S模型上进行非结构化的剪枝,随后在ImageNet大型图片分类数据集上进行验证。表4示出了在不同稀疏率下基于不同剪枝算法得到的在transformer模型的分类准确率。基于表4可知,本申请实施例提供的模型处理方法在transformer架构上也较为有效。
表4
本申请实施例提供的模型处理方法能够对视觉模型进行高效压缩,降低视觉模型的算力,帮助大模型部署在小型边缘端设备。例如,可以部署至云服务,也可以部署至终端设备。下面举例说明将完成剪枝的模型部署于小型边缘端设备的效果。
对于目标检测这种具有挑战性的视觉任务,往往需要大型视觉模型的支撑。在一些实例中,智能手机受功率和能耗的限制,属于小型的端侧设备。通过将完成非结构化剪枝的目标检测模型部署于手机端侧,能够在不损害模型性能的同时显著降低手机的能耗,延长手机运行寿命。
在另一些实例中,在视频监控中,摄像头通常为小型的端侧设备,对于部分偏于地区的监控系统供电设施部署困难,往往是通过太阳能供电,因此,对部署于摄像头端侧的目标检测模型的能耗具有较高的要求。通过将完成非结构化剪枝的目标检测模型部署在摄像头端侧,能够在不损害模型性能的同时显著降低视频监控的能耗。
下面对本申请提及的电子设备进行介绍。可以理解,电子设备可以包括但不限于:手机(包括折叠屏手机和直板手机)、平板电脑、台式机(桌面型电脑)、手持计算机、笔记本电脑(膝上型电脑)、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant平板电脑(portable android device,PAD)、个人数字处理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备、车载设备或可穿戴设备,虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等移动终端或固定终端、充电宝等具有数据传输同步需求的电子设备。
图8示出了电子设备的硬件结构示意图。可以理解的是,本申请的电子设备可以为服务器、台式机(桌面型电脑)、手持计算机、笔记本电脑(膝上型电脑)等电子设备,下面以电子设备为服务器为例对电子设备的结构进行介绍。
图8是本申请实施例中提供的服务器的框图,图8示意性地示出了多个实施例的示例服务器。在一个实施例中,服务器可以包括一个或多个处理器804,与处理器804中的至少一个连接的系统控制逻辑806,与系统控制逻辑808连接的系统内存812,与系统控制逻辑808连接的非易失性存储器(NVM)816,以及与系统控制逻辑808连接的网络接口820。
在一些实施例中,处理器804可以包括一个或多个单核或多核处理器。在一些实施例中,处理器804可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。在服务器采用eNB(Evolved Node B,增强型基站)101或RAN(RadioAccess Network,无线接入网)控制器102的实施例中,处理器804可以被配置为执行各种符合的实施例。
在一些实施例中,系统控制逻辑808可以包括任意合适的接口控制器,以向处理器804中的至少一个和/或与系统控制逻辑808通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统控制逻辑808可以包括一个或多个存储器控制器,以提供连接到系统内存812的接口。系统内存812可以用于加载以及存储数据和/或指令。在一些实施例中服务器的内存812可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
非易失性存储器(NVM)816可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,非易失性存储器(NVM)816可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard DiskDrive,硬盘驱动器),CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
非易失性存储器(NVM)816可以包括安装服务器的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口820通过网络访问非易失性存储器(NVM)816。
特别地,系统内存812和非易失性存储器(NVM)816可以分别包括:指令824的暂时副本和永久副本。指令824可以包括:由处理器804中的至少一个执行时导致服务器实施本申请实施例中提及的模型量化方法的指令。在一些实施例中,指令824、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑808,网络接口820和/或处理器804中。
网络接口820可以包括收发器,用于为服务器提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口820可以集成于服务器的其他组件。例如,网络接口820可以集成于处理器804的,系统内存812,非易失性存储器(NVM)816,和具有指令的固件设备(未示出)中的至少一种,当处理器804中的至少一个执行所述指令时,服务器实现本申请实施例中提及的模型量化方法。
网络接口820可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口820可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器804中的至少一个可以与用于系统控制逻辑808的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器804中的至少一个可以与用于系统控制逻辑808的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(SoC)。
服务器可以进一步包括:输入/输出(I/O)设备832。I/O设备832可以包括用户界面,使得用户能够与服务器进行交互;外围组件接口的设计使得外围组件也能够与服务器交互。在一些实施例中,服务器还包括传感器,用于确定与服务器相关的环境条件和位置信息的至少一种。
在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。
在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
在一些实施例中,传感器可包括但不限于陀螺仪传感器,加速度计,近程传感器,环境光线传感器和定位单元。定位单元还可以是网络接口820的一部分或与网络接口820交互,以与定位网络的组件(例如,全球定位系统(GPS)卫星)进行通信。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的范围。

Claims (12)

1.一种模型处理方法,其特征在于,用于电子设备,所述方法包括:
获取第一神经网络模型,其中,所述第一神经网络模型是对待剪枝神经网络模型进行剪枝得到的,并且所述剪枝包括将所述待剪枝神经网络模型的第一权重集合修改为所述第一神经网络模型的第二权重集合,其中,第一权重集合中非零的第一权重在所述第二权重集合中对应的值为零;
从所述第二权重集合中选择出满足权重条件的目标权重集合;
对所述第二权重集合中的目标权重集合做参数调整处理得到第三权重集合,其中,所述第一权重在所述第三权重集合中的值非零;
将所述第三权重集合用于所述第一神经网络模型。
2.根据权利要求1所述的方法,其特征在于,所述从所述第二权重集合中选择出满足权重条件的目标权重集合,包括:
对所述第二权重集合中的任一权重进行恢复处理,得到候选神经网络模型;
获取所述第一神经网络模型对应的损失函数和所述候选神经网络模型对应的损失函数的梯度;
基于对所述第二权重集合中每个权重进行恢复后,所述第一神经网络模型对应的损失函数和所述候选神经网络模型对应的损失函数的梯度,确定所述目标权重集合。
3.根据权利要求2所述的方法,其特征在于,所述获取所述第一神经网络模型对应的损失函数,包括:
基于训练数据集对应的真实信息和所述第一神经网络模型输出的预测信息,确定第一损失函数;
基于所述第一神经网络模型和所述候选神经网络模型,确定第二损失函数;
基于所述第一损失函数和所述第二损失函数确定所述第一神经网络模型对应的损失函数。
4.根据权利要求3所述的方法,其特征在于,所述获取所述第一神经网络模型对应的第一损失函数,包括:
将所述训练数据集输入所述第一神经网络模型,获取所述第一神经网络模型输出的预测信息;
基于所述训练数据集对应的真实信息和所述预测信息,获取所述第一损失函数。
5.根据权利要求3所述的方法,其特征在于,所述获取所述第一神经网络模型对应的第二损失函数,包括:
获取所述待剪枝网络模型中的权重矩阵集合;
确定所述权重矩阵集合中各权重矩阵对应的目标低秩逼近矩阵;
基于所述各权重矩阵和所述各权重矩阵对应的目标低秩逼近矩阵,获取第一神经网络模型对应的所述第二损失函数。
6.根据权利要求5所述的方法,其特征在于,所述确定所述权重矩阵集合中各权重矩阵对应的目标低秩逼近矩阵,包括:
对所述各权重矩阵进行标准化处理,得到各所述权重矩阵对应的待分解权重矩阵;
对所述各权重矩阵对应的待分解权重矩阵进行低秩分解处理,获取各所述权重矩阵对应的目标低秩逼近矩阵。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述对所述待剪枝神经网络模型进行剪枝,得到第一神经网络模型,包括:
基于所述待剪枝网络模型中各权重的幅值和预设稀疏率对所述待剪枝网络模型进行剪枝,得到所述第一神经网络模型。
8.根据权利要求7所述的方法,其特征在于,所述基于所述待剪枝网络模型中各权重的幅值和预设稀疏率对所述待剪枝网络模型进行剪枝,得到所述第一神经网络模型,包括:
基于所述待剪枝网络模型中各权重的幅值和预设稀疏率,将所述待剪枝网络模型中所述预设稀疏率对应数量的权重确定为剪枝权重;
将所述剪枝权重对应的值置零,得到所述第一神经网络模型。
9.根据权利要求1-6任一项所述的方法,其特征在于,所述对所述待剪枝神经网络模型进行剪枝,得到第一神经网络模型,包括:
基于所述待剪枝网络模型中各权重的幅值、预设稀疏率和预设生长率,对所述待剪枝网络模型进行剪枝,得到所述第一神经网络模型。
10.根据权利要求9所述的方法,其特征在于,所述对所述待剪枝神经网络模型进行剪枝,得到第一神经网络模型,包括:
基于所述待剪枝网络模型中各权重的幅值和预设稀疏率,将所述待剪枝网络模型中所述预设稀疏率对应数量的权重确定为第一权重子集合;
基于所述待剪枝网络模型中除所述第一权重子集合之外的各权重的幅值和预设生长率,将所述待剪枝网络模型中除所述第一权重子集合之外所述预设生长率对应数量的权重确定为第二权子集合;
将所述第一权重子集合和所述第二权重子集合中权重对应的值置零,得到所述第一神经网络模型。
11.一种电子设备,其特征在于,包括:存储器,用于存储所述电子设备的一个或多个处理器执行的指令,以及所述处理器,是所述电子设备的一个或多个处理器之一,用于执行权利要求1-10任一项所述的模型处理方法。
12.一种可读存储介质,其特征在于,所述可读存储介质上存储有指令,所述指令在电子设备上执行时使得所述电子设备执行权利要求1-10任一项所述的模型处理方法。
CN202310514419.8A 2023-05-08 2023-05-08 一种模型处理方法、电子设备及介质 Pending CN116702858A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310514419.8A CN116702858A (zh) 2023-05-08 2023-05-08 一种模型处理方法、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310514419.8A CN116702858A (zh) 2023-05-08 2023-05-08 一种模型处理方法、电子设备及介质

Publications (1)

Publication Number Publication Date
CN116702858A true CN116702858A (zh) 2023-09-05

Family

ID=87834804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310514419.8A Pending CN116702858A (zh) 2023-05-08 2023-05-08 一种模型处理方法、电子设备及介质

Country Status (1)

Country Link
CN (1) CN116702858A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117034090A (zh) * 2023-09-06 2023-11-10 北京百度网讯科技有限公司 模型参数调整、模型应用方法、装置、设备及介质
CN117058525A (zh) * 2023-10-08 2023-11-14 之江实验室 一种模型的训练方法、装置、存储介质及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117034090A (zh) * 2023-09-06 2023-11-10 北京百度网讯科技有限公司 模型参数调整、模型应用方法、装置、设备及介质
CN117058525A (zh) * 2023-10-08 2023-11-14 之江实验室 一种模型的训练方法、装置、存储介质及电子设备
CN117058525B (zh) * 2023-10-08 2024-02-06 之江实验室 一种模型的训练方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
US11423312B2 (en) Method and apparatus for universal pruning and compression of deep convolutional neural networks under joint sparsity constraints
CN116702858A (zh) 一种模型处理方法、电子设备及介质
US12093813B2 (en) Dynamic neural network surgery
Vedaldi et al. Sparse kernel approximations for efficient classification and detection
CN110119745B (zh) 深度学习模型的压缩方法、装置、计算机设备及存储介质
US11934949B2 (en) Composite binary decomposition network
CN105160312A (zh) 基于人脸相似度匹配的明星脸装扮推荐方法
WO2018004980A1 (en) Technologies for classification using sparse coding in real time
Jiu et al. Deep kernel map networks for image annotation
EP3371712A1 (en) Method and apparatus for generating codebooks for efficient search
Lan et al. Matrix recovery from quantized and corrupted measurements
WO2016142285A1 (en) Method and apparatus for image search using sparsifying analysis operators
CN116580257A (zh) 特征融合模型训练及样本检索方法、装置和计算机设备
US20220051103A1 (en) System and method for compressing convolutional neural networks
CN111340057B (zh) 一种分类模型训练的方法及装置
CN111325190A (zh) 一种表情识别方法、装置、计算机设备及可读存储介质
KR102072239B1 (ko) 매니폴드 제약 조건에 기반한 심층 신경망 압축 방법 및 그 장치
CN113657421A (zh) 卷积神经网络压缩方法和装置、图像分类方法和装置
Li et al. A fast implementation of singular value thresholding algorithm using recycling rank revealing randomized singular value decomposition
CN114360520A (zh) 语音分类模型的训练方法、装置、设备及存储介质
CN111935487A (zh) 一种基于视频流检测的图像压缩方法及系统
EP3166022A1 (en) Method and apparatus for image search using sparsifying analysis operators
CN115129869A (zh) 文本数据处理方法、装置、计算机设备和存储介质
US20230394312A1 (en) Pruning activations and weights of neural networks with programmable thresholds
US20160119628A1 (en) Method and apparatus for encoding image features using a differentiable bag-of-words encoder

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