涉及域变换数据加密的神经网络模型加密保护系统及方法与流程

文档序号:15933319发布日期:2018-11-14 01:59阅读:133来源:国知局

本发明属于人工神经网络保护机制领域,特别涉及一种涉及域变换数据加密的神经网络模型加密保护系统及方法。

背景技术

深度学习是当前人工智能应用的主要技术方案。以深度学习技术所训练完成的人工神经网络模型是汇集了初始开发者智慧的劳动成果。但在发布和应用人工神经网络模型的过程中,其网络结构和节点权重会完全对外暴露。人工神经网络模型经发布和/或第三方应用后,容易被复制、二次开发或修改,导致初始开发者权益受损。现有技术中适用于人工神经网络模型的保护方案主要包括网络整体加密、训练数据加密及网络同态加密训练。

网络整体加密方案是对训练完成的网络模型进行加密发布,没有密钥则无法使用该网络模型。然而该加密方式仅仅是网络模型的二次封装,利用密钥解密网络模型后,仍可分析得到网络模型的结构和节点权重等核心信息,并能进行复制、传播、二次开发或修改,从而无法保护网络模型初始研发者的权益;

训练数据加密方案将训练数据转义,对映射后的数据进行网络训练,并将该映射方案用于网络模型后续使用,以保护网络模型的核心内容。该加密技术要求破坏数据内部统计规律以避免利用统计分析破解加密,而人工神经网络训练是基于训练数据的重要统计特征完成数据分类和预测,其本质是一种统计学习,因此与训练数据加密方案本质相矛盾,例如,采用md5算法对数据进行现代高级加密,待训练数据的每个值不会产生唯一映射值,其内在统计特性会被破坏,因此不适于人工神经网络训练。而简单映射加密虽然可以维持数据内在统计特性,但容易由深度学习的大量训练数据分析出加密方式,使加密保护失败;

同态加密训练方案允许以特定方式修改加密信息而无需读懂加密信息,对经同态加密后的数据进行网络训练,能够保护网络模型的核心内容,且同态加密后的训练数据仍可保留其内部统计结构,以弥补训练数据加密方案的弱点。但该方案会导致计算量大量提升,并且由于同态加密各种算法具有不同程度的计算不完备性,造成某些数学运算无法直接实现,使大量已投入使用的人工神经网络训练方法无法实现,导致人工神经网络性能下降。



技术实现要素:

针对现有人工神经网络保护机制的上述缺陷,本发明提供了一种涉及域变换数据加密的神经网络模型加密保护系统。

具体方案为:

一种涉及域变换数据加密的神经网络模型加密保护系统,其特征在于:包括数据输入模块、加密模块、加密数据输入模块、人工神经网络模型模块和数据输出模块,所述数据输入模块与加密模块信号相连,所述加密模块与加密数据输入模块信号相连,所述加密数据输入模块与人工神经网络模型模块信号相连,所述人工神经网络模型模块与数据输出模块信号相连。

进一步地,所述数据输入模块,用于向加密模块提供原始输入数据;

所述加密模块,用于对数据输入模块提供的原始输入数据进行加密处理,输出加密输入数据;

所述加密数据输入模块,用于接收加密模块输出的加密输入数据,并将加密输入数据传输至人工神经网络模型模块;

所述人工神经网络模型模块,用于接收加密输入数据,并且对加密输入数据进行计算;

所述数据输出模块,用于将人工神经网络模型模块计算得出的结果进行输出处理。

进一步地,在网络训练阶段,人工神经网络模型模块通过正向网络计算与逆向误差传播计算实现人工神经网络的训练;在训练完成的使用阶段,人工神经网络模型模块通过正向网络计算得出结果。

进一步地,在网络训练阶段,数据输出模块对人工神经网络模型模块的计算结果进行损失函数的计算,用于人工神经网络模型模块经梯度反向传播算法实现网络训练;在使用阶段,数据输出模块采用人工神经网络模型模块的计算结果判断实际功能。

进一步地,所述加密模块包括频域变换模块、频域数据处理模块及频域反变换模块;所述频域变换模块用于将原始输入数据转换为二维结构,并对结构转换后的原始输入数据进行域变换,将空间域上的原始输入数据转换为频域上的原始频域数据;所述频域数据处理模块以特定处理方式对原始频域数据进行处理,生成加密频域数据;所述频域反变换模块用于对加密频域数据进行与上述域变换对应的反向域变换,将频域上的加密频域数据转换为空间域上的加密输入数据,完成数据加密。

具体而言,频域变换模块将原始输入数据转换为二维结构时,对于一维结构的原始输入数据,将其视为第二维度为1的二维结构;对于维度大于二维的原始输入数据,将其降维转换为二维结构,加密步骤完成后再将其重新映射为原始结构。

进一步地,所述频域变换模块用以对原始输入数据进行域变换的域转换算法可选自离散傅里叶变换、离散余弦变换或离散小波变换的一种。

进一步地,所述加密模块由一组具有n位数字的密钥作为控制量,所述密钥具体限定了针对原始频域数据提供的特定处理方式;密钥的长度由加密处理中的加密方式及加密要求所限定;密钥的n位数字的每一位分别选自阿拉伯数字0-9之间的一个。

进一步地,频域数据处理模块包括数据划分模块、密码生成模块、密码嵌入模块及数据重组模块;所述数据划分模块用于将原始频域数据划分为多个子块,其中,密钥中预设定的任意几位上的数字与子块划分数量及子块划分位置相关联;针对每个子块,密码生成模块分别以特定分布函数生成与对应子块结构相同的密码,其中,密钥中预设定的其他几位上的数字与该特定分布函数的均值和方差相关联;密码嵌入模块用于将各个密码以特定方式嵌入相应的子块;数据重组模块根据先前的子块划分方式,对各嵌有密码的子块进行结构重组,生成加密频域数据。

进一步地,密码生成模块用以生成密码的特定分布函数选自正态分布函数、f分布函数、卡方分布函数、t分布函数或其他联合分布函数的一种。

进一步地,密码嵌入模块采用加法嵌入方式实现至少一个子块的密码嵌入:

apn=apn+an*sn

其中,apn为原始频域数据的第n个子块;apn为嵌入密码sn后的第n个子块;sn为嵌入第n个子块apn的密码;an为密码sn嵌入子块apn的嵌入强度因数,其中,密钥中预设定的任意一位上的数字与嵌入强度因数an相关联。

可选择地,密码嵌入模块采用乘法嵌入方式实现至少一个子块的密码嵌入:

apn=apn(1+an*sn)

其中,apn为原始频域数据的第n个子块;apn为嵌入密码sn后的第n个子块;sn为嵌入第n个子块apn的密码;an为密码sn嵌入子块apn的嵌入强度因数,其中,密钥中预设定的任意一位上的数字与嵌入强度因数an相关联。

具体而言,n位数字的密钥中,每一位上可选的阿拉伯数字0-9分别映射至一个可执行数值,该可执行数值确定了子块划分数量、子块划分位置、针对不同子块而分别生成密码的特定分布函数所具有的均值及方差,及对应各子块的密码的嵌入强度因数。

一种涉及域变换数据加密的神经网络模型加密保护方法,其特征在于:包括以下步骤:

步骤s1.提供原始输入数据;

步骤s2.对原始输入数据进行加密处理,生成加密输入数据;

步骤s3.接收加密输入数据,并将其输入至人工神经网络模型;

步骤s4.人工神经网络模型对加密输入数据进行计算,得出计算结果;

步骤s5.将计算结果进行输出;

所述步骤s2具体包括以下步骤:

步骤s21.将原始输入数据转换为二维结构,并对结构转换后的原始输入数据进行域变换,将空间域上的原始输入数据转换为频域上的原始频域数据;

步骤s22.对原始频域数据进行处理,生成加密频域数据;

步骤s23.对加密频域数据进行与上述域变换对应的反向域变换,将频域上的加密频域数据转换为空间域上的加密输入数据,完成数据加密。

具体而言,在步骤s21中,对于一维结构的原始输入数据,将其视为第二维度为1的二维结构;对于维度大于二维的原始输入数据,将其降维转换为二维结构,加密步骤完成后再将其重新映射为原始结构。

进一步地,在步骤s21中,用以对原始输入数据进行域变换的域转换算法可选自离散傅里叶变换、离散余弦变换或离散小波变换的一种。

进一步地,所述步骤s22包括以下步骤:

步骤s221.提供一组具有n位数字的密钥作为控制量,该密钥具体限定了针对原始频域数据提供的特定处理方式;其中,密钥的长度由加密处理中的加密方式及加密要求所限定;密钥的n位数字的每一位分别选自阿拉伯数字0-9之间的一个;

步骤s222.将原始频域数据划分为多个子块,其中,密钥中预设定的任意几位上的数字与子块划分数量及子块划分位置相关联;

步骤s223.针对每个子块,分别以特定分布函数生成与对应子块结构相同的密码,其中,密钥中预设定的其他几位上的数字与该特定分布函数的均值和方差相关联;

步骤s224.将各个密码以特定方式嵌入相应的子块;

步骤s225.根据先前的子块划分方式,对各嵌有密码的子块进行结构重组,生成加密频域数据。

进一步地,在步骤s223中,用以生成密码的特定分布函数选自正态分布函数、f分布函数、卡方分布函数、t分布函数或其他联合分布函数的一种。

进一步地,在步骤s224中,采用加法嵌入方式实现至少一个子块的密码嵌入:

apn=apn+an*sn

其中,apn为原始频域数据的第n个子块;apn为嵌入密码sn后的第n个子块;sn为嵌入第n个子块apn的密码;an为密码sn嵌入子块apn的嵌入强度因数,其中,密钥中预设定的任意一位上的数字与嵌入强度因数an相关联。

可选择地,在步骤s224中,采用乘法嵌入方式实现至少一个子块的密码嵌入:

apn=apn(1+an*sn)

其中,apn为原始频域数据的第n个子块;apn为嵌入密码sn后的第n个子块;sn为嵌入第n个子块apn的密码;an为密码sn嵌入子块apn的嵌入强度因数,其中,密钥中预设定的任意一位上的数字与嵌入强度因数an相关联。

具体而言,n位数字的密钥中,每一位上可选的阿拉伯数字0-9分别映射至一个可执行数值,该可执行数值确定了子块划分数量、子块划分位置、针对不同子块而分别生成密码的特定分布函数所具有的均值及方差,及对应各子块的密码的嵌入强度因数。

本发明的优点在于:

本发明提供了一种涉及域变换数据加密的神经网络模型加密保护系统及方法。与现有技术相比,本发明可以在计算量无显著增加且保持人工神经网络性能的情况下,通过输入数据加密,向基于输入数据实现训练的人工神经网络模型嵌入保护性密码,使得在人工神经网络模型发布后,任何的复制、二次开发或修改均无法影响该保护性密码,并且破坏该保护性密码会导致人工神经网络模型性能降低或无法做出有效输出,使得人工神经网络模型的研发者权益得以保护,对人工神经网络模型的使用和发布实现了技术可控。此外,通过域变换实现输入数据加密的方法改善了密码信息的隐藏性及抗攻击性,使训练完成的人工神经网络模型安全性得到进一步提高。

附图说明

图1为本发明实施例提供的一种涉及域变换数据加密的神经网络模型加密保护系统的系统结构图;

图2为本发明实施例提供的一种涉及域变换数据加密的神经网络模型加密保护系统的加密模块的加密原理;

图3为本发明实施例提供的一种涉及域变换数据加密的神经网络模型加密保护系统和方法中的密钥中每位上的数字-可执行数值的映射关系。

图4为本发明实施例提供的一种涉及域变换数据加密的神经网络模型加密保护方法的方法流程图。

附图中:

100-加密保护系统、1-数据输入模块、2-加密模块、3-加密数据输入模块、4-人工神经网络模型模块、5-数据输出模块、21-频域变换模块、22-频域数据处理模块、23-频域反变换模块、221-数据划分模块、222-密码生成模块、223-密码嵌入模块、224-数据重组模块。

具体实施方式

深度学习人工神经网络的核心思想是:利用梯度反向传播算法,调整人工神经网络权重,实现对已知输入数据集内含的某些特征,进行具备统计性质的归纳收敛,以达到对未知输入数据集进行识别和判断的目的。

人工神经网络的训练目标是让网络以迭代的方式,完成对已知输入数据集内含某种能实现对该数据集进行区别的非显式的特征组合的探索和统计。所以在输入数据进入网络训练前,可以进行一些特征工程操作,使经训练的人工神经网络具有更优的性能。本发明公开的一种针对神经网络模型的加密保护系统及方法包括上述特征工程操作,对于经处理后数据完成训练的人工神经网络,必须将后续输入数据进行相同的处理后再输入人工神经网络进行使用,否则结果差异巨大。

在本发明公开的一种针对神经网络模型的加密保护系统及方法中,原始输入数据经过加密模块实现数据加密,结合至原始输入数据的密码实质上是一种空间可见度低的标识信息。由于密码中的数据始终具有由特定分布函数所限定的统计分布特征,且通过叠加和/或hadamard乘积而嵌入密码的方式也能不会影响原始输入数据及密码的内在统计特征,因此本发明提供的加密方式不会破坏原始输入数据内在的与识别特征相关的统计特性,而且能够加入额外特别定义的附加统计特性。这种统计特性会被人工神经网络的训练过程所习得,并嵌入人工神经网络权重等某些无法直接探测到的位置。

若后续输入数据没有这个附加统计特性,已经训练好的人工神经网络模型会产生错误判断。而本发明公开的加密保护系统在原始输入数据中加入的附加统计特性仅略微增加了人工神经网络待整理和归纳的统计特征,但从测试数据和理论而言,这个额外的统计特征,对于人工神经网络是可以非常容易习得的。而由于反向传播算法,这些习得过程是对人工神经网络的全体权重参数的调整,因此是完全融合于人工神经网络中,无法单纯拆分出来的一部分。

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

实施例1

一种涉及域变换数据加密的神经网络模型加密保护系统100的系统结构图参见说明书附图1,加密保护系统100的加密模块2的加密原理参见说明书附图2,加密保护系统100包括数据输入模块1、加密模块2、加密数据输入模块3、人工神经网络模型模块4和数据输出模块5。数据输入模块1与加密模块2信号相连,加密模块2与加密数据输入模块3信号相连,加密数据输入模块3与人工神经网络模型模块4信号相连,人工神经网络模型模块4与数据输出模块5信号相连。

具体而言,数据输入模块1用于向加密模块2提供原始输入数据as;加密模块2用于对数据输入模块提供1的原始输入数据as进行加密处理,输出加密输入数据as;加密数据输入模块3用于接收加密模块2输出的加密输入数据as,并将加密输入数据as传输至人工神经网络模型模块4;人工神经网络模型模块4用于接收加密输入数据as,并基于加密输入数据as计算得出计算结果;数据输出模块5用于将人工神经网络模型模块4的计算结果进行输出处理;

进一步地,在网络训练阶段,人工神经网络模型模块4通过正向网络计算与逆向误差传播计算实现网络训练;在使用阶段,人工神经网络模型模块4通过正向网络计算得出结果;

进一步地,在网络训练阶段,数据输出模块5对人工神经网络模型模块的计算结果进行损失函数的计算,用于人工神经网络模型模块4经梯度反向传播算法实现网络训练;在使用阶段,数据输出模块5采用人工神经网络模型模块4的计算结果判断实际功能。

进一步地,加密模块2包括频域变换模块21、频域数据处理模块22及频域反变换模块23。频域变换模块21用于将原始输入数据as转换为二维结构,并对结构转换后的原始输入数据as进行域变换,将空间域上的原始输入数据as转换为频域上的原始频域数据ap;频域数据处理模块22以特定处理方式对原始频域数据ap进行处理,生成加密频域数据ap;频域反变换模块23用于对加密频域数据ap进行与上述域变换对应的反向域变换,将频域上的加密频域数据ap转换为空间域上的加密输入数据as,完成数据加密。

具体而言,频域转换模块21将原始输入数据as转换为二维结构时,对于一维结构的原始输入数据as,将其视为第二维度为1的二维结构;对于维度大于二维的原始输入数据as,将其降维转换为二维结构,加密步骤完成后再将其重新映射为原始结构。

进一步地,频域变换模块21用以对原始输入数据as进行域变换的域转换算法可选自离散傅里叶变换、离散余弦变换或离散小波变换的一种。

进一步地,加密模块2由一组具有n位数字的密钥6作为控制量,该密钥6具体限定了针对原始频域数据ap提供的特定处理方式;密钥6的长度由加密处理中的加密方式及加密要求所限定;密钥6的n位数字的每一位分别选自阿拉伯数字0-9之间的一个。

进一步地,频域数据处理模块22包括数据划分模块221、密码生成模块222、密码嵌入模块223及数据重组模块224。数据划分模块221用于将原始频域数据ap划分为多个子块ap1-apn,其中,密钥6中预设定的任意几位上的数字与子块划分数量及子块划分位置相关联;针对每个子块ap1-apn,密码生成模块222分别以特定分布函数f1(x)-fn(x)生成与对应子块结构相同的密码s1-sn,其中,密钥6中预设定的其他几位上的数字与该特定分布函数f1(x)-fn(x)的均值和方差相关联;密码嵌入模块223用于将各个密码s1-sn以特定方式嵌入相应的子块ap1-apn;数据重组模块224根据先前的子块划分方式,对各嵌有密码的子块ap1-apn进行结构重组,生成加密频域数据ap

进一步地,密码生成模块222用以生成密码s1-sn的特定分布函数f1(x)-fn(x)选自正态分布函数、f分布函数、卡方分布函数、t分布函数或其他联合分布函数的一种。

进一步地,密码嵌入模块223采用加法嵌入方式实现至少一个子块ap1-apn的密码嵌入:

apn=apn+an*sn

其中,an为密码sn嵌入子块apn的嵌入强度因数,其中,密钥6中预设定的任意一位上的数字与嵌入强度因数an相关联。

可选择地,密码嵌入模块223采用乘法嵌入方式实现至少一个子块ap1-apn的密码嵌入:

apn=apn(1+an*sn)

其中,an为密码sn嵌入子块apn的嵌入强度因数,其中,密钥6中预设定的任意一位上的数字与嵌入强度因数an相关联。

具体而言,n位数字的密钥6中,每一位上可选的阿拉伯数字0-9分别映射至一个可执行数值,该可执行数值确定了子块划分数量、子块划分位置、针对不同子块ap1-apn而分别生成密码s1-sn的特定分布函数f1(x)-fn(x)所具有的均值及方差,及对应各子块ap1-apn的密码s1-sn的嵌入强度因数a1-an。

说明书附图3示出了密钥6中每位上的数字-可执行数值的映射关系。如说明书附图3所示,密钥6每一位上可选的阿拉伯数字0-9分别映射到可执行数值cp,q,其中,p的取值范围为1-n,q的取值范围为0-9,cp,q指密钥6的第p位的数值q映射得到的可执行数值。

实施例2

一种涉及域变换数据加密的神经网络模型加密保护方法的方法流程图参见说明书附图4,方法包括以下步骤:

