CN114676396B - 深度神经网络模型的保护方法、装置、电子设备和介质 - Google Patents
深度神经网络模型的保护方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN114676396B CN114676396B CN202210595796.4A CN202210595796A CN114676396B CN 114676396 B CN114676396 B CN 114676396B CN 202210595796 A CN202210595796 A CN 202210595796A CN 114676396 B CN114676396 B CN 114676396B
- Authority
- CN
- China
- Prior art keywords
- value
- channel
- channel value
- neural network
- network 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.)
- Active
Links
- 238000003062 neural network model Methods 0.000 title claims abstract description 236
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012549 training Methods 0.000 claims abstract description 416
- 230000009466 transformation Effects 0.000 claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 60
- 238000006243 chemical reaction Methods 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 86
- 230000008859 change Effects 0.000 claims description 42
- 230000009467 reduction Effects 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 13
- 238000011478 gradient descent method Methods 0.000 claims description 13
- 238000005259 measurement Methods 0.000 claims 1
- 239000011159 matrix material Substances 0.000 description 15
- 238000009826 distribution Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 210000002569 neuron Anatomy 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了深度神经网络模型的保护方法、装置、电子设备和介质,本申请涉及神经网络模型领域,用于降低深度神经网络模型被盗用的风险。本申请方法包括:获取深度神经网络模型;获取原始训练样本集,所述原始训练样本集中至少包含两张原始训练样本;根据所述原始训练样本集的图像类型获取加密变换函数;根据加密变换函数对所述原始训练样本集中的原始训练样本进行加密转换处理,生成加密训练样本集,所述加密训练样本集中的加密训练样本与所述训练样本集的原始训练样本像素点参数不同;将所述加密训练样本集中的加密训练样本输入所述深度神经网络模型中训练,直到所述深度神经网络模型训练完成。
Description
技术领域
本申请涉及神经网络模型领域,尤其涉及一种深度神经网络模型的保护方法、装置、电子设备和介质。
背景技术
近年来,以深度神经网络模型技术为代表的人工智能技术在安防、零售、工业、医疗、金融、自动驾驶等许多领域广泛应用。计算机视觉是人工智能最重要的技术领域之一,主要包括图像识别、目标检测、语义分割、文本检测识别等多种视觉任务方向,具有广泛的应用场景。而计算机视觉主要依赖于深度神经网络模型支持。一个运用到实际场景中的深度神经网络模型是在大量训练样本数据上耗费大量计算资源训练而得到,是人工智能视觉算法价值最高和最核心的部分,并经常作为人工智能算法软件的一部分安装部署在用户的运行环境中。
但是,深度神经网络模型存在被盗用的可能,这使得研发人员耗费巨大人力物力得到的成果受到侵害,如何保护深度神经网络模型成为了一个主要的研究课题。已有的深度神经网络模型保护技术方案可分为两大类:
一是模型加密库,将深度神经网络模型用加密算法进行加密,然后在程序运行时加载就行了加密的深度神经网络模型,并解密到内存,从内存中去加载解密后的深度神经网络模型进行使用,在内存外获取到的深度神经网络模型都为加密数据。
二是模型水印技术,在深度神经网络模型的开发和训练阶段,向深度神经网络模型中采取特定的策略植入数字水印,然后再从要举证的深度神经网络模型中提取和恢复数字水印信息,将提取的水印与植入的水印进行比较,从而判断是否侵权。
但是,模型加密库除了要进行复杂的深度神经网络模型加解密处理,在内存中解密后的深度神经网络模型依旧存在被盗取的可能性,而且不是所有的推理引擎都支持从内存中加载深度神经网络模型。模型水印技术需要调整的深度神经网络模型开发和训练过程,增加了深度神经网络模型的训练难度,带来复杂性,并且模型水印技术属于事后举证鉴权,难以有效保护深度神经网络模型不被盗用。
综上所述,现有的保护方案中深度神经网络模型在被窃取后都存在被盗用的风险。
发明内容
本申请第一方面提供了一种深度神经网络模型的保护方法,其特征在于,包括:
获取深度神经网络模型;
获取原始训练样本集,原始训练样本集中至少包含两张原始训练样本;
根据原始训练样本集的图像类型获取加密变换函数;
根据加密变换函数对原始训练样本集中的原始训练样本进行加密转换处理,生成加密训练样本集,加密训练样本集中的加密训练样本与原始训练样本集的原始训练样本像素点参数不同;
将加密训练样本集中的加密训练样本输入深度神经网络模型中训练,直到深度神经网络模型训练完成。
可选的,根据加密变换函数对原始训练样本集中的原始训练样本进行加密转换处理,生成加密训练样本集,包括:
获取原始训练样本中目标像素点的RGB通道参数,RGB通道参数包括R通道值、G通道值和B通道值;
对R通道值、G通道值和B通道值进行缩小处理;
根据缩小处理后的R通道值、G通道值和B通道值和加密变换函数中的加密参数计算生成目标像素点的第一通道值;
判断目标像素点的RGB通道参数的最大值是否为0;
若为0,则目标像素点的第二通道值设置为255;
若不为0,则根据RGB通道参数的最大值和RGB通道参数的最小值计算目标像素点的第二通道值;
根据RGB通道参数的最大值、最小值、R通道值、G通道值和B通道值计算目标像素点的第三通道值;
将第一通道值、第二通道值和第三通道值整合,生成新的目标像素点;
根据上述步骤处理原始训练样本集中的原始训练样本,生成加密训练样本集。
可选的,对R通道值、G通道值和B通道值进行缩小处理,具体为:
根据缩小处理后的R通道值、G通道值和B通道值和加密变换函数中的加密参数计算生成目标像素点的第一通道值,具体为:
判断目标像素点的RGB通道参数的最大值是否为0,若为0,则目标像素点的第二通道值设置为255,若不为0,则根据RGB通道参数的最大值和RGB通道参数的最小值计算目标像素点的第二通道值,具体为:
根据RGB通道参数的最大值、最小值、R通道值、G通道值和B通道值计算目标像素点的第三通道值,具体为:
可选的,将加密训练样本集中的加密训练样本输入深度神经网络模型中训练,直到深度神经网络模型训练完成,包括:
从加密训练样本集中选取第一加密训练样本,并将第一加密训练样本输入深度神经网络模型中,第一加密训练样本标记有训练期望值,深度神经网络模型设置有损失函数;
通过深度神经网络模型中的权重提取第一加密训练样本的特征;
对特征进行计算第一加密训练样本的测量值;
根据测量值、训练期望值与损失函数计算损失值,以生成损失值变化数据和迭代轮次,损失值变化数据为每一次训练生成的损失值的统计数据;
判断损失值变化数据和/或迭代轮次是否满足训练条件;
若损失值变化数据和/或迭代轮次满足训练条件,则确定深度神经网络模型训练完成。
可选的,根据测量值、训练期望值与损失函数计算损失值,以生成损失值变化数据,具体为:
可选的,在判断损失值变化数据和/或迭代轮次是否满足训练条件之后,保护方法还包括:
若损失值变化数据和/或迭代轮次不满足训练条件,则根据小批梯度下降法更新深度神经网络模型的权重后,从加密训练样本集中选取第二加密训练样本输入深度神经网络模型,或根据小批梯度下降法更新深度神经网络模型的权重后,将第一加密训练样本重新输入深度神经网络模型。
可选的,在将加密训练样本集中的加密训练样本输入深度神经网络模型中训练,直到深度神经网络模型训练完成之后,保护方法还包括:
获取待检测图像;
根据加密变换函数对待检测图像进行加密转换处理;
将加密转换处理后的待检测图像输入深度神经网络模型中;
通过所深度神经网络模型生成待检测图像的检测结果。
本申请第二方面提供了一种深度神经网络模型的保护装置,其特征在于,包括:
第一获取单元,用于获取深度神经网络模型;
第二获取单元,用于获取原始训练样本集,原始训练样本集中至少包含两张原始训练样本;
第三获取单元,用于根据原始训练样本集的图像类型获取加密变换函数;
第一加密单元,用于根据加密变换函数对原始训练样本集中的原始训练样本进行加密转换处理,生成加密训练样本集,加密训练样本集中的加密训练样本与原始训练样本集的原始训练样本像素点参数不同;
训练单元,用于将加密训练样本集中的加密训练样本输入深度神经网络模型中训练,直到深度神经网络模型训练完成。
可选的,第一加密单元,包括:
获取原始训练样本中目标像素点的RGB通道参数,RGB通道参数包括R通道值、G通道值和B通道值;
对R通道值、G通道值和B通道值进行缩小处理;
根据缩小处理后的R通道值、G通道值和B通道值和加密变换函数中的加密参数计算生成目标像素点的第一通道值;
判断目标像素点的RGB通道参数的最大值是否为0;
若为0,则目标像素点的第二通道值设置为255;
若不为0,则根据RGB通道参数的最大值和RGB通道参数的最小值计算目标像素点的第二通道值;
根据RGB通道参数的最大值、最小值、R通道值、G通道值和B通道值计算目标像素点的第三通道值;
将第一通道值、第二通道值和第三通道值整合,生成新的目标像素点;
根据上述步骤处理原始训练样本集中的原始训练样本,生成加密训练样本集。
可选的,对R通道值、G通道值和B通道值进行缩小处理,具体为:
根据缩小处理后的R通道值、G通道值和B通道值和加密变换函数中的加密参数计算生成目标像素点的第一通道值,具体为:
判断目标像素点的RGB通道参数的最大值是否为0,若为0,则目标像素点的第二通道值设置为255,若不为0,则根据RGB通道参数的最大值和RGB通道参数的最小值计算目标像素点的第二通道值,具体为:
根据RGB通道参数的最大值、最小值、R通道值、G通道值和B通道值计算目标像素点的第三通道值,具体为:
可选的,训练单元,包括:
从加密训练样本集中选取第一加密训练样本,并将第一加密训练样本输入深度神经网络模型中,第一加密训练样本标记有训练期望值,深度神经网络模型设置有损失函数;
通过深度神经网络模型中的权重提取第一加密训练样本的特征;
对特征进行计算第一加密训练样本的测量值;
根据测量值、训练期望值与损失函数计算损失值,以生成损失值变化数据和迭代轮次,损失值变化数据为每一次训练生成的损失值的统计数据;
判断损失值变化数据和/或迭代轮次是否满足训练条件;
若损失值变化数据和/或迭代轮次满足训练条件,则确定深度神经网络模型训练完成。
可选的,根据测量值、训练期望值与损失函数计算损失值,以生成损失值变化数据,具体为:
可选的,训练单元还包括:
若损失值变化数据和/或迭代轮次不满足训练条件,则根据小批梯度下降法更新深度神经网络模型的权重后,从加密训练样本集中选取第二加密训练样本输入深度神经网络模型,或根据小批梯度下降法更新深度神经网络模型的权重后,将第一加密训练样本重新输入深度神经网络模型。
可选的,保护装置还包括:
第四获取单元,用于获取待检测图像;
第二加密单元,用于根据加密变换函数对待检测图像进行加密转换处理;
输入单元,用于将加密转换处理后的待检测图像输入深度神经网络模型中;
生成单元,用于通过所深度神经网络模型生成待检测图像的检测结果。
本申请第三方面提供了一种电子设备,其特征在于,包括:
处理器、存储器、输入输出单元以及总线;
处理器与存储器、输入输出单元以及总线相连;
存储器保存有程序,处理器调用程序以执行如第一方面以及第一方面的任意可选的保护方法。
本申请第四方面提供了一种计算机可读存储介质,计算机可读存储介质上保存有程序,程序在计算机上执行时执行如第一方面以及第一方面的任意可选的保护方法。
从以上技术方案可以看出,本申请具有以下优点:
本申请中,首先获取深度神经网络模型,该深度神经网络模型为设置好基础参数的神经网络模型。接着根据训练任务获取原始训练样本集,原始训练样本集中至少包含两张原始训练样本,并且符合训练任务的要求。接下来根据原始训练样本集的图像类型获取加密变换函数,并且根据加密变换函数对原始训练样本集中的原始训练样本进行加密转换处理,生成加密训练样本集,加密训练样本集中的加密训练样本与原始训练样本集的原始训练样本像素点参数不同。最后将加密训练样本集中的加密训练样本输入深度神经网络模型中训练,直到深度神经网络模型训练完成。通过加密变换函数,将原始训练样本的像素点参数变换,使得生成的加密训练样本在颜色上区别于原始训练样本,再将加密训练样本输入深度神经网络模型中训练,得到的深度神经网络模型只适用于加密训练样本这一样本类型,而不会适用于原始训练样本。即使深度神经网络模型被窃取,由于深度神经网络模型只适用于加密训练样本这一样本类型,窃取者无法使用深度神经网络模型对常规类型的图像进行检测,降低了深度神经网络模型被盗用的风险。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请深度神经网络模型的保护方法的一个实施例示意图;
图2-1、图2-2和图2-3为本申请深度神经网络模型的保护方法的另一个实施例示意图;
图3为本申请实施例中深度神经网络模型网络层的一个实施例流程示意图;
图4为本申请实施例中深度神经网络模型网络层的另一个实施例结构示意图;
图5为本申请实施例中深度神经网络模型网络层的另一个实施例结构示意图;
图6为本申请深度神经网络模型的保护装置的另一个实施例示意图;
图7为本申请电子设备的一个实施例示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在现有技术中,已有的模型加密库和模型水印技术作为深度神经网络模型的保护技术方案,各自存在着不同的缺点。模型加密库除了要进行复杂的深度神经网络模型加解密处理,在内存中解密后的深度神经网络模型依旧存在被盗取的可能性,而且不是所有的推理引擎都支持从内存中加载深度神经网络模型。模型水印技术需要调整的深度神经网络模型开发和训练过程,增加了深度神经网络模型的训练难度,带来复杂性,并且模型水印技术属于事后举证鉴权,难以有效保护深度神经网络模型不被盗用。综上所述,现有的保护方案中深度神经网络模型在被窃取后都存在被盗用的风险。
基于此,本申请公开了一种深度神经网络模型的保护方法、装置、电子设备和介质,用于降低深度神经网络模型被盗用的风险。
下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的方法可以应用于服务器、设备、终端或者其它具备逻辑处理能力的设备,对此,本申请不作限定。为方便描述,下面以执行主体为终端为例进行描述。
请参阅图1,本申请提供了一种深度神经网络模型的保护方法的一个实施例,包括:
101、获取深度神经网络模型;
终端获取深度神经网络模型,本实施例中,使用深度神经网络模型前,需要进行一定的参数设置,例如:损失函数和初始权重等参数。并且需要通过样例集进行一定程度的初始训练后,即可用于接下来的训练。
本实施例中使用的深度神经网络模型需要根据开发者的需求确定,可以是VGG-16深度神经网络模型,也可以是VGG-19深度神经网络模型,还可以是经过开发者编码设计的深度神经网络模型,此处不作限定。
本实施例中,以VGG-16深度神经网络模型为例子,其中VGG-16深度神经网络模型具备13个卷积层、3个全连接层、5个池化层和softmax层,为conv3-64,conv3-64,maxpool,conv3-128,conv3-128,maxpool,conv3-256,conv3-256, conv3-256, maxpool, conv3-512, conv3-512, conv3-512, maxpool, conv3-512,conv3-512,conv3-512,maxpool,FC-4096,FC-4096,FC-1000,softmax。
102、获取原始训练样本集,原始训练样本集中至少包含两张原始训练样本;
终端根据开发者的需求获取原始训练样本集,原始训练样本集中包含多张原始训练样本。原始训练样本可以是车辆图像、人脸图像和猫图像等,此处不作限定。
在获取到原始训练样本集之后,终端可以对原始训练样本集中的原始训练样本进行样本扩充预处理,其中样本扩充预处理包含放缩处理、裁剪处理、旋转处理和照片背景灰度直流分量统一化处理。对于通过拍照获取的初始训练样本集,在送入深度神经网络模型进行训练前,需要对照片进行样本扩充预处理。
深度神经网络模型训练时需要大量的训练样本,通过从大量训练样本中学习到的数据特征进行建模,有些时候原始样本集并不是那么充分,需要通过数据增强方式人为“增加”缺陷样本,数据增强包括对照片进行旋转、偏移、镜像、裁剪、拉伸等图像操作,使得新图片和原图“看起来”不一样,一定意义上生成了新的照片,扩充了数据集。
裁剪处理:使用相机拍摄得到的原始训练样本集,除了核心特征部分外还包括一些周围背景部分,当这个背景部分的比例高时,可能会对深度神经网络模型的训练及检测带来影响,且多出来的图像也会增加深度神经网络模型训练和测试时的时间成本以及GPU显存消耗,因此需要通过裁剪的方式去除这些多余的背景部分,保留更多核心特征部分。
除了裁剪处理,旋转处理、偏移处理、镜像处理以及拉伸处理,都可以对原始训练样本集中的图像进行样本的扩充。
照片背景灰度直流分量统一化:由于训练样本是多个拍摄团队拍摄的,不同拍摄团队拍照条件不同,不同的原始训练样本的背景灰度会不一样,这会对深度神经网络模型的训练以及检测带来不便,原始训练样本集中的图像的背景灰度不同,可能会影响最终检测结果。原始训练样本包括背景的灰度直流分量和核心特征的灰度交流分量,本实施例通过保留图像中核心特征的灰度交流分量,统一所有原始训练样本中的背景的灰度直流分量,使得深度神经网络模型可以适配原始训练样本集中所有不同背景灰度的原始训练样本。
其次,对于原始训练样本集中存在的RGB三通道原始训练样本,处理步骤略有不同,计算原始训练样本的灰度平均值,令原始训练样本当前像素值减去灰度平均值后加上一个预设的灰度值,最后对灰度值进行上溢和下溢的处理。但是具体操作有些许不同,绿色G通道按照上述步骤进行处理,红色R通道和蓝色B通道像素在减去各自通道像素平均灰度值后,增加的统一灰度值和绿色通道不同,按照各自通道灰度平均值和绿色通道灰度平均值的比例,增加相应比例的统一灰度值。
例如:RGB三通道的像素灰度平均值分别为50、75、100,绿色通道增加的统一灰度值为128,即绿色通道所有像素值减去50,再加上128,红色通道所有像素值减去75,再加上128*(75/50),蓝色通道所有像素值减去100,再加上128*(100/50)。
103、根据原始训练样本集的图像类型获取加密变换函数;
终端根据原始训练样本集的类型获取不同的加密变换函数,加密变换函数主要用于对原始训练样本集中的原始训练样本进行像素变换。
加密变换函数是根据原始训练样本集的种类来确定的,例如车辆图像和人脸图像分别使用不同的加密变换函数,如使用同一加密变换函数,可能会造成特征像素点融入图像的环境中。例如一个加密变换函数用于处理车辆图像,可以使得车辆图像的像素点发送变化,车辆区域与环境区域的像素点都会发送改变,但是依旧能够区分车辆区域与环境区域。但是将这个加密变换函数处理人脸图像,效果可能会变差,人脸图像中的人脸区域的像素点在变换后,融入了环境区域中,使得图像无法进行后续的训练。故加密变换函数需要通过原始训练样本集的类型来获取。
104、根据加密变换函数对原始训练样本集中的原始训练样本进行加密转换处理,生成加密训练样本集,加密训练样本集中的加密训练样本与原始训练样本集的原始训练样本像素点参数不同;
终端根据加密变换函数对原始训练样本集中的原始训练样本进行像素点变换,将原始训练样本集的像素点参数通过预设的公式换算成新的像素点参数,以此生成加密训练样本集。
像素点参数可以是RGB通道参数,也可以是YUV通道参数,此处不作限定,主要是和像素点相关的变换操作,都属于本实施例的保护范围。
105、将加密训练样本集中的加密训练样本输入深度神经网络模型中训练,直到深度神经网络模型训练完成。
当原始训练样本经过加密变换函数的加密变换后,终端将加密训练样本集中的加密训练样本输入深度神经网络模型中进行训练,令深度神经网络模型更新权重,直到深度神经网络模型训练完成。判断深度神经网络模型训练完成的条件可以是损失值达到预设阈值以下,也可以是模型训练加密训练样本的数量达到预设值,还可以是损失值在近10000次训练都属于收敛状态,此处不作限定。
本申请中,首先终端获取深度神经网络模型,该深度神经网络模型为设置好基础参数的神经网络模型。接着终端根据训练任务获取原始训练样本集,原始训练样本集中至少包含两张原始训练样本,并且符合训练任务的要求。接下来终端根据原始训练样本集获取加密变换函数,并且终端根据加密变换函数对原始训练样本集中的原始训练样本进行加密转换处理,生成加密训练样本集,加密训练样本集中的加密训练样本与原始训练样本集的原始训练样本像素点参数不同。最后终端将加密训练样本集中的加密训练样本输入深度神经网络模型中训练,直到深度神经网络模型训练完成。通过加密变换函数,将原始训练样本的像素点参数变换,使得生成的加密训练样本在颜色上区别于原始训练样本,再将加密训练样本输入深度神经网络模型中训练,得到的深度神经网络模型只适用于加密训练样本这一样本类型,而不会适用于原始训练样本。即使深度神经网络模型被窃取,由于深度神经网络模型只适用于加密训练样本这一样本类型,窃取者无法使用深度神经网络模型对常规类型的图像进行检测,降低了深度神经网络模型被盗用的风险。
请参阅图2-1、图2-2和图2-3,本申请提供了一种深度神经网络模型的保护方法的另一个实施例,包括:
201、获取深度神经网络模型;
202、获取原始训练样本集,原始训练样本集中至少包含两张原始训练样本;
本实施例中的步骤201至202与前述实施例中步骤101至102类似,此处不再赘述。
203、根据原始训练样本集获取加密变换函数;
本实施例中的步骤203与前述实施例中步骤103类似,此处不再赘述。
204、获取原始训练样本中目标像素点的RGB通道参数,RGB通道参数包括R通道值、G通道值和B通道值;
205、对R通道值、G通道值和B通道值进行缩小处理;
206、根据缩小处理后的R通道值、G通道值和B通道值和加密变换函数中的加密参数计算生成目标像素点的第一通道值;
207、判断目标像素点的RGB通道参数的最大值是否为0;
208、若为0,则目标像素点的第二通道值设置为255;
209、若不为0,则根据RGB通道参数的最大值和RGB通道参数的最小值计算目标像素点的第二通道值;
210、根据RGB通道参数的最大值、最小值、R通道值、G通道值和B通道值计算目标像素点的第三通道值;
211、将第一通道值、第二通道值和第三通道值整合,生成新的目标像素点;
212、根据上述步骤处理原始训练样本集中的原始训练样本,生成加密训练样本集;
终端对R通道值、G通道值和B通道值进行缩小处理:
终端根据缩小处理后的R通道值、G通道值和B通道值和加密变换函数中的加密参数计算生成目标像素点的第一通道值,其中,加密参数为人为设置。本实施例中,加密变换函数中的加密参数为常数a、b和c,其中a、b和c满足a+b+c=1,且a>0,b>0,c>0。
213、从加密训练样本集中选取第一加密训练样本,并将第一加密训练样本输入深度神经网络模型中,第一加密训练样本标记有训练期望值,深度神经网络模型设置有损失函数;
终端可以从加密训练样本集中随机抽取一定数量的样本,同时进行训练,也可以只选取一张。例如:采用批量大小为32的小批量训练深度神经网络模型,通过多次迭代,达到训练效果。本实施例中,迭代的次数约为25000次。
终端从加密训练样本集中选取第一加密训练样本,并将第一加密训练样本输入深度神经网络模型中,使得深度神经网络模型对第一加密训练样本进行学习分析。其中,第一加密训练样本标记有训练期望值,深度神经网络模型设置有对应的损失函数。
214、通过深度神经网络模型中的权重提取第一加密训练样本的特征;
215、对特征进行计算第一加密训练样本的测量值;
终端通过深度神经网络模型获取第一加密训练样本的特征,生成加密训练样本归属目标种类的测量值。
深度神经网络模型中的全连接层用于通过对加密训练样本的学习分析得到的特征权重,表征该特征的重要性程度。而深度神经网络模型中的卷积层主要用于过滤特征,筛选出类别区分能力强的特征。深度神经网络模型中的池化层进行最大池化操作,提高深度神经网络模型的泛化性。最终对特征进行组合,生成图像,最后通过softmax层计算生成加密训练样本归属目标种类的测量值。
本实施例中,softmax层的计算公式如下:
假设softmax层的输入是WX,假设深度神经网络模型的输入样本是I,讨论一个3分类问题(类别用1类,2类,3类表示),样本I的真实类别是2类,那么这个样本I经过所有网络层到达softmax层之前就得到了WX,也就是说WX是一个元素为3的向量,那么上面公式中的aj就表示这个元素为3的向量中的第j个值(最后会得到S1,S2,S3),而分母中的ak则表示元素为3的向量中的3个值,所以会有个求和符号(这里求和是k从1到T,T和公式中的T是对应相等的,也就是类别数,j的范围也是1到T)。由于ex恒大于0,所以分子永远是正数,分母又是多个正数的和,所以分母也肯定是正数,因此Sj是正数,而且范围是(0,1)。若现在不是在训练深度神经网络模型,而是在测试深度神经网络模型,那么当一个样本经过softmax层并输出一个T*1个元素的向量时,就会取这个向量中元素数值最大的那个的作为这个加密训练样本的预测值。
下面进行举例说明:假设你的WX=[1,2,3],那么经过softmax层后就会得到[0.09,0.24,0.67],这三个数字表示这个样本属于第1,2,3类的概率分别是0.09,0.24,0.67。取概率最大的0.67,所以这里得到的预测值就是第三类。再例如:y=2.0,1.0,0.1,通过softmax函数(softmax层)后,计算得到对应的概率值S(y)=0.7,0.2,0.1,则最大概率值为0.7。
216、根据测量值、训练期望值与损失函数计算损失值,以生成损失值变化数据和迭代轮次,损失值变化数据为每一次训练生成的损失值的统计数据;
终端根据第一加密训练样本归属目标种类的测量值、第一加密训练样本归属目标种类的训练期望值与深度神经网络模型的损失函数计算损失值,并且记录当前深度神经网络模型的迭代轮次。再根据每一次训练生成的损失值的统计数据,生成损失值变化数据。
本实施例中,损失函数可以为多种,回归损失(Regression Loss)、分类损失等,回归损失与分类损失这两大类又分为众多具体的损失函数,此处不作限定,只要是用于计算损失值的方式都属于本申请的保护范围。
本实施例中,深度神经网络模型的损失函数以交叉熵损失函数为例,该交叉熵函数的计算方法如下所示:
交叉熵主要是表征实际输出(概率)与期望输出(概率)的距离,也就是交叉熵函数计算出的值越小,两个概率分布就越接近。假设真实分布(训练期望值)为y,深度神经网络模型输出分布(测量值)为,总的类别数为n。下面通过简单的举例说明:
在数字识别任务中,如果数字样本是数字“5”,那么真实分布应该为:[ 0, 0, 0,0, 0, 1, 0, 0, 0, 0 ],如果网络输出的分布为:[ 0.1, 0.1, 0, 0, 0, 0.7, 0, 0.1,0, 0 ],则应为10,那么计算损失函数得:
如果深度神经网络模型输出的分布为:[ 0.2, 0.3, 0.1, 0, 0, 0.3, 0.1, 0,0, 0 ],那么计算损失函数得:
上述两种情况对比,第一个分布的损失通过交叉熵函数计算出的损失值明显低于第二个分布通过交叉熵函数计算出的损失值的损失,说明第一个分布更接近于真实分布。
通过上述方式计算出模型概率分布与真实概率分布的损失值后,将从深度神经网络模型开始训练到目前的所有损失值都进行统计,生成损失值变化数据。
217、判断损失值变化数据和/或迭代轮次是否满足训练条件;
终端判断损失值变化数据在预设区间内的损失值是否收敛于0,当损失值变化数据在预设区间内,所有的损失值的大小以及趋势都收敛于0时,则可以确定深度神经网络模型训练完成,执行步骤219。
218、若损失值变化数据和/或迭代轮次满足训练条件,则确定深度神经网络模型训练完成;
当损失值变化数据在预设区间内,所有的损失值的大小以及趋势都呈现稳定不再上升时,则可以确定深度神经网络模型训练完成,则可以将深度神经网络模型投入使用。或者判断深度神经网络模型的迭代轮次是否达到预设的次数,当达到了预设的次数,则表示深度神经网络模型训练完成,可以投入使用。
下面进行损失值变化数据举例说明:当损失值变化数据中,最新的10000次训练这个区间内,产生的所有损失值都小于0.001,并且每一个损失值都比前一个损失值的绝对值的数值小,即表现为不再上升,可以确定深度神经网络模型训练完成。
219、若损失值变化数据和/或迭代轮次不满足训练条件,则根据小批梯度下降法更新深度神经网络模型的权重后,从加密训练样本集中选取第二加密训练样本输入深度神经网络模型,或根据小批梯度下降法更新深度神经网络模型的权重后,将第一加密训练样本重新输入深度神经网络模型;
当损失值变化数据在预设区间内,不是所有的损失值的大小以及趋势都不再上升时,或者是深度神经网络模型的迭代轮次未达到预设的次数时,则确定深度神经网络模型训练尚未完成。这时需要判断训练样本的训练次数是否达标,即当前的训练样本是否完成了预设次数的训练
对深度神经网络模型的权重更新可以是多种方式,本实施例中,以小批梯度下降法更新深度神经网络模型为例,其中批训练的梯度更新方式的公式为:
使用反向梯度求导,请参考图3,图3为一个深度神经网络模型网络层示意图。
W代表权重矩阵,Z代表输入矩阵,A代表输出矩阵,Y代表标准答案。
L代表卷积神经网络模型的层数。
向前传播的方法,即将输入层的信号传输至隐藏层,以隐藏层节点c为例,站在节点c上往后看(输入层的方向),可以看到有两个箭头指向节点c,因此a,b节点的信息将传递给c,同时每个箭头有一定的权重,因此对于c节点来说,输入信号为:
同理,节点d的输入信号为:
由于终端善于做带有循环的任务,因此可以用矩阵相乘来表示:
所以,隐藏层节点经过非线性变换后的输出表示如下:
同理,输出层的输入信号表示为权重矩阵乘以上一层的输出:
同样,输出层节点经过非线性映射后的最终输出表示为:
输入信号在权重矩阵们的帮助下,得到每一层的输出,最终到达输出层。可见,权重矩阵在前向传播信号的过程中扮演着运输兵的作用,起到承上启下的功能。
请参考图4,图4为一个深度神经网络模型网络层示意图。向后传播的方法,既然梯度下降需要每一层都有明确的误差才能更新参数,所以接下来的重点是如何将输出层的误差反向传播给隐藏层。
其中输出层、隐藏层节点的误差如图所示,输出层误差已知,接下来对隐藏层第一个节点c作误差分析。还是站在节点c上,不同的是这次是往前看(输出层的方向),可以看到指向c节点的两个蓝色粗箭头是从节点e和节点f开始的,因此对于节点c的误差肯定是和输出层的节点e和f有关。输出层的节点e有箭头分别指向了隐藏层的节点c和d,因此对于隐藏节点e的误差不能被隐藏节点c霸为己有,而是要服从按劳分配的原则(按权重分配),同理节点f的误差也需服从这样的原则,因此对于隐藏层节点c的误差为:
同理,对于隐藏层节点d的误差为:
为了减少工作量,可写成矩阵相乘的形式:
该矩阵比较繁琐,可简化到前向传播的形式,不破坏它们的比例,因此我们可以忽略掉分母部分,所以重新成矩阵形式为:
该权重矩阵,其实是前向传播时权重矩阵w的转置,因此简写形式如下:
输出层误差在转置权重矩阵的帮助下,传递到了隐藏层,这样我们就可以利用间接误差来更新与隐藏层相连的权重矩阵。可见,权重矩阵在反向传播的过程中同样扮演着运输兵的作用,只不过这次是搬运的输出误差,而不是输入信号。
请参考图5,图5为一个深度神经网络模型网络层示意图。接下来需要进行链式求导,上面介绍了输入信息的前向传播与输出误差的后向传播,接下来就根据求得的误差来更新参数。
首先对隐藏层的w11进行参数更新,更新之前让我们从后往前推导,直到预见w11为止,计算方式如下:
因此误差对w11求偏导如下:
求导得如下公式(所有值已知):
同理,误差对于w12的偏导如下:
同样,求导得w12的求值公式:
同理,误差对于偏置求偏导如下:
同理,误差对于偏置求偏导如下:
接着对输入层的w11进行参数更新,更新之前我们依然从后往前推导,直到预见第一层的w11为止:
因此误差对输入层的w11求偏导如下:
求导得如下公式:
同理,输入层的其他三个参数按照同样的方法即可求出各自的偏导,此处不做赘述。在每个参数偏导数明确的情况下,带入梯度下降公式即可:
至此,利用链式法则来对每层参数进行更新的任务已经完成。
在更新了深度神经网络模型的权重之后,还需要把训练过程中获取到的加密训练样本的特征和测量值进行模型保存,目的是在每一组训练样本的训练次数达标之后,保留一份深度神经网络模型,以使得在后续训练过程中出现泛化、过拟合等问题时,还可以使用原先保存下来的深度神经网络模型。
当深度神经网络模型更新完成后,可以选择第一加密训练样本重新输入深度神经网络模型训练,也可以是从加密训练样本集中选取第二加密训练样本输入深度神经网络模型训练。
220、获取待检测图像;
221、根据加密变换函数对待检测图像进行加密转换处理;
222、将加密转换处理后的待检测图像输入深度神经网络模型中;
223、通过所深度神经网络模型生成待检测图像的检测结果。
当深度神经网络模型训练完成之后,终端获取待检测图像,终端根据加密变换函数对待检测图像进行加密转换处理,终端将加密转换处理后的待检测图像输入深度神经网络模型中,终端通过所深度神经网络模型生成待检测图像的检测结果。
本申请中,首先终端获取深度神经网络模型,该深度神经网络模型为设置好基础参数的神经网络模型。接着终端根据训练任务获取原始训练样本集,原始训练样本集中至少包含两张原始训练样本,并且符合训练任务的要求。终端对原始训练样本集中的原始训练样本进行样本扩充预处理,样本扩充预处理包含放缩处理、裁剪处理、旋转处理和照片背景灰度直流分量统一化处理。
接下来终端根据原始训练样本集的图像类型获取加密变换函数,终端获取原始训练样本中目标像素点的RGB通道参数,其中,RGB通道参数包括R通道值、G通道值和B通道值。终端对R通道值、G通道值和B通道值进行缩小处理,并且终端根据缩小处理后的R通道值、G通道值和B通道值和加密变换函数中的加密参数计算生成目标像素点的第一通道值。终端判断目标像素点的RGB通道参数的最大值是否为0,若为0,则终端目标像素点的第二通道值设置为255,若不为0,则终端根据RGB通道参数的最大值和RGB通道参数的最小值计算目标像素点的第二通道值。终端根据RGB通道参数的最大值、最小值、R通道值、G通道值和B通道值计算目标像素点的第三通道值,终端将第一通道值、第二通道值和第三通道值整合,生成新的目标像素点。终端根据上述步骤处理原始训练样本集中的原始训练样本,生成加密训练样本集。
最后终端从加密训练样本集中选取第一加密训练样本,并将第一加密训练样本输入深度神经网络模型中,第一加密训练样本标记有训练期望值,深度神经网络模型设置有损失函数。终端通过深度神经网络模型提取第一加密训练样本的特征,终端对特征进行计算第一加密训练样本的测量值,终端根据测量值、训练期望值与损失函数计算损失值,以生成损失值变化数据和迭代轮次,损失值变化数据为每一次训练生成的损失值的统计数据。终端判断损失值变化数据和/或迭代轮次是否满足训练条件,若损失值变化数据和/或迭代轮次满足训练条件,则终端确定深度神经网络模型训练完成,若损失值变化数据和/或迭代轮次不满足训练条件,则终端根据小批梯度下降法更新深度神经网络模型的权重后,从加密训练样本集中选取第二加密训练样本输入深度神经网络模型,或终端根据小批梯度下降法更新深度神经网络模型的权重后,将第一加密训练样本重新输入深度神经网络模型。
终端获取待检测图像,终端根据加密变换函数对待检测图像进行加密转换处理,终端将加密转换处理后的待检测图像输入深度神经网络模型中,终端通过所深度神经网络模型生成待检测图像的检测结果。
本实施例中,通过加密变换函数,将原始训练样本的像素点参数变换,使得生成的加密训练样本在颜色上区别于原始训练样本,再将加密训练样本输入深度神经网络模型中训练,得到的深度神经网络模型只适用于加密训练样本这一样本类型,而不会适用于原始训练样本。即使深度神经网络模型被窃取,由于深度神经网络模型只适用于加密训练样本这一样本类型,窃取者无法使用深度神经网络模型对常规类型的图像进行检测,降低了深度神经网络模型被盗用的风险。
其次,在深度神经网络模型部署推理阶段,不是直接学习分析原始的RGB图像(待检测图像),而是采用与开发训练阶段相同的加密变换函数先将的检测图像转换为加密后图像,再在模型推理引擎中直接加载训练得到的“加密”后的深度神经网络模型对待检测图像进行推理分析,得到分析结果。
其次,加密的训练样本和待检测图像不影响正常的神经网络模型训练,也不影响正常的模型推理。
同时,“加密“后的深度神经网络模型在用户端部署时不用担心模型被盗用,因为深度神经网络模型只会对加密图像推理得出正确结果,而对普通的RGB图像进行分析时其准确性会大大下降,变为不可用的模型,进而达到保护模型的目的。
请参阅图6,本申请提供了一种深度神经网络模型的保护装置的另一个实施例,包括:
第一获取单元601,用于获取深度神经网络模型;
第二获取单元602,用于获取原始训练样本集,原始训练样本集中至少包含两张原始训练样本;
第三获取单元603,用于根据原始训练样本集的图像类型获取加密变换函数;
第一加密单元604,用于根据加密变换函数对原始训练样本集中的原始训练样本进行加密转换处理,生成加密训练样本集,加密训练样本集中的加密训练样本与原始训练样本集的原始训练样本像素点参数不同;
可选的,第一加密单元604,包括:
获取原始训练样本中目标像素点的RGB通道参数,RGB通道参数包括R通道值、G通道值和B通道值;
对R通道值、G通道值和B通道值进行缩小处理;
根据缩小处理后的R通道值、G通道值和B通道值和加密变换函数中的加密参数计算生成目标像素点的第一通道值;
判断目标像素点的RGB通道参数的最大值是否为0;
若为0,则目标像素点的第二通道值设置为255;
若不为0,则根据RGB通道参数的最大值和RGB通道参数的最小值计算目标像素点的第二通道值;
根据RGB通道参数的最大值、最小值、R通道值、G通道值和B通道值计算目标像素点的第三通道值;
将第一通道值、第二通道值和第三通道值整合,生成新的目标像素点;
根据上述步骤处理原始训练样本集中的原始训练样本,生成加密训练样本集。
可选的,对R通道值、G通道值和B通道值进行缩小处理,具体为:
根据缩小处理后的R通道值、G通道值和B通道值和加密变换函数中的加密参数计算生成目标像素点的第一通道值,具体为:
判断目标像素点的RGB通道参数的最大值是否为0,若为0,则目标像素点的第二通道值设置为255,若不为0,则根据RGB通道参数的最大值和RGB通道参数的最小值计算目标像素点的第二通道值,具体为:
根据RGB通道参数的最大值、最小值、R通道值、G通道值和B通道值计算目标像素点的第三通道值,具体为:
训练单元605,用于将加密训练样本集中的加密训练样本输入深度神经网络模型中训练,直到深度神经网络模型训练完成;
可选的,训练单元605,包括:
从加密训练样本集中选取第一加密训练样本,并将第一加密训练样本输入深度神经网络模型中,第一加密训练样本标记有训练期望值,深度神经网络模型设置有损失函数;
通过深度神经网络模型中的权重提取第一加密训练样本的特征;
对特征进行计算第一加密训练样本的测量值;
根据测量值、训练期望值与损失函数计算损失值,以生成损失值变化数据和迭代轮次,损失值变化数据为每一次训练生成的损失值的统计数据;
判断损失值变化数据和/或迭代轮次是否满足训练条件;
若损失值变化数据和/或迭代轮次满足训练条件,则确定深度神经网络模型训练完成。
可选的,根据测量值、训练期望值与损失函数计算损失值,以生成损失值变化数据,具体为:
可选的,训练单元605还包括:
若损失值变化数据和/或迭代轮次不满足训练条件,则根据小批梯度下降法更新深度神经网络模型的权重后,从加密训练样本集中选取第二加密训练样本输入深度神经网络模型,或根据小批梯度下降法更新深度神经网络模型的权重后,将第一加密训练样本重新输入深度神经网络模型。
第四获取单元606,用于获取待检测图像;
第二加密单元607,用于根据加密变换函数对待检测图像进行加密转换处理;
输入单元608,用于将加密转换处理后的待检测图像输入深度神经网络模型中;
生成单元609,用于通过所深度神经网络模型生成待检测图像的检测结果。
请参阅图7,本申请提供了一种电子设备,包括:
处理器701、存储器702、输入输出单元703以及总线704。
处理器701与存储器702、输入输出单元703以及总线704相连。
存储器702保存有程序,处理器701调用程序以执行如图1、图2-1、图2-2和图2-3中的保护方法。
本申请提供了一种计算机可读存储介质,计算机可读存储介质上保存有程序,程序在计算机上执行时执行如图1、图2-1、图2-2和图2-3中的保护方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (8)
1.一种深度神经网络模型的保护方法,其特征在于,包括:
获取深度神经网络模型;
获取原始训练样本集,所述原始训练样本集中至少包含两张原始训练样本;
根据所述原始训练样本集的图像类型获取加密变换函数;
获取所述原始训练样本中目标像素点的RGB通道参数,所述RGB通道参数包括R通道值、G通道值和B通道值;
根据缩小处理后的所述R通道值、所述G通道值和所述B通道值和所述加密变换函数中的加密参数计算生成所述目标像素点的第一通道值;
判断所述目标像素点的所述RGB通道参数的最大值是否为0;
若为0,则所述目标像素点的第二通道值设置为255;
若不为0,则根据所述RGB通道参数的最大值和所述RGB通道参数的最小值计算所述目标像素点的第二通道值;
根据所述RGB通道参数的最大值、最小值、所述R通道值、所述G通道值和所述B通道值计算所述目标像素点的第三通道值;
将所述第一通道值、所述第二通道值和所述第三通道值整合,生成新的目标像素点;
根据上述步骤处理所述原始训练样本集中的所述原始训练样本,生成加密训练样本集;
将所述加密训练样本集中的加密训练样本输入所述深度神经网络模型中训练,直到所述深度神经网络模型训练完成。
2.根据权利要求1中所述的保护方法,其特征在于,所述将所述加密训练样本集中的加密训练样本输入所述深度神经网络模型中训练,直到所述深度神经网络模型训练完成,包括:
从所述加密训练样本集中选取第一加密训练样本,并将所述第一加密训练样本输入所述深度神经网络模型中,所述第一加密训练样本标记有训练期望值,所述深度神经网络模型设置有损失函数;
通过所述深度神经网络模型中的权重提取所述第一加密训练样本的特征;
对所述特征进行计算所述第一加密训练样本的测量值;
根据所述测量值、所述训练期望值与所述损失函数计算损失值,以生成损失值变化数据和迭代轮次,所述损失值变化数据为每一次训练生成的损失值的统计数据;
判断所述损失值变化数据和/或所述迭代轮次是否满足训练条件;
若所述损失值变化数据和/或所述迭代轮次满足训练条件,则确定所述深度神经网络模型训练完成。
4.根据权利要求2中所述的保护方法,其特征在于,在所述判断所述损失值变化数据和/或所述迭代轮次是否满足训练条件之后,所述保护方法还包括:
若所述损失值变化数据和/或所述迭代轮次不满足训练条件,则根据小批梯度下降法更新所述深度神经网络模型的权重后,从所述加密训练样本集中选取第二加密训练样本输入所述深度神经网络模型,或根据小批梯度下降法更新所述深度神经网络模型的权重后,将所述第一加密训练样本重新输入所述深度神经网络模型。
5.根据权利要求1至3中任一项所述的保护方法,其特征在于,在所述将所述加密训练样本集中的加密训练样本输入所述深度神经网络模型中训练,直到所述深度神经网络模型训练完成之后,所述保护方法还包括:
获取待检测图像;
根据所述加密变换函数对所述待检测图像进行加密转换处理;
将加密转换处理后的所述待检测图像输入所述深度神经网络模型中;
通过所深度神经网络模型生成所述待检测图像的检测结果。
6.一种深度神经网络模型的保护装置,其特征在于,包括:
第一获取单元,用于获取深度神经网络模型;
第二获取单元,用于获取原始训练样本集,所述原始训练样本集中至少包含两张原始训练样本;
第三获取单元,用于根据所述原始训练样本集的图像类型获取加密变换函数;
第一加密单元,用于根据加密变换函数对所述原始训练样本集中的原始训练样本进行加密转换处理,生成加密训练样本集,所述加密训练样本集中的加密训练样本与所述原始训练样本集的原始训练样本像素点参数不同;
所述第一加密单元,具体为:
获取所述原始训练样本中目标像素点的RGB通道参数,所述RGB通道参数包括R通道值、G通道值和B通道值;
根据缩小处理后的所述R通道值、所述G通道值和所述B通道值和所述加密变换函数中的加密参数计算生成所述目标像素点的第一通道值;
根据缩小处理后的R通道值、G通道值和B通道值和加密变换函数中的加密参数计算生成目标像素点的第一通道值,具体为:
判断所述目标像素点的所述RGB通道参数的最大值是否为0;
若为0,则所述目标像素点的第二通道值设置为255;
若不为0,则根据所述RGB通道参数的最大值和所述RGB通道参数的最小值计算所述目标像素点的第二通道值;
判断目标像素点的RGB通道参数的最大值是否为0,若为0,则目标像素点的第二通道值设置为255,若不为0,则根据RGB通道参数的最大值和RGB通道参数的最小值计算目标像素点的第二通道值,具体为:
根据所述RGB通道参数的最大值、最小值、所述R通道值、所述G通道值和所述B通道值计算所述目标像素点的第三通道值;
根据RGB通道参数的最大值、最小值、R通道值、G通道值和B通道值计算目标像素点的第三通道值,具体为:
将所述第一通道值、所述第二通道值和所述第三通道值整合,生成新的目标像素点;
根据上述步骤处理所述原始训练样本集中的所述原始训练样本,生成加密训练样本集;
训练单元,用于将所述加密训练样本集中的加密训练样本输入所述深度神经网络模型中训练,直到所述深度神经网络模型训练完成。
7.一种电子设备,其特征在于,包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行如权利要求1至5任意一项所述的保护方法。
8.一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如权利要求1至5中任一项所述的保护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210595796.4A CN114676396B (zh) | 2022-05-30 | 2022-05-30 | 深度神经网络模型的保护方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210595796.4A CN114676396B (zh) | 2022-05-30 | 2022-05-30 | 深度神经网络模型的保护方法、装置、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114676396A CN114676396A (zh) | 2022-06-28 |
CN114676396B true CN114676396B (zh) | 2022-08-30 |
Family
ID=82080073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210595796.4A Active CN114676396B (zh) | 2022-05-30 | 2022-05-30 | 深度神经网络模型的保护方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114676396B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115205089B (zh) * | 2022-07-22 | 2024-09-03 | 中国电信股份有限公司 | 图像加密方法、网络模型的训练方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113159147A (zh) * | 2021-04-08 | 2021-07-23 | 平安科技(深圳)有限公司 | 基于神经网络的图像识别方法、装置、电子设备 |
CN114037596A (zh) * | 2022-01-07 | 2022-02-11 | 湖南菠萝互娱网络信息有限公司 | 一种抗物理传输形变的端到端图像隐写方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108122236B (zh) * | 2017-12-18 | 2020-07-31 | 上海交通大学 | 基于距离调制损失的迭代式眼底图像血管分割方法 |
WO2019227009A1 (en) * | 2018-05-24 | 2019-11-28 | Wade Mamadou Ibra | Distributed homomorphic image ecryption and decryption |
CN111553320B (zh) * | 2020-05-14 | 2021-12-21 | 支付宝(杭州)信息技术有限公司 | 保护个人数据隐私的特征提取方法、模型训练方法及硬件 |
CN112991217A (zh) * | 2021-03-24 | 2021-06-18 | 吴统明 | 一种医学图像采集方法、装置及设备 |
CN113592696A (zh) * | 2021-08-12 | 2021-11-02 | 支付宝(杭州)信息技术有限公司 | 加密模型训练、图像加密和加密人脸图像识别方法及装置 |
CN114298202A (zh) * | 2021-12-23 | 2022-04-08 | 上海高德威智能交通系统有限公司 | 一种图像加密方法、装置、电子设备及存储介质 |
CN114553499B (zh) * | 2022-01-28 | 2024-02-13 | 中国银联股份有限公司 | 一种图像加密、图像处理方法、装置、设备及介质 |
-
2022
- 2022-05-30 CN CN202210595796.4A patent/CN114676396B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113159147A (zh) * | 2021-04-08 | 2021-07-23 | 平安科技(深圳)有限公司 | 基于神经网络的图像识别方法、装置、电子设备 |
CN114037596A (zh) * | 2022-01-07 | 2022-02-11 | 湖南菠萝互娱网络信息有限公司 | 一种抗物理传输形变的端到端图像隐写方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114676396A (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107529650B (zh) | 闭环检测方法、装置及计算机设备 | |
US11392800B2 (en) | Computer vision systems and methods for blind localization of image forgery | |
CN113111979B (zh) | 模型训练方法、图像检测方法及检测装置 | |
CN110879982B (zh) | 一种人群计数系统及方法 | |
CN112149500B (zh) | 一种部分遮挡的人脸识别小样本学习方法 | |
CN112001983B (zh) | 生成遮挡图像的方法、装置、计算机设备和存储介质 | |
CN115526891B (zh) | 一种缺陷数据集的生成模型的训练方法及相关装置 | |
CN114676396B (zh) | 深度神经网络模型的保护方法、装置、电子设备和介质 | |
CN113674190A (zh) | 基于密集连接生成对抗网络的图像融合方法和装置 | |
CN116994044A (zh) | 一种基于掩码多模态生成对抗网络的图像异常检测模型的构建方法 | |
CN116543433A (zh) | 一种基于改进YOLOv7模型的口罩佩戴检测方法和装置 | |
CN112348808A (zh) | 屏幕透图检测方法及装置 | |
CN114021704B (zh) | 一种ai神经网络模型的训练方法及相关装置 | |
CN116644439B (zh) | 一种基于去噪扩散模型的模型安全性评估方法 | |
CN111126566B (zh) | 基于gan模型的异常家具布局数据检测方法 | |
CN117058716A (zh) | 基于图像预融合的跨域行为识别方法及装置 | |
CN114677504B (zh) | 目标检测方法、装置、设备终端和可读存储介质 | |
KR102421289B1 (ko) | 패러렐 디시전 보팅 알고리즘에 따른 영상기반 시정 탐지 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 | |
CN115861625A (zh) | 一种处理噪声标签的自标签修改方法 | |
CN114926876A (zh) | 图像关键点检测方法、装置、计算机设备和存储介质 | |
CN113111957B (zh) | 基于特征去噪的防伪方法、装置、设备、产品及介质 | |
CN113506272B (zh) | 一种虚假视频的检测方法及系统 | |
Banerjee et al. | Computing an image phylogeny tree from photometrically modified iris images | |
Shindo et al. | Recognition of Object Hardness from Images Using a Capsule Network | |
CN115393898A (zh) | 一种多任务行人属性分类训练方法、设备、存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 266000 F3, Jingkong building, No. 57 Lushan Road, Huangdao District, Qingdao, Shandong Patentee after: Shandong Jijian Technology Co.,Ltd. Address before: 266000 F3, Jingkong building, No. 57 Lushan Road, Huangdao District, Qingdao, Shandong Patentee before: Shandong jivisual angle Technology Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |