1.一种基于泰勒展开的分层加密DNN主动保护方法,其特征在于,包括以下步骤:从预训练模型的训练集中抽取部分标记图像作为加密集图像;
随机选择预训练模型中的卷积层;
将训练集中的加密集图像输入预训练模型中,并使用泰勒展开的方法近似估计修改参数得到的损失变化作为卷积层的输出值,得到参数的重要度分数,再根据参数的重要度分数来进行排序,得到排序后重要参数集合;
使用pytorch内置函数对加密层的参数数值分布进行统计,得到需要加密的层的参数值V与位置分布L,并对参数值V排序,得到最大参数值和最小参数值;
基于重要参数集合和最大参数值与最小参数值,计算得到需要加密的参数集合 ;
对需要加密的参数集合 根据重要度分数划分为4个参数集合,并使用AES算法分别对4个参数集合中的子集进行加密,对应得到4个加密集合;
对4个加密集合进行组合分配,得到不同的用户权限;
卷积层输出 的表达式为:
式中, 是没有修改参数i的原始损失函数; 为修改参数i得到的损失变化, 为参数i产生的输出, 为损失的变化量, 为参数修改的变化量;
计算得到需要加密的参数集合 的过程为:
根据排序后的重要参数集合挨个计算每个重要参数对于最大参数值或最小参数值差值,取差值最大值作为加密前的数值 ;得到的需要加密的参数集合为;其中,L1、L2......Ln表示加密参数集中对应每个加密参数所处的层以及层内的位置,F1、F2......Fn表示每个加密参数的标志位。
2.根据权利要求1所述的一种基于泰勒展开的分层加密DNN主动保护方法,其特征在于,在对子集进行加密时,取各子集参数列表中的前16个参数值Fi的组合,作为AES密钥;使用 对差值集合 与位置集合L进行加密但不加密标识位,得到对应的加密集合。
3.根据权利要求2所述的一种基于泰勒展开的分层加密DNN主动保护方法,其特征在于,在对子集进行加密时,若集合中参数不足16个的,则使用前向安全伪随机数生成器生成
16位密钥。
4.一种基于泰勒展开的分层加密DNN主动保护系统,其特征在于,包括:图像抽取模块:从预训练模型的训练集中抽取部分标记图像作为加密集图像;
卷积层选取模块:随机选择预训练模型中的卷积层;
重要参数排序模块:将训练集中的加密集图像输入预训练模型中,并使用泰勒展开的方法近似估计修改参数得到的损失变化作为卷积层的输出值,得到参数的重要度分数,再根据参数的重要度分数来进行排序,得到排序后重要参数集合;
最大/最小参数值计算模块:使用pytorch内置函数对加密层的参数数值分布进行统计,得到需要加密的层的参数值V与位置分布L,并对参数值V排序,得到最大参数值和最小参数值;
需加密参数计算模块:基于重要参数集合和最大参数值与最小参数值,计算得到需要加密的参数集合 ;
参数集合加密模块:对需要加密的参数集合 根据重要度分数划分为4个参数集合,并使用AES算法分别对4个参数集合中的子集进行加密,对应得到4个加密集合;
以及,参数集合组合模块:对4个加密集合进行组合分配,得到不同的用户权限;
卷积层输出 的表达式为:
式中, 是没有修改参数i的原始损失函数; 为修改参数i得到的损失变化, 为参数i产生的输出, 为损失的变化量, 为参数修改的变化量;
计算得到需要加密的参数集合 的过程为:
根据排序后的重要参数集合挨个计算每个重要参数对于最大参数值或最小参数值差值,取差值最大值作为加密前的数值 ;得到的需要加密的参数集合为;其中,L1、L2......Ln表示加密参数集中对应每个加密参数所处的层以及层内的位置,F1、F2......Fn表示每个加密参数的标志位。
5.一种计算机存储介质,存储有可读程序,其特征在于,当程序运行时,能够执行权利要求1‑3任一项所述的一种基于泰勒展开的分层加密DNN主动保护方法。
6.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1‑3中任一项所述的一种基于泰勒展开的分层加密DNN主动保护方法对应的操作。
7.一种计算机程序产品,包括计算机指令,所述计算机指令指示计算设备执行如权利要求1‑3中任一所述的一种基于泰勒展开的分层加密DNN主动保护方法对应的操作。