步骤s1.提供原始输入数据as;

步骤s2.对原始输入数据as进行加密处理,生成加密输入数据as

步骤s3.接收加密输入数据as,并将其输入至人工神经网络模型;

步骤s4.人工神经网络模型对加密输入数据as进行计算,得出计算结果;

步骤s5.将计算结果进行输出。

进一步地,所述步骤s2包括以下步骤:

步骤s21.将原始输入数据as转换为二维结构,并对结构转换后的原始输入数据as进行域变换,将空间域上的原始输入数据as转换为频域上的原始频域数据ap;

步骤s22.以特定处理方式对原始频域数据ap进行处理,生成加密频域数据ap

步骤s23.对加密频域数据ap进行与上述域变换对应的反向域变换,将频域上的加密频域数据ap转换为空间域上的加密输入数据as,完成数据加密。

具体而言,在步骤s21中,对于一维结构的原始输入数据as,将其视为第二维度为1的二维结构;对于维度大于二维的原始输入数据as,将其降维转换为二维结构,加密步骤完成后再将其重新映射为原始结构。

进一步地,在步骤s21中,用以对原始输入数据as进行域变换的域转换算法可选自离散傅里叶变换、离散余弦变换或离散小波变换的一种。

进一步地,所述步骤s22包括以下步骤:

步骤s221.提供一组具有n位数字的密钥6作为控制量,该密钥6具体限定了针对原始频域数据ap提供的特定处理方式;其中,密钥6的长度由加密处理中的加密方式及加密要求所限定;密钥6的n位数字的每一位分别选自阿拉伯数字0-9之间的一个;

步骤s222.将原始频域数据ap划分为多个子块ap1-apn,其中,密钥6中预设定的任意几位上的数字与子块划分数量及子块划分位置相关联;

步骤s223.针对每个子块,分别以特定分布函数f1(x)-fn(x)生成与对应子块结构相同的密码s1-sn,其中,密钥6中预设定的其他几位上的数字与该特定分布函数f1(x)-fn(x)的均值和方差相关联;

步骤s224.将各个密码s1-sn以特定方式嵌入相应的子块ap1-apn;

步骤s225.根据先前的子块划分方式,对各嵌有密码的子块ap1-apn进行结构重组,生成加密频域数据ap

进一步地,在步骤s223中,用以生成密码s1-sn的特定分布函数f1(x)-fn(x)选自正态分布函数、f分布函数、卡方分布函数、t分布函数或其他联合分布函数的一种。

进一步地,在步骤s224中,采用加法嵌入方式实现至少一个子块ap1-apn的密码嵌入:

apn=apn+an*sn

其中,an为密码sn嵌入子块apn的嵌入强度因数,密钥6中预设定的任意一位上的数字与嵌入强度因数an相关联。

可选择地,在步骤s224中,采用乘法嵌入方式实现至少一个子块ap1-apn的密码嵌入:

apn=apn(1+an*sn)

其中,an为密码sn嵌入子块apn的嵌入强度因数,密钥6中预设定的任意一位上的数字与嵌入强度因数an相关联。

具体而言,n位数字的密钥6中,每一位上可选的阿拉伯数字0-9分别映射至一个可执行数值,该可执行数值确定了子块划分数量、子块划分位置、针对不同子块ap1-apn而分别生成密码s1-sn的特定分布函数f1(x)-fn(x)所具有的均值及方差,及对应各子块ap1-apn的密码s1-sn的嵌入强度因数a1-an。

说明书附图3示出了密钥6中每位上的数字-可执行数值的映射关系。如说明书附图3所示,密钥6每一位上可选的阿拉伯数字0-9分别映射到可执行数值cp,q,其中,p的取值范围为1-n,q的取值范围为0-9,cp,q指密钥6的第p位的数值q映射得到的可执行数值。

以上实施例仅用以说明本发明的技术方案,而非对其限制。本领域技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求所界定的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1