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

基于强化学习的深度学习模型安全性保障压缩方法与装置

文献发布时间:2023-06-19 10:54:12


基于强化学习的深度学习模型安全性保障压缩方法与装置

技术领域

本发明涉及深度学习领域,具体涉及一种基于强化学习的深度学习模型安全性保障压缩方法与装置。

背景技术

深度学习的快速发展,使得其在图像分类、语音识别和文本分类等任务上实现甚至超过人类水平的性能。这些进步使得深度学习在医疗领域中得到广泛的应用和部署。影像识别、可穿戴设备、辅助诊疗和康复辅助器具等是目前医疗健康的重点应用领域。尽管深度模型种类丰富,性能优良,但是大量的权重会消耗相当大的存储和内存带宽,这就给深度模型在医疗设备中的部署带来了困难。因此,如何进行模型压缩减小资源消耗对模型在边缘端的部署至关重要。

深度模型压缩方法大致可分为网络剪枝、网络量化、低秩近似、知识蒸馏和紧凑网络设计。其中,网络剪枝的主要思想是将权重矩阵中相对不重要的权值剔除,然后对网络进行微调以恢复网络精度。网络量化则是通过减小每个参数存储所用的比特数来减小模型的体积。低秩近似则是把原先网络的权值矩阵当做满秩矩阵来看,那么可以用多个低秩的矩阵来逼近原来的矩阵以达到简化的目的。知识蒸馏采用的是迁移学习,通过采用预先训练好的复杂模型的输出作为监督信号去训练另外一个简单的网络。紧凑网络设计就是在模型构建阶段,就选择小而紧凑的网络。

网络剪枝是这些压缩方法之中比较常用的方法。网络剪枝技术的核心是确定每一层的压缩策略,因为它们存在着不同的冗余。这通常需要人工设定的启发式算法和领域专业知识来探索整个模型设计的空间,在模型大小、速度和准确性之间进行权衡。AMC使用强化学习自动采样设计空间,提高模型压缩质量。DMCP将通道修剪建模为马尔科夫过程,提出一种可微分的信道剪枝方法,可以通过标准任务的损失和预算正则化的梯度下降来直接优化。这两种方法都可以实现大幅度压缩模型而模型精度不损失或是轻微损失。但是,他们都没有考虑压缩后的模型的安全性。深度模型易受到对抗样本的攻击。此外,现代深度模型结构中存在着复杂的连接模式,上述方法中的逐层修剪并没有考虑层与层之间的相关性。

综上所述,如何自动的学习压缩策略,实现压缩后的模型减少参数量的同时,保持高准确率,同时具有强安全性,对深度模型在医疗设备上的部署具有重要的理论和实践意义。

发明内容

鉴于上述,本发明提供了一种基于强化学习的深度学习模型安全性保障压缩方法与装置,在实现深度学习模型压缩的同时保持深度学习模型的准确性和安全性。

为实现上述发明目的,本发明提供以下技术方案:

一种基于强化学习的深度学习模型安全性保障压缩方法,包括以下步骤:

(1)将用于识别任务或分类任务的深度学习模型的每一层看作节点,层与层之间的连接关系看作连边,依此将深度学习模型建模成图网络;

(2)采用图卷积神经网络提取图网络的嵌入向量;

(3)将图网络每个节点的当前嵌入向量作为强化学习的环境状态,采用强化学习预测基于环境状态的动作值,并依据动作值实现每个节点的嵌入向量的修剪,直到所有节点的嵌入向量修剪完成,实现深度学习模型的一轮压缩;

(4)根据经过一轮压缩后的深度学习模型对用于识别任务或分类任务的样本数据的预测结果计算压缩后深度学习模型的错误率和安全性;

(5)根据压缩后深度学习模型的错误率和安全性计算采用强化学习进行一轮深度学习模型压缩的回报值;

(6)基于回报值,重复步骤(3)~步骤(5),直到迭代终止,实现深度学习模型的压缩。

优选地,步骤(1)中,将深度学习模型建模成图网络时,针对深度学习模型的当前层,将当前层的输入样本维度、卷积核维度、卷积核滑动步长以及计算量,前面所有层减少的计算总量,后面所有层剩余的计算总量,上一层采取的修剪策略组成当前层的特征向量;

当两层之间存在连接关系时,则这两层之间的连边为1,否则为0,依此构建图网络的邻接矩阵。

优选地,步骤(2)中,将节点的特征向量组成的特征矩阵和图网络的邻接矩阵作为图卷积神经网络的输入,采用至少2层图卷积神经网络提取每个节点的嵌入向量,每个节点的嵌入向量与特征向量的维度相同。

