CN114817954A - 图像的处理方法、系统和装置 - Google Patents

图像的处理方法、系统和装置 Download PDF

Info

Publication number
CN114817954A
CN114817954A CN202210394079.5A CN202210394079A CN114817954A CN 114817954 A CN114817954 A CN 114817954A CN 202210394079 A CN202210394079 A CN 202210394079A CN 114817954 A CN114817954 A CN 114817954A
Authority
CN
China
Prior art keywords
disturbance
client
random number
inference model
data
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
Application number
CN202210394079.5A
Other languages
English (en)
Inventor
姚厚朴
李婧希
陈彦卿
王家洲
谭朝炜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chinabank Payments Beijing Technology Co Ltd
Original Assignee
Chinabank Payments Beijing Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chinabank Payments Beijing Technology Co Ltd filed Critical Chinabank Payments Beijing Technology Co Ltd
Priority to CN202210394079.5A priority Critical patent/CN114817954A/zh
Publication of CN114817954A publication Critical patent/CN114817954A/zh
Priority to PCT/CN2023/087280 priority patent/WO2023197989A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Abstract

本公开涉及一种图像的处理方法、系统和装置,涉及计算机技术领域。该处理方法包括:客户端对第一推理模型的输入特征进行客户端扰动,生成第一扰动数据,输入特征根据待处理图像生成;服务端根据第一扰动数据,利用第二推理模型计算出第一结果,并对第一结果进行第一服务端扰动,生成第二扰动数据,第一推理模型与第二推理模型的结构相同;客户端根据消除了客户端扰动的第二扰动数据,利用第一推理模型计算出待处理图像的处理结果。本公开的技术方案能够提高推理效率,降低搭建难度。

Description

图像的处理方法、系统和装置
技术领域
本公开涉及计算机技术领域,特别涉及一种图像的处理方法、图像的处理系统、图像的处理装置和非易失性计算机可读存储介质。
背景技术
深度隐私保护推理是指针对于深度学习的隐私保护推理,适用于当用户不想泄露自己的隐私数据,并且模型方也不想泄露自己的模型权重数据的情况。
在相关技术中,半诚实的深度隐私保护推理框架包括:Delphi、Gazelle等。Delphi是一个针对卷积层神经网络的半诚实隐私保护推理框架,使用了混淆电路等加密技术,以及NAS(Neural Architecture Search,神经网络架构搜索)的深度网络框架自动学习技术。
发明内容
本公开的发明人发现上述相关技术中存在如下问题:大量用到了混淆电路等加密技术,导致处理速度不够快,在工业应用中存在推理效率低的技术问题;而且,NAS框架的工业搭建难度较大。
鉴于此,本公开提出了一种图像的处理技术方案,能够提高推理效率,降低搭建难度。
根据本公开的一些实施例,提供了一种图像的处理方法,包括:客户端对第一推理模型的输入特征进行客户端扰动,生成第一扰动数据,输入特征根据待处理图像生成;服务端根据第一扰动数据,利用第二推理模型计算出第一结果,并对第一结果进行第一服务端扰动,生成第二扰动数据,第一推理模型与第二推理模型的结构相同;客户端根据消除了客户端扰动的第二扰动数据,利用第一推理模型计算出待处理图像的处理结果。
在一些实施例中,生成第一扰动数据包括:客户端生成第一随机数;客户端利用第一随机数,对输入特征进行客户端扰动,生成第一扰动数据;生成第二扰动数据包括:服务端生成第二随机数;服务端利用第二随机数,对第一结果进行第一服务端扰动,生成第二扰动数据。
在一些实施例中,生成第一扰动数据包括:客户端对第一推理模型的当前层的输入特征进行客户端扰动,生成第一扰动数据;生成第二扰动数据包括:服务端根据第一扰动数据,利用第二推理模型的当前层计算出第一结果;服务端对第一结果进行第一服务端扰动,生成第二扰动数据;计算出待处理图像的处理结果包括:客户端根据消除了客户端扰动的第二扰动数据,利用第一推理模型的当前层计算出第二结果;客户端和服务端重复上述步骤,直到客户端利用第一推理模型的最后一层计算出待处理图像的处理结果。
在一些实施例中,利用第二推理模型的当前层计算出第一结果包括:在第二推理模型的当前层不是第一层的情况下,服务端消除第一扰动数据中第二推理模型的当前层的输入层的第二服务端扰动;服务端根据消除了第二服务端扰动的第一扰动数据,利用第二推理模型的当前层计算出第一结果。
在一些实施例中,第一推理模型的当前层为线性层,生成所述第一扰动数据包括:客户端将输入特征划分为多个子特征;客户端为每一个子特征生成一个第一随机数;客户端利用各子特征与其对应的第一随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,第一推理模型的当前层为线性层,生成第一扰动数据包括:客户端为每一个子特征生成一个第二随机数;客户端通过将各子特征与其对应的第一随机数相乘后与其对应的第二随机数相加,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,第一随机数的和为0。
在一些实施例中,第二推理模型的当前层为线性层、非线性层或者非参数层,生成第二扰动数据包括:服务端生成第三随机数;服务端利用第一结果与第三随机数的乘积,对第一结果进行第一服务端扰动,生成第二扰动数据。
在一些实施例中,第一推理模型的当前层为非线性层或者非参数层,生成第一扰动数据包括:客户端生成第四随机数;客户端利用输入特征与第四随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,在第一推理模型的当前层为非线性层的情况下,第四随机数为正数。
在一些实施例中,第一推理模型的当前层为softmax层,生成第一扰动数据包括:客户端生成公钥及其对应的私钥;客户端利用公钥对输入特征与第四随机数的第一乘积进行同态加密,生成第一扰动数据;对第四随机数进行同态加密;生成第二扰动数据包括:服务端生成第三随机数;服务端利用公钥,对加密后的第四随机数与第三随机数的第二乘积以及第一扰动数据进行同态相加,生成第二扰动数据;计算出待处理图像的处理结果包括:客户端利用私钥对第二扰动数据进行同态解密后,消除客户端扰动。
在一些实施例中,对加密后的第四随机数与第三随机数的第二乘积以及第一扰动数据进行同态相加包括:在第二推理模型的当前层不是第一层的情况下,服务端消除第一扰动数据中第二推理模型的当前层的输入层的第二服务端扰动;对加密后的第四随机数与第三随机数的第二乘积以及消除了第二服务端扰动的第一扰动数据进行同态相加。
在一些实施例中,处理方法还包括:客户端向服务端发送推理请求,推理请求中包括第一推理模型的相关信息;服务端根据相关信息,向客户端发送第二推理模型的结构信息;客户端对第一推理模型的输入特征进行客户端扰动包括:客户端根据结构信息,确定第一推理模型的当前层的输入特征。
根据本公开的另一些实施例,提供一种图像的处理方法,包括:对第一推理模型的输入特征进行客户端扰动,生成第一扰动数据,输入特征根据待处理图像生成;根据消除了客户端扰动的第二扰动数据,利用第一推理模型计算出待处理图像的处理结果,第二扰动数据为服务端对第一结果进行第一服务端扰动生成,第一结果为服务端根据第一扰动数据利用第二推理模型计算出,第一推理模型与第二推理模型的结构相同。
在一些实施例中,第二扰动数据为服务端利用自身生成的第二随机数,对第一结果进行所述第一服务端扰动生成,生成第一扰动数据包括:生成第一随机数;利用第一随机数,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,第一结果为服务端根据第一扰动数据,利用第二推理模型的当前层计算出,第二扰动数据为服务端对第一结果进行第一服务端扰动生成,生成第一扰动数据包括:对第一推理模型的当前层的输入特征进行客户端扰动,生成第一扰动数据;计算出待处理图像的处理结果包括:根据消除了客户端扰动的第二扰动数据,利用第一推理模型的当前层计算出第二结果;重复生成第一扰动数据和计算出待处理图像的处理结果的步骤,直到利用第一推理模型的最后一层计算出待处理图像的处理结果。
在一些实施例中,第一推理模型的当前层为线性层,生成第一扰动数据包括:将输入特征划分为多个子特征;为每一个子特征生成一个第一随机数;利用各子特征与其对应的第一随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,第一推理模型的当前层为线性层,生成第一扰动数据包括:为每一个子特征生成一个第二随机数;通过将各子特征与其对应的第一随机数相乘后与其对应的第二随机数相加,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,第一推理模型的当前层为非线性层或者非参数层,生成第一扰动数据包括:生成第四随机数;利用输入特征与第四随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,第一推理模型的当前层为softmax层,生成第一扰动数据包括:生成公钥及其对应的私钥;利用公钥对输入特征与第四随机数的第一乘积进行同态加密,生成第一扰动数据;对第四随机数进行同态加密;计算出待处理图像的处理结果包括:利用私钥对第二扰动数据进行同态解密后,消除客户端扰动,第二扰动数据为服务端利用公钥,对加密后的第四随机数与第三随机数的第二乘积以及第一扰动数据进行同态相加生成,第三随机数为服务端生成。
根据本公开的另一些实施例,提供一种图像的处理系统,包括:客户端,用于对第一推理模型的输入特征进行客户端扰动,生成第一扰动数据,所述输入特征根据待处理图像生成,根据消除了所述客户端扰动的第二扰动数据,利用所述第一推理模型计算出所述待处理图像的处理结果;服务端,用于根据所述第一扰动数据,利用第二推理模型计算出第一结果,并对所述第一结果进行第一服务端扰动,生成第二扰动数据,所述第一推理模型与所述第二推理模型的结构相同。
在一些实施例中,客户端生成第一随机数;客户端利用第一随机数,对输入特征进行客户端扰动,生成第一扰动数据;服务端生成第二随机数;服务端利用第二随机数,对第一结果进行第一服务端扰动,生成第二扰动数据。
在一些实施例中,客户端对第一推理模型的当前层的输入特征进行客户端扰动,生成第一扰动数据;服务端根据第一扰动数据,利用第二推理模型的当前层计算出第一结果;服务端对第一结果进行第一服务端扰动,生成第二扰动数据;客户端根据消除了客户端扰动的第二扰动数据,利用第一推理模型的当前层计算出第二结果;客户端和服务端重复上述步骤,直到客户端利用第一推理模型的最后一层计算出待处理图像的处理结果。
在一些实施例中,在第二推理模型的当前层不是第一层的情况下,服务端消除第一扰动数据中第二推理模型的当前层的输入层的第二服务端扰动;服务端根据消除了第二服务端扰动的第一扰动数据,利用第二推理模型的当前层计算出第一结果。
在一些实施例中,第一推理模型的当前层为线性层,生成第一扰动数据包括:客户端将输入特征划分为多个子特征;客户端为每一个子特征生成一个第一随机数;客户端利用各子特征与其对应的第一随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,客户端为每一个子特征生成一个第二随机数;客户端通过将各子特征与其对应的第一随机数相乘后与其对应的第二随机数相加,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,第一随机数的和为0。
在一些实施例中,服务端生成第三随机数;服务端利用第一结果与第三随机数的乘积,对第一结果进行第一服务端扰动,生成第二扰动数据。
在一些实施例中,第一推理模型的当前层为非线性层或者非参数层,客户端生成第四随机数;客户端利用输入特征与第四随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,在第一推理模型的当前层为非线性层的情况下,第四随机数为正数。
在一些实施例中,第一推理模型的当前层为softmax层,客户端生成公钥及其对应的私钥;客户端利用公钥对输入特征与第四随机数的第一乘积进行同态加密,生成第一扰动数据;对第四随机数进行同态加密;服务端生成第三随机数;服务端利用公钥,对加密后的第四随机数与第三随机数的第二乘积以及第一扰动数据进行同态相加,生成第二扰动数据;客户端利用私钥对第二扰动数据进行同态解密后,消除客户端扰动。
在一些实施例中,在第二推理模型的当前层不是第一层的情况下,服务端消除第一扰动数据中第二推理模型的当前层的输入层的第二服务端扰动;对加密后的第四随机数与第三随机数的第二乘积以及消除了第二服务端扰动的第一扰动数据进行同态相加。
在一些实施例中,客户端向服务端发送推理请求,推理请求中包括第一推理模型的相关信息;服务端根据相关信息,向客户端发送第二推理模型的结构信息;客户端对第一推理模型的输入特征进行客户端扰动包括:客户端根据结构信息,确定第一推理模型的当前层的输入特征。
根据本公开的另一些实施例,提供一种图像的处理装置,包括:生成单元,用于对第一推理模型的输入特征进行客户端扰动,生成第一扰动数据,输入特征根据待处理图像生成;计算单元,用于根据消除了客户端扰动的第二扰动数据,利用第一推理模型计算出待处理图像的处理结果,第二扰动数据为服务端对第一结果进行第一服务端扰动生成,第一结果为服务端根据第一扰动数据利用第二推理模型计算出,第一推理模型与第二推理模型的结构相同。
在一些实施例中,生成单元生成第一随机数;利用第一随机数,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,第一结果为服务端根据第一扰动数据,利用第二推理模型的当前层计算出,第二扰动数据为服务端对第一结果进行第一服务端扰动生成,生成单元对第一推理模型的当前层的输入特征进行客户端扰动,生成第一扰动数据;计算单元根据消除了客户端扰动的第二扰动数据,利用第一推理模型的当前层计算出第二结果;重复生成第一扰动数据和计算出待处理图像的处理结果的步骤,直到利用第一推理模型的最后一层计算出待处理图像的处理结果。
在一些实施例中,生成单元将输入特征划分为多个子特征;为每一个子特征生成一个第一随机数;利用各子特征与其对应的第一随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,生成单元为每一个子特征生成一个第二随机数;通过将各子特征与其对应的第一随机数相乘后与其对应的第二随机数相加,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,生成单元生成第四随机数;利用输入特征与第四随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,生成单元生成公钥及其对应的私钥;利用公钥对输入特征与第四随机数的第一乘积进行同态加密,生成第一扰动数据;对第四随机数进行同态加密;计算单元利用私钥对第二扰动数据进行同态解密后,消除客户端扰动,第二扰动数据为服务端利用公钥,对加密后的第四随机数与第三随机数的第二乘积以及第一扰动数据进行同态相加生成,第三随机数为服务端生成。
根据本公开的又一些实施例,提供一种图像的处理装置,包括:存储器;和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行上述任一个实施例中的图像的处理方法。
根据本公开的再一些实施例,提供一种非易失性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的图像的处理方法。
在上述实施例中,摒弃了混淆电路等较为复杂且耗时较长的加密方法,使用简单的扰动方式进行加密,提高了推理效率,降低了搭建难度。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1a示出本公开的图像的处理方法的一些实施例的流程图;
图1b示出本公开的图像的处理方法的另一些实施例的流程图;
图2a示出本公开的初始化阶段的一些实施例的示意图;
图2b示出本公开的在线推理阶段的一些实施例的流程图;
图3a~3e示出本公开的图像的处理方法的一些实施例的示意图;
图4a示出本公开的图像的处理系统的一些实施例的框图;
图4b示出本公开的图像的处理装置的一些实施例的框图;
图5示出本公开的图像的处理装置的一些实施例的框图;
图6示出本公开的图像的处理装置的另一些实施例的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1a示出本公开的图像的处理方法的一些实施例的流程图。
如图1a所示,在步骤110a中,客户端对第一推理模型的输入特征进行客户端扰动,生成第一扰动数据,输入特征根据待处理图像生成。
在一些实施例中,客户端向服务端发送推理请求,推理请求中包括第一推理模型的相关信息;服务端根据相关信息,向客户端发送第二推理模型的结构信息;客户端根据结构信息,确定第一推理模型的当前层的输入特征。
例如,client(客户)端向server(服务)端发送推理请求,告知需要推理的模型(即第一推理模型)的相关信息。相关信息可以包括第一推理模型在server端和client端达成共识的唯一id,以及第一推理模型输入的数据格式。例如,第一推理模型和第二推理模型为具有相同结构的CNN(Convolutional Neural Networks,卷积神经网络)模型。
server端根据client端的推理请求,载入第一推理模型相应的第二推理模型,并生成计算图发回给client端。例如,计算图只包含第二推理模型的网络结构,不会泄露第二推理模型的权重信息。
在一些实施例中,客户端生成第一随机数;客户端利用第一随机数,对输入特征进行客户端扰动,生成第一扰动数据。例如,客户端对第一推理模型的当前层的输入特征进行客户端扰动,生成第一扰动数据。
例如,client端生成随机数,对输入特征进行扰动,将扰动后的输入特征发送给server端。
在一些实施例中,第一推理模型的当前层为线性层,客户端将输入特征划分为多个子特征;客户端为每一个子特征生成一个第一随机数;客户端利用各子特征与其对应的第一随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,第一推理模型的当前层为线性层,客户端为每一个子特征生成一个第二随机数;客户端通过将各子特征与其对应的第一随机数相乘后与其对应的第二随机数相加,对输入特征进行客户端扰动,生成第一扰动数据。例如,第一随机数的和为0。
例如,对于线性层(如全连接层、卷积层等),在client端,将当前层的输入x拆分成N份;每份分别加上各自的随机数
Figure BDA0003598264100000101
后,发送给server端。各自的随机数相加为0,即
Figure BDA0003598264100000102
CNN模型常常用于图像处理,单纯乘上随机数仅仅能够导致图像深浅的变化,保密性不够。因此,将图像拆成多份进行扰动,能够确保推理的保密性。
server端收到client端进行扰动的数据x’之后,首先除去server端上一层的扰动t’后,进行对应的线性操作;乘上当前层新生成的随机数扰动t后,发回给client端;client端去除N份各自的扰动。
在一些实施例中,第一推理模型的当前层为非线性层或者非参数层,客户端生成第四随机数;客户端利用输入特征与第四随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,在第一推理模型的当前层为非线性层的情况下,第四随机数为正数。
例如,对于非线性层,如Relu(Rectified Linear Units,整流线性单元)、Prelu(Parametric Rectified Linear Unit,带参数的ReLU)等,在client端对当前层的数据进行正随机数相乘,形成扰动后发送给server端;server端去除上一层的扰动随机数之后,进行对应的操作;将操作结果发回给client端,由client端除去本层的正随机数扰动。
例如,对于非参数层,如reshape(形状改变)层、skip connection(跳跃式连接)(addition)层,client端进行的操作是乘上随机数扰动后,发送给server端;再由server端去除server端上一层的随机数扰动,进行对应的操作之后发回给client端;最后client端去除当前层的随机数扰动。
在步骤120a中,服务端根据第一扰动数据,利用第二推理模型计算出第一结果,并对第一结果进行第一服务端扰动,生成第二扰动数据,第一推理模型与第二推理模型的结构相同。
在一些实施例中,服务端生成第二随机数;服务端利用第二随机数,对第一结果进行第一服务端扰动,生成第二扰动数据。例如,服务端根据第一扰动数据,利用第二推理模型的当前层计算出第一结果;服务端对第一结果进行第一服务端扰动,生成第二扰动数据。
例如,第二推理模型的当前层为线性层、非线性层或者非参数层,服务端生成第三随机数;服务端利用第一结果与第三随机数的乘积,对第一结果进行第一服务端扰动,生成第二扰动数据。
在一些实施例中,在第二推理模型的当前层不是第一层的情况下,服务端消除第一扰动数据中第二推理模型的当前层的输入层的第二服务端扰动;服务端根据消除了第二服务端扰动的第一扰动数据,利用第二推理模型的当前层计算出第一结果。
例如,server端去掉server端的上一层的服务端扰动后,进行server端的第二推理模型的计算;加入server端当前层的扰动后,将数据发送回给client端。
在步骤130a中,客户端根据消除了客户端扰动的第二扰动数据,利用第一推理模型计算出待处理图像的处理结果。
在一些实施例中,客户端根据消除了客户端扰动的第二扰动数据,利用第一推理模型的当前层计算出第二结果。
在一些实施例中,客户端对第一推理模型的当前层的输入特征进行客户端扰动,生成第一扰动数据;服务端根据第一扰动数据,利用第二推理模型的当前层计算出第一结果;服务端对第一结果进行第一服务端扰动,生成第二扰动数据;客户端根据消除了客户端扰动的第二扰动数据,利用第一推理模型的当前层计算出第二结果;客户端和服务端重复上述步骤,直到客户端利用第一推理模型的最后一层计算出待处理图像的处理结果。
例如,client端去掉当前层的client端扰动后,进行第一推理模型的当前层client端需要的计算;client端判断是否是第一推理模型的最后一层,如果是的话则停止推理,输出本层结果;如果不是的话则继续进行下一层的推理,直至最后一层结束。
在一些实施例中,第一推理模型的当前层为softmax层,客户端生成公钥及其对应的私钥;客户端利用公钥对输入特征与第四随机数的第一乘积进行同态加密,生成第一扰动数据;对第四随机数进行同态加密。
服务端生成第三随机数;服务端利用公钥,对加密后的第四随机数与第三随机数的第二乘积以及第一扰动数据进行同态相加,生成第二扰动数据。客户端利用私钥对第二扰动数据进行同态解密后,消除客户端扰动。
例如,在第二推理模型的当前层不是第一层的情况下,服务端消除第一扰动数据中第二推理模型的当前层的输入层的第二服务端扰动;对加密后的第四随机数与第三随机数的第二乘积以及消除了第二服务端扰动的第一扰动数据进行同态相加。
例如,对于非参数层、softmax层,可以采用同态加密的方式。client端在生成随机数r后,生成一对公钥和私钥,对输入特性进行扰动x×r后再进行同态加密生成x’;client端对随机数r单独进行加密生成r’,将x’,r’和公钥发送给server端。
server端生成自己的随机数t,将上一层的扰动t’消除后得到
Figure BDA0003598264100000131
server端对r′乘上server端的随机数t后,再根据公钥与
Figure BDA0003598264100000132
进行同态相加得到:
Figure BDA0003598264100000133
server端将同台相加的结果发送给client端;client端使用私钥进行解密,除去本层扰动r后,得到
Figure BDA0003598264100000134
由于,依据softmax层的特性,可得到其输出为
Figure BDA0003598264100000135
数组
Figure BDA0003598264100000136
Figure BDA0003598264100000137
i为数组m的第i个维度。从而,client端可以将t约去,还原推理模型真实的结果。
在一些实施例中,针对深度CNN分类模型配置隐私保护推理协议。CNN分类模型通常以softmax为输出层。基于softmax的特性,可以摒弃混淆电路等较为复杂且耗时较长的加密方法,使用简单的随机数扰动的方式进行加密,从而提高隐私保护推理的效率。
上述实施例中配置的隐私保护推理协议适用于任意的以softmax为输出层的深度卷积神经网络分类模型。
在一些实施例中,将整个推理过程分为两部分:初始化阶段和在线推理阶段。
图1b示出本公开的图像的处理方法的另一些实施例的流程图。
如图1b所示,在步骤110b中,对第一推理模型的输入特征进行客户端扰动,生成第一扰动数据,输入特征根据待处理图像生成。
在步骤120b中,根据消除了客户端扰动的第二扰动数据,利用第一推理模型计算出待处理图像的处理结果,第二扰动数据为服务端对第一结果进行第一服务端扰动生成,第一结果为服务端根据第一扰动数据利用第二推理模型计算出,第一推理模型与第二推理模型的结构相同。
在一些实施例中,生成第一随机数;利用第一随机数,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,第一结果为服务端根据第一扰动数据,利用第二推理模型的当前层计算出,第二扰动数据为服务端对第一结果进行第一服务端扰动生成。
对第一推理模型的当前层的输入特征进行客户端扰动,生成第一扰动数据;根据消除了客户端扰动的第二扰动数据,利用第一推理模型的当前层计算出第二结果;重复生成第一扰动数据和计算出待处理图像的处理结果的步骤,直到利用第一推理模型的最后一层计算出待处理图像的处理结果。
在一些实施例中,将输入特征划分为多个子特征;为每一个子特征生成一个第一随机数;利用各子特征与其对应的第一随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,为每一个子特征生成一个第二随机数;通过将各子特征与其对应的第一随机数相乘后与其对应的第二随机数相加,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,生成第四随机数;利用输入特征与第四随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,生成公钥及其对应的私钥;利用公钥对输入特征与第四随机数的第一乘积进行同态加密,生成第一扰动数据;对第四随机数进行同态加密;利用私钥对第二扰动数据进行同态解密后,消除客户端扰动,第二扰动数据为服务端利用公钥,对加密后的第四随机数与第三随机数的第二乘积以及第一扰动数据进行同态相加生成,第三随机数为服务端生成。
图2a示出本公开的初始化阶段的一些实施例的示意图。
如图2a所示,在初始化阶段,client端向server端发送推理请求,告知需要推理的模型的相关信息;server端根据client的需求,载入相应的推理模型,并生成计算图发回给client端。计算图只包含该CNN模型的网络结构,不会泄露模型的权重信息。
例如,client端随机生成一张与input shape(输入形状)相符的图片,并进行初始化;client端发起请求初始化server端;server端接收client端发送的待推理模型的相关信息,通过模型文件自动生成计算图;剥离计算图中推理模型的权重之后,将计算图发给client端。
图2b示出本公开的在线推理阶段的一些实施例的流程图。
如图2b所示,在线推理阶段,采取逐层推理的方式进行,与模型权重相关的层需要由server端进行操作,而与模型权重无关的层在server端或者client端处理。不论是什么类型的层,首先需要由client端进行操作。
client端读取输入图片信息,根据推理模型所需方式进行图片预处理,并按照初始化阶段从server端收集到的计算图逐层开始进行推理。
client端生成随机数对本层的输入特征x进行客户端扰动,得到x’。将扰动后的数据x’发送给server端进行推理。
server端去掉server端上一层的扰动后,进行server端的当前层所需计算。加入server端当前层新的扰动音粗后,得到z。将数据z发送回给client端。
client端去掉z中当前层的client端扰动后,进行本层client端需要的计算,得到y。client端判断是否是客户端的推理模型的最后一层;如果是的话则停止推理,输出当前层结果y;如果不是的话则继续进行下一层的推理,直至最后一层结束。
图3a示出本公开的图像的处理方法的一些实施例的示意图。
如图3a所示,对于线性层(如全连接层、卷积层等),在client端,将本层的输入拆分成N份,每份分别加上各自的随机数
Figure BDA0003598264100000152
后发送给server(需要确保各自的随机数相加为0,
Figure BDA0003598264100000151
)。
例如,对于第i层,生成随机数集合r,r包含n个随机数rj;将输入特征x划分为n个子特征xj,分别进行扰动:
x′→mj×xj+rj
Figure BDA0003598264100000161
在上述实施例中,CNN常常用于图像处理,仅乘上随机数进行扰动只能改变图像的深浅,保密性不够。所以,将图像拆成多份确保推理的保密性。
Server端收到client端进行扰动的数据x’之后,除去server端上一层的扰动t’后,进行对应的线性操作(如乘以A);乘上本层新生成的随机数扰动t后,生成数据z;对扰动t进行处理后生成d,将z和d发回给client端,client端去除N份各自的扰动得到y。例如,数据z为:
Figure BDA0003598264100000162
b为偏移参数,A为权重。
图3b示出本公开的图像的处理方法的一些实施例的示意图。
如图3b所示,对于非线性层(如Relu、Prelu)在client端,对本层数据x进行正随机数r_pos相乘,扰动后生成x’发送给server端。
server端去除x’上一层的扰动随机数t′之后,进行对应的操作,加入当前层的扰动t。生成z:
Figure BDA0003598264100000163
将z发回给client端,由client端除去本层的正随机数扰动,得到:
Figure BDA0003598264100000164
图3c~3d示出本公开的图像的处理方法的一些实施例的示意图。
如图3c~3d所示,对于非参数层(如reshape、skip connection(addition)等),client端进行的操作都是乘上随机数扰动后发送给server端。
例如,对于第i层,生成随机数r;将输入特征x1,x2,…分别进行扰动,生成x’=[x1×r,x2×r,…]。将x’和i发送给server端。
server端去除每个xj中server端上一层的随机数扰动t′i,进行对应的操作之后加入当前层的扰动t,生成z:
Figure BDA0003598264100000171
将z发回给client端;client端去除本层的随机数扰动,得到y。
例如,对于第i层,生成随机数r;将输入特征x进行扰动,生成x’=x×r。将x’和i发送给server端。
server端去除x’中server端上一层的随机数扰动t′i,进行对应的操作之后加入当前层的扰动t,生成z:
Figure BDA0003598264100000172
将z发回给client端;client端去除本层的随机数扰动,得到y。
图3e示出本公开的图像的处理方法的一些实施例的示意图。
如图3e所示,对于非参数层、softmax层,使用到同态加密。Client端首先生成随机数r后,生成一对公钥pubk、私钥prik
pubk,prik=HE.generate_keypairs()
对扰动后的输入特征x×r进行同态加密生成x’:
x’=HE.enc(x×r)
对随机数r单独进行加密生成r’:
r’=HE.enc(r)
将x’,r’和公钥pubk发送给server端;server端生成自己的随机数t,将上一层的扰动t’除去得到
Figure BDA0003598264100000173
之后;对r′乘上server随机数t后与
Figure BDA0003598264100000174
同态相加得到z:
Figure BDA0003598264100000175
将z发送给client端;client端使用私钥进行解密,并除去本层扰动r后得到z′:
Figure BDA0003598264100000176
client端得到处理结果Result=softmax(z’)。因为softmax的处理结果的特性
Figure BDA0003598264100000177
可以将t约去,还原模型真实的结果。
上述实施例中,利用了softmax层的特性,做到对于CNN分类模型的隐私保护推理协议摒弃了全部的混淆电路和绝大多数所需的同态加密部分。仅仅使用随机数扰动,和对于最后一层softmax用到同态加密,即可还原与直接推理相同的结果。这样,可以提高推理的效率。
图4a示出本公开的图像的处理系统的一些实施例的框图。
如图4a所示,图像的处理系统4包括:客户端41a,用于对第一推理模型的输入特征进行客户端扰动,生成第一扰动数据,所述输入特征根据待处理图像生成,根据消除了所述客户端扰动的第二扰动数据,利用所述第一推理模型计算出所述待处理图像的处理结果;服务端42a,用于根据所述第一扰动数据,利用第二推理模型计算出第一结果,并对所述第一结果进行第一服务端扰动,生成第二扰动数据,所述第一推理模型与所述第二推理模型的结构相同。
在一些实施例中,客户端41a生成第一随机数;客户端41a利用第一随机数,对输入特征进行客户端扰动,生成第一扰动数据;服务端42a生成第二随机数;服务端42a利用第二随机数,对第一结果进行第一服务端扰动,生成第二扰动数据。
在一些实施例中,客户端41a对第一推理模型的当前层的输入特征进行客户端扰动,生成第一扰动数据;服务端42a根据第一扰动数据,利用第二推理模型的当前层计算出第一结果;服务端42a对第一结果进行第一服务端扰动,生成第二扰动数据;客户端41a根据消除了客户端扰动的第二扰动数据,利用第一推理模型的当前层计算出第二结果;客户端41a和服务端42a重复上述步骤,直到客户端41a利用第一推理模型的最后一层计算出待处理图像的处理结果。
在一些实施例中,在第二推理模型的当前层不是第一层的情况下,服务端42a消除第一扰动数据中第二推理模型的当前层的输入层的第二服务端扰动;服务端42a根据消除了第二服务端扰动的第一扰动数据,利用第二推理模型的当前层计算出第一结果。
在一些实施例中,第一推理模型的当前层为线性层,客户端41a将输入特征划分为多个子特征;客户端41a为每一个子特征生成一个第一随机数;客户端41a利用各子特征与其对应的第一随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,客户端41a为每一个子特征生成一个第二随机数;客户端41a通过将各子特征与其对应的第一随机数相乘后与其对应的第二随机数相加,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,第一随机数的和为0。
在一些实施例中,服务端42a生成第三随机数;服务端42a利用第一结果与第三随机数的乘积,对第一结果进行第一服务端扰动,生成第二扰动数据。
在一些实施例中,第一推理模型的当前层为非线性层或者非参数层,客户端41a生成第四随机数;客户端42a利用输入特征与第四随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,在第一推理模型的当前层为非线性层的情况下,第四随机数为正数。
在一些实施例中,第一推理模型的当前层为softmax层,客户端41a生成公钥及其对应的私钥;客户端41a利用公钥对输入特征与第四随机数的第一乘积进行同态加密,生成第一扰动数据;对第四随机数进行同态加密;服务端42a生成第三随机数;服务端42a利用公钥,对加密后的第四随机数与第三随机数的第二乘积以及第一扰动数据进行同态相加,生成第二扰动数据;客户端41a利用私钥对第二扰动数据进行同态解密后,消除客户端扰动。
在一些实施例中,在第二推理模型的当前层不是第一层的情况下,服务端42a消除第一扰动数据中第二推理模型的当前层的输入层的第二服务端扰动;对加密后的第四随机数与第三随机数的第二乘积以及消除了第二服务端扰动的第一扰动数据进行同态相加。
在一些实施例中,客户端41a向服务端发送推理请求,推理请求中包括第一推理模型的相关信息;服务端42a根据相关信息,向客户端41发送第二推理模型的结构信息;客户端41a对第一推理模型的输入特征进行客户端扰动包括:客户端41a根据结构信息,确定第一推理模型的当前层的输入特征。
图4b示出本公开的图像的处理装置的一些实施例的框图。
如图4b所示,图像的处理装置4b包括:生成单元41b,用于对第一推理模型的输入特征进行客户端扰动,生成第一扰动数据,输入特征根据待处理图像生成;计算单元42b,用于根据消除了客户端扰动的第二扰动数据,利用第一推理模型计算出待处理图像的处理结果,第二扰动数据为服务端对第一结果进行第一服务端扰动生成,第一结果为服务端根据第一扰动数据利用第二推理模型计算出,第一推理模型与第二推理模型的结构相同。
在一些实施例中,生成单元41b生成第一随机数;利用第一随机数,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,第一结果为服务端根据第一扰动数据,利用第二推理模型的当前层计算出,第二扰动数据为服务端对第一结果进行第一服务端扰动生成,生成单元41b对第一推理模型的当前层的输入特征进行客户端扰动,生成第一扰动数据;计算单元42b根据消除了客户端扰动的第二扰动数据,利用第一推理模型的当前层计算出第二结果;重复生成第一扰动数据和计算出待处理图像的处理结果的步骤,直到利用第一推理模型的最后一层计算出待处理图像的处理结果。
在一些实施例中,生成单元41b将输入特征划分为多个子特征;为每一个子特征生成一个第一随机数;利用各子特征与其对应的第一随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,生成单元41b为每一个子特征生成一个第二随机数;通过将各子特征与其对应的第一随机数相乘后与其对应的第二随机数相加,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,生成单元41b生成第四随机数;利用输入特征与第四随机数的乘积,对输入特征进行客户端扰动,生成第一扰动数据。
在一些实施例中,生成单元41b生成公钥及其对应的私钥;利用公钥对输入特征与第四随机数的第一乘积进行同态加密,生成第一扰动数据;对第四随机数进行同态加密;计算单元利用私钥对第二扰动数据进行同态解密后,消除客户端扰动,第二扰动数据为服务端利用公钥,对加密后的第四随机数与第三随机数的第二乘积以及第一扰动数据进行同态相加生成,第三随机数为服务端生成。
图5示出本公开的图像的处理装置的一些实施例的框图。
如图5所示,该实施例的图像的处理装置5包括:存储器51以及耦接至该存储器51的处理器52,处理器52被配置为基于存储在存储器51中的指令,执行本公开中任意一个实施例中的图像的处理方法。
其中,存储器51例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图6示出本公开的图像的处理装置的另一些实施例的框图。
如图6所示,该实施例的图像的处理装置6包括:存储器610以及耦接至该存储器610的处理器620,处理器620被配置为基于存储在存储器610中的指令,执行前述任意一个实施例中的图像的处理方法。
存储器610例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
图像的处理装置6还可以包括输入输出接口630、网络接口640、存储接口650等。这些接口630、640、650以及存储器610和处理器620之间例如可以通过总线660连接。其中,输入输出接口630为显示器、鼠标、键盘、触摸屏、麦克、音箱等输入输出设备提供连接接口。网络接口640为各种联网设备提供连接接口。存储接口650为SD卡、U盘等外置存储设备提供连接接口。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
至此,已经详细描述了根据本公开的图像的处理方法、图像的处理系统、图像的处理装置和非易失性计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。

