CN110537191A - 隐私保护机器学习 - Google Patents

隐私保护机器学习 Download PDF

Info

Publication number
CN110537191A
CN110537191A CN201780089839.9A CN201780089839A CN110537191A CN 110537191 A CN110537191 A CN 110537191A CN 201780089839 A CN201780089839 A CN 201780089839A CN 110537191 A CN110537191 A CN 110537191A
Authority
CN
China
Prior art keywords
weight
training
function
data
computer
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
CN201780089839.9A
Other languages
English (en)
Inventor
P·莫哈塞尔
Y·张
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.)
Visa International Service Association
Original Assignee
Visa International Service Association
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 Visa International Service Association filed Critical Visa International Service Association
Publication of CN110537191A publication Critical patent/CN110537191A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • 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/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/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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Abstract

提供用于隐私保护机器学习训练的新的高效协议(例如,针对使用随机梯度下降法的线性回归、逻辑回归和神经网络)。协议可以使用双服务器模型,其中数据所有者在两个不共谋的服务器之间分发它们的私用数据,所述服务器使用安全双方计算(2PC)在联合数据上训练各种模型。新技术支持共享小数数字的安全算术运算,并提出非线性函数的MPC友好替代方案,所述非线性函数例如是sigmoid和softmax。

Description

隐私保护机器学习
背景技术
机器学习技术在实践中广泛用于产生用于医药、金融、推荐服务、威胁分析和认证技术的预测模型。长时间收集的大量数据支持用新的解决方案解决旧问题,深度学习的进步使得在语言、图像和文本识别方面有所突破。
大型互联网公司收集用户的在线活动,以便对预测他们未来兴趣的推荐系统进行训练。来自不同医院和政府组织的健康数据可用于产生新的诊断模型,而金融公司和支付网络可以组合交易历史记录、商户数据以及账户持有人信息来训练更精确的欺诈检测引擎。
图1示出描绘用于训练和使用机器学习模型的过程100的高级图。过程100从训练数据开始,示出为现有记录110。训练数据可包括各种数据样本,其中每个数据样本包括输入数据和已知的输出数据。对于实例数据样本,输入数据可以是图像的像素值,输出数据可以是图像内容的分类(例如,图像是狗的图像)。
获得训练数据后,可以使用学习过程来训练模型。学习模块120示出为接收现有记录110,并在训练完成后提供模型130。由于数据样本包括已知与特定输入相对应的输出,所以模型可以学习哪些输出,例如哪些图像,是狗的图像的对应输入类型。一旦模型130训练结束,它就可以用于预测包括新输入的新请求140的输出。例如,模型130可以确定新图像是不是狗的图像。模型130示出为基于新请求140提供预测输出150。预测输出150的实例包括威胁分类、认证分类或推荐。通过这种方式,可以使用大量训练数据来创建可以有利地用于解决特定问题的人工智能。
机器学习在实践中广泛用于产生适用于图像处理、语音和文本识别等应用的预测模型。在从不同来源收集的大量数据上训练时,这些模型更为精确。使用不同来源可使得训练样本类型差异较大,因此在遇到新输入(例如,新图像、文本、语音中的声音等等)时,模型更加稳健。但是,大量数据收集存在隐私顾虑。
虽然最近的技术进展可以实现对大数据的更高效存储、处理和计算,但是组合来自不同来源的数据仍然是一个重要的挑战。竞争优势、隐私顾虑、规章制度以及关于数据主权和管辖权的问题使得许多组织无法公开分享它们的数据。通过安全多方计算(MPC)进行的隐私保护机器学习提供了一项有前景的解决方案,可以让不同实体在它们的联合数据上训练各种模型,而不会泄露后果无法承担的任何信息。
早期在隐私保护机器学习方面的工作重点是决策树[31]、K均值聚类[14,28]、SVM分类[44,48]、线性回归[19,20,40]以及逻辑回归[42]。这些文章提出了基于安全多方计算的解决方案,但似乎会产生高效率的开销,且无法实施和评估。
Nikolaenko等人[37]提出了使用线性同态加密(LHE)和混淆电路的组合进行的水平分割数据上的隐私保护线性回归协议,并在具有数百万个样本的数据集上评估它。Gascon等人[21]将结果扩展到竖直分割数据,并表现出更好的性能。但是,这两篇文章都将问题缩小到使用姚氏混淆电路协议求解线性系统,这使得训练时间的开销较大且无法应用于非线性模型。最近,Gilad-Bachrach等人[23]提出一种安全数据交换框架,并作为一项应用,支持隐私保护线性回归。但是,只能测试小数据集,且协议只能使用混淆电路来实施,这无法扩展用于较大数据集上的训练。
Wu等人设想了隐私保护逻辑回归[46]。他们提出使用多项式来逼近逻辑函数,并使用LHE来训练模型。但是,复杂度是逼近多项式的阶次的指数级,如下述实验所示,与使用逻辑函数相比,模型的精确性降低。Aono等人[10]设想了一种不同的安全模式,在这种模式中不受信任的服务器收集并组合来自多个客户端的加密数据,并将数据传输给受信任的客户端,以便在明文上训练模型。通过利用2次多项式仔细地逼近逻辑回归的成本函数,可以通过求解线性系统来计算最佳模型。但是,在这种设置中,聚合数据的明文会向客户端泄露谁在训练模型。我们没有发现用于双服务器模型中隐私保护逻辑回归的可行系统的任何先前工作。
神经网络的隐私保护机器学习更具挑战性。Shokri和Shmatikov[41]提出一种解决方案,在这种方案中,两个服务器在训练过程中共享一部分系数的变化,而不是共享数据。虽然系统非常高效(无需加密运算),但是还没有充分了解这些系数变化的泄露,也没有获得正式的安全保障。此外,每个服务器都应该能够单独执行训练,以便获得系数变化,这意味着每个服务器都会用明文保存水平分割数据的大部分。最近,Gilad-Bachrach等人研究了使用神经网络的隐私保护预测[22]。使用完全同态加密,神经网络模型可以在加密数据上进行预测。在这种情况下,假设神经网络在明文数据上训练,且模型对于基于另一方的私用数据评估模型的一方来说是已知的。
一项正交工作设想了机器学习算法的差别隐私[9,16,43]。在这种设置中,服务器可以完全访问明文数据,但是想保证已发布的模型无法用于推断训练过程中使用的数据。在差别隐私机器学习中使用的常用技术是向数据或更新函数引入加性噪声(例如,[9])。噪声的参数通常由数据尺寸、机器学习算法的参数和安全要求预先确定,因此与数据无关。但是,服务器仍然可以完全访问明文数据。
因此,希望提供新技术,以更高效地训练机器学习模型,同时保护各种数据来源的数据隐私。
发明内容
本发明的实施例提供用于实施隐私保护机器学习的方法、设备和系统。来自多个来源的私用数据可在两个或更多个训练计算机之间秘密共享。私用数据的单个数据项的不同部分可以存储在不同训练计算机上,使得数据项对于任何一个训练计算机来说不是已知的。作为训练的部分,秘密共享部分可以与以隐私保护方式应用到它们的权重和函数相乘。使用实施例,模型的权重可以在训练中高效地确定,例如通过基于当前预测输出和数据样本的已知输出的误差执行权重的迭代更新来确定。在各种实施方案中,误差可用于计算用来更新权重的增量(delta)值,其中增量值可对应于例如使用共轭法或拟牛顿法确定的梯度或梯度组合。
根据实施例,私用输入数据可以表示为整数(例如,通过使浮点数的位移位),且训练可涉及使这些整数(和其它中间值)和由整数表示的权重相乘。相乘可涉及使用在训练计算机之间秘密共享的随机乘法三元组,从而使得训练计算机处的乘法能够运算于秘密共享部分上,同时共享随机中间值。秘密共享结果(例如,用于更新权重的增量值)可以通过在训练计算机处对秘密共享部分进行截尾来截尾,从而实现高效计算并限制用于存储整数值的存储器的量。
根据另一实施例,混淆电路可用于实施模型的激活函数(例如,逻辑回归或神经网络),所述模型使用运算于输入向量和一组权重的输入乘积(例如,内积)上的激活函数。可以在确定要与数据样本的已知输出比较的预测输出时实施激活函数。激活函数可以是分段函数,所述分段函数是:在输入乘积小于第一临界值(cutoff)时的第一常数、在输入乘积大于第二临界值时的第二常数,以及在输入乘积在第一临界值和第二临界值之间时在第一常数和第二常数之间单调变化的函数。
下文更详细地描述本发明的这些和其它实施例。例如,其它实施例涉及与本文中描述的方法相关联的系统、设备和计算机可读介质。
参考下面的详细描述和附图可以获得对本发明的实施例的特性和优点的更好理解。
附图说明
图1示出描绘用于训练和使用机器学习模型的过程的高级图。
图2示出根据本发明的实施例的用于使用来自数据客户端的秘密共享数据训练机器学习模型的双服务器架构。
图3A示出逻辑函数。图3B示出神经网络的实例。
图4示出不经意传输(oblivious transfer)的实例。
图5示出根据本发明的实施例的隐私保护线性回归的在线阶段。
图6示出根据本发明的实施例的基于线性同态加密的离线协议。
图7示出根据本发明的实施例的新激活函数。
图8示出根据本发明的实施例的隐私保护逻辑回归协议。
图9示出根据本发明的实施例的使用秘密共享乘法三元组及截尾执行隐私保护机器学习的方法的流程图。
图10示出根据本发明的实施例的使用秘密共享和分段激活函数执行隐私保护机器学习的方法的流程图。
图11A-11D示出隐私保护线性回归和明文线性回归的比较。|B|设置为128。图11A和11B用于LAN网络,图11C和11D用于WAN网络。图11A和11C在重对数图尺上,其中d=784。图11B和11D在正则图尺上,其中n=10,000。
图12示出根据本发明的实施例的具有不同迷你批大小的WAN上的隐私保护线性回归的性能(n=10,000,d=784)。
图13A和13B示出实施例与先前技术的效率比较。图13A和13B在重对数图尺上,d=500,|B|=128。
图14A-14D示出隐私保护逻辑回归与明文逻辑回归的比较。|B|设置为128。图14A和14B用于LAN网络,图14C和14D用于WAN网络。图14A和14C在重对数图尺上,d=784。图14B和14D在正则图尺上,n=10,000。
图15示出小数数字上带截尾的隐私保护线性回归和明文线性回归的精确性的比较。
图16示出在Arcene数据集上小数数字上带截尾的隐私保护线性回归和明文训练之间的精确性的比较。|B|=32。
术语
在讨论本发明的一些实施例之前,对一些术语的描述可有助于理解本发明的实施例。
术语“服务器计算机”可包括功能强大的计算机或计算机集群。例如,服务器计算机可以是大型主机、小型计算机集群或作为一个单元运作的一组计算机。在一个实例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可耦合到数据库,并且可包括用于服务来自一个或多个其它计算机的请求的任何硬件、软件、其它逻辑或前述各项的组合。术语“计算机系统”通常可以指包括可耦合到一个或多个数据库的一个或多个服务器计算机的系统。
“机器学习模型”可以指一组软件例程和参数,它们可以基于一组输入特征预测现实世界过程的输出(例如,对患者的诊断或治疗、对计算机网络的攻击者的识别、计算机认证、基于用户搜索查询的合适推荐等等)。软件例程的结构(例如,子例程的数目和它们之间的关系)和/或参数的值可以在训练过程中确定,训练过程可以使用所建模的现实世界过程的实际结果。
术语“训练计算机”可以指在训练机器学习模型时使用的任何计算机。作为实例,训练计算机可以是从中获得输入数据的一组客户端计算机中的一个或者是与客户端计算机分离的服务器计算机。
术语“秘密共享”可以指可用于在一组训练计算机上存储数据项使得每个训练计算机无法自行确定数据项的值的任一种技术。作为实例,秘密共享可涉及将数据项分成需要足够数目个(例如,所有)训练计算机进行重构的份额和/或其中解密需要训练计算机之间进行共谋的加密机制。
具体实施方式
隐私保护机器学习很难高效实施。本公开提供能够高效实施的技术,使得多个客户端计算机(例如,来自不同公司、可能的竞争对手)能够在创建机器学习模型时使用他们提供的数据,同时不必暴露私用数据。来自多个来源的私用数据可在两个或更多个训练计算机之间秘密共享。例如,私用数据的单个数据项的不同部分可以存储在不同训练计算机上,使得数据项对于任何一个训练计算机来说不是已知的。
模型的训练可以使用迭代技术,这些技术基于结果已知的一组训练数据优化预测结果。作为训练的部分,秘密共享部分可以与以隐私保护方式应用到它们的权重和函数相乘。此类乘法运算和秘密共享可以多种方式执行,例如,使用乘法三元组和/或混淆电路。离线阶段可生成乘法三元组,其中三元组可以依据训练计算机之间的网络通信速度以不同方式(例如,使用不经意传输或线性同态加密)生成。
为了提高计算效率,私用输入数据可以表示为整数(例如,通过使浮点数的位移位)。为了避免使整数的存储空间增加,秘密共享结果(例如,用于更新权重的增量值)可以通过在训练计算机处对秘密共享部分进行截尾来截尾,从而实现高效计算并限制用于存储整数值的存储器的量。
对于涉及激活函数(例如,逻辑回归或神经网络)的机器学习模型,可以使用混淆电路。可以在确定要与数据样本的已知输出比较的预测输出时实施激活函数。激活函数可以是分段函数,所述分段函数是:在输入乘积小于第一临界值时的第一常数、在输入乘积大于第二临界值时的第二常数,以及在输入乘积在第一临界值和第二临界值之间时在第一常数和第二常数之间单调变化的函数。
结果显示,与其它隐私保护技术相比,效率有所提高,且对于不保护隐私的训练方法,结果也具有可比性。实施方案在C++中实施,并且表明它的效率与用于明文数据上的机器学习的现有软件(例如,Tensorflow)的效率相当,如果这两个服务器是在同一局域网中托管的话。我们的实验证实,我们的协议比隐私保护线性和逻辑回归的现有技术实施方案快数个数量级,并且可以扩展到数百万个具有数千个特征的数据样本。我们还实施了用于训练神经网络的隐私保护系统。在实施例的更一般变化形式中,即使是模型,也可以保持私密(秘密共享)。
I.安全模型
本公开的各方面关注用于训练线性回归、逻辑回归和神经网络模型的机器学习算法。实例采用双服务器架构,这是以前通过多方计算(MPC)进行隐私保护机器学习的工作中常用的架构[21,36,37]。双方计算称为2PC。
在MPC中,给定数目个参与计算机p1、p2、......、pN(也称为客户端)各自具有私用数据,分别为d1、d2、......、dN。参与者希望在所述私用数据上计算公共函数的值:F(d1,d2,...,dN),同时对自己的输入保密。在训练机器学习模型的过程中,实施例可以使用各种公共函数(例如,乘法运算、内积、激活函数等等)。MPC的目标是设计一种协议,其中一方只能与另一参与方(或与不受信任的服务器)交换消息,以便学习F,而不会向任何参与计算机泄露私用数据。理想地,唯一可以推断出的关于私用数据的信息是仅从函数的输出就可以推断出的内容。
A.架构
在实施例中,一组客户端希望在它们的联合数据上训练各种模型。未对数据在客户端之间的分发方式做出任何假设。具体地说,数据可以水平或竖直分割,或者在客户端之间秘密共享,例如,作为先前计算的一部分。因此,在机器学习模型的任何训练开始之前,可以在客户端之间分发数据库表格。例如,某一客户端可能有数据库表格中的一些行,而另一客户端有其它行。这称为水平分割。或者,一个客户端可能有一些列,而其它客户端可能有其它列。这称为竖直分割。依据应用场景,这两种初始状态/分割都可能存在。实施例可以让每个客户端在两个服务器之间“秘密共享”它在数据中的部分,因此数据绝不会以这种方式在服务器之间分割,且保持完全私密
自然解决方案是执行安全多方计算,其中每个客户端扮演一方的角色。虽然这种方法符合所需的私密性,但是它有几个缺点。第一,它要求客户端参与整个协议。第二,与双方情况不同,超过两方(以及不诚实的大多数)的技术昂贵得多,且不可扩展用于大输入量或大量客户端。
因此,实施例设想了服务器辅助设置,其中客户端将计算外包给两个不受信任但不共谋的服务器(也称为训练计算机)。服务器辅助MPC已被正式化,并一直在各项先前工作中使用(例如,参见[29])。它还在隐私保护机器学习的先前工作中使用[31,36,37]。这种设置的两个重要优势在于:(i)客户端可以在设置阶段在两个服务器之间分发(秘密共享)它们的输入,但不参与对数据的任何未来计算,和(ii)可以使用高效技术来进行布尔计算(例如,混淆电路和OT扩展),以及算术计算(例如,离线/在线乘法三元组份额)。
依据情景,先前工作是指两个服务器作为评估者和加密服务提供者(CSP)[37],或作为评估者和维护数据的云服务提供者[24]。虽然实例显示服务器与客户端不同,但是这两个服务器可以代表客户端(例如,客户端的子集)或自身处于拥有数据的客户端之间。无论指派给服务器的具体角色是什么,信任模型可以是相同的,并且假设这两个服务器都不受信任,但不共谋。
图2示出根据本发明的实施例的用于使用来自数据客户端的秘密共享数据训练机器学习模型的双服务器架构200。虽然示出了两个服务器,但是可以使用更多个服务器。另外,可以从数据客户端选择一个或多个服务器。
数据客户端210-212中的每一个都存储它们不希望与其它数据客户端共享的私用数据。在设置阶段,数据客户端210-212在服务器230和240之间共享它们的私用数据。秘密共享的实例包括加法共享、布尔共享和姚氏共享,并且可涉及加密。每个客户端都可以生成自己的私用数据的份额,然后将每一份额发送到其中一个服务器。因此,服务器230和240可以共同地存储所有私用数据,但服务器230和240无法单独访问私用数据。服务器是不共谋的,因为它们无法交换消息来重新创建私用数据。
在计算阶段,服务器230和240可以在客户端的联合数据上训练模型250,而不用学习除训练模型之外的任何信息。此竞争阶段可包括输入数据与权重相乘以获得预测输出。可应用其它函数,例如加法运算和激活函数。这些函数可以在不用在任何一个服务器上重构私用数据的情况下执行。各种实施例可以使用乘法三元组、混淆电路和/或不经意传输作为以隐私保护方式执行此类函数的机制。后面的部分描述了用于以隐私保护方式高效计算此类函数的技术。
B.秘密共享
如上文所提到,数据客户端可以在训练计算机(例如,服务器230和240)之间秘密共享其私用数据。数据项的秘密共享可以创建数据项的单独部分,并将每个部分(份额)分配到不同的训练计算机。数据项只能在足足有t个(例如,所有)份额组合到一起时重构。但是,因为训练计算机是不共谋的,所以训练计算机之间不共享秘密部分(份额),从而对数据项保密。因此,如果机器学习使用用户的配置文件数据来预测用户的动作,那么配置文件中的每个数据项都可以在两个服务器之间分割。
可以以安全的方式进行共享。一个不安全实例是将数据项的一半字符(例如,数字或字母)给予一个服务器,另一半字符给予另一服务器。这种系统不是“安全”秘密共享方案,因为具有少于t个秘密份额的服务器能够缩小获得秘密的问题,而不需要首先获得所有必要的份额。
在安全秘密共享的一些实施方案中,足够的份额的数目t等于训练计算机的数目N。实例过程是将秘密编码为任意长度二进制数s。将具有与s相同的长度的随机数pi提供给每一服务器i(除了一以外)。将(s XOR p1 XOR p2XOR......XOR pn-1)的结果提供给最后一个服务器,其中XOR是按位异或。秘密是服务器的所有数的按位XOR(其为重构函数的实例)。其它实例可以在任何域中使用任何线性算子。例如,对于具有明确定义的溢出语义的32位整数的秘密(即,保留正确答案,模2^32),s可分成具有M个32位整数的向量,称为v秘密。然后,向(n-1)个服务器中的每一个提供具有M个随机整数的向量,服务器i接收vi。向其余服务器提供vn=(v秘密-v1-v2-...-vn-1)。接着,可以通过对服务器的所有向量进行求和来恢复秘密向量,这是重构函数的另一实例。此类实例可称为加法共享。秘密共享的其它实例包括布尔共享和姚氏共享,它们可用于更加高效地进行特定计算,例如,以便安全计算逻辑函数和修正线性单元(RELU)函数的替代性激活函数(见章节IV-C-1)。
除了原始输入数据,还可以秘密共享中间值。这种中间值可在模型训练和/或评估期间出现。中间值的实例包括神经网络中节点的输出、输入值的内积以及在通过逻辑函数评估前的权重等等。中间值很敏感,因为它们也可以显示有关数据的信息。因此,每个中间值都可以保持秘密共享。一些实施例可以使用乘法三元组,使得乘法结果(这是中间值的实例)能够秘密共享。
C.安全定义
记住相关方可包括m个客户端和两个服务器实施方案可以假设可能会破坏客户端的任何子集和两个服务器中的最多一个的半诚实对手。这抓住了两个服务器不共谋这一特性,即,如果对手控制一个服务器,那么第二个服务器诚实行事。请注意,我们不会对客户端当中以及客户端和服务器之间的共谋进行任何限制。我们将此类对手称为可接受对手。在一种特定情境下(参见章节IV-B-3),我们要求服务器不与客户端共谋,从而削弱安全模型。
安全定义应要求此类对手只学习它已经破坏的客户端的数据及最终输出,而不是任何关于其余诚实客户端数据的信息。例如,进行破坏不应学习有关的除训练模型之外的数据的任何信息的对手。我们使用通用可组合性(UC)的框架[15]来定义安全。下方提供安全定义的简要概述,其它细节可参见[15]。
因此,用于涉及受信任第三方的机器学习协议的目标理想功能函数可针对包括客户端C1;:::;Gm和服务器S0;S1的系统来定义。为了上载数据,来自Ci的输入xi可存储于受信任第三方内部。为了计算,在从S0或S1输入函数F之后,可以计算(y1;:::;ym)=f(x1;:::;xm),并且将yi发送到Ci。可以使用不同函数多次重复此步骤。
UC框架的执行涉及一系列(非统一)交互式图灵机。在本公开中,我们设想了可接受半诚实对手A,如上文所论述。各力根据协议交换消息。未被破坏方的协议输入由环境机器选择。未被破坏方还向环境报告它们的协议输出。在交互结束时,环境输出单个位。对手也可以随意与环境互动——在不损失一般性的情况下,对手是只将所有接收到的协议消息转发给环境并且按照环境指示在协议中行动的虚拟对手。
通过比较真实和理想交互来定义安全。假设REAL[z,A,π,λ]表示在与对手A和诚实方交互时环境Z的最终(单个位)输出,所述诚实方在安全参数λ上执行协议π。此交互被称为涉及协议π的真实交互。
在理想交互中,各方只是将它们接收的输入转发给不可破坏的功能函数机器,并将功能函数的响应转发给环境。因此,受信任功能函数代表各方执行整个计算。上文描述了协议的目标理想功能函数Fml。假设IDEAL[Z,S,Fml,λ]表示在与对手S和诚实方交互时环境Z的输出,所述诚实方在存在功能函数F的情况下在安全参数λ上运行虚拟协议。
如果对于攻击真实交互的每个可接受对手A(在不损失一般性的情况下,我们可将A视为虚拟对手),存在攻击理想交互的对手S(称为模拟器),那么协议π安全地实现功能函数Fml,使得对于所有环境Z,以下量可以忽略(在λ中):
|Pr[REAL[Z,A,π,λ]=1-Pr[IDEAL[Z,S,Fml,λ]=1|
直观地,模拟器在理想交互中必须实现对手在真实交互中实现的相同效果(针对环境)。应注意,环境的视角包括(在不损失一般性的情况下)诚实方发送给对手的所有消息以及诚实方的输出。
II.机器学习和安全计算的预备措施
如图2所述,训练计算机(描绘为服务器230和240)可以使用它们之间秘密共享的数据样本来训练模型。依据所使用的机器学习模型的类型,训练的具体实施方案可能会有所不同。在章节II-A中描述了一些实例。还描述了用于安全计算的一些技术。
A.机器学习
在本章节中,我们简要回顾了本论文中考虑的机器学习算法:线性回归、逻辑回归和神经网络。我们呈现的所有算法都是经典的,可参见标准机器学习课本(例如,[26])。
1.线性回归
给定分别含有d个特征和对应输出标签(输出)yi的n个训练数据样本xi,回归是一种学习函数g使得g(xi)≈yi的统计过程。回归在现实生活中有很多应用。例如,在医学中,它用于学习疾病和代表性特征之间的关系,所述代表性特征例如是年龄、体重、饮食习惯,并使用所述关系进行诊断。
在线性回归中,假设函数g为线性的,并且可以将其表示为xi与系数向量w的内积:其中xij(表示wj)是向量xi(表示w)中的第j个值,且“·”表示两个向量的内积。通常,引入偏置b,使得g(xi)=xi·w+b。但是,这可以通过为每一xi附加等于1的虚拟特征轻松实现。为简化标记,我们假设在本公开中b已嵌入w。
为学习系数向量w,定义成本函数C(w),并通过优化argmin wC(w)来计算w。在线性回归中,常用成本函数是其中在岭回归中,将惩罚项λ||w||2添加到成本函数中以免过度拟合,其中λ是正则化参数。实施例可以使用这类项,为简单起见,以下讨论中省略了这类项。
可以通过求解线性系统(XT×X)×w=XT×Y来计算此优化问题的解,其中X是表示所有输入数据的n×d矩阵,且Y是输出标签的n×1矩阵。但是,矩阵相乘XT×X的复杂度是O(nd2),求解线性系统的复杂度是O(d3)。由于这一高复杂度,除了n和d的较小值之外,它很少在实践中使用。
2.训练模型-随机梯度下降(SGD)
SGD是一种逐步接近函数的局部最小值的有效逼近算法。因为用于上文所描述的线性回归的优化函数是凸面,可证明SGD收敛到全局最小值,实际上,SGD通常会非常快地收敛。此外,SGD可被推广用于逻辑回归和神经网络训练,其中对应优化问题没有封闭形式的解。因此,SGD实际上是训练这种模型的最常用方法,也是这项工作的主要重点。
SGD算法运作如下:w初始化为具有随机值或全部为0的向量。每次迭代时,随机选择样本(xi,yi),并将系数wj更新为
其中α是定义每次迭代时向最小值移动的量值的学习速率,偏导数提供有关系数wj的给定变化的成本函数如何变化的信息。替换线性回归的成本函数,公式变成wj:=wj-α(xi·w-yi)xij。计算预测输出的阶段被称为前向传播,且计算变化的阶段被称为后向传播。在一些实施例中,系数向量w的所有值可在单个向量化运算中一起更新。
a)迷你批
可以随机选择一小批样本,而不是每次迭代选择一个数据样本,其中w通过对当前w的所有样本的偏导数取平均来更新。例如,可以根据方程式(1)计算wj的多个偏导数,每个偏导数对应于不同样本。我们用B表示在迷你批中选定的索引集。这称为迷你批SGD,且|B|表示迷你批大小,通常在2到200范围内。迷你批的益处在于,可以使用向量化库来使计算加速,使得一个迷你批的计算时间比在不具有迷你批的情况下运行|B|次迭代快得多。此外,在迷你批的情况下,w通常会更平滑且更快地收敛到最小值。在迷你批的情况下,更新函数可以表示为向量化形式:
其中,XB和YB是使用B中的索引选定的X和Y的B×d和B×1子矩阵,表示迭代中|B|个数据样本和标签。此处,w被视为列向量。
b)学习速率调整
如果学习速率α太大,那么SGD的结果可能会从最小值发散。因此,测试数据集可用于测试当前w的精确度。w和测试数据集中的每一数据样本的内积可被计算为预测,并且与对应的输出标签比较。精确度可以测量为测试数据集上的正确预测(例如,逻辑回归的正确分类)的百分比或成本函数的值。如果精确度在减小(或成本函数在增加),那么学习速率可减小,且训练可以新的学习速率重新开始。为了平衡测试所花费的开销,可以混洗所有训练样本,按顺序在每次迭代中选择迷你批,直到所有样本都使用一次。这被称为一个时期(例如,在所有训练样本都使用一次之后)。在一个时期之后,测试出当前w的精确度。此时,如果精确度降低,那么学习速率减小一半,训练重新开始;否则重新混洗数据,并执行下一训练时期。
c)终止
当与先前时期相比的精确度差低于较小阈值时,w被视为已收敛到最小值,且算法终止。我们将训练模型的时期数表示为E,将迭代总数表示为t。应注意,我们得出以下关系式:n·E=|B|·t。
3.逻辑回归
在有两个类别的分类问题中,输出标签y是二进制的。例如,给定一些医疗特征,一个人可能有兴趣预测患者是否健康。在这种情况下,更好的是结合在0和1之间的预测输出。因此,将激活函数f应用于内积的顶部,关系式表达为:g(Xi)=f(xi·w)。在逻辑回归中,激活函数被定义为逻辑函数如图3A所示,逻辑函数的两个尾部收敛到0和1。
使用此激活函数,线性回归的原始成本函数不再是凸面,因此应用SGD可提供局部最小值,而不是全局最小值。因此,成本函数可以是交叉熵函数:其中
逻辑回归的迷你批SGD算法在每次迭代时更新系数,如下:
注意,逻辑回归的后向传播与线性回归的形式完全相同,但是它是使用不同的激活和成本函数导出的。逻辑回归的SGD的唯一差别在于在前向传播中向内积应用额外的逻辑函数。
4.神经网络
神经网络是回归的一种推广,用于学习高维输入和输出数据之间的更复杂关系。它在各种领域中广泛使用,诸如图像处理、语音和文本识别,甚至用于玩游戏Go,通常会引起每个领域的突破。图3B示出具有m-1个隐藏层的神经网络的实例。隐藏层和输出层中的每个节点是回归的实例,且与激活函数和系数向量相关联。节点也被称为神经元。普遍使用的激活函数包括逻辑和RELU函数f(u)=max(0u,。
针对具有多个类别的分类问题,通常在输出层处应用softmax函数其中dm表示输出层中神经元的总数。应理解,在softmax函数之后的输出始终是一种概率分布:每一输出都在0和1之间,所有输出总计为1。
为了使用SGD训练神经网络,每次迭代时应用方程式(1)来更新所有神经元的所有系数,其中每个神经元都被视为与回归类似。具体地说,假设di是层i中神经元的数目,d0=d是输入数据中特征的数目。dm是输出的尺寸。我们将第i层的系数矩阵表示为di-1×di矩阵Wi,并将值表示为|B|×di矩阵Xi。X0初始化为XB。在每次迭代的前向传播中,第i层的矩阵Xi计算为Xi=f(Xi-1×Wi)。在后向传播中,给定成本函数,例如交叉熵函数,每一神经元中每一系数的更新函数可以用封闭形式表示。为了计算它,我们迭代地计算向量其中Ui=Xi-1×Wi。Ym初始化为其中只是激活函数的导数,且⊙是逐元素乘积。根据链式规则, 最后,通过让来更新系数,这与后向传播相对应。
和,每个Yi在此处都可以被视为误差项。具体地说,神经网络的最后一层的Ym等于前向传播的输出与实际输出标签的差(误差)。因此,Ym是最后一个层的误差,且上述Yi的方程式同样可用于计算中间层的误差输出。每一误差都都可用于更新所述层的Wi
B.安全计算
各种实施例可以使用各种安全计算技术。此类技术可用于对在服务器之间秘密共享的数据执行函数,而不会将重构数据暴露给服务器。在后面的章节中描述了整个机器学习过程中如何组合和使用技术。
1.不经意传输
不经意传输(OT)是一种常用作MPC中的构建块的基本加密原语。在不经意传输协议中,发送方s有两个输入x0和x1,接收方有选择位b,并且想获得xb,而不用学习其它任何内容或将b显示给s。通过此类协议实现的理想功能函数可定义为:在R的输入(SELECT;sid;b)和S的输入(SEND;sid;x0;x1)上,返回(RECV;sid;xb)至R。我们使用标记(⊥;xb)←OT(x0,x1;b)表示实现此功能函数的协议。
图4示出不经意传输的实例。在401处,发送方S与接收方R执行密匙交换。例如,发送方S可生成私钥/公钥对,并将公钥(例如,模量N和指数e)发送到接收方R。在402处,发送方S生成两个随机值m0和m1,并将它们发送到接收方R。在403处,接收方R将b选择为0或1,从而选择mb。接收方R也生成随机数k。在404处,接收方R利用从发送方S交换的密钥加密随机数k,并使用mb对结果进行盲化,从而获得盲化后的加密v。在405处,接收方R将盲化后的加密v发送到发送方S。
在406处,发送方S尝试通过将m0和m1及它的密钥应用到v导出k的两个可能值来对v进行解盲和解密,其中一个值将等于接收方R生成的随机值。发送方S不知道(也希望其无法确定)接收方R选择了m0和m1中的哪一个。在407处,利用k的两个可能值对x0和x1进行盲化。在408处,将盲化后的x0和x1发送到接收方R,它们各自可被识别为对应于0或1。在409处,接收方R使用k对对应于选定b的盲值进行解盲。
因此,可通过发送方S生成两个密钥m0和m1来进行不经意传输。接着,接收方R可使用其中一个密钥来加密盲化因子。然后,发送方S使用这两个密钥解密盲化因子,其中一个密钥是正确的盲化因子,它用于对这两个秘密输入进行解盲。接着,接收方R可对正确输入进行解盲。
实施例可以使用OT作为离线协议的一部分,以生成乘法三元组,且在线阶段中用于逻辑回归和神经网络训练以便安全地计算激活函数。一轮OT可使用[39]的协议实施,但它需要双方进行公钥运算。OT扩展[11,27]通过允许发送方和接收方以λ个基础OT(具有公钥运算)和O(m)个快速对称密钥OT为代价执行m个OT来最大限度地减少此成本,其中λ是安全参数。一些实施方案可以利用OT扩展来提高效率。在一个实施例中,使用称为相关OT扩展[11]的OT扩展的特殊版本。在我们用COT表示的这一变化形式中,发送方到每一OT的两个输入不是独立的。实际上,到每一OT实例的两个输入是:随机值s0和用于由发送方选定的相关函数f的值s1=f(s0)。表示为COTl的l位消息的COT的通信是λ+l,且计算是散列运算,例如,SHA256、SHA3或其它加密散列运算。
2.混淆电路2PC
[47]首先引入了混淆电路。混淆方案包括:混淆算法,其采用随机种子σ和函数f并生成混淆电路F和解码表dec;编码算法,其采用输入x和种子ρ并生成混淆输入x;评估算法,其采用x和F作为输入并返回混淆输出以及最后的解码算法,其采用解码表dec和并返回f(x)。一些实施例可以具有满足在[13]中正式化的标准安全特性的混淆方案。
混淆电路可被视为布尔电路,其输入呈具有固定长度的二进制数形式。布尔电路是与以下三种不同类型的线连接的一系列门:电路输入线、电路输出线和中间线。每个门接收两个输入线(例如,一方一个),并且具有可扇出(即,传递到下一级的多个门)的单个输出线。可以通过依次对每个门进行评估来进行电路评估。门可以表示为真值表,它为每对输入位指派唯一的输出位。
混淆电路的一般构想是变换函数的原始电路,使得线只含随机位串。例如,真值表中的每个位都替换为两个随机数(编码)中的一个,其中映射是发送方已知的。对每个门进行编码,使得它的输出位串可以根据输入计算,并且只有输出门的随机位串能映射回到实际结果。评估计算函数,但是不会泄露关于单独线上的值的信息。混淆电路技术的主要缺点在于低效评估及无法重复使用电路。因此,双方(发送方和接收方)可以基于它们自己的输入只学习电路的输出,即,不学习另一方对电路的输入。
在一些实施方案中,发送方通过使用替代输入线上的两个位的随机数确定每个门的真值表来准备混淆电路。然后利用来自真值表的随机数对输出值进行加密(例如,使用双重密钥对称加密)。因此,只有在知道给定输出值的两个正确随机数时才能对门解密。给定表格的四个值可以随机排列(进行混淆),因此行与输出值之间没有关系。发送方可以向接收方发送混淆表格(加密值的集合、它们之间的关系,即,一个的输出将成为另一个的输入),以及发送方的对应于输入位的随机值的输入。接收方可通过不经意传输从发送方获得对应随机数,因此发送方不知道接收方的输入。接着,接收方可计算输出,或可能获得需要发送回发送方以供解码的编码。如果想要发送方学习输出,那么编码可以被发送到发送方。可能不会对计算的中间值进行此操作,只能对双方无论如何都应学习的最终输出进行此操作。如果一方不应学习输出,那么不需要发送编码。在一些实施例中,混淆电路作用于中间值(例如,RELU函数和逻辑函数),因此它们可能并不进行解码。
给定这种混淆方案,有可能如下设计安全双方计算协议:Alice生成随机种子σ,并运行函数f的混淆算法以获得混淆电路GC。她还使用σ和x作为编码算法的输入对她的输入x进行编码。Alice将GC和x发送给Bob。Bob获得他使用y的每个位的不经意传输进行编码(混淆)的输入y。虽然基于OT的编码不是混淆方案的必要特性,但是所有现有构造都准许此类交互编码。接着,Bob对GC,x,y运行评估算法,以获得混淆输出可使Alice、Bob或他们两人通过相应地传送解码表来学习输出。以上协议安全地实现了理想功能函数这种功能函数只采用双方的输入并在输入上计算f。有关针对半诚实对手的安全性的详细描述和论证请参阅[32]。在本公开中,我们用(za,zb)←GarbledCircuit(x;y,f)表示此混淆电路2PC。
3.秘密共享和乘法三元组
如上所述,值在两个服务器之间秘密共享。在各种实施例中,可以采用三种不同的共享方案:加法共享、布尔共享和姚氏共享。我们简要地回顾了这些方案,但是更多详情请读者参考[18]。在一些实施例中,所有中间值都是在两个服务器之间秘密共享的。
为了加法共享(ShrA(·))l位值a,第一方P0随机均匀地生成并将a1=a-a0mod2l发送到第二方P1。我们用表示第一方的份额,用表示第二方的份额。为易于组合,我们省略了协议描述中的模块化操作。本公开在实例中主要使用加法共享,表示为<·>,但是也可以使用其它共享技术。为了重构(RecA(·,·))加法共享值<a>,Pi将<a>i发送到计算<a>0+<a>1的P1-i
给定两个共享值<a>和<b>,通过使Pi计算<c>i=<a>i+<b>imod2l易于非交互式地将份额相加。我们过载加法运算,以便用<a>+<b>表示加法协议。
为了使两个共享值<a>和<b>相乘(MulA(·,·))(即,计算c=a×b),我们利用Beaver的预计算乘法三元组技术。假设双方已经共享<u>,<v>,<z>,其中u,v是中的均匀随机值且z=uvmod2l。此三元组可以进行预计算和共享。接着,Pi在本地计算<e>i=<a>i-<u>i和<f>i=<b>i-<v>i。双方运行Rec(<e>0,<e>1)和Rec(<f>0,<f>1)。在e和f分别经随机数u和v修改后,无法知晓两个共享值<a>和<b>。然后,Pi计算<c>i=i·e·f+f·<a>i+e·<b>i+<z>i,其中i是0或1。
布尔共享可以被视为中的加法共享,因此,上述所有协议都可继续。具体地说,加法运算替换为XOR运算乘法运算替换为AND运算(AND(·,·))。我们用表示布尔共享中的Pi方的份额。
最后,还可以考虑混淆电路协议作用于输入的姚氏共享上,以产生输出的姚氏共享。具体地说,在所有混淆方案中,对于每个线w,混淆器(P0)生成两个随机串在使用点排列技术[34]时,混淆器还生成随机排列位rw,并假设接着,将级联位用于排列每一混淆真值表的各行。a的姚氏共享是为了重构共享值,双方交换其份额。XOR和AND运算可通过混淆/评估对应门来执行。
为了从姚氏共享切换到布尔共享,P0使得P1使得换句话说,用于混淆方案的排列位可用于自由切换到布尔共享。我们用Y2B(·,·)表示这一姚氏到布尔的转换。我们注意到,我们在协议描述中没有明确使用姚氏共享,因为它将隐藏在混淆方案内,但明确使用了将混淆输出转换为布尔共享的Y2B转换。
III.问题及实例改进
隐私保护线性回归[21,37]的现有技术水平解决方案比明文训练慢了数个数量级。先前实施方案的低效的主要原因是用于训练的大量计算在对表示为整数的小数数字执行算术运算的布尔电路(例如,姚氏混淆电路)的安全2PC内进行。布尔电路无法高效执行算术运算,但是定点或浮点乘法运算的现有技术需要位级运算,这些运算使用布尔电路是最高效的。
在逻辑回归和神经网络的情况下,由于训练程序计算非线性激活函数的许多实例,如sigmoid和softmax,它们在2PC内计算的成本很高,所以效率问题更具有挑战性。实际上,我们并未发现这两种训练算法的任何隐私保护实施方案。
要解决这些问题,实施例可以提供用于MPC中的隐私保护线性回归、逻辑回归和神经网络训练的新的高效协议(例如,在双服务器模型中)。实施方案可以与所有客户端的数据集的任意分割合作。本文所述的用于隐私保护线性回归协议的技术的效率比针对同一问题的现有技术水平解决方案高若干个数量级。例如,对于含样本和特征的数据集且在类似的设置中,实施例比在[21,37]中实施的协议更快。此外,我们的实验表明,我们大大缩小了隐私保护和明文训练之间的差距,在一些情形下,与使用流行的机器学习库TensorFlow[8]的训练比较,仅仅慢了六倍。
还描述了用于实施高效逻辑回归和神经网络训练的第一隐私保护协议的技术。例如,在具有784个特征的大小为60,000的数据集上,隐私保护逻辑回归的实施例的总运行时间为29秒,而我们用于训练具有3个层和266个神经元的神经网络的隐私保护协议运行21,000秒。
某些实施例分为数据独立离线阶段和快得多的在线阶段。在不包括离线阶段时,本协议可能比明文训练更具有竞争力。例如,对于含60,000个样本和784个特征的数据集,其中训练计算机在局域网(LAN)内运行,线性回归协议可在运行1.4秒,逻辑回归运行8.9秒,神经网络训练运行653.0秒。对于同一数据集,TensorFlow对于线性回归需要2.7秒,对于逻辑回归需要2.7秒,对于神经网络训练需要198.5秒。
A.共享小数数字的算术运算
机器学习算法的运算涉及实数(例如,表示为含小数点的浮点数)。但是,秘密共享技术一般使用整数。可以在所有浮点数上移位小数点,使得它们全都成为具有隐含在相同位置处的小数点的整数(因此,不再浮动)。但是,当此类整数相乘时,数字的大小一直增加,可能会在每次相乘后几乎成倍地增加。并且,因为机器学习算法涉及许多乘法运算,所以数字的大小会一直增加。
在某些时候,将整数的域限制到最大大小,从而提供有限域。在几次乘法运算之后,可能会达到有限域。为了施加有限域,可以截去最后X个数位(即,最低有效位),以便将整数的大小维持在N个数位,从而执行定点算术。当数字不是秘密共享时,这种截尾可以发挥作用,但如果它们是秘密共享的,就不清楚如何将数字维持在有限域中,更不用说在训练机器学习模型时这样做。例如,不清楚如何执行此类截尾。因此,在需要截尾时,先前技术并未使用秘密共享,而是使用混淆电路来控制位,使得一旦知晓乘法结果就由混淆电路执行截尾。因此,由于使用了混淆电路,所以先前技术较慢,并且具有很大的加密开销。
如果进行秘密共享,份额就可以在电路内组合,然后可以进行重构数字的乘法运算。混淆电路会输出加密份额,其中由接收方发送发送方的加密份额(其中发送方可以使用在创建混淆电路后分配的随机数来解密),并且接收方可以一次一个位地通过不经意传输获得对应的未加密部分。因此,接收方仅学习其在实际结果中的随机份额,而不是结果本身。
因此,先前工作的主要瓶颈是安全2PC内的定点算术计算,例如混淆电路。在训练需要大量乘法运算的情况下,这非常昂贵。与重构数字相反,实施例可以使用乘法三元组以及对份额执行的截尾运算,而不是使用混淆电路。
如上所述,乘法三元组使用随机值U和随机值V,它们相乘获得Z,其中这些随机数的乘法运算可以在离线阶段执行。乘法三元组可以在在线阶段使用,以执行两个实际数据值的乘法运算。每一方(训练计算机)都可以在本地对其在乘积结果中的自有份额进行截尾,因此不需要混淆电路。这样的截尾会产生某一误差,因为没有执行确切的乘法运算,但本公开(定理2)显示,这一误差在具有合理大小的域的机器学习算法中是微不足道的。因此,虽然理想的是通过使A和B相乘获得截尾的B,但是在对份额截尾之后重构获得了非常接近C的数字。这比在混淆电路中确定C然后对C截尾要快得多。
对于乘法运算,我们的结果表明以下策略非常有效:将两个共享小数数字表示为有限域中的共享整数;使用离线生成的乘法三元组对共享整数执行乘法运算;以及让各方对其在乘积中的份额进行截尾,使得固定数目个位表示分数部分。我们证明了与定点算术相比,从这些截尾的份额重构时乘积有很大概率在分数部分的最低有效位置最多截去1个位。我们在两个不同数据集MNIST和ARCENE[1,6]上进行的实验证实,当表示分数部分的位的数目足够大(例如,13个位)时,较小截尾误差对训练模型的精确度没有影响(实际上,精确度与标准训练的精确度相匹配),位的数目可取决于数据集。因此,隐私保护线性回归的在线阶段可能不涉及任何加密运算,仅包括整数乘法运算和位移位,而离线阶段包括生成必要的乘法三元组。
B.安全计算友好激活函数
逻辑回归的计算比线性回归更加密集,因为存在比乘法运算和加法运算更多的运算。例如,存在逻辑函数,如为非线性函数的sigmoid函数。这些函数还将应用于秘密共享值,这可能会变得非常昂贵,因为使用了大型混淆电路。先前工作一直使用逻辑函数的多项式逼近,但是精确度会降低,而且对于高阶多项式来说,计算可能仍然很昂贵。
因此,逻辑回归和神经网络训练可能需要计算逻辑函数这对于在共享值上进行计算来说很昂贵。我们实验表明,使用低次多项式逼近逻辑函数是无效的。具体地说,需要至少10次多项式来接近使用逻辑函数进行训练的精确度。
本公开提出新的激活函数(参见图7),并且可以使用小型混淆电路来进行高效计算。此外,softmax函数可以替换为两个RELU函数、加法运算和单个除法运算的组合。我们使用MNIST和ARCENE数据集的实验证实,使用这些新函数产生的模型的精确度要么匹配要么非常接近(参见章节IV-C)使用原始函数训练的精确度。
在算术共享(也称为加法共享)和姚氏混淆电路之间切换的定制解决方案可以通过最大程度地减少交互轮次和调用未察觉传输(OT)的次数来大大降低成本。此构想可用于安全评估神经网络训练中使用的RELU函数,并且用于下面的神经网络实例。
C协议的向量化
向量化(即,运算于矩阵和向量上)对于明文训练的效率来说可能是至关重要的。本公开描述了在秘密共享设置中,例如在本文所述的在线阶段中,如何从相同向量化技术获益。此外,对于生成许多乘法三元组的离线阶段,基于线性同态加密(LHE)和不经意传输提出解决方案。这些技术可以针对向量化情形进行优化,以便计算共享矩阵和向量的乘法运算。因此,我们的离线协议的复杂度大大优于针对每次乘法运算生成独立乘法三元组的初始方法。
在与双服务器模型略有不同的安全模型中,我们还提出了快得多的离线阶段,其中客户端帮助生成乘法三元组。我们讨论了这种方法的利弊,并将其性能与其它实施例进行比较。
IV.隐私保护机器学习
本章节呈现了使用SGD进行隐私保护机器学习的协议。我们首先仅基于算术秘密共享和乘法三元组在章节IV-A中描述线性回归的协议。接着,我们在章节IV-B中讨论如何在离线阶段中高效地生成这些乘法三元组。然后在章节IV-C和IV-D中将技术推广到支持逻辑回归和神经网络训练。最后,在章节IV-E中呈现支持预测、学习速率调整和终止确定的技术。
A.隐私保护线性回归
在一些实施例中,训练数据在两个服务器S0和S1之间秘密共享。我们用<X>0,<Y>0和<X>1,<Y>1表示这两个服务器处的两个值X和Y的份额。实际上,客户端可以在这两个服务器之间分发份额,或使用S0的公钥对第一份额进行加密,并将第一加密份额和第二明文份额上载到S1。然后,S1可将加密份额传递到S0进行解密。本文中,秘密共享涵盖了这两种实施方案。
加权系数w也在训练计算机(例如,这两个服务器)之间秘密共享。加权系数w可以简单地通过将<w>0和<w>1设置为随机值或0来初始化为随机值或全部为0,同时这两个服务器之间没有任何通信。在SGD中,加权系数w可在每次迭代后更新并保持秘密共享,直到它在重构时训练结束为止。
如章节II-A所述,线性回归的更新函数为仅包括加法运算和乘法运算的秘密共享值的对应加法和乘法算法可用于更新系数,所述系数是 协议可分为两个阶段:在线和离线。给定数据,在线阶段训练模型,而离线阶段主要包括乘法三元组生成。在此章节中我们专注于在线阶段,并在章节IV-B中论述离线阶段。
1.共享设置中的向量化
实施例可以使用在章节II-A中论述的迷你批和向量化技术(参见方程式2)。为了实现这一点,我们将共享值的加法和乘法运算推广到共享矩阵。通过将ShrA应用到每个元素来共享矩阵。给定两个共享矩阵<A>和<B>,可以通过使<C>i=<A>i+<B>i来非交互式地计算矩阵加法,其中i∈{0,1}。为了使两个共享矩阵相乘,而不是使用独立的乘法三元组(例如,仅使两个数字相乘),我们采用共享矩阵<U>、<V>,<Z>,其中U和V中的每一元素在中是均匀随机的,U具有与A相同的尺寸,V具有与B相同的尺寸,且Z=U×V mod 2l。Si计算<E>i=<A>i-<U>i和<F>i=<B>i+<V>i,并将它们发送到另一服务器。这两个服务器都重构E和F,并设定<C>i=i·E×F+<A>i×F+E×<B>i+<Z>i。这种推广构想是矩阵A中的每一元素始终通过U中的同一随机元素来掩蔽,而它在矩阵乘法中与B中的不同元素相乘。我们的安全性论证证实了这不会影响协议的安全性,并且会因为向量化而使协议的效率更高。
将所述技术应用到线性回归,每次迭代时,我们假设迷你批索引集B是公共的,并执行更新:
我们进一步观察到,一个数据样本将在不同时期使用多次,但是它能够通过相同的随机乘法三元组来掩蔽。因此,在离线阶段,生成一个共享n×d随机矩阵<U>来掩蔽数据样本<X>。在线阶段开始时,计算并交换<E>i=<X>i-<U>i,以通过一个交互(例如,一对通信)重构E。交互和迭代次数成比例。迭代是指训练的迭代,但是交互是指隐私保护训练中发送/接收的消息,它还随着迭代次数而增加。
之后,每次迭代时,选择并在乘法协议中使用EB,而不用进行任何其它计算和通信。具体地说,在离线阶段,一系列迷你批索引B1、......、Bt由这两个服务器协定。这只需要知道n、d、t或上限,但不需要知道任何真正数据。接着,利用以下特性预计算乘法三元组<U>、<V>,<Z>、<V′>,<Z′>:U是掩蔽数据X的n×d矩阵,V是d×t矩阵,其中每一列用于在一个迭代(前向传播)中掩蔽w,并且V′是|B|×t矩阵,其中每一列用于在一个迭代(后向传播)中掩蔽差向量Y*-Y。接着,假设其中i=1、......t,其中M[i]表示矩阵M中的第i列。使用呈矩阵形式的乘法三元组,在线和离线阶段中的计算和通信均显著减少。将注意到再次使用了U,因此这两组三元组不是彼此独立的,而是共享矩阵。
我们用F离线表示在离线阶段中实现这些矩阵的生成的理想功能函数。
2.共享小数数字的算术运算
如前所述,关于隐私保护线性回归的先前工作的低效的主要原因是在共享/加密的小数数字上进行计算。先前的解决方案要么将小数数字视为整数并通过使用非常大的有限域[22]保持乘法运算后的完全精确度,要么利用布尔电路的2PC对小数数字执行定点[21]或浮点[35]乘法运算。前者只支持有限数目的乘法运算,因为结果的范围(二进制数位的数目)随着乘法运算的数目呈指数级增长。这并不适用于具有大量乘法运算的训练。后者引入了高开销,因为使两位数字相乘的布尔电路具有个门,且针对执行的每一乘法运算都需要在2PC(例如,姚氏混淆电路)中计算此类电路。
我们提出一种有效的解决方案来支持整数域中的小数算术。设想两个在分数部分中具有最多lD个位的小数数字x和y的定点乘法运算。我们首先通过使将数字变换为整数,然后将它们相乘获得乘积z=x′y′。注意,z具有最多2lD个位来表示乘积的分数部分,因此我们对z的最后lD个位进行截尾,使得它具有最多lD个位来表示分数部分。从数学上讲,如果z分解成两个部分其中那么截尾产生z1。我们将这种截尾运算表示为
我们表明,这种截尾技术还在z秘密共享时起作用。具体地说,这两个服务器可以单独对它们各自在z中的份额进行截尾。在定理1(下方)中,对于足够大的域,这些截尾的份额在重构时(有很大概率)与期望份额最多相差1位。换句话说,与标准定点算术比较,我们在分数部分的最低有效位的误差较小。
如果小数数字z为负,它将在域中表示为2l-|z|,其中|z|是其绝对值,截尾运算变成我们在章节VII-A中证明了正数和负数的以下定理。
定理1如下。在域中,假设其中1>lx+1,并给定x的份额<x>0、<x>1,假设接着,在的概率下,其中表示截去lD≤lx个位的截尾。
图5示出根据本发明的实施例的隐私保护线性回归的在线阶段。图5示出服务器Si之间的协议。协议假设已在离线阶段生成数据独立共享矩阵<U>、<V>,<Z>、<V′>,<Z′>。除了共享小数数字的乘法运算和加法运算之外,协议还在每次迭代中使系数向量与相乘。为了高效进行此运算,我们将设置为2的幂,即,接着,与的乘法运算可以替换为使双方从它们在系数中的份额截去k个另外位。
在章节VIII中提供了对关于在线协议安全性的定理2的论证。定理2设想了一种协议:客户端在运行图5的协议并将输出发送给客户端的两个服务器之间分发其数据的算术份额。在F离线混合模型中,在存在章节I-C中所提及的半诚实可接受对手的情况下,此协议实现了线性回归函数的理想功能函数Fml
3.截尾误差的影响
注意,当域的大小足够大时,可以每次迭代执行一次截尾,而不是每次乘法运算执行一次。在一些实施方案中,截尾执行(|B|+d)·t次(例如,对于X×w的乘法结果为d次,对于前向传播结果与X的乘法运算为|B|次);以及受并集约束,训练的失败概率(即,定理1不成立)是其中d是特征的数目,t是迭代次数。在其它实施方案中,截尾可以只执行d·t次,例如,当在图5的步骤9中在Δ值处执行截尾以更新权重时。
此外,即使发生截尾失败,它也不太可能转化为训练失败。这种失败使得一个样本中的一个特征无效,但是最终训练模型可能不受这个影响。在章节VII-C中,我们通过在两个不同的数据集(MNIST[6]和Arcene[1])上进行实验证实了这些观察结果。具体地说,我们表明,使用带截尾的隐私保护线性回归训练的模型的精确度与使用标准算术的明文训练的精确度相匹配。
4.效率
图5的计算成本中的主要项是步骤5和8中的矩阵乘法运算。每次迭代时,每一方都执行4个此类矩阵乘法运算,而在明文SGD训练中,根据方程式2,执行两个具有相同尺寸的矩阵乘法运算。因此,每一方的计算时间仅仅是明文数据的训练时间的两倍。注意,服务器可以将公式简化为E×(F-<w>)+<X>×F+<Z>,它只有2个矩阵乘法运算。
协议的总通信也近乎最佳。在步骤1中,每一方发送n×d矩阵,这个矩阵与输入数据的大小相同。在步骤4和7中,每次迭代时发送|B|+d个元素。因此,每一方的总通信是通常,时期(如,使用训练样本一次的一个轮次)的数目只是一个较小的常数:对于线性和逻辑回归约为2-3,对于神经网络为10-15,这比|B|和d小得多。因此,总通信只比数据大小大一点。通信所花费的时间可以通过将总通信除以双方之间的网络带宽来计算。实践中,这在有线网络中可以忽略不计。
B.离线阶段
我们描述了如何通过生成期望共享乘法三元组将离线阶段实施为S0和S1之间的双方协议。作为实例,为了这样做,提供了基于线性同态加密(LHE)和不经意传输(OT)[18]的两种协议。这些技术针对向量化情形进行优化以便用于矩阵。因此,我们的离线协议的复杂度大大优于生成独立乘法三元组的初始方法。
记住,给定共享随机矩阵<U>和<V>,可以从<U>选择|B|×d子矩阵,从<V>选择列,然后计算它们乘积的份额。此操作重复t次以生成<Z>。类似地,<Z′>以同一方式计算,但是尺寸是颠倒过来的。因此,为简单起见,我们专注于这个基本步骤,其中给定|B|×d矩阵<A>的份额和d×1矩阵<B>的份额,我们想要计算|B|×1矩阵<C>的份额,使得C=A×B。
我们利用以下关系式:C=<A>0×<B>0+<A>0×<B>1+<A>1×<B>0+<A>1×<B>1。它可以计算<<A>0×<B>1>和<<A>1×<B>0>,因为其它两项可以在本地计算。
1.基于LHE的生成
为了计算乘积<A>0×<B>1的份额,S1使用LHE加密<B>1的每个元素并将它们发送到S0。作为实例,LHE可以使用Paillier[38]或Damgard-Geisler-Kroigaard(DGK)[17]的密码系统启动。然后,S0在密文上执行矩阵乘法运算,其中加法运算替换为乘法运算和乘幂运算。S0可以通过随机值掩蔽所得密文,并将它们发回S1进行解密。协议可参见图6。
S1执行d个加密、|B|个解密,且S0执行|B|×d个幂运算。密文上的乘法运算的成本不是主要的,可以省略。可以类似方式计算<A>1×<B>0的份额,因此S1加密<B>0并发送到左侧乘以<A>1的S0。因此,S1会具有<A>0×<B>1的份额和<A>0×<B>1的份额,均作为<C>1的部分。S0会有<A>0×<B>1的份额和<A>1×<B>0的份额,均作为<C>0的部分。这种秘密共享可以通过由S0执行的掩蔽来实现,其中掩码是一个服务器的份额(在此实例中为S0),值+掩码是另一服务器的份额(在此实例中为S1)。
使用此基本步骤,每一方在离线阶段执行的总计算是<|B|+d)·t个加密、(|B|+d)·t个解密和2|B|·d·t个幂运算。总通信是2(|B|+d)·t个密文,它比数据的大小小得多。如果我们已经独立生成乘法三元组,那么加密、解密和通信的数目将增加到2|B|·d·t。最后,与在线阶段不同,离线阶段的所有通信都可以在一次交互中完成。
2.基于OT的生成
乘积<A>0×<B>1的份额还可使用OT来计算。可以计算乘积<aij·bj>的份额,其中所有i=1,...,|B|且j=1,...,d。为了这样做,使用bj的每一个位来选择使用相关OT从aij计算出的两个值。具体地说,对于将相关函数COT设置为fk(x)=ai,j·2k+xmod2l运行COT(rk,fk(x);bj[k])。如果bj[k]=0,那么获得rk;如果bj[k]=1,那么获得ai,j·2k+rk mod 2l。这等同于bj[k]·aij·2k+rk mod 2l。最后,设定设定因此,每一方获得交叉项的份额。
为了进一步提高效率,[18]观察到对于每一个k,aij·2k的最后k个位全为0。因此,只需传输前l-k个位。因此,消息长度是l,l-1,...,1,而不是全都是l个位。这等同于运行COT(l+1)/2的l个实例。
上文所描述的优化没有提高OT的计算成本。原因在于在OT中,每一消息利用从应用到选择位的随机数据库计算出的掩码进行异或运算。实际上,随机数据库通过例如SHA256或AES的散列函数进行实例化,所述散列函数至少具有128位输出。因此,事实是l仅为64,并未减少计算掩码的时间。
一些实施例另外利用矩阵结构来改进这一点。应注意,a1j,...,a|B|j全都乘以bj,这意味着同一选择位bj[k]用于所有aij。等效地,bj[k]可用于选择长度为(l-k)·|B|个位的消息。因此,它们可以通过个散列输出进行掩蔽。对于合理的迷你批大小,每一乘法运算需要COT128个实例。以这种方式,散列总数可减少4倍,并且总通信可减少一半。
最后,在计算<aij·bj>之后,<<A>0×<B>1>的第i个元素可以通过计算。可以类似方式计算<A>1×<B>0的份额。
总的来说,双方执行COT128个实例,且总通信是|B|·d·t·l·(l+λ)个位。另外,在OT扩展开始时可以执行一组基础OT,例如,通过运行若干初始OT并接着将它们引导到许多OT。在下一章节中,我们示出了基于OT的生成的通信的大小(即,传送的位的数目)比基于LHE的生成高得多,但总运行时间更快。原因在于OT扩展使得每一OT运算极其便宜(每秒~106次OT)。
3.客户端辅助离线协议
正如随后论述的实验所期望和展示,隐私保护机器学习协议的瓶颈可能是离线阶段。它涉及大量加密运算,例如OT或LHE(例如,多达所需要的三元组的数目),这比在线阶段中有限域中的简单加法运算和乘法运算慢得多。期望一种生成乘法三元组的替代方式。在一些实施例中,客户端产生乘法三元组。因为客户端需要首先秘密共享它们的数据,所以使它们秘密共享一些额外乘法三元组是合适的。这些乘法三元组可以一种受信任方式生成,而无需繁重的加密运算,这大大提高了效率。然而,尽管它具有益处,但是它改变了信任模型并引入了在线阶段的一些开销。客户端辅助三元组生成的详细论述和开销的分析可参见章节XI(附录F)。
安全模型还可在客户端辅助的离线阶段改变,从而提供新的安全模型。先前,客户端可能只负责上载自己的数据,因此服务器在它与客户端的子集共谋时显然无法学习任何额外的信息。现在,因为客户端还生成乘法三元组,如果客户端子集与一个服务器共谋,那么它们可能会在迭代中重构系数向量,从而间接泄露关于来自诚实客户端的数据的信息。因此,在客户端辅助情形中,安全模型可以变成不允许服务器和客户端之间的共谋。在先前工作中已经出现类似但是比较差的模型。例如,在[21]中,一个服务器(例如,标记为CSP的服务器)向客户端提供乘法三元组,以便安全地计算它们数据的内积。如果客户端与CSP共谋,那么它可立即学习其它人的数据。相比之下,上述客户端辅助协议在新模型下是安全的,因为客户端在上载数据和乘法三元组之后不会学习到任何额外信息。只要乘法三元组是正确的,半诚实客户端就是这样,训练就是正确且安全的。
在描述客户端辅助乘法三元组时,为简单起见,我们从线性回归开始。应注意,在整个训练中,每个数据样本中的每个特征可确切地用于每时期两个乘法运算:一个在前向传播中,另一个在后向传播中。因此,客户端能够保存这个值来生成2E乘法三元组,其中E是时期的数目。具体地说,对于每一样本的每一特征,具有数据的客户端生成用于掩蔽数据的随机值u,并生成随机值υk,υ′k,其中k=1,...,E,并计算zk=u·υk,z′k=u·υ′k。最后,客户端将<u>,<υk>,<υ′k>,<zk>,<z′k>的份额分发到这两个服务器。
注意,我们并未假设在生成三元组时客户端知晓数据所有权的分割。这意味着我们在在线阶段可以不再利用向量化方程式。例如,在章节IV-A中,在图4的步骤3处的前向传播中,其中我们计算XB×w,我们使用U×V=Z的预计算矩阵乘法三元组,其具有与在线阶段完全相同的尺寸。现在,当客户端生成乘法三元组时,迷你批XB中的数据可属于可能不知晓它们在训练的同一迷你批中并且因此无法协定公共随机向量V来计算Z的不同客户端。
实际上,对于XB中的每一数据样本x,双方使用独立生成的乘法三元组计算<y*>=MulA(<x>,<w>),并将<Y*>设定为<y*>s的向量。因为这一点,在线阶段的计算、通信和这两个服务器的存储增加。
客户端辅助乘法三元组生成大大提高了离线阶段的效率,因为没有涉及任何密码运算。然而,它向在线阶段引入了开销。矩阵乘法替换为向量内积。尽管所执行的乘法运算总数是完全相同的,但是矩阵乘法算法使用现代编程语言的矩阵库一般会更快。这是客户端辅助方法引入的主要开销,如实验中所描绘。
通信也增加了。先前,系数向量通过单个随机向量进行掩蔽以计算单个矩阵乘法,但是现在它针对每一内积通过不同随机向量进行多次掩蔽。在安全计算协议中,这些掩蔽值在双方之间传输。具体地说,与章节IV中的协议比较,开销是用于线性和逻辑回归的。这在LAN设置中并不明显,但是在WAN设置中很重要。
最后,存储也增加了。先前,矩阵V和Z比数据大小小得多,且矩阵U具有与数据相同的大小。现在,因为乘法三元组是独立生成的,V的大小变成|B|·d·t=n·d·E,它比数据的大小大E倍。U的大小仍然相同,因为每一数据仍然是由一个随机值掩蔽的,且Z的大小仍然相同,因为一旦服务器从所有客户端收集到份额,值就可以聚合。
尽管存在所有这些开销,但是在线阶段仍是极其高效的,同时离线阶段的性能显著提高。因此,带客户端辅助乘法三元组生成的隐私保护机器学习可能是现有机器学习框架中用于部署的最有前景的选择方案。
C.隐私保护逻辑回归
这一章节呈现支持隐私保护逻辑回归的协议。除了针对线性回归要解决的问题之外,另一个挑战是在共享数字上计算逻辑函数应注意,逻辑函数中的除法和幂运算是在实数上计算的,使用算术或布尔电路的2PC难以支持这一点。因此,先前工作使用多项式逼近函数[10]。可以看出,使用高次多项式的逼近极其精确[33]。然而,出于效率原因,安全计算中的逼近多项式的阶次设置为2或3,这使得相比于逻辑回归,训练模型的精确度损耗较大。
1.安全计算友好激活函数
我们提出一种可以使用安全计算技术有效计算的新激活函数,而不是使用多项式来逼近逻辑函数。函数在方程式4中描述,并在图7中绘制。
用于这一激活选择的论证如下,且其有效性已经通过实验证实。如章节II-A中所提到,逻辑回归对分类问题有效的主要原因在于预测限制在0和1之间。因此,重要的是激活函数的两个尾部收敛到0和1,且逻辑函数和方程式4中的函数均有此表现。相比之下,低次多项式的逼近无法实现这一特性。多项式可在特定区间内接近逻辑函数,但是尾部是无界的。如果数据样本产生激活函数的极大输入u,那么f(u)将远远超出[0,1]区间,这在后向传播中会显著影响模型的精确度。
利用这个新的激活函数,计算后向传播可以通过多种方式执行。例如,实施例可以使用与逻辑函数相同的更新函数(即,继续使用逻辑函数计算偏导数,这不是计算密集的,因为逻辑函数的偏导数是线性函数)。作为另一实例,实施例可以计算新函数的偏导数,并将它代入更新函数。我们测试了这两种选择方案,发现第一种方法的精确度与使用逻辑函数的精确度匹配的更好。因此,我们在本公开的其余部分中将使用第一种方法,除下文在表1中所说明的内容之外。第二种方法的精确度较低的一个原因可能是通过替换激活函数,交叉熵成本函数不再是凸面的;使用第一种方法,更新公式极其接近使用距离成本函数的训练,这可帮助产生更好的模型。
我们比较了使用新激活函数产生的模型的精确度与具有不同阶次的多项式逼近。对于多项式逼近,我们将常数固定为使得但是也可使用其它值。接着,我们在逻辑函数上选择与多项式的阶次相同数目个点。点与原始点对称,并且在数据值的范围(例如,MNIST的[0,1]、Arcene的[0,1000])内均匀地分散。选择穿过所有这些点的唯一多项式用于逼近。在迷你批大小|B|=128的MNIST数据上运行测试。一系列随机迷你批对于所有方法来说是相同的。此处,我们仅在明文数据上训练模型。
如表1中所示,我们方法的性能比多项式逼近好得多。具体地说,我们的第一种方法的精确度(98.62%)与逻辑回归几乎相同,而我们的第二种方法的性能略差。相反,在使用3次多项式估计逻辑函数时,精确度只能达到42.17%,这甚至比线性回归差。原因在于尾部比线性激活函数发散得快。在阶次为5时,精确度可达到84%;在阶次为10时,精确度最后匹配逻辑回归的精确度。然而,在安全计算中计算10次多项式为隐私保护训练引入了主要开销。对Arcene数据集进行的实验也验证了类似影响。
表1:逻辑回归的不同方法的精确度(%)比较。
中间区域中的函数可称为非恒定函数,例如,中间区域在此实例中为其它中间区域可以在两个其它常数之间,因此第一常数可以是除-1/2以外的数字,第二常数可以是除1/2以外的数字。激活函数在函数不是常数的区域中可采用各种形式。例如,可以使用除1以外的斜率。非常数函数在中间区域中,即在方程式(4)中在-1/2和1/2之间,可为非线性的。例如,可使用二次项。这不同于表1中的2次多项式,因为其它区域仍然强制为恒定的。激活函数可被约束为分段连续的,并因此在中间(中心)区域的边界处达到常数值。此外,常数可为除0和1以外的值,但是这仍然是等效的,因为常数和0与1之间会有简单的缩放。
2.隐私保护协议
上文所提议的新激活函数是电路友好的。它仅涉及测试输入是否在[-1/2,1/2]区间内。如果输入在区间中,那么可以评估非恒定函数;但是如果输入在区间之外,那么可以选择这两个常数中的一个。这个初始比较测试可以在混淆电路中通过将输入移位1/2并使用特定位确定结果是正是负来执行。
简单地将姚氏混淆电路协议应用到整个逻辑回归会产生极其低效的超大电路。实际上,实施例可以利用技术在算术共享和姚氏共享之间切换,如[18]中所提议。观察到,如章节II-A所提到,用于逻辑回归和线性回归的SGD之间的唯一差别在于每一前向传播中额外激活函数的应用。因此,根据隐私保护线性回归的同一协议,在计算输入数据和系数向量的内积之后,实施例可将算术共享切换到姚氏共享,并使用混淆电路评估激活函数。接着,实施例可切回算术共享,并继续后向传播。
其它实施方案提出更复杂的协议来进一步优化电路大小、交互次数和所用乘法三元组的数目。例如,混淆电路仅用于某些步骤,其余部分使用OT完成。混淆电路可构建如下。假设如果那么b1=0,否则b1=1。假设如果那么b2=0,否则b2=1。接着,激活函数可表示为其中“∧”对应于布尔AND运算,且对应于位运算。因此,如果u大于1/2,那么b2是0,且第一项将为1;第二项将为零,因为b2是0,从而得到f(u)=1。如果u小于-1/2,那么b1是1,且第二项将为0,因为b2将为0;第二项将为零,因为b2是0且是0,从而得到f(u)=0。如果u大于-1/2,那么b1是0,且如果u小于1/2,那么b2是1,因此第一项是0,且第二项是1,从而得到f(u)=u+1/2。
为了确定b1,实施例可构建混淆电路,所述混淆电路采用和<u>1的位作为输入,将它们相加,并将b1设置为结果的最高有效位(msb)(msb指示值是正是负)。更精确地说,值在域中表示,并缩放成具有表示分数部分的与u相同数目个位。具体地说,因为u是两个值(即,输入特征和权重)在截尾之前的乘积,表达为其中lu是数据x中的小数部分的位长度和系数w的总和;为便于呈现,我们使用
b2可以类似方式计算。例如,混淆电路采用和<u>1的位作为输入,将它们相加,并将b1设置为结果的最高有效位(msb)(msb指示值是正是负)。
在一些实施例中,混淆电路可输出位的姚氏共享(输出标签),而不是在混淆电路中计算函数的其余部分,这会需要线性数目个额外AND门。可以切换到这些位的布尔共享(两个位的XOR共享),并在两个OT中使用它们来计算并继续其余训练。具体地说,给定的布尔份额,这两个服务器执行一个OT,其中一个服务器在OT中发挥接收方的作用,它的输入是它的份额,而另一个服务器发挥发送方的作用,其具有两个输入:u0,以及针对随机r和表示为u0的它在u中的份额的u0+r。这两个服务器在切换角色的情况下执行另一OT,并接着在本地将它们的份额相加以获得它们在期望输出中的份额。详细协议在图8中加以描述。
3.效率论述
逻辑回归的额外开销极小。大部分步骤与章节IV-A中的线性回归协议相同。另外,在每一前向传播中执行一个混淆电路协议和3个额外OT。混淆电路执行两个加法运算和一个AND运算,从而针对每个值u产生总共2l-1个AND门。可以在离线阶段中执行OT扩展的基础OT。因此,每一方的总通信开销是|B|·t·((2l-1)·2λ+3l)。应注意,混淆电路和来自的OT中的消息可以同时发送到因此,逻辑回归在每一迭代仅仅多引入一个交互,并在双方之间产生总共3t个交互。不需要任何额外乘法三元组,因为不存在激活函数的任何算术运算。
D.隐私保护神经网络训练
线性和逻辑回归的技术扩展到支持隐私保护神经网络训练。RELU函数可在每一神经元中用作激活函数,且交叉熵函数可用作成本函数。每一神经元中每一系数的更新函数可以用封闭形式表示,如章节II-A中所论述。除评估激活函数和它的偏导数以外,前向和后向传播中的所有函数仅仅涉及简单的加法运算和乘法运算,并且使用针对线性回归论述的相同技术来实施。为了评估RELU函数f(u)=(u>0)·u(即,max(0,u))和它的导数f′(u)=(u>0),实施例可以通过切换到姚氏共享使用同一方法来用于逻辑回归。混淆电路可将u的两个份额相加并输出最高有效位,这比用于上文所论述的替代逻辑函数的电路更简单。应注意,RELU函数和它的导数可以在一个交互中一起评估(例如,同时执行评估),并且后者的结果用于后向传播。
我们还提出softmax函数的替代方案。每一幂运算可以替换为新的分段函数,使得结果保持非负,如所预期。例如,每一分段函数在超过临界值时可以是线性的,在沿着另一方向超过临界值时是常数。在一个实施例中,分段函数可等于0,其中ui>1,或等于1-ui,其中ui<1,其中1是临界值。可使用其它临界值,且常数的方向可以是不同的,例如,小于临界值为常数。更一般来说,可存在分子函数和分母函数。分子函数在ui沿着一个方向(例如,小于)超过第一临界值时可以是第一常数,且在ui沿着相反方向(例如,大于)超过第一临界值时是线性的。这两个方向还可以颠倒。分母函数可以是M个节点的所有分子函数的总和,每个节点提供一个值ui
总和可以通过将所有分段函数的输出相加来计算,并使用除法混淆电路将每一输出除以总和。以这种方式,确保输出是一种概率分布。如果和是0,这意味着分段函数的所有结果都是0,那么我们向每一输出指派相同概率。这可以使用混淆电路来完成。在实验章节中,我们示出了通过使用实例神经网络并在MNIST数据集上训练,经过TensorFlow(带softmax)训练的模型可在所有10个类别上达到94.5%的精确度,而使用我们所提议函数的达到93.4%。
我们在实验中观察到,混淆电路计算RELU函数所花费的时间占此协议的在线训练时间的大部分。因此,我们还设想用平方函数f(u)=u2替换激活函数,如最近在[22]中所提议的,但是仅用于预测。分段函数仍然可用于逼近softmax。通过这一修改,我们仍然可以达到93.1%的精确度。在此实施方案中,计算分段函数的混淆电路可以替换为共享值上的乘法运算,因此在线效率显著提高。然而,这种方法消耗的乘法三元组更多,并使离线阶段的成本增加。
1.效率论述
在在线阶段中,计算复杂度是矩阵算术运算的明文训练的计算复杂度的两倍,加上使用混淆电路和OT评估RELU函数和除法的开销。下文论述的实验使用来自EMP工具包[3]的除法电路,它对于l位数字具有O(l2)个AND门。总通信是矩阵乘法和逐元素乘法所涉及的所有矩阵的大小的总和,为迭代总数是5m·t。
在离线阶段中,相比于回归,乘法三元组的总数增加了倍,它正好是神经网络中的神经元数目。一些乘法三元组可以矩阵形式生成以执行在线矩阵乘法。其它乘法三元组需要独立生成,以用于逐元素乘法。我们在章节IV-C中以实验方式示出了成本。
E.预测和精确度测试
到目前为止开发的技术还可用于安全地做出预测,因为预测是训练中的一个迭代的前向传播分量。实施例可隐藏数据、模型、预测或它们的任何组合,因为它们全都可以秘密共享。
类似地,实施例还可在每一时期之后安全地测试当前模型的精确度,因为精确度可以计算为测试数据上的预测的聚合结果。这种精确度可用于调整学习速率或判定何时终止训练,而不是使用一种学习速率和在固定数目个时期内训练模型。详细论述可参见下文。
1.预测
隐私保护预测的性能可与计算线性回归、逻辑回归和神经网络的预测值相同;成本只是一个迭代的一半。如果输入数据或模型可以显示(即,不隐藏,如上文所提及),那么效率可以进一步提高。例如,如果模型呈明文形式,那么输入数据与系数的乘法运算可以直接在份额上计算,而不用预计算的乘法三元组。
在分类问题中,预测通常舍入到最近类别。例如,在逻辑回归中,如果预测值是0.8,那么数据可能分类为1,且精确结果可显示关于输入的额外信息。这一舍入可被视为测试秘密共享值减去1/2是否大于0,并且可通过应用额外混淆电路来支持,类似于如何可以计算出方程式(4)中的逻辑函数。混淆电路可将这两个份额相加并输出最高有效位。
2.精确度测试
一种决定学习速率的方法是预先在一些相同类别的不敏感数据上测试它,并将它设置为常数,在整个训练中不进行任何调整。类似地,可以预先固定迭代次数。
以一定泄漏为代价(在本章节的结尾处提及),另一实施方案可使得能够以与明文训练相同的方式调整速率和迭代次数。为了这样做,实施例可以在每一时期之后在测试数据集上测试当前模型的精确度。可针对每一测试数据样本确定隐私保护预测。接着,可确定预测是否与标签(训练样本的输出值)相同,例如,可确定预测输出和实际输出之间的差(精确度)结果。差可以是二进制数(例如,0或1,等同于真或假)、分数(有理数)或实数。各个结果可以聚合以提供聚合结果(例如,通过求和,它可以是不同训练样本具有不同权重的加权和)。
可使用简单混淆电路执行等同性测试来确定差结果,其中门的数目相对于值的位长度是线性的。最后,每一训练计算机可对等同性测试的所有秘密共享结果进行求和作为共享精确度。等同性测试的成本只是迭代的一半,加上用于进行任何舍入和等同性测试的一些额外混淆电路。因为测试数据的大小通常显著小于训练数据,所以花费在精确度测试上的时间只是训练的小部分。
为了调整学习速率,可以使用混淆电路比较两个时期的共享精确度。如果精确度在降低,那么学习速率可减小。聚合精确度结果可与阈值比较(例如,使用混淆电路),如果精确度结果小于阈值,那么可以终止训练,从而证实模型的收敛。聚合精确度结果可以是每时期单个值,且独立于训练和测试数据样本的数目,因此开销可忽略不计。在每一时期中,相比于使用固定学习速率和固定迭代次数,不管学习速率是否调整或训练是否终止,都泄露了信息的一个额外位,因此在效率(减少的时期数目)和安全性之间提供了某一权衡。
V.实例方法
描述用于使隐私保护机器学习更高效的实例方法。例如,提供了用于隐私保护机器学习中的乘法运算的截尾方法。并且,提供了使用计算高效的各种激活的方法。
A.截尾
图9是根据本发明的实施例的执行隐私保护机器学习的方法900的流程图。方法900可由训练计算机执行,例如,图2中的服务器230和240。根据本发明的实施例,方法900可使用秘密共享、乘法三元组和截尾。
在框910处,K个训练计算机存储来自多个数据客户端的秘密共享私用数据,其中K是2或更大。数据客户端可以如图2中所描述。在一些实施例中,数据客户端中的一个或多个可以是训练计算机。K个训练计算机可在生成私用数据的份额之后存储秘密共享的私用数据。例如,每一客户端可生成其自身的私用数据份额,并且接着将每一份额发送到一个服务器。
可使用不同类型的秘密共享私用数据,例如,加法共享、布尔共享和姚氏共享。私用数据的每一数据项在秘密共享时可由K个部分表示。为了训练模型,秘密共享的私用数据包括一组训练样本,每一训练样本具有d个特征和输出Y。可以测量或以其它方式从训练样本获得d个特征,例如,事件(例如,网络攻击)、物理样本(例如,患者)或与存取资源(例如,账户、建筑物、数据库记录或账户)有关的电子通信。训练样本的输出Y可对应于由单独机制例如基于在所述d个特征(例如,患者确实患有一种疾病或交易是欺诈性的)之后获得的信息确定的或手动完成的已知分类。
在一些实施例中,d个特征中的至少一些是进行移位以生成整数的小数值。其它特征最初可为整数。作为训练过程的部分,这些整数可以相乘。此类乘法运算可产生具有比相乘的数字更多的数位的结果。后续步骤可对结果进行截尾,以便减小存储大小和计算工作量,但同时没有显著降低精确度。
在框920处,初始化机器学习模型的一组d个权重的值。例如,权重可以初始化为随机值或全部为0。作为另一实例,权重可以设置为来自使用相同或不同训练样本的先前训练迭代的值。以此方式,可以估计最终权重,从而缩短用于训练模型的总时间。在一些实施例中,权重可以在K个训练计算机之间秘密共享,因此模型以及私用数据可以保持私密性。在其它实施例中,权重不是秘密共享的。权重和特征可以存储为整数,这可以实现比使用浮点数更高的效率。
在一些实施例中,d个权重可以是模型的所有权重,例如,用于线性回归。在其它实施例中,d个权重可以是神经网络的特定层的特定节点的权重。因此,在模型中可以存在其它权重。模型可至少具有d个特征。
在框930处,标识成本函数,所述成本函数在预测所述一组训练样本的输出Y时提供所述一组d个权重的精确度。成本函数的类型可取决于所使用的机器学习模型。成本函数的实例在章节II中提供,且包括平方误差和交叉熵函数的总和。通过使用根据特定技术更新权重的代码,成本函数的标识可以是隐式的。如章节II中所描述,不同的成本函数可产生用于更新权重的不同公式。成本函数可选自一组成本函数,例如,通过选择成本函数的定义或通过选择使用成本函数的代码。在一些实施方案中,成本函数的定义可以在文件中提供(例如,在代码中或从输入文件读取),且成本函数可以在所有训练样本上评估,例如,以提供所述一组训练样本的模型的当前精确度。
在框940处,选择训练样本。训练样本可随机选择,并接着用于更新权重。在基于选定训练样本更新权重之后,可选择另一训练样本。在一些实施例中,每一个训练样本可用于在训练过程的单个遍次(时期)中更新权重。在一些实施方案中,可一次使用超过一个样本以更新权重。
框950到970由K个训练计算机中的每一个执行。框950到970可用于更新第J个权重,或更具体地说,用于更新第J个权重的K个权重部分(每一训练计算机一个权重部分)。针对所述一组d个权重中的其它权重,可以重复框950到970。第J个权重可以是d个权重中的任一个。
在框950处,相对于第J个权重计算成本函数的误差项,以确定第J个增量部分。误差项可提供关于模型的当前版本(即,处于当前训练状态)相对于选定训练样本的预期输出Y的误差的信息。此误差项可提供关于如何更新第J个权重以及其它权重的信息。误差项可包括梯度,所述梯度可对应于后向传播项的全部或部分。还可使用非梯度技术,例如Rosenbrock算法、Nelder Mead算法、遗传算法、模拟退火和蚁群算法。
第J个增量部分可对应于特定训练计算机的第J个增量项的份额。第J个增量项可对应于后向传播项。第J个增量项可用于更新第J个权重。可以同时更新多个权重,例如,在迷你批模式中,如章节II-A-2中所描述。
章节II-A-1提供实例误差项它可以是较大项的一部分,可以是第J个增量项。章节II-A-3提供另一实例误差项(f(XB×w)-YB),其中第J个增量项可以在中提供。章节II-A-4提供另一实例误差项其中第J个增量项可以提供为Xi×Yi
因此,计算误差项可包括在确定前向部分(例如,K个前向部分中的一个)时使用选定训练样本的d个特征部分和d个权重部分执行第一乘法运算。作为实例,前向部分可对应于yi *=xi·w、f(XB×w)和Xi=f(Xi-1×Wi)。第一乘法运算可以使用随机整数的第一乘法三元组来执行,如本文中所描述。总体来说,前向部分可包括来自d个特征和d个权重的乘积的秘密共享前向传播结果。
在一些实施例中,确定第J个增量部分进一步包括使用前向部分和输出Y部分将差部分确定为误差项(例如,(f(XB×w)-YB)或图5中的步骤6)。差部分可包括秘密共享差。第二乘法运算可使差部分和第J个特征的第J个特征部分相乘,以获得第J个增量部分,例如,(yi *-yi)xij或图5中的步骤8。第二乘法运算可使用随机整数的第二乘法三元组,例如,如本文中所描述。
在图5中,前向部分可以在步骤5中计算。在图8中,可执行额外步骤,例如,步骤2到8,以获得逻辑回归的前向部分。在图5中,可在步骤8中确定第J个增量部分。
在框960处,对第J个增量部分进行截尾。可如本文中所描述得那样执行截尾。截尾可以在不同时间执行。例如,截尾可以在每次确定增量部分时执行。在其它实施例中,截尾可以周期性地在每N次确定特定增量部分时执行,其中N大于1。截尾在图5中的步骤9处示出。
截尾可以各种方式执行。例如,差部分可以在第二乘法运算之前进行截尾。这可以通过对图5的步骤5处的前向结果进行截尾来实现。此类截尾还可控制增量部分的大小。
在框970处,使用截尾的第J个增量部分更新d个权重部分中的第J个权重部分。更新可包括使用学习步长a,例如,如图5的步骤10所描绘。在每次迭代使用超过一个训练样本时可使用标准化因数|B|,例如,本文针对迷你批模式所描述的a。
在一些实施例中,可以在一个操作中更新多个权重。例如,可生成增量部分向量以更新d个权重的权重向量。第二乘法运算(例如,图5中的步骤8或(Yi *-Yi)×X)可包括使差部分与d个特征部分中的每一个相乘以获得增量部分向量的d个增量部分。可以对d个增量部分进行截尾,并且可使用截尾的增量部分更新所述d个权重部分。
作为批模式的部分,可选择训练样本作为随机选择的一批B个训练样本的部分。第一乘法运算可使用具有Bxd尺寸的矩阵X和B个输出的输出Y向量来形成前向部分向量。第二乘法运算可使用矩阵X和具有长度d的差部分向量来形成增量部分向量。
在框980处,可以针对其它训练样本和d个权重中的其它权重重复框940到980以训练机器学习模型。训练过程可一直进行到符合一个或多个收敛准则为止。通常,达到收敛需要不超过两个时期。一旦生成机器学习模型,它就可在制造模式中使用。
在框990处,将机器学习模型用于新样本。模型可基于新样本的d个特征为新样本提供输出标签。具有d个特征的新样本(例如,本文中指示为X)可以从用于训练的客户端中的任一个或新客户端接收。客户端可以与训练计算机秘密共享新样本的特征,其中的每一个训练计算机可将模型的最终(优化)权重部分应用到所述d个特征和中间值以获得输出部分。新样本的预测输出Y′可以从存储在训练计算机处的部分重构。可以重构其它中间值,但是一些实施例只能重构最终输出Y′。其它实施例可在K个训练计算机中的每一个处使用所述d个权重部分重构所述d个权重来获得模型,模型接着可供单个计算机用于确定新样本的预测输出。
B.分段激活函数
图10是根据本发明的实施例的执行隐私保护机器学习的方法1000的流程图。方法1000可由训练计算机执行,例如,图2中的服务器230和240。根据本发明的实施例,方法1000可使用秘密共享和分段激活函数。
在框1010处,K个训练计算机存储来自多个数据客户端的秘密共享私用数据,其中K是2或更大。框1010可以按与框910类似的方式执行。
在框1020处,初始化机器学习模型的一组d个权重的值。.框1020可以按与框920类似的方式执行。
在框1030处,选择具有d个特征XI的训练样本I。框1030可以按与框940类似的方式执行。XI在仅选择一个训练样本时可以是向量,但是在选择超过一个训练样本时,例如在以批模式操作时,可以是矩阵。
在框1040处,K个训练计算机使用XI和W执行第一乘法运算,以获得乘法结果u。第一乘法运算可以各种方式执行,例如,使用不经意传输、混淆电路和/或乘法三元组。因此,乘法结果u的部分可以在K个训练计算机中秘密共享。此类乘法运算的实例在章节II中针对方法900提供。
在框1050处,K个训练计算机使用混淆电路评估乘法结果u的函数F,以获得前向传播结果YI *。混淆电路可用于对数据的共享部分保密。举例来说,前向传播结果可对应于f(XI×W)。实例函数F在章节IV-C和IV-D中提供。举例来说,可使用方程式(4)中的函数,或者可使用softmax函数的替代方案,如章节IV-D中所提供。
在图5的实例中,可以在步骤5中计算前向传播结果YI *。在图8中,可执行额外步骤,例如,步骤2到8,以获得逻辑回归的前向部分。在神经网络的各层的前向传播中,第i个层的矩阵Xi可以计算为Xi=f(Xi-1×Wi)。
在框1060处,K个训练计算机使用YI *和选定训练样本的输出YI确定误差项D。针对方法900以及在章节II-A-3和章节II-A-4中提供误差项的实例。章节II-A-3提供实例误差项(f(XB×w)-YB)。章节II-A-4提供另一实例误差项在一些实施例中,可使用前向传播结果YI *和输出Y部分将差项确定为误差项(例如,(f(XB×w)-YB)或图5中的步骤6)。差部分可包括秘密共享差。
在框1070处,K个训练计算机执行误差项D和XI的第J个元素XI,J的第二乘法运算,以获得第J个增量ΔJ。章节II-A-3提供实例,其中ΔJ可包括章节II-A-4提供另一实例,其中ΔJ可包括Xi×Yi。第二乘法运算可以使用一个或多个乘法三元组来执行。
在框1080处,使用增量ΔJ更新WJ。更新可包括使用学习步长a,例如,如图5的步骤10所描绘。在每次迭代使用超过一个训练样本时可使用标准化因数|B|,例如,本文针对迷你批模式所描述的a。
在框1090处,可以针对其它训练样本和d个权重中的其它权重重复框1030到1080以训练机器学习模型。训练过程可一直进行到符合一个或多个收敛准则为止。通常,达到收敛需要不超过两个时期。一旦生成机器学习模型,它就可在制造模式中使用。因此,模型可用于新样本,例如,如针对框990所描述。
1.高效逻辑类函数
激活函数F的一个实例是:在乘法结果u小于第一临界值时的第一常数、在乘法结果u大于第二临界值时的第二常数,以及在u在第一临界值和第二临界值之间时在第一常数和第二常数之间单调变化的函数。第一临界值和第二临界值可以是各种值,其中第二临界值大于第一临界值。第一常数和第二常数可以是各种值,且单调变化的函数可以单调增加或减小。因此,第一常数和第二常数中的任一个可高于另一个。
可以如章节IV-C-2中所描述得那样实施混淆电路。举例来说,混淆电路可通过接收其中一个部分与第一常数相加(例如,)的YI *个部分来确定YI *是否小于第一临界值。YI *个部分(例如,和<u>1)获得第一结果。在第一结果的最高有效位是0时,可确定YI *小于第一临界值。
可以下方式确定YI *是否小于第二临界值。YI *个部分可从一个部分(例如,)减去第一常数。YI *个部分和<u>1)可以相加以获得第二结果。在第二结果的最高有效位是1时,可确定YI *大于第二临界值。混淆电路可使用两个变量b1和b2将函数F评估为依据临界值和所述两个常数,C对应于可为零的常数。例如,C可对应于单调变化函数的纵截距(通常被称为y截距),在以上实例中可以是1/2。在此实例中,b1可等于第一结果的最高有效位,b2可等于第二结果的最高有效位。
在一些实施例中,单调变化函数可以是线性的(例如,如在方程式4中的)。F包括常数C(例如,1/2)作为纵截距,并且其中F提供为
如章节IV-C-2所提到,可以在姚氏共享(不经意传输)和例如布尔共享的另一类型的共享之间进行切换。因此,在一些实施方案中,混淆电路可输出并且F可以使用不经意传输来评估。
2.用于多个分类的高效激活函数
在一些实施例中,激活函数可接收超过一个值u,例如,从多个节点接收值。此类节点可为神经网络的最后一个隐蔽层,或有效地作为输出层,其中激活函数由每一节点应用。此类激活函数可适用于可容纳超过两个分类的模型。在此类实例中,可以针对每一分类提供概率(例如,其中最后一个层的每一节点对应于一个分类)。
如章节IV-D中所描述,激活函数可以是分子函数和分母函数的比。分子函数可具有第L个节点的乘法结果ul的输入(例如,通过X和WL——第L个节点的权重——的乘法运算确定),且分母可接收其它节点的乘法结果,所述其它节点可以在同一层中。分子函数在乘法结果u1沿着一个方向超过第一临界值时可以是第一常数,且在ul沿着相反方向超过第一临界值时是单调变化函数(例如,线性增加函数)。分母函数可以是M个节点的所有分子函数的总和。
对于涉及多个节点和此类激活函数的实施例,方法1000的框1040可确定对应于机器学习模型的M个节点中的第L个节点的乘法结果ul。在框1050中,对应前向传播结果YI,L *可以是所述节点特定的。在框1060中,第L个节点的误差项D可使用YI,L *和选定训练样本的输出YI确定。
VI.实验结果
我们提供了隐私保护机器学习系统和方法的各种实施方案的实验结果。用于确定实验结果的设置和技术仅是各种实施例的实例。
A.实施方案
系统实施于C++中。在我们所有的实验中,域大小设置为264。因此,我们观察到,模运算可以在C++中使用无正负号长整数类型上的正则算术来实施,而没有额外成本。这显著快于能够处理任意域中的运算的任何数论库。例如,我们测试出整数加法(乘法)比实施于GMP[5]或NTL[7]库中的相同域中的模块化加法(乘法)快100×。更一般来说,有限域中的任何元素可以由一个或若干个无正负号长整数表示,且加法(乘法)可以通过一个或若干个正则加法(乘法)加上一些位运算来计算。此类实施方案的加速与与使用通用数论库类似。我们使用Eigen库[2]来处理矩阵运算。OT和混淆电路使用EMP工具包[3]来实施。实例系统实施[11]的OT扩展,并应用混淆电路的自由XOR[30]和固定密钥AES混淆[12]优化。细节可参见[45]。我们使用LHE的DGK[17]的密码系统,其在[18]中由Demmler等人实施。
关于实验设置,实验是在运行Linux的两个亚马逊EC2 c4.8xlarge机器上执行的,其中每一机器具有60GB的RAM。对于LAN网络上的实验,我们在相同区域中主控这两个机器。平均网络延迟是0.17毫秒,带宽是1千兆位/秒。设置是非常具有代表性的LAN设置,因为我们进一步测试出了通过缆线连接的两个计算机具有类似网络延迟和带宽。对于WAN网络上的实验,我们在两个不同的区域中主控这两个机器,一个在美国东部,另一个在美国西部。平均网络延迟是72毫秒,带宽是9兆位/秒。我们在结果中收集了每一数据点的10个轮次,并报告平均值。
关于实验中的数据集,我们使用以下数据集。MNIST数据集[6]含有从“0”到“9”的手写数位的图像。它具有60,000个训练样本,每一训练样本具有784个表示图像中的28×28像素的特征。每一特征的灰度在0~255之间。(它可以缩放到在0和1内,但是表示数据的位的数目保持不变。)为了显示我们的系统在增加特征向量时的可缩放性,我们还使用Gisette数据集[4]、[25],其含有数位“4”和“9”的图像。它具有13,500个样本和5,000个在0~1,000之间的特征。为了进一步证明我们协议的精确度,我们还使用Arcene数据集[1]、[25]。它含有质谱数据,并且用于确定患者是否具有癌症。存在具有10,000个特征的200个数据样本。每个值都在0和1000之间。所有数据集都来自现实世界。
B.针对线性回归的实验
我们从我们的隐私保护线性回归协议在不同设置中的实验结果开始,并将它与明文训练和先前隐私保护解决方案比较。
1.在线阶段
为了检查在线阶段如何缩放,我们对大小为1,000到1,000,000的n(训练样本的数目)和100到1,000的d(每训练样本的输入特征的数目)的数据集进行实验。在n≤60000且d≤784时,样本直接从MNIST数据集获取。在n和d大于MNSIT的n和d时,我们复制数据集并添加遗漏特征的虚拟值。应注意,在n,d,E固定时,用于训练的实际数据不影响运行时间。
图9A示出LAN设置中的结果。“PP线性1”表示具有呈矩阵形式的乘法三元组的隐私保护线性回归,“PP线性2”表示客户端辅助变化形式的在线阶段。所报告的运行时间是针对每一服务器的,且根据我们的实验,这两个服务器花费大致相同的时间。学习速率是预定的,我们并不对在图中查找适当学习速率的时间进行计数。“线性C++”是我们在C++中实施的明文线性回归,且“线性TensorFlow”是使用Python语言的TensorFlow库[8]实施的明文线性回归。特征的数目固定为784,且n在1,000到1,000,000的范围内变化。
如图9A中所示,在LAN设置中,在我们标准版本的线性回归中,一个服务器的运行时间仅比明文数据上的训练慢两倍。具体地说,在分别具有784个特征的1百万个数据样本上安全地训练线性模型只需要22.3秒,而明文训练需要10.9秒。此开销甚至小于C++和Python中的实施方案之间的差距,因为使用TensorFlow训练模型需要47.6秒,TensorFlow是一种实施于Python中的高度优化机器学习框架。在隐私保护训练所需要的22.3秒中,只有小部分,即小于2秒是花费在交互的网络延迟上。给定LAN网络的高带宽,传输数据的通信时间可忽略不计。使用客户端生成的乘法三元组的PP线性2具有大致3.5×的开销。具体地说,训练模型需要77.6秒,其中n=1,000,000,且d=784。如图9A和9B中所示,协议的运行时间随着n和d线性缩放。我们还观察到,我们测试的所有数据集上的线性和逻辑回归的SGD始终在第一时期内收敛,且在第二时期之后终止,这证实了SGD实际上极其有效且高效。
如果实施于Python中,那么实施方案可能不会打败TensorFlow,因为TensorFlow并有各种优化,包括并行化、分布式训练和GPU优化,这些在我们的实验中都未启用。实际上,我们的实验示出了我们的技术有可能在实践中具有可扩展性和适用性,且能够集成到例如TensorFlow等现有机器学习工具中。
图9C示出WAN网络上的对应表现。明文训练算法的性能保持不变,因为它们在单个机器上执行而不具有交互。然而,隐私保护协议的运行时间显著增加。具体地说,在n=1,000,000且d=784时,PP线性1需要2291.8秒来训练模型。原因在于现在网络延迟是训练时间中的主要因素。计算时间与LAN设置完全相同,大约为20秒;通信时间仍可忽略不计,即使是在WAN网络的带宽下。总运行时间与网络延迟乘以迭代次数几乎相同。
PP线性1仍比PP线性2慢大致3.3×,但是原因与LAN设置不同。在WAN设置中,此开销来自通信的递增,如章节IV-B-3中所解释。即使在WAN网络中的这种较大网络延迟下,如我们随后将示出的,我们的隐私保护机器学习的性能仍比现有技术水平快数个数量级。此外,图9C中还示出在WAN网络中,训练时间随着样本的数目而线性增加。然而,在图9D中,在固定n=10,000时,PP线性1的训练时间仅在d增加时略微增加,这与迭代次数独立于d的事实有关。相比于PP线性1,PP线性2的开销随着d而增加,因为在第二协议中,通信随着d而线性增加。在d=100时,训练时间与第一协议几乎相同,因为它大部分都是交互;在d=1000时,训练时间由于通信上的开销而慢了4×。
实施例在可通过增加迷你批大小提高WAN设置中的性能,以便平衡计算时间和网络延迟。图10示出这种参数微调的结果。假设n=10,000且d=784,并增加|B|以测量它对性能的影响。如图10所示,运行时间在迷你批大小增加时减少。具体地说,在|B|=512时,在PP线性1中需要6.8秒来训练模型,这几乎比|B|=128时所需要的时间快了4倍。这是因为在时期的数目相同时,迭代(或交互)次数与迷你批大小成反比。在迷你批大小增加时,计算时间保持大致不变,同时花费在交互上的时间减少。然而,在|B|进一步增加时,运行时间无法始终保持减少。在计算时间占大部分时,运行时间将保持不变。此外,如果|B|设置过大,那么迭代次数在时期中过小,使得模型可能无法像前述那么快地达到最佳权重(或其它参数),这可能会引起所需时期的数目E增加,所述数目本身就会影响性能。在明文训练中,迷你批大小可基于模型的向量化、并行化和鲁棒性的加速而确定。在隐私保护设置中,还应考虑网络条件(例如,LAN或WAN),并且应找到适当的迷你批大小来优化训练时间。
2.离线阶段
离线阶段的性能在表2中概述。我们报告了LAN和WAN网络上的运行时间以及基于OT和基于LHE的乘法三元组生成的总通信。对于客户端辅助设置,我们通过在单个机器上生成所有三元组来模拟总计算时间。我们报告了它的总时间和总通信,但是并未区分LAN和WAN设置,因为数据实际上会从具有不同网络条件的多个客户端发送。作为参考,我们还包括了假设每个值存储为64位小数数字的数据集大小。我们使n在1000到100,000范围内变化,d在100到1000范围内变化。迷你批大小设置为128,且时期数目设置为2,因为我们在在线阶段中通常只需要2个时期。如果需要更多时期,那么在表格中报告的所有结果会随着时期数目而线性增加。
表2:离线阶段的性能。|B|=128且E=2。*表示估计。
如表中所示,基于LHE的乘法三元组生成是所有方法当中最慢的。具体地说,在n=10,000且d=1,000时,它需要1600.9秒。原因在于LHE中的每一基本运算,即加密、解密和幂运算都极慢,这使得此方法不可行。例如,一个加密需要3毫秒,这比一个OT(在使用OT扩展时)慢大约10,000×。然而,基于LHE的方法产生最佳通信。如章节IV-B中所计算,渐进复杂度比数据集大小小得多。考虑到大型密文(2048个位),总通信仍与数据集大小类似。在LAN和WAN网络上运行时,此通信几乎没有引入任何开销。不同于在线阶段,离线阶段只需要1个交互,因此网络延迟可忽略不计。
基于OT的乘法三元组生成的性能在LAN设置中好得多。具体地说,在n=10,000且d=1,000时,它只需要80.0秒。它在通信上引入了超大开销,即19GB,而数据仅为76MB。此通信开销使得在WAN网络上运行时间变得很长。因为作为OT的主要成本的这一通信开销,在WAN网络上,总运行时间比基于LHE的生成慢。
最后,客户端辅助乘法三元组生成是最快的,因为没有涉及任何密码运算。在n=10,000且d=1,000时,它只需要4.0秒。总通信上的开销仅仅是实践中可接受的数据集大小的大约9倍。
表2中还示出所有运行时间随着n和d而大致线性增加,这与章节IV-B中得出的渐进复杂度一致。在基于LHE的生成中加密和解密数目是O(|B|+d)。当|B|固定为128时,它的运行时间不会严格随着d而线性增加,如表2中所反映。
组合针对在线和离线阶段所呈现的结果,实施例仍然是非常高效的。例如,在LAN设置中,在使用客户端辅助乘法三元组时,在在线阶段中仅需要1.0秒来进行隐私保护线性回归,其中n=10,000且d=1,000。离线阶段的总时间仅仅为4.0秒,这在实践中会进一步分发到多个客户端。在使用基于OT的生成时,在线阶段需要0.28秒,离线阶段需要80.0秒。相比而言,使用TensorFlow实施的明文训练需要0.64秒。开销始终保持与我们的算法相同,且明文训练的n和d线性缩放。
MNIST Gisette Arcene
Chekosky 92.02% 96.7% 87%
SGD 91.95% 96.5% 86%
表3:SGD和Chekosky的精确度比较。
3.与先前工作比较
如本文中所提到,[37](NWI+ 13)和[21](GSB+ 16)也在类似的双服务器设置中考虑到了隐私保护线性回归。这两篇文章提出通过求解我们在章节II-A中描述的线性系统来计算最佳值,而不是使用SGD方法。我们首先示出了经过SGD方法训练的模型可达到表3中针对此实验使用MNIST、Gisette和Arcene数据集达到的相同精确度。
NWI+ 13和GSB+ 16中协议可分解成两个步骤。在第一步骤中,安全地构建d×d矩阵XT×X,其定义线性系统。在第二步骤中,使用混淆电路实施Cholesky算法或其变化形式。在NWI+ 13中,使用LHE实施第一步骤。每一客户端需要加密d×d矩阵,我们使用带批处理的Paillier加密[38]来实施这一加密,类似于NWI+ 13。
在GSB+ 16中,使用由CSP生成的乘法三元组计算第一步骤,这比NWI+ 13快。然而,现在客户端无法与CSP共谋。使用混淆电路,NWI+ 13实施Cholesky算法,而GSB+ 16实施称为CGD的逼近算法。因为用于这些实施方案的代码是不可用的,所以我们使用在[21,表1,图6]中报告的数字,其仅包括计算时间。对于GSB+ 16中的第一步骤,我们仅使用两个客户端的结果,这是最快的;对于GSB+ 16中的第二步骤,我们使用具有15次迭代的CGD的结果。我们对我们的离线和在线阶段的运行时间求和,并对NWI+ 13和GSB+ 16中的第一和第二步骤的运行时间求和,并且在所有方案中报告所有方的总运行时间。
在图11A中,我们比较NWI+ 13中的方案的性能,并呈现在LAN和WAN设置中执行的具有基于OT和基于LHE的乘法三元组生成的技术。如图11A所示,性能显著改进。例如,在n=100,000且d=500时,即使是我们的基于LHE的协议在LAN和WAN设置中都具有54×加速。基于OT的协议在LAN设置中快1270×,在WAN设置中快24×。对于n≥10,000,我们可能不执行NWI+ 13的第一步骤,且图11A中的虚线是我们的外推。
在图11B中,我们进一步比较GSB+ 16中的方案的性能和具有由客户端生成的乘法三元组的实施例,因为它们在假设服务器和客户端不共谋时都是安全的。如图11B中所示,在n=100,000且d=500时,我们的方案在WAN设置中具有31×加速,在LAN设置中具有1110×加速。因为图11B是在重对数图尺上,所以我们的方案中运行时间的增加斜率较大并不意味着我们最终在具有足够大的n的情况下会更慢。这意味着相对加速减小,但是实际上,我们方案和GSB+ 16的运行时间之间的绝对差保持增加。
在n较小时NWI+ 13和GSB+ 16的成本如此高的原因在于用于求解线性系统的混淆电路的大小仅取决于d。即使仅存在1个数据样本,d=500时,第二步骤的时间在NWI+ 13中大约是90,000秒,在GSB+ 16中大约是30,000秒。
应注意,我们方案和先前工作之间的差距在d增加时会变得更大,因为运行时间在我们的方案中相对于d是线性的,在所述两个先前方案中是二次或三次的。另外,针对所述两个先前技术报告的所有数字仅包括计算时间。实际上,混淆电路引入了超大通信和存储开销。如[21,图4]中报告,d=500时,在这两种方案中的混淆电路具有大于1011个门,这至少为3000GB。传输此类超大电路的通信时间在LAN网络上至少为3000秒,在WAN网络上至少为33,0000秒。我们在图中并未并入这一点,但我们方案的性能已经包括通信和交互时间时间
最后,NWI+ 13仅支持水平分割数据,其中每一客户端保存数据矩阵中的一个或多个行;GSB16仅支持具有2~5个客户端的竖直分割数据,其中每一客户端保存数据的一个整列。实施例可支持数据的任意分割。此外,我们协议的离线阶段是数据独立的。服务器和客户端可在基本了解数据集大小的界限的情况下开始离线阶段,同时所述两个先前技术中的大量计算需要在获得数据之后执行。
C.针对逻辑回归的实验
在本章节中,我们复查了我们的隐私保护逻辑回归协议的实验结果。因为这个协议不需要任何额外的乘法三元组,所以离线的成本与线性回归完全相同。
如图12A到12D中所示,逻辑回归的明文训练几乎与线性回归一样快,但我们的隐私保护训练引入了一定开销。确切地说,在图12A中,在n=1,000,000且d=784时,我们的使用基于OT或基于LHE的乘法三元组的协议1需要149.7秒,而隐私保护线性回归仅需要22.3秒,如图9A中所示。此开销仅仅是计算我们的逻辑函数的额外混淆电路引入的。事实上,小型额外混淆电路引入了7×开销,并证明了运行时间会比整个训练在混淆电路中实施的情况大得多。
我们的协议2(使用由客户端生成的乘法三元组)需要180.7秒,因为逻辑回归不使用任何额外乘法三元组,且混淆电路是加性开销,不管使用的是什么类型的乘法三元组。尽管具有此开销,训练时间仍与明文训练类似。明文逻辑回归在实施于TensorFlow中时需要47.8秒,在实施于C++中时需要11.2秒。训练时间随着n和d而线性增加,如图12A和12B中所呈现。
图12C和12D示出了WAN网络上的结果。花费在交互上的时间仍是主要因素。在n=100,000且d=784时,我们的第一协议需要大约6,623秒,第二协议需要大约10,213秒。相比于隐私保护线性回归,每次迭代添加一个额外交互和额外通信用于混淆电路。我们还可增加迷你批大小|B|来平衡计算和交互并提高性能。
为了进一步示出实例系统的可缩放性,我们在LAN网络上在具有5,000个特征和至多1,000,000个样本的Gisette数据集上运行隐私保护逻辑回归,结果在表4中概述。
表4:LAN设置中Gisette数据集上的性能。n=1,000,000,d=5000。
D.针对神经网络的实验
我们还实施了用于在MNIST数据集上训练实例神经网络的隐私保护协议。神经网络具有两个隐蔽层,其中在每一层中具有128个神经元。我们将RELU和平方函数用作隐蔽层中的激活函数来进行实验,我们提出了输出层中softmax函数的替代方案。神经网络是全连接的,且成本函数是交叉熵函数。标签表示为具有10个元素的热向量,其中以数位作索引的元素设置为1,其它元素是0。我们在LAN网络上运行我们的系统,性能在表5中概述。|B|设置为128,且训练在15个时期之后收敛。
表5:LAN设置中MNIST上的隐私保护神经网络训练的性能。n=60,000,d=784。
如表5中所示,在使用RELU函数时,我们的隐私保护协议和明文训练之间的性能差距相比于逻辑回归有所增大。即,我们的第一协议(使用基于OT或基于LHE的乘法三元组)的在线阶段需要4,239.7秒,它比实施于Tensorflow中的明文训练慢21×。原因在于我们无法在相同程度上利用向量化技术。以第一层为例,存在128个神经元,且这个层的系数表示为785×128矩阵。在数据与这些系数相乘时,由于高效矩阵乘法算法,神经网络中此步骤的运行时间只比与785×1列向量相乘慢了约12×,但是尺寸增加了128×。这一优化的影响是明文训练的运行时间随着神经网络的大小而次线性地增加。我们还得益于使用Eigen库的此类优化。然而,混淆电路成本完全线性增加。例如,在乘法运算之后,我们以|B|×128矩阵结束,并且需要在矩阵的每一元素上计算RELU函数,因此需要确切地|B|×128个混淆电路。因为这一点,98.6%的时间花费在混淆电路和OT上,同时要记住,只有85%是用于隐私保护逻辑回归中的混淆电路。
类似地,基于OT的离线阶段以及我们的第二协议(使用由客户端生成的乘法三元组)的在线和离线阶段随着神经网络的大小而线性地增加,因为它们无法在相同程度上得益于向量化。
在使用平方函数时,在线阶段的性能显著改进,因为大部分混淆电路替换为了秘密共享值上的乘法运算。具体地说,我们的第一协议的在线阶段仅需要653.0秒,这只比TensorFlow慢3.3×。然而,离线阶段的运行时间增加,表明这两个阶段之间的权衡。
关于精确度,经过TensorFlow训练的模型可在所有10个类别上达到94.5%,而我们可使用RELU和93.1%并使用平方函数达到93.4%。实际上,存在可以达到更好的精确度的其它类型的神经网络。例如,卷积神经网络被认为对图像处理任务更有效。在此类神经网络中,神经元不是全连接的,且数据和系数(权重)之间的内积替换为2D卷积。实施例还可支持此类神经网络,因为卷积可以使用加法运算和乘法运算来计算。然而,匹配在安全计算内使用例如快速傅里叶变换等技术的明文训练的效率可能更加困难。
VII.截尾误差
提供对截尾误差的较小影响的论证,并提供数据集的结果。
A.较小截尾误差的论证
定理。在中,假设其中l>lx+1,并给定x的份额<x>0,<x>1,假设接着,在的概率下,其中表示截去lD≤lx个位的截尾。
论证。假设<x>0=x+r mod 2l,其中r在中均匀随机,那么<x>1=2l-r,我们将r分解为其中我们证明了如果那么考虑以下两种情况。
情况1:如果那么0<x+r<2l且<x>0=x+r,而无需模运算。假设其中然后我们得到 其中如果那么进位位c=0,否则c=1。在截尾之后,因此,
情况2:如果那么x+r≥2l且<x>0=x+r-2l。假设其中我们得到 其中如果r2>x2,那么进位位c=0,否则c=1。在截尾之后,因此,
最后,我们的假设成立的概率,即随机r处于范围内的概率是
上述定理可以通过在论证中用p替换2l而自然地扩展到素域Zp。我们还注意到截尾不影响秘密共享的安全性,因为份额是由不具有任何交互的各方独立截尾的。
B.MNIST和Arcene数据集的截尾的影响
我们利用截尾技术在由手写数位的图像组成的MNIST数据集[6]上运行我们的隐私保护线性回归协议,并比较经训练模型的精确度与具有标准小数数字运算的明文训练。迷你批大小设置为|B|=128,且学习速率α=2-7。输入数据具有784个特征,每一特征的像素的灰度在0和1之间缩放,使用8个小数位表示。我们将域设置为为了进行公平的比较,系数全部初始化为0,并且将同一系列的迷你批索引用于所有训练。为了简化任务,我们将数位“0”的标签变成0,将非零数位的标签变为1。
在图13中,x轴是算法的迭代次数,y轴是测试数据集上的训练模型的精确度。此处,在我们的协议中,我们在每次迭代之后重构系数向量以测试精确度。如图13中所示,在我们针对w的分数部分使用13个位时,隐私保护训练的性能与明文训练几乎完全相同。这是因为我们仅在w的小数部分的第13个位上引入了较小误差。我们的实验未曾触发定理1的失败条件。
然而,在我们针对w的小数部分使用6个位时,我们协议的精确度在训练期间摇摆不定。这是因为现在误差是在第6个位上,这个位具有较大影响,并且可能会将模型推离最佳值。在与最佳值相隔的距离足够大时,SGD将再次向最佳值移动回去。最后,在我们针对分数部分使用2个位时,摇摆不定的表现更加显著。
当在称为Arcene[1]的另一数据集上训练时,我们观察到类似的影响,如图14中所示。换句话说,在使用足够的位表示系数的分数部分时,我们的共享小数数字的定点乘法的新方法对训练模型的精确度的影响很小。
VIII.隐私保护线性回归的安全性论证
我们在此处重复隐私保护线性回归的安全性定理并提供论证简述。定理2考虑了一种协议:客户端在运行图5的协议并将输出发送给客户端的两个服务器之间分发其数据的算术份额。在F离线混合模型中,在存在章节I-C中所提及的半诚实可接受对手的情况下,此协议实现了线性回归函数的理想功能函数Fml
我们模型中的可接受对手可破坏一个服务器和客户端的任何子集。在协议相对于这两个服务器对称的条件下,我们只需要考虑以下情形:对手破坏S0和除一个客户端以外其余所有的客户端,即C1、......、Cm-1
我们描述了在理想世界中模拟上述对手的模拟器S。S将被破坏的客户端的输入数据提交到功能函数,并接收线性回归的最终输出,即,系数w的最终值。
接着,S运行A(对手)。代表诚实客户端,S针对由所述客户端持有的每个值将中的随机份额发送到A。这是涉及客户端的唯一消息。协议的其余部分可生成对应于诚实服务器的份额<X>,<Y>,<U>、<V>,<Z>、<V′>,<Z′>的随机矩阵和向量,并在使用那些随机生成的值与A交互时扮演诚实服务器的角色。
在将要恢复w的最后一个步骤中,S调整诚实服务器在w中的份额,使得恢复后的值实际上是它从功能函数接收的系数向量。这结束了模拟。
我们简单地论证了在真实和理想世界中A的视角(以及因此在这两个世界中环境的视角)是不可区分的。这是直接从算术秘密共享的安全性和以下事实推断出来的:在离线阶段中生成的矩阵/向量实际上是随机的。具体地说,在协议中发送、接收和重构的所有消息(除了w之外)在真实协议和上文所描述的模拟中都是使用均匀随机的份额生成的,因此视角的分布实际上是相同的。
我们注意到,此变量参数隐含地解释了为什么使用一个掩蔽矩阵U就足以隐藏数据矩阵X。原因在于对手在第一次交互中只能看到掩蔽值一次,X上的其余计算是在诚实服务器和被破坏的服务器之间没有任何交互的情况下进行的。
IX.计算机系统
本文中提及的任何计算机系统中的任一种都可以利用任何合适数目的子系统。在一些实施例中,计算机系统包括单个计算机设备,其中子系统可以是计算机设备的组件。在其它实施例中,计算机系统可包括具有内部组件的多个计算机设备,每个计算机设备是子系统。计算机系统可包括台式电脑和笔记本电脑、平板电脑、移动电话和其它移动装置。
子系统可以通过系统总线互连。额外子系统可包括打印机、键盘、存储装置、监视器,它们可以耦合到显示适配器。耦合到输入/输出(I/O)控制器的外围设备和I/O装置可以通过本领域中已知的各种构件连接到计算机系统,所述构件例如是输入/输出(I/O)端口(例如USB、)。例如,I/O端口或外部接口(例如,以太网、Wi-Fi等)可用于将计算机系统连接到广域网(例如,因特网)、鼠标输入装置或扫描仪。通过系统总线的互连可允许中央处理器与每一子系统通信并控制来自系统存储器或存储装置(例如固定磁盘,如硬盘驱动器,或者光盘)的多个指令的执行,以及子系统之间的信息交换。系统存储器和/或存储装置可以体现计算机可读介质。另一子系统是数据收集装置,例如相机、麦克风、加速度计等等。在此提及的任何数据可以从一个组件输出到另一个组件且可以输出到用户。
计算机系统可包括多个相同组件或子系统,所述组件或子系统例如通过外部接口、通过内部接口或经由可装卸式存储装置连接在一起,所述可装卸式存储装置可以从一个组件连接和移除到另一组件。在一些实施例中,计算机系统、子系统或设备可以通过网络通信。在此类实例中,一个计算机可被视为客户端且另一个计算机被视为服务器,其中每一计算机都可以是同一计算机系统的一部分。客户端和服务器可各自包括多个系统、子系统或组件。
实施例的方面可以如下形式实施:使用硬件(例如专用集成电路或现场可编程门阵列)和/或使用以模块化或一体化方式包括一般可编程处理器的计算机软件的逻辑控制。如本文中所使用,处理器包括单核处理器、在同一集成芯片上的多核处理器,或在单个电路板上或联网的多个处理单元。基于本文中提供的公开内容和教示,本领域普通技术人员会知道并意识到使用硬件及硬件和软件的组合实施本发明的实施例的其它方式和/或方法。
本申请中描述的任何软件组件或功能可以实施为使用任何适当计算机语言(例如,Java、C、C++、C#、Objective-C、Swift)或脚本语言(例如,Perl或Python)并使用例如传统的或面向对象的技术由处理器执行的软件代码。软件代码可以存储为用于存储和/或传输的计算机可读介质上的一系列指令或命令。适合的非暂时性计算机可读介质可包括随机存取存储器(RAM)、只读存储器(ROM)、如硬盘驱动器或软盘的磁性介质或如光盘(CD)或数字通用光盘(DVD)的光学介质、闪存等。计算机可读介质可以是这些存储或传输装置的任何组合。
此类程序还可使用适于通过包括因特网的符合多种协议的有线、光学和/或无线网络传输的载波信号来编码和传输。因此,计算机可读介质可以使用以此类程序编码的数据信号产生。以程序代码编码的计算机可读介质可以与兼容装置一起封装或与其它装置分开提供(例如,通过因特网下载)。任何此类计算机可读介质可以驻留在单个计算机产品(例如,硬盘驱动器,CD或整个计算机系统)之上或之内,并且可以存在于系统或网络内的不同计算机产品之上或之内。计算机系统可包括监视器、打印机,或用于向用户提供本文所提及的任何结果的其它合适的显示器。
本文所描述的任何方法可以完全或部分地用计算机系统执行,所述计算机系统包括一个或多个可配置成执行步骤的处理器。因此,实施例可以涉及配置成执行本文中所描述的任何方法的步骤、可能具有执行相应步骤或相应步骤群组的不同组件的计算机系统。尽管呈现为带编号的步骤,但是本文的方法步骤可以同时或以不同次序执行。另外,这些步骤的部分可以与其它方法的其它步骤的部分一起使用。而且,步骤的全部或部分可以是任选的。另外,任何方法的任何步骤都可以用执行这些步骤的模块、单元、电路或其它构件来执行。
特定实施例的具体细节可以按任何适合的方式组合而不脱离本发明实施例的精神和范围。然而,本发明的其它实施例可以涉及与每个个别方面或这些个别方面的特定组合相关的特定实施例。
上文对本发明的实例实施例的描述已经出于说明和描述的目的呈现。并不意图是详尽的或将本发明局限为所描述的精确形式,根据上文的教导,许多修改和变形是可能的。
除非具体地指示相反情况,否则“一(a/an)”或“所述(the)”的叙述旨在表示“一个或多个”。除非具体地指示相反情况,否则“或”的使用旨在表示“包含性的或”,而不是“排他性的或”。对“第一”组件的引用不一定要求提供第二组件。此外,除非明确说明,否则对“第一”或“第二”组件的引用不将所引用的组件限制到特定位置。术语“基于”旨在表示“至少部分地基于”。
本文所提及的所有专利、专利申请案、公开案和描述都出于所有目的以全文引用的方式并入。并非承认它们是现有技术。
X.参考文献
[1]Arcene数据集.https://archive.ics.uci.edu/ml/datasets/Arcene.访问于:2016-07-14.
[2]Eigen库.http://eigen.tuxfamily.org/.
[3]EMP工具包.https://github.com/emp-toolkit.
[4]Gisette数据集.https://archive.ics.uci.edu/ml/datasets/Gisette.访问于:2016-07-14.
[5]GMP库.https://gmplib.org/.
[6]MNIST数据库.http://yann.lecun.com/exdb/mnist/.访问于:2016-07-14.
[7]NTL库.http://www.shoup.net/ntl/.
[8]Tensorflow.https://www.tensorflow.org/.
[9]ABADI等入,2016年ACM SIGSAC计算机与通信安全会议的会议记录(2016年),ACM,第308-318页(In Proceedings of the 2016 ACM SIGSAC Conference on Computerand Communications Security(2016),ACM,pp.308-318).
[10]AONO,Y等人,第六届ACM数据与应用程序安全和隐私会议的会议记录(2016年),ACM,第142-144页(In Proceedings of the Sixth ACM Conference on Data andApplication Security and Privacy(2016),ACM,pp.142-144).
[11]ASHAROV,G等人,ACM CCS 2013会议记录(2013年)(In Proceedings of theACM CCS 2013(2013)).
[12]BELLARE,M等人,2013年安全与隐私(SP)IEEE研讨会,IEEE,第478-492页(InSecurity and Privacy(SP),2013 IEEE Symposium on(2013),IEEE,pp.478-492).
[13]BELLARE,M等人,2012年ACM计算机与通信安全会议的会议记录(2012年),ACM,第784-796页(In Proceedings of the 2012 ACM conference on Computer andcommunications security(2012),ACM,pp.784-796).
[14]BUNN,P.与OSTROVSKY,R.,第14届ACM计算机与通信安全会议的会议记录(2007年),ACM,第486-497页(In Proceedings of the 14th ACM conference onComputer and communications security(2007),ACM,pp.486-497).
[15]CANETTI,R.,2001年第42届计算机科学基础IEEE研讨会(2001年),IEEE,第136-145页(In Foundations of Computer Science,2001.Proceedings.42nd IEEESymposium on(2001),IEEE,pp.136-145).
[16]CHAUDHURI,K与MONTELEONI,C.,神经信息处理系统进展(2009年),第289-296页(In Advances in Neural Information Processing Systems(2009),pp.289-296).
[17]DAMGARD,I.、GEISLER,M.与KROIGARD,M.,国际应用密码学杂志,1,1(2008年),22-31(International Journal of Applied Cryptography,1,1(2008),22-31).
[18]DEMMLER,D.、SCHNEIDER,T.与ZOHNER,M.,NDSS(2015年)(In NDSS(2015)).
[19]DU,W.与ATALLAH,M.J.,csfw(2001年),第1卷,Citeseer,第273页(In csfw(2001),vol.1,Citeseer,p.273).
[20]DU,W.、HAN,Y.S.与CHEN,SDM(2004年),第4卷,SIAM,第222-233页(In SDM(2004),vol.4,SIAM,pp.222-233).
[21]GASCON,A等人,竖直分割数据集上的安全线性回归(Secure linearregression on vertically partitioned datasets).
[22]GILAD-BACHRACH,R.等人,第33届国际机器学习会议的会议记录(2016年),第201-210页(In Proceedings of The 33rd International Conference on MachineLearning(2016),pp.201-210).
[23]GILAD-BACHRACH,R等人,安全数据交换:云市场.密码研究预印本,报告2016/620,2016(Secure data exchange: A marketplace in the cloud.Cryptology ePrintArchive,Report 2016/620,2016).http://eprint.iacr.org/2016/620.
[24]GILAD-BACHRACH,R等人,安全数据交换:云市场(Secure data exchange: Amarketplace in the cloud).
[25]GUYON,I.等人,神经信息处理系统进展(2004年),第545-552页(In Advancesin neural information processing systems(2004),pp.545-552.)
[26]HASTIE,T.、TIBSHIRANI,R.与FRIEDMAN,J.统计学习的要素-数据挖掘、推理及预测(The elements of statistical learning-data mining,inference,andprediction).
[27]ISHAI,Y.等人,密码学进展-CRYPTO 2003(2003年)(Advances inCryptology-CRYPTO 2003(2003)),145-161.
[28]JAGANNATHAN,G.与WRIGHT,R.N.,第十一届ACM SIGKDD知识发现和数据挖掘国际会议的会议记录(2005年),ACM,第593-599页(In Proceedings of the eleventh ACMSIGKDD international conference on Knowledge discovery in data mining(2005),ACM,pp.593-599).
[29]KAMARA,S.、MOHASSEL,P.与RAYKOVA,M.,IACR密码研究预印本(2011年)(IACRCryptology ePrint Archive(2011)),272.
[30]KOLESNIKOV,V.与SCHNEIDER,T.,自动机、语言和编程国际学术讨论会(2008年),Springer,第486-498页(In International Colloquium on Automata,Languages,and Programming(2008),Springer,pp.486-498).
[31]LINDELL,Y.与PINKAS,B.,国际密码讨论年会(2000年),Springer,第36-54页(In Annual International Cryptology Conference(2000),Springer,pp.36-54).
[32]LINDELL,Y.与PINKAS,B.,密码学杂志(Journal of Cryptology)22,2(2009),161-188.
[33]LIVNI,R.、SHALEV-SHWARTZ,S.与SHAMIR,O.,神经信息处理系统进展(2014年),第855-863页(In Advances in Neural Information Processing Systems(2014),pp.855-863).
[34]MALKHI,D.等人,公平竞争-安全双方计算系统(Fairplaysecure two-partycomputation system).
[35]NAYAK,K.等人,2015年安全与隐私IEEE研讨会,IEEE,第377-394页(In 2015IEEE Symposium on Security and Privacy (2015),IEEE,pp.377-394).
[36]NIKOLAENKO,V.等人,2013年ACM SIGSAC计算机与通信安全会议的会议记录(2013年),ACM,第801-812页(In Proceedings of the 2013 ACM SIGSAC conference onComputer&communications security(2013),ACM,pp.801-812).
[37]NIKOLAENKO,V.等人,2013年安全与隐私(SP)IEEE研讨会,IEEE,第334-348页(In Security and Privacy(SP),2013 IEEE Symposium on(2013),IEEE,pp.334-348).
[38]PAILLIER,P.,密码技术理论与应用国际会议(1999),Springer,第223-238页(In International Conference on the Theory and Applications of CryptographicTechniques(1999),Springer,pp.223-238).
[39]PEIKERT,C.、VAIKUNTANATHAN,V.与WATERS,B.,密码学进展-CRYPTO 2008(2008年)(Advances in Cryptology-CRYPTO 2008(2008)),554-571.
[40]SANIL,A.P.等人,第十届ACM SIGKDD知识发现和数据挖掘国际会议的会议记录(2004年),ACM,第677-682页(In Proceedings of the tenth ACM SIGKDDinternational conference on Knowledge discovery and data mining(2004),ACM,pp.677-682).
[41]SHOKRI,R.与SHMATIKOV,V.,第22届ACM SIGSAC计算机与通信安全会议的会议记录(2015年),ACM,第1310-1321页(In Proceedings of the 22nd ACM SIGSACConference on Computer and Communications Security(2015),ACM,pp.1310-1321).
[42]SLAVKOVIC,A.B.、NARDI,Y.与TIBBITS,M.M.,第七届数据挖掘IEEE国际研讨会(ICDMW 2007)(2007),IEEE,第723-728页(In Seventh IEEE InternationalConference on Data Mining Workshops(ICDMW 2007)(2007),IEEE,pp.723-728).
[43]SONG,S.、CHAUDHURI,K.与SARWATE,A.D.,2013年IEEE信号和信息处理全球会议(2013年),IEEE,第245-248页(In Global Conference on Signal and InformationProcessing(GlobalSIP),2013 IEEE(2013),IEEE,pp.245-248).
[44]VAIDYA,J.、YU,H.与JIANG,X.,知识和信息系统(Knowledge andInformation Systems),14,2(2008),161-178.
[45]WANG,X.、MALOZEMOFF,A.J.与KATZ,密码研究预印本,报告2016/762,2016(Cryptology ePrint Archive,Report 2016/762,2016).http://eprint.iacr.org/2016/762.
[46]WU,S.等人,第27届日本人工智能学会年会(The 27th Annual Conferenceof the Japanese Society for Artificial Intelligence),27(2013),1-4.
[47]YAO,A.C,1982年第23届计算机科学基础年度研讨会SFCS'08(2001年),IEEE,第160-164页(In Foundations of Computer Science,1982.SFCS'08.23rd AnnualSymposium on(1982),IEEE,pp.160-164).
[48]YU,H.、VAIDYA,J.与JIANG,X.,知识发现和数据挖掘亚太会议(2006年),Springer,第647-656页(In Pacific-Asia Conference on Knowledge Discovery andData Mining(2006),Springer,pp.647-656).

Claims (32)

1.一种执行隐私保护机器学习的方法,所述方法包括:
在K个训练计算机处存储来自多个数据客户端的秘密共享私用数据,K等于2或更大,其中在秘密共享时所述秘密共享私用数据的每一数据项由K个部分表示,并且其中所述秘密共享私用数据包括一组训练样本,每一训练样本具有d个特征和输出Y;
初始化机器学习模型的一组d个权重的值,所述权重在所述K个训练计算机之间秘密共享,其中所述权重和所述特征存储为整数;
标识成本函数,所述成本函数在预测所述一组训练样本的所述输出Y时提供所述一组d个权重的精确度;
选择训练样本;
在所述K个训练计算机中的每一个处:
相对于第J个权重计算所述成本函数的误差项以确定第J个增量部分,其中计算所述误差项包括:
在确定前向部分时使用选定训练样本的d个特征部分和d个权重部分执行第一乘法运算,所述前向部分包括来自所述d个特征和所述d个权重的乘积的秘密共享前向传播结果,所述第一乘法运算使用随机整数的第一乘法三元组;
对所述第J个增量部分进行截尾;
使用截尾的第J个增量部分更新所述d个权重部分中的第J个权重部分;
针对其它训练样本和所述d个权重中的其它权重重复操作以训练所述机器学习模型。
2.根据权利要求1所述的方法,其中所述d个特征中的至少一些是进行移位以生成整数的小数值。
3.根据权利要求1所述的方法,其中所述机器学习模型使用线性回归、逻辑回归或神经网络。
4.根据权利要求1所述的方法,其中所述机器学习模型包括比所述一组d个权重更多的权重。
5.根据权利要求1所述的方法,其中确定所述第J个增量部分进一步包括:
使用所述前向部分和输出Y部分将差部分确定为所述误差项的一部分,所述差部分包括秘密共享差;以及
执行所述差部分和第J个特征的第J个特征部分的第二乘法运算以获得第J个增量部分,所述第二乘法运算使用随机整数的第二乘法三元组。
6.根据权利要求5所述的方法,进一步包括:
在所述第二乘法运算之前对所述差部分进行截尾。
7.根据权利要求5所述的方法,其中所述第二乘法运算包括使所述差部分与所述d个特征部分中的每一个相乘以获得增量部分向量的d个增量部分,所述方法进一步包括:
对所述d个增量部分进行截尾;以及
使用截尾的增量部分更新所述d个权重部分。
8.根据权利要求7所述的方法,其中选择所述训练样本作为随机选择的一批B个训练样本的一部分,其中所述第一乘法运算使用具有Bxd尺寸的矩阵X和B个输出的输出Y向量来形成前向部分向量,并且其中所述第二乘法运算使用所述矩阵X和具有长度d的差部分向量来形成所述增量部分向量。
9.根据权利要求8所述的方法,进一步包括:
使用线性同态加密(LHE)或不经意传输(OT)生成乘法三元组作为矩阵,并且其中所述第一乘法三元组和所述第二乘法三元组共享矩阵。
10.根据权利要求8所述的方法,其中使用所述截尾的第J个增量部分更新所述d个权重部分中的所述第J个权重部分包括使用学习步长α/|B|。
11.根据权利要求1所述的方法,进一步包括:
在所述K个训练计算机中的每一个处使用所述d个权重部分重构所述d个权重。
12.根据权利要求1所述的方法,进一步包括:
接收具有d个特征的新样本;
由所述K个训练计算机中的每一个应用所述机器学习模型的权重部分,以获得输出部分;以及
由所述K个训练计算机重构所述输出部分,以获得所述新样本的预测输出。
13.一种执行隐私保护机器学习的方法,所述方法包括:
在K个训练计算机处存储来自多个数据客户端的秘密共享私用数据,K等于2或更大,其中在秘密共享时所述秘密共享私用数据的每一数据项由K个部分表示,并且其中所述秘密共享私用数据包括一组训练样本,每一训练样本具有d个特征X和输出Y;
初始化机器学习模型的一组d个权重W的值,所述权重在所述K个训练计算机之间秘密共享,其中所述权重和所述特征是进行移位并存储为整数的小数值;
选择具有d个特征XI的训练样本I;
使用所述K个训练计算机并使用XI和W执行第一乘法运算以获得乘法结果u;
使用所述K个训练计算机并使用混淆电路评估所述乘法结果u的函数F,以获得前向传播结果YI *,其中所述函数F:
在u小于第一临界值时是第一常数,
在u大于第二临界值时是第二常数,且
在u在所述第一临界值和所述第二临界值之间时是在所述第一常数和所述第二常数之间单调变化的函数;
使用所述K个训练计算机并使用YI *和选定训练样本的输出YI确定误差项D;
使用所述K个训练计算机执行所述误差项D和XI的第J个元素XI,J的第二乘法运算,以获得第J个增量ΔJ
使用所述增量ΔJ更新WJ;以及
针对其它训练样本和所述d个权重中的其它权重重复操作以训练所述机器学习模型。
14.根据权利要求13所述的方法,其中选择所述训练样本I作为随机选择的一批B个训练样本的一部分,其中所述第一乘法运算使用具有Bxd尺寸的矩阵X和B个输出的输出Y向量,其中所述误差项D是B个值的向量,并且其中所述第二乘法运算使用所述矩阵X和所述误差项D来形成增量向量Δ以更新所述d个权重。
15.根据权利要求13所述的方法,其中所述第一乘法运算和所述第二乘法运算使用乘法三元组来执行。
16.根据权利要求13所述的方法,其中使用所述混淆电路评估所述前向传播结果YI *的函数F包括:
通过以下操作来确定YI *是否小于所述第一临界值:
接收其中一个部分与所述第一常数相加的YI *个部分;
将所述YI *个部分相加以获得第一结果;
在所述第一结果的最高有效位是0时,确定YI *小于所述第一临界值。
17.根据权利要求16所述的方法,其中使用所述混淆电路评估所述前向传播结果YI *的函数F包括:
通过以下操作来确定YI *是否小于所述第二临界值:
接收其中从一个部分减去所述第一常数的YI *个部分;
将所述YI *个部分相加以获得第二结果;
在所述第二结果的最高有效位是1时,确定YI *大于所述第二临界值。
18.根据权利要求17所述的方法,其中所述混淆电路基于以下输出值:
b1=所述第一结果的所述最高有效位,及
b2=所述第二结果的所述最高有效位,并且其中F包括
19.根据权利要求18所述的方法,其中所述单调变化的函数是线性的,其中F包括常数C作为纵截距,并且其中F提供为
20.根据权利要求18所述的方法,其中所述混淆电路输出并且其中使用不经意传输来评估F。
21.一种执行隐私保护机器学习的方法,所述方法包括:
在K个训练计算机处存储来自多个数据客户端的秘密共享私用数据,K等于2或更大,其中在秘密共享时所述秘密共享私用数据的每一数据项由K个部分表示,并且其中所述秘密共享私用数据包括一组训练样本,每一训练样本具有d个特征X和输出Y;
初始化机器学习模型的M组d个权重W的值,每一组d个权重W对应于所述机器学习模型的一层的M个节点中的一个,所述权重在所述K个训练计算机之间秘密共享,其中所述权重和所述特征是进行移位并存储为整数的小数值;
选择具有d个特征XI的训练样本I;
使用所述K个训练计算机并使用XI和W执行第一乘法运算,以获得对应于所述机器学习模型的M个节点中的第L个节点的乘法结果ul
使用所述K个训练计算机并使用混淆电路评估乘法结果ul的函数F,以获得前向传播结果YI,L *,其中所述函数F是以下两项的比:
分子函数,其在ul沿着一个方向超过临界值C时是第一常数,在ul沿着相反方向超过所述临界值C时是单调变化函数;以及
分母函数,其是所述M个节点的所有所述分子函数的总和;
使用所述K个训练计算机并使用YI,L *和选定训练样本的输出YI确定误差项D;
使用所述K个训练计算机执行所述误差项D和XI的第J个元素XI,J的第二乘法运算,以获得第J个增量ΔJ
使用所述增量ΔJ更新WJ;以及
针对其它训练样本和所述d个权重中的其它权重重复操作以训练所述机器学习模型。
22.根据权利要求21所述的方法,其中所述M个节点在神经网络的同一层。
23.根据权利要求22所述的方法,其中所述同一层是所述神经网络的输出层。
24.根据权利要求23所述的方法,其中所述函数F提供预测输出正确的概率。
25.根据权利要求21所述的方法,其中所述单调变化的函数是线性的。
26.根据权利要求25所述的方法,其中所述函数在ul>C时等于0,在ul<C时等于1-ul
27.根据权利要求26所述的方法,其中1是所述临界值。
28.一种包括计算机可读介质的计算机产品,所述计算机可读介质存储用于控制计算机系统以执行上述任何方法的操作的多个指令。
29.一种系统,包括:
根据权利要求28所述的计算机产品;以及
一个或多个处理器,其用于执行存储在所述计算机可读介质上的指令。
30.一种系统,其包括用于执行上述任何方法的构件。
31.一种系统,其配置成执行上述任何方法。
32.一种系统,其包括分别执行上述任何方法的步骤的模块。
CN201780089839.9A 2017-03-22 2017-03-22 隐私保护机器学习 Pending CN110537191A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/023652 WO2018174873A1 (en) 2017-03-22 2017-03-22 Privacy-preserving machine learning

Publications (1)

Publication Number Publication Date
CN110537191A true CN110537191A (zh) 2019-12-03

Family

ID=63585590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780089839.9A Pending CN110537191A (zh) 2017-03-22 2017-03-22 隐私保护机器学习

Country Status (4)

Country Link
US (2) US11562230B2 (zh)
EP (3) EP3602422B1 (zh)
CN (1) CN110537191A (zh)
WO (1) WO2018174873A1 (zh)

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874637A (zh) * 2020-01-16 2020-03-10 支付宝(杭州)信息技术有限公司 基于隐私数据保护的多目标融合学习方法、装置和系统
CN110955915A (zh) * 2019-12-14 2020-04-03 支付宝(杭州)信息技术有限公司 一种隐私数据的处理方法及装置
CN111045688A (zh) * 2019-12-06 2020-04-21 支付宝(杭州)信息技术有限公司 一种模型安全部署和预测的方法和系统
CN111142843A (zh) * 2019-12-16 2020-05-12 北京电子科技学院 一种基于混沌的计算机随机数生成系统及方法
CN111143878A (zh) * 2019-12-20 2020-05-12 支付宝(杭州)信息技术有限公司 一种基于隐私数据进行模型训练的方法及系统
CN111160573A (zh) * 2020-04-01 2020-05-15 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111177790A (zh) * 2020-04-10 2020-05-19 支付宝(杭州)信息技术有限公司 保护两方数据隐私的协同计算方法、系统及装置
CN111310208A (zh) * 2020-02-14 2020-06-19 云从科技集团股份有限公司 数据处理方法、系统、平台、设备及机器可读介质
CN111324870A (zh) * 2020-01-22 2020-06-23 武汉大学 一种基于安全双方计算的外包卷积神经网络隐私保护系统
CN111368336A (zh) * 2020-05-27 2020-07-03 支付宝(杭州)信息技术有限公司 基于秘密共享的训练方法、装置、电子设备及存储介质
CN111428276A (zh) * 2020-03-19 2020-07-17 腾讯科技(深圳)有限公司 一种数据处理的方法、装置、设备和介质
CN111488277A (zh) * 2020-04-08 2020-08-04 矩阵元技术(深圳)有限公司 一种节点匹配方法、装置、设备及系统
CN111506922A (zh) * 2020-04-17 2020-08-07 支付宝(杭州)信息技术有限公司 多方联合对隐私数据进行显著性检验的方法和装置
CN111737755A (zh) * 2020-07-31 2020-10-02 支付宝(杭州)信息技术有限公司 业务模型的联合训练方法及装置
CN111740959A (zh) * 2020-05-25 2020-10-02 电子科技大学 在移动群智感知系统中可验证的隐私保护方法
CN111738438A (zh) * 2020-07-17 2020-10-02 支付宝(杭州)信息技术有限公司 图神经网络模型训练方法、装置及系统
CN111859440A (zh) * 2020-08-21 2020-10-30 安徽大学 基于混合协议的分布式隐私保护逻辑回归模型的样本分类方法
CN111859267A (zh) * 2020-06-22 2020-10-30 复旦大学 基于bgw协议的隐私保护机器学习激活函数的运算方法
CN112183730A (zh) * 2020-10-14 2021-01-05 浙江大学 一种基于共享学习的神经网络模型的训练方法
CN112765616A (zh) * 2020-12-18 2021-05-07 百度在线网络技术(北京)有限公司 多方安全计算方法、装置、电子设备和存储介质
CN112818406A (zh) * 2021-04-16 2021-05-18 北京瑞莱智慧科技有限公司 一种评分卡模型的预测方法及装置
WO2021114820A1 (zh) * 2019-12-12 2021-06-17 支付宝(杭州)信息技术有限公司 多方联合进行风险识别的方法和装置
CN113065145A (zh) * 2021-03-25 2021-07-02 上海海洋大学 一种基于秘密共享和随机扰动的隐私保护线性回归方法
CN113128697A (zh) * 2020-01-16 2021-07-16 复旦大学 一种基于安全多方计算协议的可扩展机器学习系统
CN113127925A (zh) * 2021-03-11 2021-07-16 西安电子科技大学 用户与服务提供商决策树隐私分类服务方法、系统及应用
CN113158254A (zh) * 2021-05-18 2021-07-23 支付宝(杭州)信息技术有限公司 一种保护数据隐私的选择问题处理方法和系统
CN113158239A (zh) * 2021-03-31 2021-07-23 支付宝(杭州)信息技术有限公司 保护数据隐私的选择问题处理方法
WO2021204268A1 (zh) * 2020-04-10 2021-10-14 支付宝(杭州)信息技术有限公司 基于隐私数据进行模型训练
CN113760221A (zh) * 2020-06-04 2021-12-07 熵码科技股份有限公司 基于物理不可复制功能的真随机数产生器以及相关方法
CN113780552A (zh) * 2021-09-09 2021-12-10 浙江数秦科技有限公司 一种双向隐私保护的安全多方计算方法
WO2022015403A1 (en) * 2020-07-14 2022-01-20 Microsoft Technology Licensing, Llc Private inference in deep neural network
CN113965313A (zh) * 2021-12-15 2022-01-21 北京百度网讯科技有限公司 基于同态加密的模型训练方法、装置、设备以及存储介质
CN114422116A (zh) * 2021-12-14 2022-04-29 阿里巴巴(中国)有限公司 数据处理方法及装置
CN114611720A (zh) * 2022-03-14 2022-06-10 北京字节跳动网络技术有限公司 联邦学习模型训练方法、电子设备及存储介质
CN114650134A (zh) * 2022-03-31 2022-06-21 深圳前海环融联易信息科技服务有限公司 一种基于秘密共享的纵向隐私保护逻辑回归方法
CN115186831A (zh) * 2022-09-09 2022-10-14 之江实验室 一种高效隐私保护的深度学习方法
CN115622685B (zh) * 2022-12-16 2023-04-28 成方金融科技有限公司 隐私数据同态加密方法、装置及系统
CN116049840A (zh) * 2022-07-25 2023-05-02 荣耀终端有限公司 一种数据保护方法、装置、相关设备及系统
CN116663064A (zh) * 2023-07-25 2023-08-29 武汉大学 一种隐私保护神经网络预测方法及系统
CN117454941A (zh) * 2023-12-26 2024-01-26 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于函数秘密共享的安全二值神经网络推理系统
CN117454941B (zh) * 2023-12-26 2024-04-26 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于函数秘密共享的安全二值神经网络推理系统

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018061391A1 (ja) * 2016-09-30 2018-04-05 日本電気株式会社 秘密計算システム、秘密計算装置、秘密計算方法および秘密計算プログラム
EP3651141B1 (en) * 2017-07-05 2021-12-08 Nippon Telegraph and Telephone Corporation Secure computing system, secure computing device, secure computing method, program, and recording medium
US11646876B2 (en) * 2017-07-31 2023-05-09 Koninklijke Philips N.V. Distributing a computation output
WO2019046651A2 (en) * 2017-08-30 2019-03-07 Inpher, Inc. EVALUATION OF REAL-VALUE FUNCTION PRESERVING HIGH PRECISION CONFIDENTIALITY
US11436471B2 (en) * 2017-10-13 2022-09-06 Panasonic Intellectual Property Corporation Of America Prediction model sharing method and prediction model sharing system
WO2019110380A1 (en) * 2017-12-04 2019-06-13 Koninklijke Philips N.V. Nodes and methods of operating the same
US10778409B2 (en) * 2017-12-15 2020-09-15 Crypto Lab Inc. Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
JP6730740B2 (ja) * 2017-12-25 2020-07-29 株式会社アクセル 処理装置、処理方法、処理プログラム、及び暗号処理システム
JP6730741B2 (ja) * 2017-12-26 2020-07-29 株式会社アクセル 処理装置、処理方法、処理プログラム、及び暗号処理システム
US11940958B2 (en) * 2018-03-15 2024-03-26 International Business Machines Corporation Artificial intelligence software marketplace
WO2019183518A1 (en) * 2018-03-22 2019-09-26 Via Science, Inc. Secure data processing
WO2019220525A1 (ja) * 2018-05-15 2019-11-21 日本電気株式会社 確率的最適化装置、確率的最適化方法、および確率的最適化プログラム
EP3806071B1 (en) * 2018-05-25 2023-03-22 Nippon Telegraph And Telephone Corporation Secret collective approximation system, secret calculation device, secret collective approximation method, and program
US11593634B2 (en) * 2018-06-19 2023-02-28 Adobe Inc. Asynchronously training machine learning models across client devices for adaptive intelligence
CN110661764A (zh) 2018-06-29 2020-01-07 阿里巴巴集团控股有限公司 安全多方计算协议的输入获取方法和装置
US11461693B2 (en) * 2018-08-20 2022-10-04 United Microelectronics Corp. Training apparatus and training method for providing sample size expanding model
US11115206B2 (en) * 2018-08-23 2021-09-07 International Business Machines Corporation Assymetric structured key recovering using oblivious pseudorandom function
US11328087B1 (en) * 2018-09-25 2022-05-10 Amazon Technologies, Inc. Multi-party analysis of streaming data with privacy assurances
US20220006614A1 (en) * 2018-10-04 2022-01-06 Nippon Telegraph And Telephone Corporation Secret sigmoid function calculation system, secret logistic regression calculation system, secret sigmoid function calculation apparatus, secret logistic regression calculation apparatus, secret sigmoid function calculation method, secret logistic regression calculation method, and program
CN111091020A (zh) * 2018-10-22 2020-05-01 百度在线网络技术(北京)有限公司 自动驾驶状态判别方法和装置
US20200151510A1 (en) * 2018-11-12 2020-05-14 Advanced Micro Devices, Inc. Adaptive batch reuse on deep memories
US11295236B2 (en) * 2018-12-10 2022-04-05 International Business Machines Corporation Machine learning in heterogeneous processing systems
CN109615021B (zh) * 2018-12-20 2022-09-27 暨南大学 一种基于k均值聚类的隐私信息保护方法
CN111435452B (zh) * 2019-01-11 2023-11-03 百度在线网络技术(北京)有限公司 模型训练方法、装置、设备和介质
JP6825138B2 (ja) * 2019-01-11 2021-02-03 アドバンスド ニュー テクノロジーズ カンパニー リミテッド プライバシー保護のための分散型マルチパーティセキュリティモデル訓練フレームワーク
CN111523674B (zh) * 2019-02-01 2023-08-08 创新先进技术有限公司 模型训练方法、装置及系统
CN111523556B (zh) * 2019-02-01 2023-07-11 创新先进技术有限公司 模型训练方法、装置及系统
CN111523673B (zh) * 2019-02-01 2021-07-27 创新先进技术有限公司 模型训练方法、装置及系统
KR20210127168A (ko) * 2019-02-22 2021-10-21 인퍼, 인코포레이티드 모듈러 정수를 사용한 보안 다자간 계산을 위한 산술
CN111612167B (zh) * 2019-02-26 2024-04-16 京东科技控股股份有限公司 机器学习模型的联合训练方法、装置、设备及存储介质
US11245680B2 (en) * 2019-03-01 2022-02-08 Analog Devices, Inc. Garbled circuit for device authentication
EP3709309A1 (en) 2019-03-11 2020-09-16 Koninklijke Philips N.V. Medical data collection for machine learning
US11429714B2 (en) * 2019-03-12 2022-08-30 Salesforce.Com, Inc. Centralized privacy management system for automatic monitoring and handling of personal data across data system platforms
US11704573B2 (en) * 2019-03-25 2023-07-18 Here Global B.V. Method, apparatus, and computer program product for identifying and compensating content contributors
CN111753315B (zh) * 2019-03-29 2023-10-13 华控清交信息科技(北京)有限公司 输入数据的计算方法、计算引擎及存储介质
US11574076B2 (en) * 2019-04-04 2023-02-07 Yucel Altug Systems and methods for optimal privacy-preserving information revelation
CN111797126B (zh) * 2019-04-08 2024-04-02 阿里巴巴集团控股有限公司 数据的处理方法、装置及设备
WO2020216875A1 (en) * 2019-04-23 2020-10-29 Onespan Nv Methods and systems for privacy preserving evaluation of machine learning models
CN110209994B (zh) * 2019-04-25 2022-12-23 广西师范大学 基于同态加密的矩阵分解推荐方法
US11410081B2 (en) 2019-05-20 2022-08-09 International Business Machines Corporation Machine learning with differently masked data in secure multi-party computing
CN110190945B (zh) * 2019-05-28 2022-07-19 暨南大学 基于多加密的线性回归隐私保护方法及系统
CN112085206B (zh) * 2019-06-13 2024-04-09 北京百度网讯科技有限公司 联合逻辑回归建模方法、装置以及终端
CN110457936B (zh) * 2019-07-01 2020-08-14 阿里巴巴集团控股有限公司 数据交互方法、装置和电子设备
CN110569659B (zh) * 2019-07-01 2021-02-05 创新先进技术有限公司 数据处理方法、装置和电子设备
CN112183565B (zh) * 2019-07-04 2023-07-14 创新先进技术有限公司 模型训练方法、装置及系统
EP3767511B1 (en) * 2019-07-19 2021-08-25 Siemens Healthcare GmbH Securely performing parameter data updates
CN112308233A (zh) * 2019-08-02 2021-02-02 伊姆西Ip控股有限责任公司 用于处理数据的方法、设备和计算机程序产品
CN110569227B (zh) * 2019-08-09 2020-08-14 阿里巴巴集团控股有限公司 模型参数确定方法、装置和电子设备
CN114245917B (zh) * 2019-08-14 2023-12-05 日本电信电话株式会社 秘密归一化指数函数计算系统、装置、方法以及记录介质
JP7279796B2 (ja) * 2019-08-14 2023-05-23 日本電信電話株式会社 秘密勾配降下法計算方法、秘密深層学習方法、秘密勾配降下法計算システム、秘密深層学習システム、秘密計算装置、およびプログラム
US11636334B2 (en) 2019-08-20 2023-04-25 Micron Technology, Inc. Machine learning with feature obfuscation
US11392796B2 (en) 2019-08-20 2022-07-19 Micron Technology, Inc. Feature dictionary for bandwidth enhancement
US11755884B2 (en) * 2019-08-20 2023-09-12 Micron Technology, Inc. Distributed machine learning with privacy protection
US10839060B1 (en) * 2019-08-27 2020-11-17 Capital One Services, Llc Techniques for multi-voice speech recognition commands
CN110516464A (zh) * 2019-09-02 2019-11-29 深圳市网心科技有限公司 基于神经网络计算的数据保护方法及相关设备
US11443240B2 (en) * 2019-09-06 2022-09-13 Oracle International Corporation Privacy preserving collaborative learning with domain adaptation
CN110674528B (zh) * 2019-09-20 2024-04-09 深圳前海微众银行股份有限公司 联邦学习隐私数据处理方法、设备、系统及存储介质
CN110750801B (zh) * 2019-10-11 2022-06-10 矩阵元技术(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质
US11551141B2 (en) * 2019-10-14 2023-01-10 Sap Se Data access control and workload management framework for development of machine learning (ML) models
US11470053B2 (en) * 2019-10-14 2022-10-11 Nec Corporation Privacy-preserving machine learning
US11663521B2 (en) * 2019-11-06 2023-05-30 Visa International Service Association Two-server privacy-preserving clustering
TWI723626B (zh) * 2019-11-12 2021-04-01 國立中山大學 具隱私保護機制的預測方法、電子裝置與電腦程式產品
US20210150037A1 (en) * 2019-11-15 2021-05-20 International Business Machines Corporation Secure Federation of Distributed Stochastic Gradient Descent
US11507883B2 (en) * 2019-12-03 2022-11-22 Sap Se Fairness and output authenticity for secure distributed machine learning
RU2722538C1 (ru) * 2019-12-13 2020-06-01 Общество С Ограниченной Ответственностью "Убик" Компьютерно-реализуемый способ обработки информации об объектах, с использованием методов совместных вычислений и методов анализа данных
CN110968886B (zh) * 2019-12-20 2022-12-02 支付宝(杭州)信息技术有限公司 机器学习模型的训练样本的筛选方法及其系统
KR20210083974A (ko) * 2019-12-27 2021-07-07 삼성에스디에스 주식회사 근사 함수를 이용한 연산 장치 및 방법
US11238459B2 (en) * 2020-01-07 2022-02-01 Bank Of America Corporation Intelligent systems for identifying transactions associated with an institution impacted by an event
WO2021142703A1 (zh) * 2020-01-16 2021-07-22 深圳前海微众银行股份有限公司 基于联邦迁移学习的参数处理方法、设备及存储介质
CN111241567B (zh) * 2020-01-16 2023-09-01 深圳前海微众银行股份有限公司 纵向联邦学习中的数据共享方法、系统及存储介质
US11544389B2 (en) * 2020-03-16 2023-01-03 Acronis International Gmbh Systems and methods for performing secure computing while maintaining data confidentiality
US11475365B2 (en) 2020-04-09 2022-10-18 International Business Machines Corporation Verification of stochastic gradient descent
US11126931B1 (en) 2020-05-11 2021-09-21 Capital One Services, Llc Intelligent dealership recommendation engine
US20210350307A1 (en) * 2020-05-11 2021-11-11 Capital One Services, Llc Intelligent Dealership Recommendation Engine
US11775196B2 (en) * 2020-05-27 2023-10-03 EMC IP Holding Company LLC Generating data replication configurations using artificial intelligence techniques
CN112084530B (zh) * 2020-09-10 2023-10-27 支付宝(杭州)信息技术有限公司 多方联合进行安全统计的方法和装置
CN112214342A (zh) * 2020-09-14 2021-01-12 德清阿尔法创新研究院 一种联邦学习场景中高效的错误数据检测方法
CN111931216B (zh) * 2020-09-16 2021-03-30 支付宝(杭州)信息技术有限公司 一种基于隐私保护的方式获取联合训练模型的方法及系统
CN112182649B (zh) * 2020-09-22 2024-02-02 上海海洋大学 一种基于安全两方计算线性回归算法的数据隐私保护系统
CN112231650B (zh) * 2020-09-29 2021-06-29 北京瑞莱智慧科技有限公司 一种数据隐私保护协议的分析方法、装置及电子设备
US11451375B2 (en) * 2020-09-30 2022-09-20 Huawei Technologies Co., Ltd. System, method and apparatus for privacy preserving inference
IL277910A (en) 2020-10-09 2022-05-01 Google Llc Privacy-preserving machine learning using a gradient stimulus
CN112051980B (zh) * 2020-10-13 2022-06-21 浙江大学 一种基于牛顿迭代法的非线性激活函数计算装置
CN112000990B (zh) * 2020-10-27 2021-02-05 支付宝(杭州)信息技术有限公司 隐私保护的数据处理方法、装置、设备及机器学习系统
CN112364372A (zh) * 2020-10-27 2021-02-12 重庆大学 一种有监督矩阵补全的隐私保护方法
WO2022093242A1 (en) * 2020-10-29 2022-05-05 Hewlett-Packard Development Company, L.P. Protecting information regarding machine learning models
CN112101531B (zh) * 2020-11-16 2021-02-09 支付宝(杭州)信息技术有限公司 基于隐私保护的神经网络模型训练方法、装置及系统
WO2022109861A1 (zh) * 2020-11-25 2022-06-02 上海阵方科技有限公司 一种加密机器学习的训练数据准备方法、装置和设备
IL279405B2 (en) * 2020-12-13 2024-01-01 Google Llc Using a secure multi-participant calculation to improve the integrity of the content selection process
CN112464269A (zh) * 2020-12-14 2021-03-09 德清阿尔法创新研究院 一种联邦学习场景中的数据选择方法
IL280057A (en) * 2021-01-10 2022-08-01 Google Llc Maintaining privacy in machine learning classification
CN112613076B (zh) * 2021-01-22 2021-10-01 支付宝(杭州)信息技术有限公司 保护隐私的多方数据处理的方法、装置和系统
CN112765664B (zh) * 2021-01-26 2022-12-27 河南师范大学 一种具有差分隐私的安全多方k-means聚类方法
CN112966809B (zh) * 2021-02-02 2022-05-17 支付宝(杭州)信息技术有限公司 基于隐私保护的两方模型预测方法、装置及系统
WO2022185318A1 (en) * 2021-03-03 2022-09-09 B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University Method for performing effective secure multi-party computation by participating parties based on polynomial representation of a neural network for communication-less secure multiple party computation
CN113037460B (zh) * 2021-03-03 2023-02-28 北京工业大学 基于同态加密和秘密共享的联邦学习隐私保护方法
CN115380287A (zh) * 2021-03-19 2022-11-22 谷歌有限责任公司 隐私保护跨域机器学习
KR102304992B1 (ko) * 2021-04-07 2021-09-27 서울대학교산학협력단 동형 암호문에 대한 비다항식 연산을 수행하는 장치 및 방법
CN113191396B (zh) * 2021-04-09 2022-09-20 华中科技大学 一种基于数据隐私安全保护的建模方法和装置
CN113032835B (zh) * 2021-04-21 2024-02-23 支付宝(杭州)信息技术有限公司 一种隐私保护的模型训练方法、系统及装置
CN113065162B (zh) * 2021-04-25 2022-05-17 支付宝(杭州)信息技术有限公司 和共享形式的隐私数据的处理方法和装置
US20220358237A1 (en) * 2021-05-04 2022-11-10 International Business Machines Corporation Secure data analytics
CN113537516B (zh) 2021-09-15 2021-12-14 北京百度网讯科技有限公司 分布式机器学习模型的训练方法、装置、设备和介质
US11829239B2 (en) 2021-11-17 2023-11-28 Adobe Inc. Managing machine learning model reconstruction
CN113987255B (zh) * 2021-12-30 2022-04-01 南湖实验室 基于联邦学习与秘密分享的多源密文图像检索方法
CN114742233A (zh) * 2022-04-02 2022-07-12 支付宝(杭州)信息技术有限公司 联合训练逻辑回归模型的方法及装置
CN115065463B (zh) * 2022-06-10 2023-04-07 电子科技大学 一种隐私保护的神经网络预测系统
US20230409748A1 (en) * 2022-06-20 2023-12-21 Vmware, Inc. Garbling enhancements
CN115775010B (zh) * 2022-11-23 2024-03-19 国网江苏省电力有限公司信息通信分公司 基于横向联邦学习的电力数据共享方法
CN116089990B (zh) * 2023-04-11 2023-06-20 华控清交信息科技(北京)有限公司 一种多方安全计算方法、系统和可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689520B2 (en) * 2005-02-25 2010-03-30 Microsoft Corporation Machine learning system and method for ranking sets of data using a pairing cost function
EP2965462A1 (en) 2013-03-04 2016-01-13 Thomson Licensing Privacy-preserving ridge regression using partially homomorphic encryption and masks
US9053434B2 (en) 2013-03-15 2015-06-09 Hewlett-Packard Development Company, L.P. Determining an obverse weight
US10558935B2 (en) 2013-11-22 2020-02-11 California Institute Of Technology Weight benefit evaluator for training data
US10535014B2 (en) * 2014-03-10 2020-01-14 California Institute Of Technology Alternative training distribution data in machine learning
US9563854B2 (en) 2014-01-06 2017-02-07 Cisco Technology, Inc. Distributed model training
AU2015336942B2 (en) * 2014-10-24 2018-02-01 Commonwealth Scientific And Industrial Research Organisation Learning with transformed data
US10395180B2 (en) 2015-03-24 2019-08-27 International Business Machines Corporation Privacy and modeling preserved data sharing
GB201610883D0 (en) * 2016-06-22 2016-08-03 Microsoft Technology Licensing Llc Privacy-preserving machine learning
US10554390B2 (en) * 2017-06-12 2020-02-04 Microsoft Technology Licensing, Llc Homomorphic factorization encryption
WO2019183518A1 (en) * 2018-03-22 2019-09-26 Via Science, Inc. Secure data processing
CN111523673B (zh) * 2019-02-01 2021-07-27 创新先进技术有限公司 模型训练方法、装置及系统
CN111931216B (zh) * 2020-09-16 2021-03-30 支付宝(杭州)信息技术有限公司 一种基于隐私保护的方式获取联合训练模型的方法及系统

Cited By (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111045688A (zh) * 2019-12-06 2020-04-21 支付宝(杭州)信息技术有限公司 一种模型安全部署和预测的方法和系统
WO2021114820A1 (zh) * 2019-12-12 2021-06-17 支付宝(杭州)信息技术有限公司 多方联合进行风险识别的方法和装置
CN110955915A (zh) * 2019-12-14 2020-04-03 支付宝(杭州)信息技术有限公司 一种隐私数据的处理方法及装置
CN111142843A (zh) * 2019-12-16 2020-05-12 北京电子科技学院 一种基于混沌的计算机随机数生成系统及方法
CN111142843B (zh) * 2019-12-16 2021-10-29 北京电子科技学院 一种基于混沌的计算机随机数生成系统及方法
CN111143878B (zh) * 2019-12-20 2021-08-03 支付宝(杭州)信息技术有限公司 一种基于隐私数据进行模型训练的方法及系统
CN111143878A (zh) * 2019-12-20 2020-05-12 支付宝(杭州)信息技术有限公司 一种基于隐私数据进行模型训练的方法及系统
CN113128697A (zh) * 2020-01-16 2021-07-16 复旦大学 一种基于安全多方计算协议的可扩展机器学习系统
CN110874637A (zh) * 2020-01-16 2020-03-10 支付宝(杭州)信息技术有限公司 基于隐私数据保护的多目标融合学习方法、装置和系统
CN113128697B (zh) * 2020-01-16 2022-09-06 复旦大学 一种基于安全多方计算协议的可扩展机器学习系统
CN110874637B (zh) * 2020-01-16 2020-04-28 支付宝(杭州)信息技术有限公司 基于隐私数据保护的多目标融合学习方法、装置和系统
CN111324870A (zh) * 2020-01-22 2020-06-23 武汉大学 一种基于安全双方计算的外包卷积神经网络隐私保护系统
CN111310208A (zh) * 2020-02-14 2020-06-19 云从科技集团股份有限公司 数据处理方法、系统、平台、设备及机器可读介质
CN111428276A (zh) * 2020-03-19 2020-07-17 腾讯科技(深圳)有限公司 一种数据处理的方法、装置、设备和介质
CN111428276B (zh) * 2020-03-19 2022-08-02 腾讯科技(深圳)有限公司 一种数据处理的方法、装置、设备和介质
CN111160573A (zh) * 2020-04-01 2020-05-15 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111488277A (zh) * 2020-04-08 2020-08-04 矩阵元技术(深圳)有限公司 一种节点匹配方法、装置、设备及系统
CN111488277B (zh) * 2020-04-08 2023-04-21 矩阵元技术(深圳)有限公司 一种节点匹配方法、装置、设备及系统
CN111177790B (zh) * 2020-04-10 2020-07-10 支付宝(杭州)信息技术有限公司 保护两方数据隐私的协同计算方法、系统及装置
WO2021204268A1 (zh) * 2020-04-10 2021-10-14 支付宝(杭州)信息技术有限公司 基于隐私数据进行模型训练
CN111177790A (zh) * 2020-04-10 2020-05-19 支付宝(杭州)信息技术有限公司 保护两方数据隐私的协同计算方法、系统及装置
CN111506922A (zh) * 2020-04-17 2020-08-07 支付宝(杭州)信息技术有限公司 多方联合对隐私数据进行显著性检验的方法和装置
CN111506922B (zh) * 2020-04-17 2023-03-10 支付宝(杭州)信息技术有限公司 多方联合对隐私数据进行显著性检验的方法和装置
CN111740959A (zh) * 2020-05-25 2020-10-02 电子科技大学 在移动群智感知系统中可验证的隐私保护方法
CN111368336B (zh) * 2020-05-27 2020-09-04 支付宝(杭州)信息技术有限公司 基于秘密共享的训练方法、装置、电子设备及存储介质
CN111368336A (zh) * 2020-05-27 2020-07-03 支付宝(杭州)信息技术有限公司 基于秘密共享的训练方法、装置、电子设备及存储介质
CN113760221B (zh) * 2020-06-04 2024-02-23 熵码科技股份有限公司 基于物理不可复制功能的真随机数产生器以及相关方法
CN113760221A (zh) * 2020-06-04 2021-12-07 熵码科技股份有限公司 基于物理不可复制功能的真随机数产生器以及相关方法
CN111859267A (zh) * 2020-06-22 2020-10-30 复旦大学 基于bgw协议的隐私保护机器学习激活函数的运算方法
CN111859267B (zh) * 2020-06-22 2024-04-26 复旦大学 基于bgw协议的隐私保护机器学习激活函数的运算方法
WO2022015403A1 (en) * 2020-07-14 2022-01-20 Microsoft Technology Licensing, Llc Private inference in deep neural network
CN111738438A (zh) * 2020-07-17 2020-10-02 支付宝(杭州)信息技术有限公司 图神经网络模型训练方法、装置及系统
CN111737755A (zh) * 2020-07-31 2020-10-02 支付宝(杭州)信息技术有限公司 业务模型的联合训练方法及装置
CN111859440A (zh) * 2020-08-21 2020-10-30 安徽大学 基于混合协议的分布式隐私保护逻辑回归模型的样本分类方法
CN111859440B (zh) * 2020-08-21 2022-12-23 安徽大学 基于混合协议的分布式隐私保护逻辑回归模型的样本分类方法
CN112183730A (zh) * 2020-10-14 2021-01-05 浙江大学 一种基于共享学习的神经网络模型的训练方法
CN112183730B (zh) * 2020-10-14 2022-05-13 浙江大学 一种基于共享学习的神经网络模型的训练方法
CN112765616A (zh) * 2020-12-18 2021-05-07 百度在线网络技术(北京)有限公司 多方安全计算方法、装置、电子设备和存储介质
CN112765616B (zh) * 2020-12-18 2024-02-02 百度在线网络技术(北京)有限公司 多方安全计算方法、装置、电子设备和存储介质
CN113127925A (zh) * 2021-03-11 2021-07-16 西安电子科技大学 用户与服务提供商决策树隐私分类服务方法、系统及应用
CN113127925B (zh) * 2021-03-11 2022-12-16 西安电子科技大学 用户与服务提供商决策树隐私分类服务方法、系统及应用
CN113065145B (zh) * 2021-03-25 2023-11-24 上海海洋大学 一种基于秘密共享和随机扰动的隐私保护线性回归方法
CN113065145A (zh) * 2021-03-25 2021-07-02 上海海洋大学 一种基于秘密共享和随机扰动的隐私保护线性回归方法
CN113158239A (zh) * 2021-03-31 2021-07-23 支付宝(杭州)信息技术有限公司 保护数据隐私的选择问题处理方法
CN112818406A (zh) * 2021-04-16 2021-05-18 北京瑞莱智慧科技有限公司 一种评分卡模型的预测方法及装置
CN113158254A (zh) * 2021-05-18 2021-07-23 支付宝(杭州)信息技术有限公司 一种保护数据隐私的选择问题处理方法和系统
CN113780552A (zh) * 2021-09-09 2021-12-10 浙江数秦科技有限公司 一种双向隐私保护的安全多方计算方法
CN113780552B (zh) * 2021-09-09 2024-03-22 浙江数秦科技有限公司 一种双向隐私保护的安全多方计算方法
CN114422116A (zh) * 2021-12-14 2022-04-29 阿里巴巴(中国)有限公司 数据处理方法及装置
CN114422116B (zh) * 2021-12-14 2023-11-28 阿里巴巴(中国)有限公司 数据处理方法及装置
CN113965313A (zh) * 2021-12-15 2022-01-21 北京百度网讯科技有限公司 基于同态加密的模型训练方法、装置、设备以及存储介质
CN114611720B (zh) * 2022-03-14 2023-08-08 抖音视界有限公司 联邦学习模型训练方法、电子设备及存储介质
CN114611720A (zh) * 2022-03-14 2022-06-10 北京字节跳动网络技术有限公司 联邦学习模型训练方法、电子设备及存储介质
CN114650134A (zh) * 2022-03-31 2022-06-21 深圳前海环融联易信息科技服务有限公司 一种基于秘密共享的纵向隐私保护逻辑回归方法
CN116049840A (zh) * 2022-07-25 2023-05-02 荣耀终端有限公司 一种数据保护方法、装置、相关设备及系统
CN116049840B (zh) * 2022-07-25 2023-10-20 荣耀终端有限公司 一种数据保护方法、装置、相关设备及系统
CN115186831A (zh) * 2022-09-09 2022-10-14 之江实验室 一种高效隐私保护的深度学习方法
CN115622685B (zh) * 2022-12-16 2023-04-28 成方金融科技有限公司 隐私数据同态加密方法、装置及系统
CN116663064B (zh) * 2023-07-25 2023-10-20 武汉大学 一种隐私保护神经网络预测方法及系统
CN116663064A (zh) * 2023-07-25 2023-08-29 武汉大学 一种隐私保护神经网络预测方法及系统
CN117454941A (zh) * 2023-12-26 2024-01-26 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于函数秘密共享的安全二值神经网络推理系统
CN117454941B (zh) * 2023-12-26 2024-04-26 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于函数秘密共享的安全二值神经网络推理系统

Also Published As

Publication number Publication date
US20200242466A1 (en) 2020-07-30
US11562230B2 (en) 2023-01-24
EP4220464A1 (en) 2023-08-02
EP3602422A4 (en) 2020-04-15
EP3958158A1 (en) 2022-02-23
EP3958158B1 (en) 2023-04-26
US11847564B2 (en) 2023-12-19
EP3602422A1 (en) 2020-02-05
EP3602422B1 (en) 2022-03-16
WO2018174873A1 (en) 2018-09-27
US20230118109A1 (en) 2023-04-20

Similar Documents

Publication Publication Date Title
CN110537191A (zh) 隐私保护机器学习
Mohassel et al. Secureml: A system for scalable privacy-preserving machine learning
US11301571B2 (en) Neural-network training using secure data processing
Al Badawi et al. Privft: Private and fast text classification with homomorphic encryption
Hesamifard et al. Cryptodl: Deep neural networks over encrypted data
Xu et al. Cryptonn: Training neural networks over encrypted data
Chen et al. Secure computation for machine learning with SPDZ
Nikolaenko et al. Privacy-preserving ridge regression on hundreds of millions of records
Lee et al. HETAL: Efficient privacy-preserving transfer learning with homomorphic encryption
Zhang et al. SecureTrain: An approximation-free and computationally efficient framework for privacy-preserved neural network training
Giannopoulos et al. Privacy preserving medical data analytics using secure multi party computation. an end-to-end use case
CN116388954A (zh) 通用密态数据安全计算方法
Grebnev et al. Pitfalls of the sublinear QAOA-based factorization algorithm
Liu et al. Efficient and Privacy-Preserving Logistic Regression Scheme based on Leveled Fully Homomorphic Encryption
Sun et al. A novel privacy-preserving deep learning scheme without a cryptography component
Chiang Volley revolver: A novel matrix-encoding method for privacy-preserving neural networks (inference)
Li et al. Roulette: A Semantic Privacy-Preserving Device-Edge Collaborative Inference Framework for Deep Learning Classification Tasks
Rama Exploring the Effectiveness of Privacy Preserving Classification in Convolutional Neural Networks
Jin et al. Secure Federated Learning
Liu et al. Verifiable privacy-preserving neural network on encrypted data
Ghodsi Secure Frameworks for Outsourced Deep Learning Inference
Uttarkar Efficient privacy-preserving deep neural network training protocol in federated learning
Bai et al. cuSCNN: A Secure and Batch-Processing Framework for Privacy-Preserving Convolutional Neural Network Prediction on GPU
Wu et al. Efficient privacy-preserving federated learning for resource-constrained edge devices
Duan Privacy-Preserving and Verifiable Multimedia Computing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20191203

WD01 Invention patent application deemed withdrawn after publication