优选地,步骤(3)中,依据动作值实现每个节点的嵌入向量的修剪包括:

首先,依据动作值确定修改策略,当动作值处于

然后,依据修剪策略确定修剪的稀疏率,使修剪策略对应的稀疏率为[0,1];

最后,依据采用的修剪策略和对应的稀疏率对当前节点的嵌入向量进行修剪,实现对节点对应的深度学习模型层结构的压缩。

优选地,依据修剪策略确定修剪的稀疏率包括:将修剪策略对应的动作值范围的最小值与计算的动作值之差的3倍作为稀疏率。

优选地,深度学习过程中,采用动作网络预测基于当前环境状态的当前动作值后,采用决策网络基于当前环境状态、当前动作以及下一邻接节点对应的下一环境状态计算决策值,并依据决策值和基线奖励值来构建损失函数来更新决策网络的网络参数,进而更新动作网络的网络参数,用于基于下一环境状态预测下一动作值;

其中,损失函数Loss为:

y

其中,Q(s

优选地,步骤(4)中,计算压缩后深度学习模型的错误率和安全性包括:

将用于识别任务或分类任务的样本数据输入至压缩后深度学习模型得到预测结果,依据预测结果确定正确分类的样本数量,并依据正确分类的样本数量和总样本数量的占比计算压缩后深度学习模型的预测准确率,然后再依据预测准确率计算压缩后深度学习模型的错误率;

采用用于识别任务或分类任务的样本数据和压缩后深度学习模型计算的CLEVER分数作为安全性。

优选地,步骤(5)中,回报值R的计算公式为:

R=-Error·log(FLOPs)+λu

其中,Error表示错误率,FLOPs表示压缩后深度学习模型的计算总量,λ表示超参数,u表示安全性指数。

一种基于强化学习的深度学习模型安全性保障压缩装置,包括存储器、处理器以及存储在所述存储器中并可在所述计算机处理器上执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述基于强化学习的深度学习模型安全性保障压缩方法。

与现有技术相比,本发明具有的有益效果为:

一种基于强化学习的深度学习模型安全性保障压缩方法与装置,用图网络的方式对模型结构进行建模能够充分考虑层与层之间的联系,而不是只考虑层与层之间只有依次连接的结构,更加具有通用型。使用强化学习的框架,可以自动地选择每一层的压缩策略和稀疏率,不需要人工进行设置,此外通过对回报值R的设置,可以使压缩后的模型保持准确率的同时,尽可能的减少模型的参数和保持安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。

图1是本发明实施例提供的基于强化学习的深度学习模型安全性保障压缩方法的流程图;

图2是本发明实施例提供的强化学习过程图;

图3是本发明实施例提供的基于强化学习模型压缩的过程图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

为了实现模型压缩同时保持准确性和安全性,实施例提供了一种基于强化学习的深度学习模型安全性保障压缩方法和装置,采用图卷积神经网络(GCN)对深度学习模型的各层之间关系进行建模,提取各层的嵌入向量作为强化学习中的状态,然后通过强化学习学习合适的剪枝策略对各层进行剪枝。

图1是本发明实施例提供的基于强化学习的深度学习模型安全性保障压缩方法的流程图。如图1所示,实施例提供的基于强化学习的深度学习模型安全性保障压缩方法包括以下步骤:

步骤1,使用图网络的方式对被压缩的深度学习模型结构进行建模。

实施例中,将用于识别任务或分类任务的深度学习模型的每一层看作节点,层与层之间的连接关系看作连边,依此将深度学习模型建模成图网络。

图网络中关键的就是节点、节点属性和节点连接关系。建模过程中,以深度学习模型的每一层作为节点,使用11个特征表示节点的特征向量,其中t表示层的索引,则每个节点的特征向量表示为:(t,n,c,h,w,stride,k,FLOPs[t],reduced,rest,a

步骤2,采用图卷积神经网络提取图网络的嵌入向量。

实施例中,采用2层图卷积神经网络提取图网络的嵌入向量,每一层的传播规则:

其中,

步骤3,采用强化学习算法DDPG对深度学习模型进行逐层修剪,直到最后一层。

实施例中,将图网络每个节点的当前嵌入向量作为强化学习的环境状态,采用强化学习预测基于环境状态的动作值,并依据动作值实现每个节点的嵌入向量的修剪,直到所有节点的嵌入向量修剪完成,实现深度学习模型的一轮压缩。具体过程为:

(a)将图网络每个节点的当前嵌入向量作为强化学习的环境状态。

实施例中,将深度学习模型的每层L

(b)采用强化学习预测基于环境状态的动作值,并依据动作值实现每个节点的嵌入向量的修剪。

DDPG智能体从环境接收当前环境状态s

(c)根据深度学习模型中结构层的顺序,根据DDPG的策略准层压缩,直到完成最后一层L

DDPG的结构如图2所示,DDPG存在两个网络,Actor网络与Critic网络,Actor网络生成一个动作,状态和动作值输入到Critic网络中得到对应的Q值,Actor的目标函数为最大化Q值,Critic网络的目标函数为最小化Q(s,a)的误差。这里将Actor网络与Critic网络都设置为两个隐藏层,每一层都具有300个神经元,使用τ=0.01进行软更新,训练网络使用64的批大小,2000作为缓冲区的大小。智能体探索的噪声处理,这里使用截断正态分布使智能体尽可能地探索未知空间:

在探索的过程中σ初始化为0.5,搜索100幕后,再以指数的方式减小σ探索300幕。

与Block-QNN相同,这里应用了贝尔曼方程的变体形式,在一幕中,每一次状态与状态之间的转移可以用一个四元组(s

y

其中,折扣因子γ设置为1来避免短期奖励优先级过高。

步骤4,计算压缩后深度学习模型的错误率和安全性并得到回报值。

实施例中,在用于识别任务或分类任务的验证集上评估准确率和安全性,然后计算回报值返回到智能体。准确率accuracy的评估使用图像分类中的准确率评估方法,即正确分类的样本数量占总样本数量的百分比。错误率Error的计算则为:

其中,N

安全性的评估方法使用CLEVER分数,这种方法与攻击无关,计算量合理,可以用于大型数据集如ImageNet,使用局部利普西斯常数来估计最小对抗距离的下界,并以此作为模型安全性的衡量,利用极限值理论来估计需要求的利普西斯常数,更加的高效。单个样本的CLEVER分数计算方式如下,目标攻击CLEVER分数的计算方法命名为CLEVER-t,输入为分类器函数f(x),样本x

g(x)←f

在N

每一个批次都更新S:

S←S∪{max

取S上的逆威尔逊分布的位置参数的最大似然估计,记为

对于无目标攻击,则只需要对每一个目标类计算上述有目标攻击的CLEVER分数,取其中的最小值即可。上述的CLEVER分数针对单个样本而言,对于数据集来说,可以随机选择数据集的一部分,然后取平均值作为该分类器在某个数据集上的安全性指标。

回报值R的计算方式为:

R=-Error·log(FLOPs)+λu

这个回报函数对错误率Error的变化比较敏感,因为是最大化R,所以Error会被尽可能地减小。因为浮点运算数数量较大,因此取对数与错误率相乘作为一个小的激励。CLEVER分数不适合取对数作为一个激励,因为这个值较小,因此乘以一个超参数λ相加。

步骤5,将回报值R反馈给智能体,重复步骤3和步骤4,直到迭代为止。

实施例中,以实验设定的轮数,即上述DDPG设定中总共400幕为要求,不断的进行强化学习策略的更新,达到较优的压缩效果。

实施例还提供了一种基于强化学习的深度学习模型安全性保障压缩装置,包括存储器、处理器以及存储在所述存储器中并可在所述计算机处理器上执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述基于强化学习的深度学习模型安全性保障压缩方法。

实施例提供的基于强化学习的深度学习模型安全性保障压缩方法与装置,可以用于图像分类任务,语音识别任务以及文本分类任务的深度学习模型的剪枝压缩,以此在保证模型安全性和准确地的基础上,降低模型的权重,使得压缩后深度学习模型在图像分类任务,语音识别任务以及文本分类任务中能够降低计算量,减少资源消耗,便于部署在边缘端使用。

深度学习模型用于图像分类任务时,采用的样本数据为图像,依据图像计算压缩后模型的错误率和安全性。深度学习模型用于语音识别任务时,采用的样本数据为语音数据,依据语音数据计算压缩后模型的错误率和安全性。深度学习模型用于文本分类任务时,采用的样本数据为文本数据,依据文本数据计算压缩后模型的错误率和安全性。

实施例提供的基于强化学习的深度学习模型安全性保障压缩方法与装置,使用图网络的方式对模型结构进行建模能够充分考虑层与层之间的联系,而不是只考虑层与层之间只有依次连接的结构,更加具有通用型。使用强化学习的框架,可以自动地选择每一层的压缩策略和稀疏率,不需要人工进行设置,依据压缩策略和稀疏率逐层修剪网络结构直到最后一层。此外通过对回报值R的设置,可以使压缩后的模型保持准确率的同时,尽可能的减少模型的参数和保持安全性。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

相关技术
  • 基于强化学习的深度学习模型安全性保障压缩方法与装置
  • 一种基于深度强化学习模型的数据清洗方法及装置
技术分类

06120112721415