Claims (24)

1.一种图像的处理方法,包括:
客户端对第一推理模型的输入特征进行客户端扰动,生成第一扰动数据,所述输入特征根据待处理图像生成;
服务端根据所述第一扰动数据,利用第二推理模型计算出第一结果,并对所述第一结果进行第一服务端扰动,生成第二扰动数据,所述第一推理模型与所述第二推理模型的结构相同;
所述客户端根据消除了所述客户端扰动的第二扰动数据,利用所述第一推理模型计算出所述待处理图像的处理结果。
2.根据权利要求1所述的处理方法,其中:
所述生成第一扰动数据包括:
所述客户端生成第一随机数;
所述客户端利用所述第一随机数,对所述输入特征进行所述客户端扰动,生成所述第一扰动数据;
所述生成第二扰动数据包括:
所述服务端生成第二随机数;
所述服务端利用所述第二随机数,对所述第一结果进行所述第一服务端扰动,生成所述第二扰动数据。
3.根据权利要求1所述的处理方法,其中:
所述生成第一扰动数据包括:
所述客户端对所述第一推理模型的当前层的输入特征进行所述客户端扰动,生成所述第一扰动数据;
所述生成第二扰动数据包括:
所述服务端根据所述第一扰动数据,利用所述第二推理模型的当前层计算出所述第一结果;
所述服务端对所述第一结果进行所述第一服务端扰动,生成所述第二扰动数据;
计算出所述待处理图像的处理结果包括:
所述客户端根据消除了所述客户端扰动的第二扰动数据,利用所述第一推理模型的当前层计算出第二结果;
所述客户端和所述服务端重复上述步骤,直到所述客户端利用所述第一推理模型的最后一层计算出所述待处理图像的处理结果。
4.根据权利要求3所述的处理方法,其中,所述利用所述第二推理模型的当前层计算出所述第一结果包括:
在所述第二推理模型的当前层不是第一层的情况下,所述服务端消除所述第一扰动数据中所述第二推理模型的当前层的输入层的第二服务端扰动;
所述服务端根据消除了所述第二服务端扰动的所述第一扰动数据,利用所述第二推理模型的当前层计算出所述第一结果。
5.根据权利要求3所述的处理方法,其中,所述第一推理模型的当前层为线性层,所述生成所述第一扰动数据包括:
所述客户端将所述输入特征划分为多个子特征;
所述客户端为每一个子特征生成一个第一随机数;
所述客户端利用各子特征与其对应的第一随机数的乘积,对所述输入特征进行所述客户端扰动,生成所述第一扰动数据。
6.根据权利要求5所述的处理方法,其中,所述第一推理模型的当前层为线性层,所述生成所述第一扰动数据包括:
所述客户端为每一个子特征生成一个第二随机数;
所述客户端通过将各子特征与其对应的第一随机数相乘后与其对应的第二随机数相加,对所述输入特征进行所述客户端扰动,生成所述第一扰动数据。
7.根据权利要求5所述的处理方法,其中,所述第一随机数的和为0。
8.根据权利要求3所述的处理方法,其中,所述第二推理模型的当前层为线性层、非线性层或者非参数层,所述生成第二扰动数据包括:
所述服务端生成第三随机数;
所述服务端利用所述第一结果与所述第三随机数的乘积,对所述第一结果进行所述第一服务端扰动,生成所述第二扰动数据。
9.根据权利要求3所述的处理方法,其中,所述第一推理模型的当前层为非线性层或者非参数层,所述生成所述第一扰动数据包括:
所述客户端生成第四随机数;
所述客户端利用所述输入特征与所述第四随机数的乘积,对所述输入特征进行所述客户端扰动,生成所述第一扰动数据。
10.根据权利要求9所述的处理方法,其中,在所述第一推理模型的当前层为非线性层的情况下,所述第四随机数为正数。
11.根据权利要求9所述的处理方法,其中,所述第一推理模型的当前层为softmax层,所述生成所述第一扰动数据包括:
所述客户端生成公钥及其对应的私钥;
所述客户端利用所述公钥对所述输入特征与所述第四随机数的第一乘积进行同态加密,生成所述第一扰动数据;
对所述第四随机数进行同态加密;
所述生成第二扰动数据包括:
所述服务端生成第三随机数;
所述服务端利用所述公钥,对加密后的所述第四随机数与所述第三随机数的第二乘积以及所述第一扰动数据进行同态相加,生成所述第二扰动数据;
所述计算出所述待处理图像的处理结果包括:
所述客户端利用所述私钥对所述第二扰动数据进行同态解密后,消除所述客户端扰动。
12.根据权利要求11所述的处理方法,其中,所述对加密后的所述第四随机数与所述第三随机数的第二乘积以及所述第一扰动数据进行同态相加包括:
在所述第二推理模型的当前层不是第一层的情况下,所述服务端消除所述第一扰动数据中所述第二推理模型的当前层的输入层的第二服务端扰动;
对加密后的所述第四随机数与所述第三随机数的第二乘积以及消除了所述第二服务端扰动的所述第一扰动数据进行同态相加。
13.根据权利要求1-12任一项所述的处理方法,还包括:
所述客户端向所述服务端发送推理请求,所述推理请求中包括所述第一推理模型的相关信息;
所述服务端根据所述相关信息,向所述客户端发送所述第二推理模型的结构信息;
其中,所述客户端对第一推理模型的输入特征进行客户端扰动包括:
所述客户端根据所述结构信息,确定所述第一推理模型的当前层的输入特征。
14.一种图像的处理方法,包括:
对第一推理模型的输入特征进行客户端扰动,生成第一扰动数据,所述输入特征根据待处理图像生成;
根据消除了所述客户端扰动的第二扰动数据,利用所述第一推理模型计算出所述待处理图像的处理结果,所述第二扰动数据为服务端对第一结果进行第一服务端扰动生成,所述第一结果为所述服务端根据所述第一扰动数据利用第二推理模型计算出,所述第一推理模型与所述第二推理模型的结构相同。
15.根据权利要求14所述的处理方法,其中,所述第二扰动数据为所述服务端利用自身生成的第二随机数,对所述第一结果进行所述第一服务端扰动生成,所述生成第一扰动数据包括:
生成第一随机数;
利用所述第一随机数,对所述输入特征进行所述客户端扰动,生成所述第一扰动数据。
16.根据权利要求14所述的处理方法,其中,所述第一结果为所述服务端根据所述第一扰动数据,利用所述第二推理模型的当前层计算出,所述第二扰动数据为所述服务端对所述第一结果进行所述第一服务端扰动生成,
所述生成第一扰动数据包括:
对所述第一推理模型的当前层的输入特征进行所述客户端扰动,生成所述第一扰动数据;
所述计算出所述待处理图像的处理结果包括:
根据消除了所述客户端扰动的第二扰动数据,利用所述第一推理模型的当前层计算出第二结果;
重复所述生成第一扰动数据和所述计算出所述待处理图像的处理结果的步骤,直到利用所述第一推理模型的最后一层计算出所述待处理图像的处理结果。
17.根据权利要求16所述的处理方法,其中,所述第一推理模型的当前层为线性层,所述生成所述第一扰动数据包括:
将所述输入特征划分为多个子特征;
为每一个子特征生成一个第一随机数;
利用各子特征与其对应的第一随机数的乘积,对所述输入特征进行所述客户端扰动,生成所述第一扰动数据。
18.根据权利要求16所述的处理方法,其中,所述第一推理模型的当前层为线性层,所述生成所述第一扰动数据包括:
为每一个子特征生成一个第二随机数;
通过将各子特征与其对应的第一随机数相乘后与其对应的第二随机数相加,对所述输入特征进行所述客户端扰动,生成所述第一扰动数据。
19.根据权利要求16所述的处理方法,其中,所述第一推理模型的当前层为非线性层或者非参数层,所述生成所述第一扰动数据包括:
生成第四随机数;
利用所述输入特征与所述第四随机数的乘积,对所述输入特征进行所述客户端扰动,生成所述第一扰动数据。
20.根据权利要求19所述的处理方法,其中,所述第一推理模型的当前层为softmax层,所述生成所述第一扰动数据包括:
生成公钥及其对应的私钥;
利用所述公钥对所述输入特征与所述第四随机数的第一乘积进行同态加密,生成所述第一扰动数据;
对所述第四随机数进行同态加密;
所述计算出所述待处理图像的处理结果包括:
利用所述私钥对所述第二扰动数据进行同态解密后,消除所述客户端扰动,所述第二扰动数据为所述服务端利用所述公钥,对加密后的所述第四随机数与第三随机数的第二乘积以及所述第一扰动数据进行同态相加生成,所述第三随机数为所述服务端生成。
21.一种图像的处理系统,包括:
客户端,用于对第一推理模型的输入特征进行客户端扰动,生成第一扰动数据,所述输入特征根据待处理图像生成,根据消除了所述客户端扰动的第二扰动数据,利用所述第一推理模型计算出所述待处理图像的处理结果;
服务端,用于根据所述第一扰动数据,利用第二推理模型计算出第一结果,并对所述第一结果进行第一服务端扰动,生成第二扰动数据,所述第一推理模型与所述第二推理模型的结构相同。
22.一种图像的处理装置,包括:
生成单元,用于对第一推理模型的输入特征进行客户端扰动,生成第一扰动数据,所述输入特征根据待处理图像生成;
计算单元,用于根据消除了所述客户端扰动的第二扰动数据,利用所述第一推理模型计算出所述待处理图像的处理结果,所述第二扰动数据为服务端对第一结果进行第一服务端扰动生成,所述第一结果为所述服务端根据所述第一扰动数据利用第二推理模型计算出,所述第一推理模型与所述第二推理模型的结构相同。
23.一种图像的处理装置,包括:
存储器;和
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行权利要求1-13任一项所述的图像的处理方法,或者权利要求14-20-任一项所述的图像的处理方法。
24.一种非易失性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-13任一项所述的图像的处理方法,权利要求14-20任一项所述的图像的处理方法。
CN202210394079.5A 2022-04-15 2022-04-15 图像的处理方法、系统和装置 Pending CN114817954A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210394079.5A CN114817954A (zh) 2022-04-15 2022-04-15 图像的处理方法、系统和装置
PCT/CN2023/087280 WO2023197989A1 (zh) 2022-04-15 2023-04-10 图像的处理方法、系统和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210394079.5A CN114817954A (zh) 2022-04-15 2022-04-15 图像的处理方法、系统和装置

