CN116187414A - 一种神经网络模型加解密方法以及相关系统 - Google Patents
一种神经网络模型加解密方法以及相关系统 Download PDFInfo
- Publication number
- CN116187414A CN116187414A CN202111425818.4A CN202111425818A CN116187414A CN 116187414 A CN116187414 A CN 116187414A CN 202111425818 A CN202111425818 A CN 202111425818A CN 116187414 A CN116187414 A CN 116187414A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network model
- neuron
- model
- encryption key
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提供了一种神经网络模型加解密方法,应用于人工智能(AI)技术领域,包括:获取神经网络模型的结构信息和加密密钥,加密密钥用于指示待添加至神经网络模型的至少一个第二神经元的添加方式,然后根据神经网络模型的结构信息和加密密钥,向神经网络模型添加至少一个第二神经元,获得加密后的神经网络模型。当加密后的神经网络模型被交付给用户时,可以根据加密密钥,将加密后的神经网络模型中第二神经元的权重置零,从而实现模型解密。该方法通过在模型中添加具有混淆作用的第二神经元,使得模型的真实结构得到充分隐藏,实现了模型加密,然后在解密时,将第二神经元的权重置零,实现了模型解密,并且不泄露模型的真实结构和权重,保障了解密安全。
Description
技术领域
本申请涉及人工智能(artificial intelligence,AI)技术领域,尤其涉及一种神经网络模型加密/解密的方法、模型管理系统以及计算机集群、计算机可读存储介质、计算机程序产品。
背景技术
随着计算平台的算力飞速增长以及数据规模的不断增大,神经网络(neuralnetworks)的研究取得了较大的进展。其中,神经网络是机器学习或认知科学领域对人脑神经元进行抽象而建立的计算模型,也可以称作神经网络模型。神经网络模型在很多任务中不断刷新传统方法的记录,甚至可以达到超越人类的效果,因而得到广泛应用。
针对特定任务的神经网络模型(为了便于描述,有些情况下也简称为模型)在部署之前,通常需要进行模型训练。模型训练是指让神经网络模型学习已知数据中的规律,以获得合适的权重(weights),使得神经网络模型能够用于预测未知数据的过程。为了提高训练效率,通常可以利用开源框架构建初始神经网络模型进行训练。根据开源协议的规定,采用开源框架训练得到的神经网络模型通常也需要进行开源。
然而,业界并未提供针对开源的神经网络模型的通用保护方案,神经网络模型的相关信息(例如是结构信息)通常对用户透明。上述信息可以被非法分子利用,进而导致神经网络模型的安全性受到挑战。
发明内容
本申请提供了一种模型加解密方法,该方法通过在待加密后的神经网络模型中添加具有混淆作用的第二神经元,使得神经网络模型的真实结构得到充分隐藏,实现了对神经网络模型的加密。加密后的神经网络模型被交付给用户后,可以根据第二神经元的位置信息将加密后的神经网络模型中的第二神经元的权重置零,从而实现模型解密。由此实现了针对神经网络模型的通用保护方案,保障了神经网络模型的安全性。本申请还提供了上述方法对应的模型管理系统、计算机集群、计算机可读存储介质以及计算机程序产品。
第一方面,本申请提供了一种神经网络模型加密方法。该方法可以由模型管理系统(也称作模型管理平台)执行。在一些实施例中,模型管理系统可以是软件系统。计算设备或计算设备集群通过运行该软件系统的程序代码,以执行本申请实施例的模型加密方法。在另一些实施例中,该模型管理系统也可以是用于模型加密的硬件系统。
具体地,模型管理系统获取神经网络模型的结构信息,该结构信息包括神经网络模型中原有的神经元(也称作第一神经元)的位置信息,模型管理系统还获取加密密钥,该加密密钥用于指示待添加至所述神经网络模型的至少一个第二神经元的添加方式,模型管理系统可以根据神经网络模型的结构信息以及上述加密密钥,向神经网络模型添加上述至少一个第二神经元,从而获得加密后的神经网络模型。加密前和加密后的神经网络模型具有不同的结构和性能。
该方法通过在神经网络模型中添加具有混淆作用的第二神经元,使得神经网络模型的真实结构得到充分隐藏,实现了对神经网络模型的加密。通过上述第二神经元加密后的神经网络模型被交付给用户后,可以根据第二神经元的位置信息将加密后的神经网络模型中第二神经元的权重置零,即可实现神经网络模型的解密。在解密过程中,神经网络模型的真实结构不会被公开,神经网络模型的安全性得到保障。而且向用户呈现的神经网络模型中包括混淆神经元,用户无法获知神经网络模型的真实结构以及权重,也就无法对神经网络模型进行再次利用,模型开发者的知识产权能够得到保障。
在一些可能的实现方式中,所述加密密钥包括待添加至所述神经网络模型的至少一个第二神经元的位置信息。考虑到神经元(包括第一神经元和第一神经元、第二神经元和第二神经元、第一神经元和第二神经元)之间具有数据流向关系,每个第二神经元的位置信息可以由所述第二神经元在加密后的神经网络模型中的输入神经元和/或输出神经元标识。
基于此,模型管理系统可以根据所述神经网络模型的结构信息以及待添加至所述神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述神经网络模型中的至少一个第一神经元进行连接,获得所述加密后的神经网络模型。
在该方法中,模型管理系统可以根据加密密钥中至少一个第二神经元的位置信息向神经网络模型添加第二神经元,从而实现以统一的方式对神经网络模型加密,具有较高可用性。而且,该方法无需进行大量的计算,加密成本较低,能够满足业务的需求。
在一些可能的实现方式中,模型管理系统可以通过随机方式或者网络结构搜索方式获取加密密钥。具体地,针对待添加至神经网络模型的至少一个第二神经元中的每个第二神经元,模型管理系统可以通过随机方式确定所述每个第二神经元的位置信息。在一些实施例中,模型管理系统也可以根据所述神经网络模型的结构信息确定搜索空间,基于所述搜索空间,通过网络结构搜索算法确定待添加至所述神经网络模型的至少一个第二神经元的位置信息。
其中,搜索空间包括待添加的第二神经元的位置空间,例如是神经网络模型中各层神经元之间的位置以及外侧神经元之外(左侧神经元的左边或右侧神经元的右边)的位置空间。模型管理系统可以通过网络结构搜索算法搜索上述搜索空间,从搜索空间中确定待添加至神经网络模型的至少一个第二神经元的位置信息。模型管理系统在搜索时,可以是根据搜索空间在神经网络模型的一些层中的部分位置添加候选神经元,并为该候选神经元赋予权重。增添侯选神经元后的神经网络模型的整体性能相对于增添候选神经元前的神经网络模型有所下降。模型管理系统通过搜索出整体性能下降满足要求的候选神经元添加方案,从而得到待添加的第二神经元的位置信息。
在该方法中,模型管理系统采用随机方式生成加密密钥,具有较高的效率;模型管理系统采用网络结构搜索方式生成的加密密钥,具有较好的加密效果。
在一些可能的实现方式中,所述加密密钥包括预配置的神经元添加规则。如此,模型管理系统可以根据所述神经元添加规则,确定待添加至所述神经网络模型的至少一个第二神经元的位置信息。每个第二神经元的位置信息由所述第二神经元在加密后的神经网络模型中的输入神经元和/或输出神经元标识。然后模型管理系统可以根据所述神经网络模型的结构信息以及待添加至所述神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述神经网络模型中的至少一个第一神经元进行连接。
其中,神经元添加规则可以是针对神经网络模型的每一层,在每两个神经元之间添加一个神经元,或者是针对神经网络模型的特定层(例如卷积层、奇数层)的特定神经元如(每两个相邻的神经元)之间添加一个神经元。
在该方法中,加密密钥包括神经元添加规则,相较于包括第二神经元的位置信息的加密密钥,该方法可以有效缩短加密密钥的长度,降低加密密钥的传输开销。
在一些可能的实现方式中,模型管理系统在加密神经网络模型时,可以根据所述神经网络模型的结构信息和所述加密密钥,将所述至少一个第二神经元与所述神经网络模型的至少一个第一神经元进行连接,获得添加后模型,然后通过随机方式或者从所述多个第一神经元的权重分布中采样的方式,为所述添加后模型中的至少一个第二神经元赋予权重,获得所述加密后的神经网络模型。
其中,采用随机方式或者从所述多个第一神经元的权重分布中采样的方式进行权重赋值可以避免非法分子通过权重分析出原有的第一神经元和加密时添加的第二神经元,保障加密后的神经网络模型的安全性。
在一些可能的实现方式中,所述至少一个第二神经元的权重通过矩阵表征。所述矩阵中元素的元素值为随机值添加噪声后的值,或者是所述多个第一神经元的权重分布的采样值添加噪声后的值。
该方法通过在随机值或采样值基础上进一步添加噪声,可以使得添加后模型的性能进一步下降,当性能达到理论最差值(例如是二分类模型的精度降低至0.5)时,可以将此时的模型作为加密后的神经网络模型。该加密后的神经网络模型模型具有较好的加密效果。
在一些可能的实现方式中,模型管理系统还可以进行模型训练,然后对训练好的模型进行加密,以保障训练好的模型的安全性。具体地,在获取神经网络模型的结构信息之前,模型管理系统可以获取初始神经网络模型,然后利用数据集对所述初始神经网络模型进行训练,获得所述神经网络模型。如此可以实现一站式的模型训练、加密服务。
第二方面,本申请提供了一种神经网络模型解密方法。该方法可以由模型管理系统执行。该模型管理系统具体为用于模型解密的系统。该模型管理系统可以是软件系统,或者是硬件系统,本实施例对此不作限定。
具体地,模型管理系统获取第一神经网络模型及加密密钥,其中,第一神经网络模型是对第二神经网络模型加密获得,第一神经网络模型包括多个第一神经元和在加密过程中添加的至少一个第二神经元,加密密钥用于指示所述至少一个第二神经元的添加方式,由于加密密钥可以用于确定添加的至少一个第二神经元的位置信息,因此,该加密密钥也可以作为解密密钥,具体地,模型管理系统根据加密密钥,将所述第一神经网络模型中所述至少一个第二神经元的权重置零,获得所述第二神经网络模型的等价模型。所述第二神经网络模型的等价模型具有与所述第二神经网络模型相同的推理功能。
在解密过程中,第二神经网络模型的真实结构不会被公开,第二神经网络模型的安全性得到保障。而且向用户呈现的第二神经网络模型的等价模型中包括混淆神经元,用户无法获知第二神经网络模型的真实结构以及权重,也就无法对第二神经网络模型进行再次利用,模型开发者的知识产权能够得到保障。
在一些可能的实现方式中,所述加密密钥包括所述至少一个第二神经元的位置信息。模型管理系统可以根据所述至少一个第二神经元的位置信息,将所述至少一个第二神经元的权重置零,获得所述第二神经网络模型的等价模型。
其中,加密密钥中直接记录了第二神经元的位置信息,模型管理系统可以直接利用该位置信息进行模型解密,提高了解密的效率。
在一些可能的实现方式中,模型管理系统还可以对所述第二神经网络模型的等价模型进行调优,如此相当于对第二神经网络模型进行调优,采用调优后的神经网络模型进行部署,可以获得较好的性能。此外,模型管理系统还可以使用所述第二神经网络模型的等价模型进行推理。
需要说明的是,模型管理系统可以直接使用第二神经网络模型的等价模型进行推理,也可以先进行模型调优,然后使用调优后的神经网络模型进行推理。
第三方面,本申请提供了一种模型管理系统。所述系统包括:
获取模块,用于获取神经网络模型的结构信息,以及获取加密密钥,所述结构信息包括所述神经网络模型中多个第一神经元的位置信息,所述加密密钥用于指示待添加至所述神经网络模型的至少一个第二神经元的添加方式;
加密模块,用于根据所述神经网络模型的结构信息和所述加密密钥,向所述神经网络模型添加所述至少一个第二神经元,获得加密后的神经网络模型,所述加密后的神经网络模型与所述神经网络模型具有不同的结构和性能。
在一些可能的实现方式中,所述加密密钥包括待添加至所述神经网络模型的至少一个第二神经元的位置信息,每个第二神经元的位置信息由所述第二神经元在加密后的神经网络模型中的输入神经元和/或输出神经元标识;
所述加密模块具体用于:
根据所述神经网络模型的结构信息以及待添加至所述神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述神经网络模型中的至少一个第一神经元进行连接,获得所述加密后的神经网络模型。
在一些可能的实现方式中,所述获取模块具体用于:
针对待添加至所述神经网络模型的至少一个第二神经元中的每个第二神经元,通过随机方式确定所述每个第二神经元的位置信息;或者,
根据所述神经网络模型的结构信息确定搜索空间,基于所述搜索空间,通过网络结构搜索算法确定待添加至所述神经网络模型的至少一个第二神经元的位置信息。
在一些可能的实现方式中,所述加密密钥包括预配置的神经元添加规则,所述加密模块具体用于:
根据所述神经元添加规则,确定待添加至所述神经网络模型的至少一个第二神经元的位置信息,每个第二神经元的位置信息由所述第二神经元在加密后的神经网络模型中的输入神经元和/或输出神经元标识;
根据所述神经网络模型的结构信息以及待添加至所述神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述神经网络模型中的至少一个第一神经元连接。
在一些可能的实现方式中,所述加密模块具体用于:
根据所述神经网络模型的结构信息和所述加密密钥,将所述至少一个第二神经元与所述神经网络模型的至少一个第一神经元连接,获得添加后模型;
通过随机方式或者从所述多个第一神经元的权重分布中采样的方式,为所述添加后模型中的至少一个第二神经元赋予权重,获得所述加密后的神经网络模型。
在一些可能的实现方式中,所述至少一个第二神经元的权重通过矩阵表征,所述矩阵中元素的元素值为随机值添加噪声后的值,或者是所述多个第一神经元的权重分布的采样值添加噪声后的值。
在一些可能的实现方式中,所述获取模块还用于:
获取初始神经网络模型;
所述系统还包括:
训练模块,用于利用数据集对所述初始神经网络模型进行训练,获得所述神经网络模型。
第四方面,本申请提供了一种模型管理系统。所述系统包括:
获取模块,用于获取第一神经网络模型及加密密钥,所述第一神经网络模型是对第二神经网络模型加密获得,所述第一神经网络模型包括多个第一神经元和在加密过程中添加的至少一个第二神经元,所述加密密钥用于指示所述至少一个第二神经元的添加方式;
解密模块,用于根据所述加密密钥,将所述第一神经网络模型中所述至少一个第二神经元的权重置零,获得所述第二神经网络模型的等价模型,所述第二神经网络模型的等价模型具有与所述第二神经网络模型相同的推理功能。
在一些可能的实现方式中,所述加密密钥包括所述至少一个第二神经元的位置信息,所述解密模块具体用于:
根据所述至少一个第二神经元的位置信息,将所述至少一个第二神经元的权重置零,获得所述第二神经网络模型的等价模型。
在一些可能的实现方式中,所述系统还包括:
调优模块,用于对所述第二神经网络模型的等价模型进行调优;或者,
推理模块,用于使用所述第二神经网络模型的等价模型进行推理。
第五方面,本申请提供一种计算设备集群,所述计算设备集群包括至少一台计算设备。至少一台计算设备包括至少一个处理器和至少一个存储器。所述处理器、所述存储器进行相互的通信。所述至少一个处理器用于执行所述至少一个存储器中存储的指令,以使得计算设备集群执行如第一方面或第二方面的任一种实现方式所述的方法。
第六方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示计算设备或计算设备集群执行上述第一方面或第二方面的任一种实现方式所述的方法。
第七方面,本申请提供了一种包含指令的计算机程序产品,当其在计算设备或计算设备集群上运行时,使得计算设备或计算设备集群执行上述第一方面或第二方面的任一种实现方式所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。
图1为本申请实施例提供的一种模型加解密方法的应用场景示意图;
图2为本申请实施例提供的一种模型管理界面的界面示意图;
图3为本申请实施例提供的一种模型加解密的原理图;
图4为本申请实施例提供的一种对第一神经网络模型进行解密并基于解密后的神经网络模型进行模型调优的示意图;
图5为本申请实施例提供的一种对第一神经网络模型进行解密并基于解密后的神经网络模型进行模型推理的示意图;
图6为本申请实施例提供的一种模型加解密方法的交互流程图;
图7为本申请实施例提供的一种第二神经网络模型的结构示意图;
图8为本申请实施例提供的一种第一模型管理系统的结构示意图;
图9为本申请实施例提供的一种第一模型管理系统的结构示意图;
图10为本申请实施例提供的一种计算设备集群的结构示意图;
图11为本申请实施例提供的一种计算设备集群的结构示意图。
具体实施方式
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
首先对本申请实施例中所涉及到的一些技术术语进行介绍。
神经网络是一种模仿生物神经网络(例如动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型。因此,神经网络也称作神经网络模型(本申请中,为了表达简洁,如无特殊说明,神经网络模型有时也简称为模型),神经网络模型通常由大量的神经元联结进行计算。
神经元也可以称作节点(node),是神经网络模型的基本单元。神经元可以用于表示对数据(如图像、文本)施加的数学操作,该数学操作包括但不限于卷积(convolution)、池化(pooling)、加法(add)、激活(例如为sigmoid、tanh或者ReLU)等。
各神经元之间通过连接(connection)构成神经网络模型。神经网络模型中的任意一个神经元通常连接有至少一个神经元。根据神经元之间的数据流向关系,两个或两个以上的神经元相连接时,一个神经元的输出数据可以为另一个神经元的输入数据。因此,将与一个神经元连接的,用于提供给该神经元的输入数据的神经元称为该神经元的输入神经元,用于获得该神经元的输出数据的神经元称为该神经元的输出神经元。例如,神经元A接收神经元B输入的数据,对该数据进行处理,然后将处理后的数据输入神经元C,则可以将神经元B称为神经元A的输入神经元,神经元C称为神经元A的输出神经元。需要说明的是,一个神经元的输入神经元或输出神经元的数量可以是一个或多个。在本申请中,神经元的位置信息可以由该神经元在神经网络模型中的输入神经元和/或输出神经元标识。
模型加密(model encryption),是指借助一定的加密算法,对神经网络模型实施加密,从而保障神经网络模型承载的算法和数据(例如是结构、权重)等信息不被泄露。一方面,可以避免神经网络模型承载的上述信息被非法分子利用,导致神经网络模型的安全性受到挑战,另一方面也可以避免模型开发者的知识产权被侵害。
模型解密(model decryption),是指采用与加密算法对应的解密算法,对神经网络模型进行解密,使得神经网络模型的推理功能可以正常使用。其中,推理功能是指将训练好的神经网络模型部署到实际业务场景中进行使用,例如用于图像分类、物体检测、文本翻译等等。
模型调优(model fine-tune),也称作模型微调,是指对已经确定结构和预训练权重的神经网络模型进行超参数(例如是学习率、正则化参数等)选择或者精细化训练,从而进一步提高该神经网络模型的性能(performance)。
目前,神经网络模型通常是基于开源框架构建,基于开源框架构建的神经网络模型的模型信息,例如结构信息、权重等通常保存在模型文件中。模型文件通常是对用户透明的,具体是指该模型文件对用户可见。如果将神经网络模型的模型文件打包成二进制文件,然后采用加密算法对二进制文件进行加密,可以保障模型文件在传输过程中的安全性。然而,加密后的神经网络模型交付给用户后,用户需要利用加密算法对应的解密算法进行解密,获得神经网络模型的模型文件,然后根据模型文件部署神经网络模型,以进行模型调优或者模型推理。上述加密后的神经网络模型,在模型部署时需要被解密,被解密后的神经网络模型的结构信息等在用户端被公开,如果被非法分子利用,可以导致神经网络模型的安全性受到挑战。并且上述结构信息、权重等模型信息可以被再次利用,从而导致模型开发者的知识产权难以得到保障。
有鉴于此,本申请实施例提供了一种神经网络模型加密方法。该方法可以由模型管理系统(也可以称作模型管理平台)执行。在一些实施例中,模型管理系统可以是软件系统。计算设备或计算设备集群通过运行该软件系统的程序代码,以执行本申请实施例的模型加密方法。在另一些实施例中,该模型管理系统也可以是用于模型加密的硬件系统。本申请实施例以模型管理系统为软件系统进行示例说明。
具体地,模型管理系统获取神经网络模型的结构信息,该结构信息包括神经网络模型中原有的神经元(为了便于描述,也称作第一神经元)的位置信息,模型管理系统还获取有加密密钥,该加密密钥用于指示待添加至神经网络模型的至少一个混淆神经元(具体是用于产生混淆特征,使得模型无法提取有效的原始特征进行预测,导致预测效果变差的神经元,为了便于描述,也称作第二神经元)的添加方式,模型管理系统可以根据神经网络模型的结构信息以及上述加密密钥,向神经网络模型添加上述至少一个第二神经元,从而获得加密后的神经网络模型。加密前和加密后的神经网络模型具有不同的结构和性能。
该方法通过在神经网络模型中添加具有混淆作用的第二神经元,使得神经网络模型的真实结构得到充分隐藏,实现了对神经网络模型的加密。通过上述第二神经元加密后的神经网络模型被交付给用户后,可以根据第二神经元的位置信息将加密后的神经网络模型中第二神经元的权重置零,即可实现神经网络模型的解密。在解密过程中,神经网络模型的真实结构不会被公开,神经网络模型的安全性得到保障。而且向用户呈现的神经网络模型中包括混淆神经元,用户无法获知神经网络模型的真实结构以及权重,也就无法对神经网络模型进行再次利用,模型开发者的知识产权能够得到保障。
针对不同的应用场景,如本地部署的应用场景(在本地数据中心部署应用),或者云端部署的应用场景(在云环境中部署应用),模型管理系统可以采用统一的方法对神经网络模型进行加密,具有较好的通用性。当模型开发者向用户交付加密后的神经网络模型之后,还可以采用统一的方法对加密后的神经网络模型进行解密,以便于进行模型调优或模型推理。该过程中神经网络模型的真实结构和权重不会被泄露,可以较好地兼顾安全性与开放性。
需要说明的是,该方法并非针对特定业务开发的模型加密方法,可以广泛应用于各种模型加密场景。例如可以应用于对图像分类模型加密的场景,对目标检测模型加密的场景,或者对文本翻译模型加密的场景等。
执行模型加密方法的模型管理系统具有模型加密的功能。该功能可以通过独立服务提供给用户使用,也可以作为模型训练服务的增值服务提供给用户使用。例如,模型管理系统可以提供模型训练服务,模型开发者可以基于模型训练服务训练神经网络模型。当模型开发者购买或者租赁模型加密服务后,模型管理系统可以向模型开发者授权模型加密服务的使用权限,模型开发者获得使用权限后,可以使用模型加密服务对训练好的神经网络模型加密。
其中,用于交付神经网络模型(例如是加密后的神经网络模型)的模型管理系统(为了便于描述,称之为第一模型管理系统)在交付端运行,该交付端可以是本地终端,也可以包括云端,例如是云环境中的设备。其中,云环境指示云服务提供商拥有的,用于提供计算、存储、通信资源的中心计算设备集群。该中心计算设备集群包括一个或多个中心计算设备,例如是中心服务器。用于部署神经网络模型的模型管理系统(为了便于描述,称之第二模型管理系统)在部署端运行。第二模型管理系统具有模型解密的功能,第二模型管理系统可以执行模型解密方法,以对加密后的神经网络模型进行解密,并部署解密后的神经网络模型。与模型加密类似,模型解密可以以独立服务的形式提供给用户使用,或者以增值服务的形式提供给用户使用。
为了使得本申请的技术方案更加清楚、易于理解,下面结合附图对本申请的应用场景进行介绍。
参见图1所示的模型加解密方法的应用场景示意图,云环境10和终端20形成交付端,用于向用户交付加密后的神经网络模型。为了便于描述,本申请实施例将加密后的神经网络模型称作第一神经网络模型。该第一神经网络模型是对第二神经网络模型加密得到。终端30为部署端,用于对加密后的神经网络模型即第一神经网络模型进行解密,得到解密后的神经网络模型,该解密后的神经网络模型为第二神经网络模型的等价模型,具有与第二神经网络模型相同的推理功能。终端30部署上述第二神经网络模型的等价模型进行模型推理。
具体地,终端20中安装有客户端(图1中未示出)。在一些实施例中,该客户端可以是通用客户端,例如是浏览器。在另一些实施例中,该客户端可以是专用户客户端,该客户端可以专用于实现模型加密等模型管理功能。具体地,模型开发者可以触发运行客户端的操作,终端10响应于用户的上述操作运行客户端,客户端可以访问云环境10,在云环境10中创建第一模型管理系统的实例(instance)。
其中,实例是指程序代码运行产生的进程或线程。基于此,第一模型管理系统的实例可以是第一模型管理系统的程序代码运行产生的进程或线程,也即第一模型管理系统的实例可以是运行态的第一模型管理系统。客户端和第一模型管理系统可以通过交互的方式,对第二神经网络模型进行加密。
具体地,客户端可以向用户呈现模型管理界面200,该模型管理界面200承载有模型加密控件202。模型开发者可以点击模型加密控件202触发模型加密操作,客户端响应于该操作,向模型开发者呈现模型选择列表204,该模型选择列表204中包括可加密的神经网络模型,模型开发者可以通过模型选择列表204中选择控件选择相应的神经网络模型,例如选择第二神经网络模型,然后模型开发者可以点击确定控件206,客户端可以响应于用户点击确定控件206的操作,生成模型加密请求,并向第一模型管理系统发送模型加密请求。
第一模型管理系统根据模型加密请求,获取待加密的第二神经网络模型的结构信息,以及获取加密密钥。其中,结构信息包括第二神经网络模型中多个第一神经元的位置信息,该位置信息可以通过第一神经元在第二神经网络模型中的输入神经元和/或输出神经元标识。加密密钥用于指示待添加至第二神经网络模型的至少一个第二神经元的添加方式。例如,加密密钥可以包括待添加至所述第二神经网络模型的至少一个第二神经元的位置信息。又例如,加密密钥可以包括预配置的神经元添加规则。该神经元添加规则可以为针对第二神经网络模型的每一层,在每两个神经元之间添加一个神经元。
第一模型管理系统可以根据第二神经网络模型的结构信息和所述加密密钥,向所述第二神经网络模型添加所述至少一个第二神经元,获得第一神经网络模型。其中,加密密钥包括待添加至所述第二神经网络模型的至少一个第二神经元的位置信息时,第一模型管理系统可以根据待添加至所述第二神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述第二神经网络模型中的至少一个第一神经元进行连接,获得第一神经网络模型。加密密钥包括神经元添加规则时,第一模型管理系统可以根据上述神经元添加规则,确定待添加至所述第二神经网络模型的至少一个第二神经元的位置信息,然后再根据第二神经网络模型的结构信息以及待添加至第二神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述第二神经网络模型中的至少一个第一神经元进行连接,获得第一神经网络模型。
图3还示出了模型加解密的原理图,如图3所示,第二神经网络模型可以包括通用的骨干(backbone)网络和用于特定任务的头(head)网络。其中,backbone网络用于提取特征,head网络用于根据backbone网络提取的特征完成特定任务。该特定任务例如可以是目标检测任务、图像分类任务、文本翻译任务等等。在一些实施例中,backbone网络可以是计算机视觉组(visual geometry group,VGG)网络、仅看一次(you only look once,YOLO)网络或者是inception网络。head网络可以是检测头(detection head)或分割头(segmentation head)等等。
在一些可能的实现方式中,第二神经网络模型还可以包括瓶颈(bottleneck)网络,也称脖子(neck)网络。neck网络连接在backbone网络和head网络之间。作为一些示例,neck网络可以包括特征金字塔网络(feature pyramid networks,FPN)。FPN用于目标检测任务时,可以在不同的尺度(实际上就是不同大小的特征图feature map)上去提取不同尺度的特征,并进行融合,充分利用好backbone网络提取的所有特征,从而让head网络能够更好地检测目标,由此提升整个第二神经网络模型的性能。
在图3的示例中,第一模型管理系统可以获取第二神经网络模型的结构信息,该结构信息包括第二神经网络模型中backbone网络包括的第一神经元的位置信息,并获取加密密钥,该加密密钥用于指示待添加至第二神经网络模型的至少一个第二神经元的添加方式,例如加密密钥可以包括待添加至第二神经网络模型中backbone网络的至少一个第二神经元的位置信息,然后第一模型管理系统可以根据至少一个第二神经元的位置信息将至少一个第二神经元添加至第二神经网络模型的backbone网络,从而获得第一神经网络模型。其中,第一神经网络模型包括head网络(例如是detection head)和加密的backbone网络。
在一些可能的实现方式中,第一模型管理系统还具有模型训练功能。参见图2所示的模型管理界面200的示意图,该模型管理界面200还承载有模型训练控件203。模型开发者可以点击模型训练控件203以触发模型训练操作,客户端可以响应于模型训练操作,生成模型训练请求,并向第一模型管理系统发送模型训练请求,以进行模型训练。具体地,第一模型管理系统可以获取初始神经网络模型,并利用数据集对初始神经网络模型进行训练,获得上述第二神经网络模型。然后,第一模型管理系统可以执行上述模型加密方法对训练好的第二神经网络模型加密,从而获得第一神经网络模型。
终端30中可以部署有第二模型管理系统(图1中未示出)。在另一些实施例中,第二模型管理系统也可以部署在云环境或者边缘环境中。图1仅以第二模型管理系统部署在终端30进行示例说明。第二模型管理系统可以响应于用户获取模型的操作,从云环境10(例如是云环境10中部署的第一模型管理系统)中下载第一神经网络模型。该第一神经网络模型通过对包括多个第一神经元的第二神经网络模型添加至少一个第二神经元进行混淆加密获得。
第二模型管理系统还获取加密密钥,该加密密钥指示上述至少一个第二神经元的添加方式。例如,加密密钥可以包括至少一个第二神经元在加密后的神经网络模型即第一神经网络模型中的位置信息。为了便于描述,本申请实施例提供了加密密钥的一个示例,如下所示:
其中,key表示加密密钥,加密密钥中包括待添加的k个第二神经元的位置信息,每个第二神经元的位置信息由该第二神经元在加密后的神经网络模型即第一神经网络模型中的输入神经元和/或输出神经元标识。例如,表示第k个第二神经元在加密后的神经网络模型即第一神经网络模型中的位置信息,/>分别标识第k个第二神经元在加密后的神经网络模型中的第1至mk个输入神经元,/>分别标识第k个第二神经元在加密后的神经网络模型中的第1至nk个输出神经元。
由于加密密钥指示了第二神经元的添加方式,基于该加密密钥可以获得添加的第二神经元在加密后的神经网络模型即第一神经网络模型中的位置信息,基于此,在解密过程中,可以将该加密密钥作为解密密钥进行解密。具体地,第二模型管理系统可以根据该加密密钥,将第一神经网络模型中至少一个第二神经元的权重置零,从而实现对第一神经网络模型进行解密,获得解密后的神经网络模型,该解密后的神经网络模型为第二神经网络模型的等价模型。其中,第二神经网络模型的等价模型具有和第二神经网络模型相同的推理功能。
为了便于理解,图4和图5还示出了对第一神经网络模型进行解密,并基于解密后的神经网络模型进行模型调优和模型推理的流程示意图。下面分别结合附图对模型调优的场景以及模型推理的场景进行说明。
参见图4,第二模型管理系统可以从云环境10中下载第一神经网络模型至本地(具体是指第二模型管理系统所在的终端30),以及从云环境10中获取加密得到第一神经网络模型所采用的加密密钥。需要说明的是,第二模型管理系统可以先获取经过加密的加密密钥,然后在本地解密获得加密密钥,从而保障加密密钥在传输过程中的安全性。
第二模型管理系统可以基于上述加密密钥,将第一神经网络模型中至少一个第二神经元的权重置零,获得第二神经网络模型的等价模型。然后,第二模型管理系统可以利用本地数据,例如是本地数据集中的样本数据,对等价模型进行模型调优。具体地,第二模型管理系统可以根据本地数据,以较小的学习率对等价模型的权重(例如是多个第一神经元的权重,也称作有效权重)进行微调。进一步地,第二模型管理系统还可以利用新的加密密钥对调优后的神经网络模型重新加密,以保障调优后的神经网络模型的安全性。
参见图5,第二模型管理系统可以从云环境10中下载第一神经网络模型至本地,以及获取加密得到第一神经网络模型所采用的加密密钥,然后第二模型管理系统可以基于上述加密密钥,将第一神经网络模型中至少一个第二神经元的权重置零,获得第二神经网络模型的等价模型。然后,第二模型管理系统可以将输入数据输入上述等价模型,通过等价模型进行特征提取,并对提取的特征进行表达,从而进行模型推理获得推理结果。
需要说明的是,在进行模型推理前,也可以先进行模型调优。当调优后的神经网络模型采用新的加密密钥加密时,还可以从云端获取加密的调优后的神经网络模型,并采用新的加密密钥解密,从而获得调优后的神经网络模型的等价模型。第二模型管理系统可以基于调优后的神经网络模型的等价模型进行模型推理。在一些实施例中,第二模型管理系统也可以不进行模型调优,直接对第一神经网络模型进行解密,并以解密后的神经网络模型例如是上述第二神经网络模型的等价模型进行模型推理。
图4、图5是以对图3中的第一神经网络模型进行解密,并基于解密后的神经网络模型进行模型调优和模型推理进行示例说明。图3主要对第二神经网络模型中的骨干网络进行加密得到第一神经网络模型,基于此,第二模型管理系统可以从云环境10中下载加密的骨干网络至本地。
以上为本申请实施例中第一模型管理系统、第二模型管理系统的部署方式的一些示例,在本申请实施例其他可能的实现方式中,也可以采用其他部署方式,例如第一模型管理系统和第二模型管理系统均可以部署在云环境10中,或者第一模型管理系统部署在云环境10中,第二模型管理系统部署在边缘环境中。本实施例对部署方式不作限制,可以根据业务需求进行选择。
接下来,将从第一模型管理系统、第二模型管理系统交互的角度对本申请实施例提供的模型加解密方法进行详细说明。
参见图6所示的模型加解密方法的交互流程图,该方法包括:
S602:第一模型管理系统获取第二神经网络模型的结构信息。
第二神经网络模型的结构信息包括所述第二神经网络模型中第一神经元的位置信息。其中,第一神经元是指第二神经网络模型中原有的神经元。根据第一神经元之间的数据流向关系,两个或两个以上的第一神经元相连接时,一个第一神经元的输出数据可以为另一个第一神经元的输入数据。因此,将与一个第一神经元连接的,用于提供给该第一神经元的输入数据的第一神经元称为该第一神经元的输入神经元,用于获得该第一神经元的输出数据的第一神经元称为该第一神经元的输出神经元。基于此,第一神经元的位置信息可以通过第一神经元在第二神经网络模型中的输入神经元和/或输出神经元标识。
在一些实施例中,例如第二神经网络模型为全连接神经网络模型时,第一神经元的位置信息也可以通过该第一神经元在第二神经网络模型中的层数以及该第一神经元在该层的编号进行表征。
其中,每个第一神经元可以具有标识(identifer,ID)。该标识通常具有唯一性。例如,第一神经元的标识可以是根据该第一神经元在第二神经网络模型中的层数以及在该层的编号得到的字符串。当第二神经网络模型为全连接神经网络模型时,第一模型管理系统可以直接获取第一神经元的标识,从而获得第一神经元的位置信息。当第二神经网络模型为其他类型的神经网络模型时,例如是递归神经网络模型时,第一模型管理系统可以采用输入神经元的标识和输出神经元的标识表征第一神经元的位置信息。
下面结合示例进行说明。参见图7所示的第二神经网络模型的结构示意图,假设第二神经网络模型包括多个第一神经元,多个第一神经元的标识分别为0001-001、0001-002、0001-003、0001-004、0002-001、0002-002、0002-003、0003-001、0003-002,其中,“-”前面的字符串表征第一神经元在第二神经网络模型中的层数,“-”后面的字符串表征第一神经元在该层的编号。基于此,标识为0002-001的第一神经元的位置信息可以通过该第一神经元的输入神经元和输出神经元标识。其中,标识为0002-001的第一神经元的输入神经元包括标识为0001-001、0001-002、0001-003的第一神经元,标识为0002-001的第一神经元的输出神经元包括标识为0003-001、0003-002的第一神经元。
在一些可能的实现方式中,第一模型管理系统可以获取第二神经网络模型的模型文件,该模型文件中包括第二神经网络模型的结构信息和权重,第一模型管理系统可以通过识别模型文件,获得该第二神经网络模型的结构信息。
S604:第一模型管理系统获取加密密钥。
加密密钥是指用来完成加密、解密等密码学应用的秘密信息。在本实施例中,加密密钥用于指示待添加至所述第二神经网络模型的第二神经元的添加方法。在一些实施例中,加密密钥可以是待添加至所述第二神经网络模型的至少一个第二神经元的位置信息。每个第二神经元的位置信息可以由该第二神经元在加密后的神经网络模型即第一神经网络模型中的输入神经元和/或输出神经元进行标识。其中,待添加的第二神经元中至少有一个第二神经元的输入神经元或输出神经元包括第一神经元。在另一些实施例中,加密密钥也可以是预配置的神经元添加规则。该神经元添加规则可以用于确定待添加的第二神经元的位置信息。
在一些可能的实现方式中,第一模型管理系统可以先确定待添加的第二神经元的数量,然后针对待添加至所述第二神经网络模型的至少一个第二神经元中的每个第二神经元,采用随机方式确定每个第二神经元的位置信息,由此获得加密密钥。
在另一些可能的实现方式中,第一模型管理系统还可以借鉴通过搜索方式设计网络结构的经验,采用网络结构搜索(neural architecture search,NAS)算法确定待添加至所述第二神经网络模型的至少一个第二神经元的位置信息。
具体地,第一模型管理系统可以根据第二神经网络模型的结构信息确定搜索空间,该搜索空间包括待添加的第二神经元的位置空间,例如是神经网络模型中各层神经元之间的位置以及外侧神经元之外(左侧神经元的左边或右侧神经元的右边)的位置空间,第一模型管理系统基于所述搜索空间,通过NAS算法确定待添加至所述第二神经网络模型的至少一个第二神经元的位置信息。
其中,第一模型管理系统可以根据NAS算法搜索上述搜索空间,具体是在第二神经网络模型的一些层中的部分位置添加候选神经元,并为该候选神经元赋予权重。增添候选神经元后的第二神经网络模型的整体性能相较于增添候选神经元之前的第二神经网络模型的整体性能有着一定程度的下降。其中,候选神经元的数量与位置可以对第二神经网络模型的整体性能产生较大的影响。在这一过程中,第一模型管理系统可以设置性能评估指标,例如以增添候选神经元前、后的第二神经网络模型模型的整体性能的差值,如平均绝对误差(mean absolute error,MAE)、均方误差(mean-square error,MSE)等作为性能评估指标,进行第二神经元添加方案的搜索。当性能评估指标满足设定条件时,可以停止搜索,并将搜索得到的第二神经元添加方案中候选神经元的位置确定为待添加的第二神经元的位置,由此可以获得加密密钥。
其中,第一模型管理系统在搜索第二神经元添加方案时,可以参考部分模型结构设计的经验,分别固定候选神经元的数量与位置,进行第二神经元添加方案的搜索,如此可以减少搜索次数,提高搜索效率。
在另一些可能的实现方式中,第一模型管理系统还可以获取预配置的神经元添加规则,从而获得加密密钥。其中,神经元添加规则可以是在第二神经网络模型的奇数层中每两个第一神经元之间添加一个第二神经元,或者是在第二神经网络模型的外侧添加第二神经元,本实施例对此不作限制。
需要说明的是,上述S602和S604可以并行执行,或者按照设定顺序先后执行。例如加密密钥为预配置的神经元添加规则时,第一模型管理系统可以并行执行S602、S604。又例如,加密密钥为待添加至所述第二神经网络模型的至少一个第二神经元的位置信息时,第一模型管理系统可以先执行S602,然后根据执行S602获得的结构信息执行S604。
S606:第一模型管理系统根据所述第二神经网络模型的结构信息和所述加密密钥,向所述第二神经网络模型添加所述至少一个第二神经元,获得第一神经网络模型。
当加密密钥包括待添加至所述第二神经网络模型的至少一个第二神经元的位置信息时,第一模型管理系统可以直接根据第二神经网络模型的结构信息以及待添加至所述第二神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述第二神经网络模型中的至少一个第一神经元连接,获得第一神经网络模型。
当加密密钥包括预配置的神经元添加规则时,第一模型管理系统根据所述神经元添加规则,确定待添加至所述第二神经网络模型的至少一个第二神经元的位置信息。每个第二神经元的位置信息可以由该第二神经元在加密后的神经网络模型即第一神经网络模型中的输入神经元和/或输出神经元进行标识。然后,第一模型管理系统可以根据所述第二神经网络模型的结构信息以及待添加至所述第二神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述第二神经网络模型中的至少一个第一神经元连接,从而完成第二神经元的添加,得到添加后模型。
其中,第一模型管理系统在完成第二神经元的添加后,可以为添加的第二神经元的赋予权重,从而获得第一神经网络模型。该第一神经网络模型与第二神经网络模型具有不同的结构和性能。需要说明的是,第二神经元的权重赋值可以有多种实现方式,下面分别进行详细说明。
在第一种实现方式中,第一模型管理系统可以采用随机方式为添加的第二神经元的权重(也可以称作混淆权重)赋值。例如第一模型管理系统可以采用随机函数生成随机值,并根据随机值获得第二神经元的权重。具体地,第二神经元的权重可以通过矩阵表示,以第二神经元为表示施加卷积操作的神经元为例,第二神经元的权重可以为卷积操作采用的卷积核。假设该卷积核为3*3卷积核,则第二神经元的权重可以表示为3*3的矩阵。该矩阵中每个元素的元素值可以是随机函数生成的随机值。
在第二种实现方式中,第一模型管理系统可以从所述多个第一神经元的权重分布中采样,从而为添加的第二神经元的权重赋值。其中,权重分布具体是权重对应的矩阵中元素的元素值形成的分布。权重分布揭示了矩阵中的元素值的分布规律。第一模型管理系统可以从权重分布中采样,将采样值作为第二神经元的权重对应的矩阵中元素的元素值,由此实现为第二神经元的权重赋值。
进一步地,第一模型管理系统也可以在上述随机值或采样值基础上添加噪声,并根据添加噪声后的值,获得第二神经元的权重。其中,对第二神经元的权重进一步地添加噪声,可以使得神经网络模型的性能进一步下降,逐步靠近性能的理论最差值,如此可以获得较好的加密效果。
需要说明的是,神经网络模型为二分类模型时,神经网络模型的性能的理论最差值可以是0.5。神经网络模型为n分类模型时,神经网络模型的性能的理论最差值可以是1/n。此外,第二神经元的权重的噪声方差可以根据第二神经元所在层自适应地设置,本申请实施例对此不作限制。
在加密得到的第一神经网络模型中,由于第二神经元(混淆神经元)的存在,数据在流过第一神经网络模型的一些层时,可以产生混淆特征,这些混淆特征混杂在原始特征中,在第一神经网络网络模型中不断传播,使第一神经网络模型无法获取有效的原始特征用于下游的预测任务,从而使预测结果变得很差,由此实现加密的作用,保障安全性。
S608:第二模型管理系统获取第一神经网络模型。
S610:第二模型管理系统获取加密密钥。
具体地,第二模型管理系统可以响应于用户触发的模型获取操作,从第一模型管理系统接收第一神经网络模型。第一神经网络模型为对第二神经网络模型加密得到。具体地,第一神经网络模型包括多个第一神经元以及加密过程中添加的至少一个第二神经元。
第二模型管理系统还可以从第一模型管理系统获取加密上述第二神经网络模型所采用的加密密钥。该加密密钥用于指示所述至少一个第二神经元的添加方式。其中,加密密钥的具体形式可以参见S604相关内容描述,在此不再赘述。
上述S608和S610的执行顺序可以根据需求设置,例如可以并行执行,也可以按照设定顺序先后执行,本实施例对此不作限制。
S612:第二模型管理系统根据加密密钥,将第一神经网络模型中所述至少一个第二神经元的权重置零,获得所述第二神经网络模型的等价模型。
由于加密密钥指示有第二神经元的添加方式,基于该加密密钥可以获得添加的第二神经元的位置信息,根据添加的第二神经元的位置信息可以实现模型解密,基于此,该加密密钥可以在模型解密过程中作为解密密钥使用。
具体地,第二模型管理系统可以基于该加密密钥指示的第二神经元添加方式,确定第二神经元的位置信息,根据该第二神经元的位置信息,将第一神经网络模型中所述至少一个第二神经元的权重置零,以对第一神经网络模型中的一些网络结构(第二神经元相关的网络结构)进行屏蔽,从而获得第二神经网络模型的等价模型。
第二神经网络模型的等价模型与第二神经网络模型具有相同的推理功能。进一步地,对该第二神经网络模型的等价模型进行调优时,第二神经元的权重保持为0,因此,相当于第二神经网络模型进行调优。对于第二神经网络模型的等价模型进行模型调优所得的调优后的神经网络模型,与直接对第二神经网络模型进行模型调优所得的调优后的神经网络模型具有相同的推理功能。因此,第二模型管理系统获得上述等价模型,相当于实现了对加密后的神经网络模型进行解密,在保障安全性的基础上,兼顾了开放性。
基于上述内容描述,本申请实施例提供了一种模型加解密方法。该方法通过在第二神经网络模型中添加第二神经元,使得第二神经网络模型的真实结构(如第一神经元的位置)得到充分隐藏,实现了对第二神经网络模型的加密。通过上述混淆神经元加密所得的第一神经网络模型被交付给用户后,可以将第一神经网络模型中第二神经元的权重置零,即可实现第一神经网络模型的解密。在解密过程中,第二神经网络模型的真实结构不会被公开,第二神经网络模型的安全性得到保障。而且向用户呈现的第二神经网络模型的等价模型中包括混淆神经元,用户无法获知真实结构以及权重,也就无法对第二神经网络模型进行再次利用,模型开发者的知识产权能够得到保障。
图6所示实施例是以神经元为粒度进行混淆神经元的添加,实现对第二神经网络模型的加密。进一步地,第一模型管理系统还可以以神经元构成的更加复杂的架构或模块为粒度,向第二神经网络模型中添加混淆子模块或混淆子架构,例如是残差块(ResBlock)、转换器(transformer)或者卷积神经网络(convolutional neural network,CNN)等类型的混淆子模块、混淆子架构,从而实现对第二神经网络模型的加密。相应地,第二模型管理系统将混淆权重置零,从而实现对加密所得的第一神经网络模型进行解密。
在一些可能的实现方式中,第一模型管理系统还可以基于加密密钥,生成错误的路由,具体是生成错误的连接关系,使得第二神经网络模型的性能进一步下降,从而实现对第二神经网络模型的加密。
上文对模型加解密方法进行了详细说明,接下来,本申请实施例还设计了在图像分类任务上的验证实验,对本申请实施例的模型加解密方法的效果进行验证。
该实验采用数据集ImageNet,对骨干网络分别为ResNet18、ResNet34、ResNet50、Vgg11、Vgg16、Vgg19的多个神经网络模型的加密效果进行验证。实验结果如下表所示:
表1主干网络为ResNet18的神经网络模型加密后的精度
Stage1 | Satge2 | Stage3 | Stage4 | ACC(Top1) |
67.27% | ||||
√ | 8.39% | |||
√ | 49.92% | |||
√ | 35.19% | |||
√ | 48.75% | |||
√ | √ | √ | √ | 0.64% |
其中,Stage i表示神经网络模型的骨干网络的第i个阶段。ACC为accuracy的缩写,用于表示在Stage i添加混淆神经元进行加密所得的神经网络模型的精度。表1中的“√”表示在骨干网络的对应阶段添加有混淆神经元,例如表1中第一行数据是指骨干网络不添加混淆神经元时,神经网络模型的精度,表1中第2至5行数据是指骨干网络的第一阶段至第四阶段分别添加混淆神经元时,神经网络模型的精度,表1中第6行数据是指骨干网络的第一至第四阶段均添加混淆神经元时,神经网络模型的精度。
表2主干网络为ResNet34的神经网络模型加密后的精度
Stage1 | Satge2 | Stage3 | Stage4 | ACC(Top1) |
71.33% | ||||
√ | 53.92% | |||
√ | 55.25% | |||
√ | 39.82% | |||
√ | 59.55% | |||
√ | √ | √ | √ | 2.98% |
表3主干网络为ResNet50的神经网络模型加密后的精度
Stage1 | Satge2 | Stage3 | Stage4 | ACC(Top1) |
74.55% | ||||
√ | 55.49% | |||
√ | 69.71% | |||
√ | 66.04% | |||
√ | 68.20% | |||
√ | √ | √ | √ | 18.57% |
表4主干网络为VGG16的神经网络模型加密后的精度
Stage1 | Satge2 | Stage3 | Stage4 | Stage5 | ACC(Top1) |
70.02% | |||||
√ | 69.77% | ||||
√ | 69.70% | ||||
√ | 69.07% | ||||
√ | 67.01% | ||||
√ | 68.89% | ||||
√ | √ | √ | √ | √ | 0.08% |
表5主干网络为VGG19的神经网络模型加密后的精度
Stage1 | Satge2 | Stage3 | Stage4 | Stage5 | ACC(Top1) |
70.68% | |||||
√ | 70.57% | ||||
√ | 70.32% | ||||
√ | 69.66% | ||||
√ | 67.96% | ||||
√ | 69.27% | ||||
√ | √ | √ | √ | √ | 0.12% |
由以上五个实验可知,通过在主干网络中加入混淆神经元进行加密,加密后的神经网络模型的预测结果急剧下降,达到了模型加密的预期效果。此外,在主干网络的不同阶段加入混淆神经元均可实现对神经网络模型的扰乱作用。由于每个阶段神经元个数的不同以及所处网络深度的不同,扰乱作用的效果存在一定差异。
上文结合图1至图7对本申请实施例提供的模型加解密方法进行了详细介绍,下面将结合附图对本申请实施例提供的模型管理系统,例如是第一模型管理系统、第二模型管理系统进行介绍。
参见图8所示的第一模型管理系统的结构示意图,该系统800包括:
获取模块802,用于获取神经网络模型的结构信息,以及获取加密密钥,所述结构信息包括所述神经网络模型中多个第一神经元的位置信息,所述加密密钥用于指示待添加至所述神经网络模型的至少一个第二神经元的添加方式;
加密模块804,用于根据所述神经网络模型的结构信息和所述加密密钥,向所述神经网络模型添加所述至少一个第二神经元,获得加密后的神经网络模型,所述加密后的神经网络模型与所述神经网络模型具有不同的结构和性能。
在一些可能的实现方式中,所述加密密钥包括待添加至所述神经网络模型的至少一个第二神经元的位置信息,每个第二神经元的位置信息由所述第二神经元在加密后的神经网络模型中的输入神经元和/或输出神经元标识;
所述加密模块804具体用于:
根据所述神经网络模型的结构信息以及待添加至所述神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述神经网络模型中的至少一个第一神经元进行连接,获得所述加密后的神经网络模型。
在一些可能的实现方式中,所述获取模块802具体用于:
针对待添加至所述神经网络模型的至少一个第二神经元中的每个第二神经元,通过随机方式确定所述每个第二神经元的位置信息;或者,
根据所述神经网络模型的结构信息确定搜索空间,基于所述搜索空间,通过网络结构搜索算法确定待添加至所述神经网络模型的至少一个第二神经元的位置信息。
在一些可能的实现方式中,所述加密密钥包括预配置的神经元添加规则,所述加密模块具体用于:
根据所述神经元添加规则,确定待添加至所述神经网络模型的至少一个第二神经元的位置信息,每个第二神经元的位置信息由所述第二神经元在加密后的神经网络模型中的输入神经元和/或输出神经元标识;
根据所述神经网络模型的结构信息以及待添加至所述神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述神经网络模型中的至少一个第一神经元进行连接。
在一些可能的实现方式中,所述加密模块804具体用于:
根据所述神经网络模型的结构信息和所述加密密钥,将所述至少一个第二神经元与所述神经网络模型的至少一个第一神经元连接,获得添加后模型;
通过随机方式或者从所述多个第一神经元的权重分布中采样的方式,为所述添加后模型中的至少一个第二神经元赋予权重,获得所述加密后的神经网络模型。
在一些可能的实现方式中,所述至少一个第二神经元的权重通过矩阵表征,所述矩阵中元素的元素值为随机值添加噪声后的值,或者是所述多个第一神经元的权重分布的采样值添加噪声后的值。
在一些可能的实现方式中,所述获取模块802还用于:
获取初始神经网络模型;
所述系统800还包括:
训练模块,用于利用数据集对所述初始神经网络模型进行训练,获得所述神经网络模型。
根据本申请实施例的第一模型管理系统800可对应于执行本申请实施例中描述的方法,并且第一模型管理系统800的各个模块/单元的上述和其它操作和/或功能分别为了实现图6所示实施例中的各个方法中由第一模型管理系统800的相应流程,为了简洁,在此不再赘述。
接着,参见图9所示的第二模型管理系统的结构示意图,该系统900包括:
获取模块902,用于获取第一神经网络模型及加密密钥,所述第一神经网络模型是对第二神经网络模型加密获得,所述第一神经网络模型包括多个第一神经元和在加密过程中添加的至少一个第二神经元,所述加密密钥用于指示所述至少一个第二神经元的添加方式;
解密模块904,用于根据所述加密密钥,将所述第一神经网络模型中所述至少一个第二神经元的权重置零,获得所述第二神经网络模型的等价模型,所述第二神经网络模型的等价模型具有与所述第二神经网络模型相同的推理功能。
在一些可能的实现方式中,所述加密密钥包括所述至少一个第二神经元的位置信息,所述解密模块904具体用于:
根据所述至少一个第二神经元的位置信息,将所述至少一个第二神经元的权重置零,获得所述第二神经网络模型的等价模型。
在一些可能的实现方式中,所述系统900还包括:
调优模块,用于对所述第二神经网络模型的等价模型进行调优;或者,
推理模块,用于使用所述第二神经网络模型的等价模型进行推理。
根据本申请实施例的第二模型管理系统900可对应于执行本申请实施例中描述的方法,并且第二模型管理系统900的各个模块/单元的上述和其它操作和/或功能分别为了实现图6所示实施例中的各个方法中由第二模型管理系统900的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供一种计算设备集群。该计算设备集群包括至少一台计算设备,该至少一台计算设备中的任一台计算设备可以来自云环境或者边缘环境,也可以是终端设备。该计算设备集群具体用于实现如图8所示实施例中第一模型管理系统800的功能。
图10提供了一种计算设备集群的结构示意图,如图10所示,计算设备集群10包括多台计算设备1000,计算设备1000包括总线1001、处理器1002、通信接口1003和存储器1004。处理器1002、存储器1004和通信接口1003之间通过总线1001通信。
总线1001可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器1002可以为中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
通信接口1003用于与外部通信。例如,通信接口1003用于获取神经网络模型的结构信息,以及获取加密密钥。又例如,通信接口1003还可以用于下发加密后的神经网络模型,例如第一神经网络模型。
存储器1004可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器1004还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,硬盘驱动器(hard diskdrive,HDD)或固态驱动器(solid state drive,SSD)。
存储器1004中存储有计算机可读指令,处理器1002执行该计算机可读指令,以使得计算设备集群10执行前述模型加密方法(或实现前述第一模型管理系统800的功能)。
具体地,在实现图8所示系统的实施例的情况下,且图8中所描述的第一模型管理系统800的各模块如获取模块802、加密模块804的功能为通过软件实现的情况下,执行图8中各模块的功能所需的软件或程序代码可以存储在计算设备集群10中的至少一个存储器1004中。至少一个处理器1002执行存储器1004中存储的程序代码,以使得计算设备集群10执行前述模型加密方法。
本申请实施例还提供另一种计算设备集群。该计算设备集群包括至少一台计算设备,该至少一台计算设备中的任一台计算设备可以来自云环境或者边缘环境,也可以是终端设备。该计算设备集群具体用于实现如图9所示实施例中第二模型管理系统900的功能。
图11提供了一种计算设备集群的结构示意图,如图11所示,计算设备集群11包括多台计算设备1100,计算设备1100包括总线1101、处理器1102、通信接口1103和存储器1104。处理器1102、存储器1104和通信接口1103之间通过总线1101通信。其中,总线1101、处理器1102、通信接口1103以及存储器1104的具体实现可以参见图10相关内容描述,在此不再赘述。
存储器1104中存储有计算机可读指令,处理器1102执行该计算机可读指令,以使得计算设备集群11执行前述模型加密方法(或实现前述第二模型管理系统900的功能)。
具体地,在实现图9所示系统的实施例的情况下,且图9中所描述的第二模型管理系统900的各模块如获取模块902、解密模块904的功能为通过软件实现的情况下,执行图9中各模块的功能所需的软件或程序代码可以存储在计算设备集群11中的至少一个存储器1104中。至少一个处理器1102执行存储器1104中存储的程序代码,以使得计算设备集群11执行前述模型解密方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备或计算设备集群执行上述模型加解密方法。
本申请实施例还提供了一种计算机程序产品。所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算设备或数据中心进行传输。所述计算机程序产品可以为一个软件安装包,在需要使用前述模型加解密方法的任一方法的情况下,可以下载该计算机程序产品并在计算设备或计算设备集群上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
Claims (23)
1.一种神经网络模型加密方法,其特征在于,所述方法包括:
获取神经网络模型的结构信息,以及获取加密密钥,所述结构信息包括所述神经网络模型中多个第一神经元的位置信息,所述加密密钥用于指示待添加至所述神经网络模型的至少一个第二神经元的添加方式;
根据所述神经网络模型的结构信息和所述加密密钥,向所述神经网络模型添加所述至少一个第二神经元,获得加密后的神经网络模型,所述加密后的神经网络模型与所述神经网络模型具有不同的结构和性能。
2.根据权利要求1所述的方法,其特征在于,所述加密密钥包括待添加至所述神经网络模型的至少一个第二神经元的位置信息,每个第二神经元的位置信息由所述第二神经元在加密后的神经网络模型中的输入神经元和/或输出神经元标识;
所述根据所述神经网络模型的结构信息和所述加密密钥,向所述神经网络模型添加所述至少一个第二神经元,获得加密后的神经网络模型,包括:
根据所述神经网络模型的结构信息以及待添加至所述神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述神经网络模型中的至少一个第一神经元进行连接,获得所述加密后的神经网络模型。
3.根据权利要求2所述的方法,其特征在于,所述获取加密密钥,包括:
针对待添加至所述神经网络模型的至少一个第二神经元中的每个第二神经元,通过随机方式确定所述每个第二神经元的位置信息;或者,
根据所述神经网络模型的结构信息确定搜索空间,基于所述搜索空间,通过网络结构搜索算法确定待添加至所述神经网络模型的至少一个第二神经元的位置信息。
4.根据权利要求1所述的方法,其特征在于,所述加密密钥包括预配置的神经元添加规则,所述根据所述神经网络模型的结构信息和所述加密密钥,向所述神经网络模型添加所述至少一个第二神经元,获得加密后的神经网络模型,包括:
根据所述神经元添加规则,确定待添加至所述神经网络模型的至少一个第二神经元的位置信息,每个第二神经元的位置信息由所述第二神经元在加密后的神经网络模型中的输入神经元和/或输出神经元标识;
根据所述神经网络模型的结构信息以及待添加至所述神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述神经网络模型中的至少一个第一神经元进行连接。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述神经网络模型的结构信息和所述加密密钥,向所述神经网络模型添加所述至少一个第二神经元,获得加密后的神经网络模型,包括:
根据所述神经网络模型的结构信息和所述加密密钥,将所述至少一个第二神经元与所述神经网络模型的至少一个第一神经元进行连接,获得添加后模型;
通过随机方式或者从所述多个第一神经元的权重分布中采样的方式,为所述添加后模型中的至少一个第二神经元赋予权重,获得所述加密后的神经网络模型。
6.根据权利要求5所述的方法,其特征在于,所述至少一个第二神经元的权重通过矩阵表征,所述矩阵中元素的元素值为随机值添加噪声后的值,或者是所述多个第一神经元的权重分布的采样值添加噪声后的值。
7.根据权利要求1至6任一项所述的方法,其特征在于,在获取神经网络模型的结构信息之前,所述方法还包括:
获取初始神经网络模型;
利用数据集对所述初始神经网络模型进行训练,获得所述神经网络模型。
8.一种神经网络模型解密方法,其特征在于,所述方法包括:
获取第一神经网络模型及加密密钥,所述第一神经网络模型是对第二神经网络模型加密获得,所述第一神经网络模型包括多个第一神经元和在加密过程中添加的至少一个第二神经元,所述加密密钥用于指示所述至少一个第二神经元的添加方式;
根据所述加密密钥,将所述第一神经网络模型中所述至少一个第二神经元的权重置零,获得所述第二神经网络模型的等价模型,所述第二神经网络模型的等价模型具有与所述第二神经网络模型相同的推理功能。
9.根据权利要求8所述的方法,其特征在于,所述加密密钥包括所述至少一个第二神经元的位置信息,所述根据所述加密密钥,将第一神经网络模型中所述至少一个第二神经元的权重置零,获得所述第二神经网络模型的等价模型,包括:
根据所述至少一个第二神经元的位置信息,将所述至少一个第二神经元的权重置零,获得所述第二神经网络模型的等价模型。
10.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:
对所述第二神经网络模型的等价模型进行调优;或者,
使用所述第二神经网络模型的等价模型进行推理。
11.一种模型管理系统,其特征在于,所述系统包括:
获取模块,用于获取神经网络模型的结构信息,以及获取加密密钥,所述结构信息包括所述神经网络模型中多个第一神经元的位置信息,所述加密密钥用于指示待添加至所述神经网络模型的至少一个第二神经元的添加方式;
加密模块,用于根据所述神经网络模型的结构信息和所述加密密钥,向所述神经网络模型添加所述至少一个第二神经元,获得加密后的神经网络模型,所述加密后的神经网络模型与所述神经网络模型具有不同的结构和性能。
12.根据权利要求11所述的系统,其特征在于,所述加密密钥包括待添加至所述神经网络模型的至少一个第二神经元的位置信息,每个第二神经元的位置信息由所述第二神经元在加密后的神经网络模型中的输入神经元和/或输出神经元标识;
所述加密模块具体用于:
根据所述神经网络模型的结构信息以及待添加至所述神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述神经网络模型中的至少一个第一神经元进行连接,获得所述加密后的神经网络模型。
13.根据权利要求12所述的系统,其特征在于,所述获取模块具体用于:
针对待添加至所述神经网络模型的至少一个第二神经元中的每个第二神经元,通过随机方式确定所述每个第二神经元的位置信息;或者,
根据所述神经网络模型的结构信息确定搜索空间,基于所述搜索空间,通过网络结构搜索算法确定待添加至所述神经网络模型的至少一个第二神经元的位置信息。
14.根据权利要求11所述的系统,其特征在于,所述加密密钥包括预配置的神经元添加规则,所述加密模块具体用于:
根据所述神经元添加规则,确定待添加至所述神经网络模型的至少一个第二神经元的位置信息,每个第二神经元的位置信息由所述第二神经元在加密后的神经网络模型中的输入神经元和/或输出神经元标识;
根据所述神经网络模型的结构信息以及待添加至所述神经网络模型的至少一个第二神经元的位置信息,将所述至少一个第二神经元与所述神经网络模型中的至少一个第一神经元进行连接。
15.根据权利要求11至14任一项所述的系统,其特征在于,所述加密模块具体用于:
根据所述神经网络模型的结构信息和所述加密密钥,将所述至少一个第二神经元与所述神经网络模型的至少一个第一神经元连接,获得添加后模型;
通过随机方式或者从所述多个第一神经元的权重分布中采样的方式,为所述添加后模型中的至少一个第二神经元赋予权重,获得所述加密后的神经网络模型。
16.根据权利要求15所述的系统,其特征在于,所述至少一个第二神经元的权重通过矩阵表征,所述矩阵中元素的元素值为随机值添加噪声后的值,或者是所述多个第一神经元的权重分布的采样值添加噪声后的值。
17.根据权利要求11至16任一项所述的系统,其特征在于,所述获取模块还用于:
获取初始神经网络模型;
所述系统还包括:
训练模块,用于利用数据集对所述初始神经网络模型进行训练,获得所述神经网络模型。
18.一种模型管理系统,其特征在于,所述系统包括:
获取模块,用于获取第一神经网络模型及加密密钥,所述第一神经网络模型是对第二神经网络模型加密获得,所述第一神经网络模型包括多个第一神经元和在加密过程中添加的至少一个第二神经元,所述加密密钥用于指示所述至少一个第二神经元的添加方式;
解密模块,用于根据所述加密密钥,将所述第一神经网络模型中所述至少一个第二神经元的权重置零,获得所述第二神经网络模型的等价模型,所述第二神经网络模型的等价模型具有与所述第二神经网络模型相同的推理功能。
19.根据权利要求18所述的系统,其特征在于,所述加密密钥包括所述至少一个第二神经元的位置信息,所述解密模块具体用于:
根据所述至少一个第二神经元的位置信息,将所述至少一个第二神经元的权重置零,获得所述第二神经网络模型的等价模型。
20.根据权利要求18或19所述的系统,其特征在于,所述系统还包括:
调优模块,用于对所述第二神经网络模型的等价模型进行调优;或者,
推理模块,用于使用所述第二神经网络模型的等价模型进行推理。
21.一种计算设备集群,其特征在于,所述计算机集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有计算机可读指令,所述至少一个处理器执行所述计算机可读指令,使得所述计算设备集群执行如权利要求1至7或8至10任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算设备或计算设备集群上运行时,使得所述计算设备或计算设备集群执行如权利要求1至7或8至10任一项所述的方法。
23.一种计算机程序产品,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算设备或计算设备集群上运行时,使得所述计算设备或计算设备集群执行如权利要求1至7或8至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111425818.4A CN116187414A (zh) | 2021-11-26 | 2021-11-26 | 一种神经网络模型加解密方法以及相关系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111425818.4A CN116187414A (zh) | 2021-11-26 | 2021-11-26 | 一种神经网络模型加解密方法以及相关系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116187414A true CN116187414A (zh) | 2023-05-30 |
Family
ID=86433193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111425818.4A Pending CN116187414A (zh) | 2021-11-26 | 2021-11-26 | 一种神经网络模型加解密方法以及相关系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116187414A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592089A (zh) * | 2024-01-18 | 2024-02-23 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
-
2021
- 2021-11-26 CN CN202111425818.4A patent/CN116187414A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592089A (zh) * | 2024-01-18 | 2024-02-23 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
CN117592089B (zh) * | 2024-01-18 | 2024-05-07 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11816575B2 (en) | Verifiable deep learning training service | |
JP7376593B2 (ja) | 人工知能を利用した安全保障システム | |
US20220269942A1 (en) | Privacy Enhancing Deep Learning Cloud Service Using a Trusted Execution Environment | |
CN111401558B (zh) | 数据处理模型训练方法、数据处理方法、装置、电子设备 | |
Charmet et al. | Explainable artificial intelligence for cybersecurity: a literature survey | |
JP2019511030A (ja) | 人工知能によるコンピュータセキュリティ | |
US20220222368A1 (en) | Data protection via attributes-based aggregation | |
Almarashdeh et al. | An overview of technology evolution: Investigating the factors influencing non-bitcoins users to adopt bitcoins as online payment transaction method | |
US11676011B2 (en) | Private transfer learning | |
US11558403B2 (en) | Quantum computing machine learning for security threats | |
US20230394324A1 (en) | Neural Flow Attestation | |
Schlögl et al. | eNNclave: Offline inference with model confidentiality | |
Munonye et al. | Machine learning approach to vulnerability detection in OAuth 2.0 authentication and authorization flow | |
CN116187414A (zh) | 一种神经网络模型加解密方法以及相关系统 | |
Zhang et al. | FedSlice: Protecting Federated Learning Models from Malicious Participants with Model Slicing | |
US11321611B2 (en) | Deployment verification of authenticity of machine learning results | |
He et al. | FINER: Enhancing State-of-the-art Classifiers with Feature Attribution to Facilitate Security Analysis | |
US12015691B2 (en) | Security as a service for machine learning | |
Prasath et al. | Autonomous Application in Requirements Analysis of Information System Development for Producing a Design Model | |
Hon | Artificial intelligence: challenges and risks | |
Galli et al. | Explainability in AI-based behavioral malware detection systems | |
Priyanka et al. | Unique and Secure Account Management System Using CNN and Blockchain Technology | |
US11698977B1 (en) | Predicting and quantifying weaponization of software weaknesses | |
US20220398452A1 (en) | Supervised similarity learning for covariate matching and treatment effect estimation via self-organizing maps | |
Bethany et al. | Image Safeguarding: Reasoning with Conditional Vision Language Model and Obfuscating Unsafe Content Counterfactually |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |