本发明专利技术提供一种基于蒙特卡洛树搜索的深度学习模型版权保护方法。该方法首先在待保护的深度学习模型中选取若干中间层,并使用蒙特卡洛树搜索的方法搜索模型中间层中对模型性能影响较大的少部分参数。通过在这些参数上施加精心构造的扰动,使得模型的性能显著下降,以此来防止恶意侵权者使用该模型。授权用户可以通过密钥消除添加在模型参数上的扰动,从而恢复模型原有的良好性能并正常使用模型。恢复模型原有的良好性能并正常使用模型。恢复模型原有的良好性能并正常使用模型。
【技术实现步骤摘要】
一种基于蒙特卡洛树搜索的深度学习模型版权保护方法
[0001]本专利技术涉及信息安全
,尤其涉及一种基于蒙特卡洛树搜索的深度学习模型版权保护方法。
技术介绍
[0002]随着深度学习技术的高速发展,深度神经网络(DNN)由于其出色的性能,已经被部署在越来越多的商业场景下。随着机器学习即服务(MLaaS)的兴起,许多商业公司将其训练好的高性能模型上传到云端并向外界提供服务以获取利润。在这种场景下,用户只能获取模型的预测结果,而无法访问其内部参数。训练一个高精度的DNN模型是一项相当昂贵且耗时的任务,这些训练好的DNN模型应该被视为模型训练者的一种知识产权(IP)并予以保护。然而,一些恶意侵权者可能会将已经训练好的模型盗版,并非法利用这些盗版的模型以牟取利益,这极大地侵犯了模型所有者的知识产权。
[0003]现有的大多数深度学习模型版权保护方法是基于水印的认证方法。在这些认证方法中,模型拥有者将水印嵌入到DNN模型中,当模型被盗版后,模型拥有者可以从被盗版的模型中提取水印来认证其对模型的所有权。然而,这些DNN模型的水印认证方法是被动的认证方法,模型拥有者只能在模型被盗版后才能被动地认证其所有权,而不能防止侵权者对模型的非法利用。因此,解决现有的水印方法只能在模型被盗版后被动认证所有权的问题,实现对深度学习模型的主动授权控制是必要的。
技术实现思路
[0004]本专利技术的目的在于针对现有技术的不足,提出一种基于蒙特卡洛树搜索的深度学习模型版权保护方法。该方法是使用蒙特卡洛树搜索寻找对模型性能影响较大的参数并对这些参数进行修改,使得模型的性能显著下降,以此来防止恶意侵权者使用该模型,而拥有密钥的授权用户则可以解密模型并正常使用模型。
[0005]本专利技术的目的是通过如下技术方案实现的:一种基于蒙特卡洛树搜索的深度学习模型版权保护方法,该方法包括以下步骤:
[0006](1)训练模型F:所述训练过程为,将训练数据输入深度学习模型,并通过损失函数的梯度不断更新模型的参数直到损失函数小于给定阈值0.01;从深度学习模型的训练集中选取十分之一带标签的数据,被选取的数据的个数记为N;由这N个数据组成加密数据集D
e
=(X
e
,Y
e
);其中,X
e
={x1,..x.
N
,与Y
e
={y1,...,y
N
}分别为加密数据集的数据集合与标签集合;
[0007](2)从深度学习模型F中随机选取一定数量的中间层,每一个被选取出的中间层称为加密层,所有被修改的参数都选自加密层,将所有加密层的编号所组成的集合记为构建蒙特卡洛树的根节点N0,所述根节点N0为空节点,设置迭代次数i=0,选择根节点N0作为当前节点,设置计算成本c;蒙特卡洛树的每个节点包含:选择参数的位置、选择参数的改变量和深度学习模型F在加密数据集D
e
=(X
e
,Y
e
)上的损失函数值和该节点被访问次数;
[0008](3)选择当前节点的一个子节点进行探索,具体为:
[0009](3.1)若当前节点没有子节点,则为当前节点生成一个子节点,即在中间层l中随机选择一个参数w,并对该参数进行修改;
[0010](3.2)若当前节点含有子节点,则以50%的概率在该节点的子节点中根据置信区间上界算法,在权衡节点损失函数值与节点被访问次数后,选择优先级得分最高的子节点,并对选择的子节点进行探索;以50%的概率为当前节点生成一个子节点,并选择生成的子节点进行探索;
[0011](4)对步骤(3.2)中选择的子节点进行扩展操作,即使用步骤(3.1)中相同的方法为被选择的子节点生成一个子节点,这个子节点被称为扩展节点;
[0012](5)对步骤(4)中生成的扩展节点执行模拟操作,在最大模拟轮次s内,在每次模拟中都选择中间层l中的一个参数进行修改;模拟完成后,获得深度学习模型F在加密数据集D
e
上的损失函数值;
[0013](6)执行反向传播操作,将步骤(5)得到的损失函数值反向传播至扩展结点及其所有父节点,并将扩展结点的所有父节点的被访问次数加1;
[0014](7)不断执行步骤(3)~(6)直到达到在步骤(2)定义的计算成本c,达到计算成本c后,使用步骤(3.2)中相同的置信区间上界算法选择当前节点中优先级最高的子节点作为下一迭代轮次的当前节点,设置迭代次数i=i+1;
[0015](8)若当前节点的损失函数值大于给定阈值T或达到最大迭代次数,则终止蒙特卡洛树搜索的过程,否则继续执行步骤(3)~(7)直到当前节点的损失函数值大于给定阈值T或达到最大迭代次数,此时模型的性能已恶化,以至于不能正常使用;
[0016](9)从蒙特卡洛树中找到根节点N0至当前节点的路径,将路径上每一个节点中保存的参数的位置以及所对应的参数改变量记录下来,被记录的信息形成一个密钥;模型拥有者将密钥分发给授权用户,授权用户可以通过密钥找到被修改参数的位置并将被修改的参数复原,从而正常使用模型;而对于未授权用户,模型的性能将下降以至于不能使用。
[0017]进一步地,所述步骤(1)中,深度学习模型可为卷积神经网络、图神经网络、循环神经网络中的任一模型。
[0018]进一步地,所述步骤(2)中,选取出的中间层包括全连接层和卷积层。
[0019]进一步地,所述步骤(3)中,根节点N0中的选择参数的位置和选择参数的改变量都设置为空,损失函数值设置为0、节点被访问次数设置为0。
[0020]进一步地,所述步骤(3)中,深度学习模型的损失函数可为交叉熵损失函数、均方差损失函数中的任意一种。
[0021]进一步地,所述步骤(3.1)中对该参数进行修改,其修改量η的数学表达式为
[0022]其中,θ为超参数,sign表示符号函数,L(F,D
e
)表示深度学习模型F在加密数据集上的损失函数值,W
l
表示中间层l的参数集合;选择生成的子节点进行探索。
[0023]本专利技术的有益效果如下:
[0024]本专利技术实现了主动授权控制的功能,只有授权用户能够正常使用深度学习模型,对于未经授权的用户,模型的性能将会急剧恶化。与现有的DNN水印方法相比,本方法可以
防止未经授权的用户使用该模型,从而更为有效的保护DNN模型的版权。此外,大多数水印方法都对模型进行了重新训练以嵌入水印,这引入了大量的计算开销,同时使得模型的参数被完全改变。而本专利技术仅需要加密极少的参数,对模型的改动较小,且仅需要较低的计算开销。
附图说明
[0025]图1是本专利技术实施例的算法流程示意图。
具体实施方式
[0026]以下结合附图1对本专利技术的技术方案做进一步详细说明。
[0027]本专利技术提出一种基于蒙特卡洛树搜索的深度学习模型版权保护方法,该方法包括以下步骤:本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于蒙特卡洛树搜索的深度学习模型版权保护方法,其特征在于,该方法包括以下步骤:(1)训练模型F:所述训练过程为,将训练数据输入深度学习模型,并通过损失函数的梯度不断更新模型的参数直到损失函数小于给定阈值0.01;从深度学习模型的训练集中选取十分之一带标签的数据,被选取的数据的个数记为N;由这N个数据组成加密数据集D
e
=(X
e
,Y
e
);其中,X
e
={x1,..x.
N
,与Y
e
={y1,...,y
N
}分别为加密数据集的数据集合与标签集合;(2)从深度学习模型F中随机选取一定数量的中间层,每一个被选取出的中间层称为加密层,所有被修改的参数都选自加密层,将所有加密层的编号所组成的集合记为构建蒙特卡洛树的根节点N0,所述根节点N0为空节点,设置迭代次数i=0,选择根节点N0作为当前节点,设置计算成本c;蒙特卡洛树的每个节点包含:选择参数的位置、选择参数的改变量和深度学习模型F在加密数据集D
e
=(X
e
,Y
e
)上的损失函数值和该节点被访问次数;(3)选择当前节点的一个子节点进行探索,具体为:(3.1)若当前节点没有子节点,则为当前节点生成一个子节点,即在中间层l中随机选择一个参数w,并对该参数进行修改;(3.2)若当前节点含有子节点,则以50%的概率在该节点的子节点中根据置信区间上界算法,在权衡节点损失函数值与节点被访问次数后,选择优先级得分最高的子节点,并对选择的子节点进行探索;以50%的概率为当前节点生成一个子节点,并选择生成的子节点进行探索;(4)对步骤(3.2)中选择的子节点进行扩展操作,即使用步骤(3.1)中相同的方法为被选择的子节点生成一个子节点,这个子节点被称为扩展节点;(5)对步骤(4)中生成的扩展节点执行模拟操作,在最大模拟轮次s内,在每次模拟中都选择中间层l中的一个参数进行修改;模拟完成后,获得深度学习模型F在加密数据集D
e
上的损失函数值;(6)执行反向传播操作,将步骤...
【专利技术属性】
技术研发人员:吴春明,吴至禹,黄泸明,唐馨,
申请(专利权)人:浙江大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。