Publications (1)

Publication Number Publication Date
CN114817954A true CN114817954A (zh) 2022-07-29

Family

ID=82536927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210394079.5A Pending CN114817954A (zh) 2022-04-15 2022-04-15 图像的处理方法、系统和装置

Country Status (2)

Country Link
CN (1) CN114817954A (zh)
WO (1) WO2023197989A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023197989A1 (zh) * 2022-04-15 2023-10-19 网银在线(北京)科技有限公司 图像的处理方法、系统和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6954084B2 (ja) * 2017-12-18 2021-10-27 大日本印刷株式会社 デバイス、セキュアエレメント、プログラム、情報処理方法及び情報処理システム
WO2020150678A1 (en) * 2019-01-18 2020-07-23 The Regents Of The University Of California Oblivious binary neural networks
US11763157B2 (en) * 2019-11-03 2023-09-19 Microsoft Technology Licensing, Llc Protecting deep learned models
WO2021178911A1 (en) * 2020-03-06 2021-09-10 The Regents Of The University Of California Methods of providing data privacy for neural network based inference
US11853793B2 (en) * 2020-10-09 2023-12-26 Samsung Electronics Co., Ltd. Methods and system for on-device AI model parameter run-time protection
CN113642664B (zh) * 2021-08-24 2024-02-20 安徽大学 一种基于联邦学习的隐私保护图像分类方法
CN113850272A (zh) * 2021-09-10 2021-12-28 西安电子科技大学 基于本地差分隐私的联邦学习图像分类方法
CN114817954A (zh) * 2022-04-15 2022-07-29 网银在线(北京)科技有限公司 图像的处理方法、系统和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023197989A1 (zh) * 2022-04-15 2023-10-19 网银在线(北京)科技有限公司 图像的处理方法、系统和装置

Also Published As

Publication number Publication date
WO2023197989A1 (zh) 2023-10-19

Similar Documents

Publication Publication Date Title
US11902413B2 (en) Secure machine learning analytics using homomorphic encryption
US20200366460A1 (en) Homomorphic data decryption method and apparatus for implementing privacy protection
JP6008316B2 (ja) 秘密分散装置および秘密分散プログラム
CN112906044B (zh) 多方安全计算方法、装置、设备及存储介质
JP4334582B2 (ja) 秘密分散装置、方法及びプログラム
CN107210006B (zh) 不一致检测方法、检测系统、检测装置以及记录介质
CN111898137A (zh) 一种联邦学习的隐私数据处理方法、设备及系统
WO2019208484A1 (ja) 秘密集約総和システム、秘密計算装置、秘密集約総和方法、およびプログラム
CN113537633B (zh) 基于纵向联邦学习的预测方法、装置、设备、介质和系统
CN113239404A (zh) 一种基于差分隐私和混沌加密的联邦学习方法
JP5860557B1 (ja) 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム
JPWO2018135511A1 (ja) 秘密計算方法、秘密計算システム、秘密計算装置、およびプログラム
JP2010166228A (ja) 分散型秘匿化データ統合装置、分散型秘匿化データ統合方法および分散型秘匿化データ統合用プログラム
CN112769542A (zh) 基于椭圆曲线的乘法三元组生成方法、装置、设备及介质
CN114817954A (zh) 图像的处理方法、系统和装置
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
CN114492850A (zh) 基于联邦学习的模型训练方法、设备、介质及程序产品
JP6777816B2 (ja) 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム
US11943277B2 (en) Conversion system, method and program
JP2010096787A (ja) 秘密情報分散装置、秘密情報分散プログラム、秘密情報分散方法、秘密情報復元装置、秘密情報復元プログラム、秘密情報復元方法、及び秘密情報分散復元システム
JP2020519968A (ja) ビット分解秘密計算装置、ビット結合秘密計算装置、方法およびプログラム
Liao et al. Efficient privacy-preserving outsourcing of large-scale convex separable programming for smart cities
JPWO2018008547A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
WO2019163636A1 (ja) 秘密計算装置、秘密計算認証システム、秘密計算方法、およびプログラム
JP6321216B2 (ja) 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム

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