CN114730389B - 用于隐私保护无监督学习的系统和方法 - Google Patents
用于隐私保护无监督学习的系统和方法 Download PDFInfo
- Publication number
- CN114730389B CN114730389B CN202080076982.6A CN202080076982A CN114730389B CN 114730389 B CN114730389 B CN 114730389B CN 202080076982 A CN202080076982 A CN 202080076982A CN 114730389 B CN114730389 B CN 114730389B
- Authority
- CN
- China
- Prior art keywords
- computer
- cluster
- component
- vector
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 239000013598 vector Substances 0.000 claims description 112
- 238000003064 k means clustering Methods 0.000 claims description 32
- 238000000354 decomposition reaction Methods 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 abstract description 17
- 241001246312 Otis Species 0.000 abstract 1
- 230000000875 corresponding effect Effects 0.000 description 45
- 238000004891 communication Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 238000012549 training Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 101100203322 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SKS1 gene Proteins 0.000 description 1
- 101150092686 TNMD gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Algebra (AREA)
- Bioethics (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
技术领域
本公开总体上涉及计算系统领域,并且更具体地涉及双重服务器隐私保护无监督学习技术。
背景技术
本申请是国际申请,其要求2019年11月6日提交的第16/675,499号美国申请的提交日的优先权,所述美国申请出于所有目的以全文引用的方式并入本文中。
机器学习(ML)方法以及具体地例如k均值聚类和分层聚类等无监督学习方法在例如标识交易模式、市场研究、社交网络、搜索、分类和典型化观察等应用中非常有用。
在一些情况下,拥有单独数据集的不同实体可能希望对数据进行聚类,以便分析信息同时保持数据的私密性。存在进行隐私保护学习的有限数目的方法,但此类方法可能受到例如效率、扩展到大型数据集和数据泄漏等问题的限制。
本公开的实施例单独地以及共同地解决这些问题和其它问题。
发明内容
本文描述了用于隐私保护无监督学习的系统和技术。所公开的系统和方法可以使得由单独实体操作的单独计算机能够基于其相应数据池而联合执行无监督学习,同时保护隐私。所述系统能提高效率和到大型数据集的可扩展性,同时保护隐私并避免泄漏集群标识。
在实施例中,所述系统可以基于N取1不经意传输(OT)经由来自计算机的相应数据值x和y的隐私保护乘法联合计算安全距离。在各种实施例中,N可以是2、4或一些其它数目的共享数。第一计算机可以用基数N表达其数据值x。第二计算机可形成包括N个随机数mi,0和剩余元素mi,j=(yjNi-mi,0)modNl的l×N矩阵。第一计算机可以从OT接收具有分量mi=mi,i=(yxiNi-mi,0)的输出向量。
在实施例中,第一计算机和第二计算机可以通过基于与数目N个共享数相对应的N取1不经意传输(OT)至少执行第一计算机的第一数据值和第二计算机的第二数据值的隐私保护乘法来联合计算安全距离。隐私保护乘法还可包括由第一计算机将第一数据值表达为具有数目L个分量的第一向量,其中具有索引i的相应分量包括基数等于N的所述第一数据值的相应分解系数。隐私保护乘法还可包括由第二计算机形成具有相应分解系数的索引i和第二索引的相应N分量向量。第一计算机可接收N取1OT的输出向量,其中所述输出向量的具有索引i的分量包括相应N分量向量的分量,所述分量具有索引i并且具有与基数等于N的第一数据值的相应分解系数相对应的第二索引。然后,第一和/或第二计算机可基于安全距离将数据私下分配给多个集群中的相应集群。
在实施例中,具有等于0的第二索引的相应N分量向量的第一分量可包括相应伪随机数。具有等于j的第二索引的相应剩余分量可包括第二数据值乘以j并乘以N的i次幂、再减去相应N分量向量的第一分量。
在一个实施例中,第二计算机可以获得N取1OT的第二输出向量。第二输出向量的具有索引i的分量可包括相应N分量向量的分量,所述分量具有索引i并且具有第二索引0。
在实施例中,将数据私下分配给多个集群中的相应集群还包括:经由混淆电路标识多个集群中针对数据的多个元素中的相应元素的最佳匹配集群。最佳匹配集群可具有与相应元素具有最小距离的质心。将数据私下分配给多个集群中的相应集群还包括:将最佳匹配集群表示为包括相应元素的集群标志的二进制向量。
在实施例中,执行隐私保护无监督学习还包括通过至少以下方式私下更新集群的质心:对于数据的多个元素中的相应元素并且经由第二OT和第三OT,将集群的集群标志和相应元素的组合的第一共享数和第二共享数乘以相应元素的位置向量的组合的第一共享数和第二共享数。集群标志的第一共享数和位置向量的第一共享数可属于第一计算机。集群标志的第二共享数和位置向量的第二共享数可属于第二计算机。私下更新集群的质心还可包括将多个元素相乘的乘积求和。私下更新集群的质心还可包括将求和的乘积除以集群标志的组合的第一共享数和第二共享数的多个元素的和。私下更新集群的质心还可包括基于除法的结果更新质心。
在实施例中,集群标志的第一共享数和第二共享数由异或组合。
在实施例中,隐私保护无监督学习包括k均值聚类。k均值聚类还可包括选择多个种子集群。k均值聚类还可包括基于安全距离联合计算数据的相应元素的相应位置向量与相应种子集群的相应质心之间的距离。相应位置向量可在第一计算机与第二计算机之间共享。k均值聚类还可包括标识与相应位置向量具有最小距离的第一集群。k均值聚类还可包括将相应元素分配给第一集群。k均值聚类还可包括基于分配给第一集群的数据的元素的包括相应位置向量在内的位置向量的平均值,更新第一集群的第一质心。
在实施例中,隐私保护无监督学习包括分层聚类。
在实施例中,N可以等于2,并且N取1OT可以包括2取1OT。替代地,在实施例中,N可以等于4,并且N取1OT可以包括4取1OT。
在实施例中,安全距离包括安全欧几里得距离。
在实施例中,第一计算机最初具有第一数据值并接收第一输出共享数值。第二计算机可最初具有第二数据值并可接收第二输出共享数值。第一输出共享数值和第二输出共享数值之和可等于第一数据值和第二数据值的乘积。
在实施例中,第二数据值可以自适应地改变。以后的迭代可以从第一迭代中重用N取1OT。
下文进一步详细描述本公开的这些和其它实施例。例如,其它实施例涉及与本文所描述的方法相关联的系统、计算系统、装置和计算机可读介质。
可参考以下详细描述和附图来更好地理解本公开的实施例的性质和优势。
附图说明
图1A描绘了k均值聚类的实例。
图1B描绘了根据实施例的隐私保护k均值聚类的实例。
图2描绘了根据实施例的隐私保护k均值聚类的实例双重服务器模型。
图3描绘了不经意传输的实例。
图4A描绘了欧几里得距离的实例。
图4B描绘了根据实施例的基于欧几里得距离的k均值聚类的实例。
图5A描绘了根据实施例基于针对隐私保护无监督学习的2取1不经意传输计算安全欧几里得距离。
图5B描绘了根据实施例基于针对隐私保护无监督学习的N取1不经意传输计算安全欧几里得距离。
图5C描绘了根据实施例以摊销设置计算隐私保护乘法。
图6描绘了根据实施例基于针对隐私保护无监督学习的N取1不经意传输计算安全欧几里得距离的方法的通信流程图。
图7A描绘了根据实施例基于针对隐私保护无监督学习的N取1不经意传输计算安全欧几里得距离的方法的流程图。
图7B描绘了根据实施例的用于将数据私下分配给集群以用于隐私保护无监督学习的方法的流程图。
图7C描绘了根据实施例的用于针对隐私保护无监督学习私下更新集群质心的方法的流程图。
图8描绘了根据实施例的用于k均值聚类的整体方法的流程图。
图9是可以用来实现上文描述的任何实体或组件的计算机系统的高级框图。
术语
在论述本公开的一些实施例的细节之前,对一些术语的描述可有助于理解各种实施例。
术语“服务器计算机”可以包括功能强大的计算机或计算机集群。举例来说,服务器计算机可以是大型主机、小型计算机群组或作为一个单元运作的一组计算机。在一个示例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可耦合到数据库,且可以包括用于服务来自一个或多个其它计算机的请求的任何硬件、软件、其它逻辑或前述内容的组合。术语“计算机系统”通常可以指包括可耦合到一个或多个数据库的一个或多个服务器计算机的系统。
“机器学习模型”可以指一组软件例程和参数,它们可以基于一组输入特征预测现实世界过程的输出(例如,对患者的诊断或治疗、对计算机网络的攻击者的标识、计算机认证、基于用户搜索查询的合适推荐等等)。软件例程的结构(例如,子例程的数目和它们之间的关系)和/或参数的值可以在训练过程中确定,训练过程可以使用所建模的现实世界过程的实际结果。
术语“训练计算机”可以指在训练机器学习模型时使用的任何计算机。作为实例,训练计算机可以是从中获得输入数据的一组客户端计算机中的一个或者是与客户端计算机分离的服务器计算机。
术语“秘密共享”可以指可用于在一组训练计算机上存储数据项使得每个训练计算机无法自行确定数据项的值的任一种技术。作为实例,秘密共享可涉及将数据项分成需要足够数目个(例如,所有)训练计算机进行重构的共享数和/或其中解密需要训练计算机之间进行共谋的加密机制。
具体实施方式
提供了用于隐私保护无监督学习的系统和技术。所公开的系统和技术可以使得由单独实体操作的单独计算机能够基于其相应数据池而联合执行无监督学习,同时保护隐私。所述系统能提高效率和到大型数据集的可扩展性,同时保护隐私并避免泄漏集群标识。也就是说,系统可以避免透露除最终输出之外的任何信息,在此情况下,最终输出是聚类模型。
具体地,每个相应计算机可以维护其自身的数据集,同时联合执行无监督学习,而不向其它计算机透露其数据集内容。隐私保护联合学习可以基于集合数据集的数据点之间的安全距离。所述距离又可基于隐私保护联合乘法来计算。
所公开的系统和方法使得一对计算装置能够基于N取1不经意传输(OT)经由来自计算机的相应数据值x和y的隐私保护乘法联合计算安全距离。在各种实施例中,N可以是2、4或一些其它数目的共享数。在各种实施例中,本文公开的系统和方法可以将基于OT的乘法的计算成本改进1.2到1.7倍。在自适应摊销设置中,所公开的系统可以实现进一步的性能改进,例如200倍或500倍改进。此外,所公开的协议可以比通用安全协议(MPC和FHE)更有效,并且可以扩展到非常大的数据集。
I.无监督学习
所公开的系统和方法的实施例可以使用隐私保护联合乘法来计算用于无监督学习的安全距离(例如,欧几里得距离)。与监督学习相反,无监督学习可以涉及当没有可用训练数据集时的机器学习(ML)。
聚类是一种涉及将一组对象分组成类似对象的类的无监督学习。具体地,通过将数据元素聚类成具有类似数据元素的组或集群,无监督学习系统可以发现数据集中的模式或相似性,而无需对可能存在的模式类型进行培训。在一些实施例中,系统可以执行无监督学习的聚类方法,例如k均值聚类或分层聚类。
A.K均值聚类
图1A描绘了k均值聚类100的实例。在此实例中,数据元素或点,例如数据点102、104和106,可经由k均值聚类100聚类或分组成集群。具体地,点102、104和106分别属于集群108、110和112。
在各种实施例中,数据元素可以包括与无监督学习过程相关的任何类型的信息,例如账户记录或交易历史等。在此实例中,数据元素可以表示为多维空间中的点或向量。具体地,多维空间中相应数据点的坐标或位置可以表示相应点的数据值,例如,与历史交易相关联的金额或评分特性等。数据点的坐标可以量化数据的特性。例如,在一些实施例中,相应数据点(或点坐标的特定分量)的坐标值越接近,数据点可能越相似。
具体而言,无监督学习过程(例如,k均值聚类100)可以基于数据点与其相应集群之间的距离,例如欧几里得距离来操作。此距离可以是相似性的量度,即,两个数据点之间的距离越小,数据点可能越相似。在一些实施例中,系统可以使用距离的其它度量和/或相似性的其它度量,并且不受本公开限制。
例如k均值聚类100等无监督学习过程可以优化或局部优化集群,使得数据点与其相应集群最佳匹配。在一些实施例中,可以预先设置或用户指定集群的数目k。替代地,k可由系统优化,并且不受本公开限制。在一些实施例中,系统可以优化集群的数目、集群的质心位置和/或每个集群内的数据点的组成,以便实现最佳聚类和学习。k均值聚类的计算复杂性通常可以像O(nmt)那样扩展。
在一些情况下,可能需要多方对各方持有的集合数据集进行聚类。此外,各方可能希望以保护其相应数据集隐私的方式这样做,即不向彼此透露其数据集。具体地,由于各方或实体是彼此独立的(例如,单独的公司或组织),因此他们可能希望保留对各自数据集的控制,而不向彼此提供数据。
图1B描绘了根据实施例的隐私保护k均值聚类150的实例。在此实例中,多方,即Alice 152、Bob 154和Cat 156,希望以隐私保护方式对集合数据集进行聚类。在此实例中,三方具有其自身的数据集,每个数据集含有其自身的数据元素,如数据点的阴影所示。例如,数据点158可以是Alice数据集的一部分,数据点160可以是Bob数据集的一部分,并且数据点162可以是Cat数据集的一部分。
在一些实施例中,每一方可具有每个相应数据点的数据的一部分,而不是具有数据点的子集。例如,各方可具有相应数据点的单独共享数(例如,与多维空间中的单独维度相关联的信息)。
II.用于隐私保护无监督学习的多重服务器系统
在所公开的系统和方法的实施例中,数据集(例如交易记录)可以被分成由两个单独实体、例如两个公司或组织所持有的共享数。所公开的系统和方法可以使得由单独实体操作的单独计算机能够基于其相应数据集共享数池而联合执行无监督学习,同时保护隐私。具体地,所公开的协议比例如安全多方计算(MPC)和完全同态加密(FHE)等通用安全协议更有效。它还可以扩展到非常大的数据集。
图2描绘了根据实施例的隐私保护k均值聚类的实例双重服务器模型200。在此实例中,称为Alice 202和Bob 204的两个实体可能希望基于其数据池联合执行无监督学习。Alice和Bob可能还希望保护其相应数据集的隐私,即以一种从不实际将其相应数据集汇编成单个数据池的方式执行无监督学习。
因此,Alice可以操作计算机,例如服务器206,且Bob可以操作计算机,例如服务器208。在实施例中,服务器206和208可以彼此直接通信,以便参与联合的双方计算210。
根据下文所公开的方法,双方计算210可包括隐私保护联合乘法、联合安全距离和/或隐私保护联合无监督学习计算。双方计算210可以输出模型212,例如优化的或局部优化的集群分配。
具体地,服务器206和208可以直接通信,因为Alice和Bob可能不希望在例如中间计算机的任何一台计算机上汇编集合数据集。因此,根据本文公开的方法,Alice和Bob可以替代地执行双方计算210,执行的方式使得在没有汇编集合数据集的情况下确定输出模型212。此外,与其它方法相比,所公开的方法可具有优点,例如效率和扩展优势。
为了清晰起见,图2中示出特定数目的组件。然而,应理解,本公开的实施例可以包括多于一个的每种组件。另外,本公开的一些实施例可以包括比图2中所示的所有组件少或多的组件。另外,图2中的组件可使用任何合适的通信协议通过任何合适的通信媒体(包括互联网)通信。
III.用于隐私保护计算的技术
各种实施例可以使用各种安全计算技术。此类技术可用于对在服务器之间秘密共享的数据执行函数,而不会将重构数据暴露给服务器。例如,在各种实施例中,系统可以使用本文简要描述的不经意传输(OT)、混淆电路和秘密共享。在一些实施例中,系统可以使用这些技术以及其它技术的变化,并且不受本公开限制。将在后面的章节中描述这些技术如何在整个无监督学习过程中结合和使用。
A.不经意传输
不经意传输(OT)是常用作安全多方计算(MPC)中的构建块的基本密码原语。在不经意传输协议中,发送方S有两个输入x0和x1,并且接收方R有选择位b且想获得xb,而不用学习其它任何内容或将b透露给S。通过此类协议实现的理想功能函数可定义为:在R的输入(SELECT;sid;b)和S的输入(SEND;sid;x0;x1)上,返回(RECV;sid;xb)至R。我们使用标记(⊥;xb)←OT(x0,x1;b)表示实现此功能函数的协议。
图3描绘了不经意传输的实例。在301处,发送方S与接收方R执行密钥交换。例如,发送方S可生成私钥/公钥对,并将公钥(例如,模量N和指数e)发送到接收方R。在302处,发送方S生成两个随机值m0和m1,并将它们发送到接收方R。在303处,接收方R将b选择为0或1,从而选择mb。接收方R也生成随机数k。在304处,接收方R利用从发送方S交换的密钥加密随机数k,并使用mb对结果进行盲化,从而获得盲化后的加密v。在305处,接收方R将盲化后的加密v发送到发送方S。
在306处,发送方S尝试通过将m0和m1及其密钥应用到v以导出k的两个可能值来对v进行解盲和解密,其中一个值将等于接收方R生成的随机值。发送方S不知道(也希望其无法确定)接收方R选择了m0和m1中的哪一个。在307处,利用k的两个可能值对x0和x1进行盲化。在308处,将盲化后的x0和x1发送到接收方R,它们各自可被标识为对应于0或1。在309处,接收方R使用k对对应于选定b的盲值进行解盲。
因此,可通过发送方S生成两个密钥m0和m1来进行不经意传输。接着,接收方R可使用其中一个密钥来加密盲化因子。然后,发送方S使用这两个密钥解密盲化因子,其中一个密钥是正确的盲化因子,它用于对这两个秘密输入进行解盲。接着,接收方R可对正确输入进行解盲。
实施例可以使用OT作为离线协议的一部分,以生成乘法三元组,且在线阶段中用于逻辑回归和神经网络训练以便安全地计算激活函数。可以实现一轮OT,但它需要双方进行公钥运算。OT扩展通过允许发送方和接收方以λ个基数OT(具有公钥运算)和O(m)个快速对称密钥OT为代价执行m个OT来最大限度地减低此成本,其中λ是安全参数。一些实施方案可以利用OT扩展来提高效率。在一个实施例中,使用称为相关OT扩展的OT扩展的特殊版本。在我们表示为COT的这一变化形式中,发送方到每一OT的两个输入不是独立的。实际上,到每一OT实例的两个输入是:随机值s0和用于由发送方选定的相关函数f的值s1=f(s0)。表示为COTl的l位消息的COT的通信是λ+l,且计算是散列,例如,SHA256、SHA3或其它加密散列。
B.混淆电路2PC
混淆方案包括:混淆算法,其采用随机种子σ和函数f并生成混淆电路F和解码表dec;编码算法,其采用输入x和种子σ并生成混淆输入x;评估算法,其采用x和F作为输入并返回混淆输出z;以及最后的解码算法,其采用解码表dec和z并返回f(x)。一些实施例可以具有满足标准安全特性的混淆方案。
混淆电路可被视为布尔电路,其输入呈具有固定长度的二进制数形式。布尔电路是与以下三种不同类型的线连接的一系列门:电路输入线、电路输出线和中间线。每个门接收两个输入线(例如,一方一个),并且具有可扇出(即,传递到下一级的多个门)的单个输出线。可以通过依次对每个门进行评估来进行电路评估。门可以表示为真值表,它为每对输入位分配唯一的输出位。
混淆电路的一般构想是变换函数的原始电路,使得线只含随机位串。例如,真值表中的每个位都替换为两个随机数(编码)中的一个,其中映射是发送方已知的。对每个门进行编码,使得它的输出位串可以根据输入计算,并且只有输出门的随机位串能映射回到实际结果。评估计算函数,但是不会泄露关于单独线上的值的信息。混淆电路技术的主要缺点在于低效评估及无法重复使用电路。因此,双方(发送方和接收方)可以基于它们自己的输入只学习电路的输出,即,不学习另一方对电路的输入。
在一些实施方案中,发送方通过使用替代输入线上的两个位的随机数确定每个门的真值表来准备混淆电路。然后利用来自真值表的随机数对输出值进行加密(例如,使用双重密钥对称加密)。因此,只有在知道给定输出值的两个正确随机数时才能对门解密。给定表格的四个值可以随机排列(进行混淆),因此行与输出值之间没有关系。发送方可以向接收方发送混淆表格(加密值的集合、它们之间的关系,即,一个的输出将成为另一个的输入),以及发送方的对应于输入位的随机值的输入。接收方可通过不经意传输从发送方获得对应随机数,因此发送方不知道接收方的输入。接着,接收方可计算输出,或可能获得需要发送回发送方以供解码的编码。如果想要发送方学习输出,那么编码可以被发送到发送方。可能不会对计算的中间值进行此操作,只能对双方无论如何都应学习的最终输出进行此操作。如果一方不应学习输出,那么不需要发送编码。在一些实施例中,混淆电路作用于中间值(例如,比较函数),因此它们可能并不进行解码。
给定这种混淆方案,有可能如下设计安全双方计算协议:Alice生成随机种子σ,并运行函数f的混淆算法以获得混淆电路GC。她还使用σ和x作为编码算法的输入对她的输入x进行编码。Alice将GC和x发送给Bob。Bob获得他使用y的每个位的不经意传输进行编码(混淆)的输入y。虽然基于OT的编码不是混淆方案的必要特性,但是所有现有构造都准许此类交互编码。接着,Bob对GC、x、y运行评估算法,以获得混淆输出z。可使Alice、Bob或他们俩人通过相应地传送解码表来学习输出。以上协议安全地实现了理想功能函数Ff,这种功能函数只采用双方的输入并对它们计算f。在本公开中,我们用(za,zb)←GarbledCircuit(x;y,f)表示此混淆电路2PC。
C.秘密共享和乘法三元组
如上所述,值在两个服务器之间秘密共享。在各种实施例中,可以采用三种不同的共享方案:布尔共享和姚氏共享。在一些实施例中,所有中间值都是在两个服务器之间秘密共享的。
为了加法共享l位值具有a的一方(比如Alice)随机一致地生成并将/>发送到另一方(Bob)。用aA表示Alice的共享数,并用aB表示Bob的共享数。为易于组合,省略了协议描述中的模块化操作,即aB=a-aAmod 2l。本公开在实例中主要使用加法共享,但也可以使用其它共享技术。为了重建加法共享值(aA,aB),应该学习该值的一方从另一方获得第二共享数。例如,对于Alice学习a,Bob将向Alice发送aB,Alice计算/>
给定两个共享值a和b,通过使每一方计算cA=aA+bA,cB=aB+bB,能易于非交互式地将共享数相加。很容易得出c=a+b=cA+cB。
最后,还可以考虑混淆电路协议作用于输入的姚氏共享上,以产生输出的姚氏共享。具体地说,在所有混淆方案中,对于每个线w,混淆器(P0)生成两个随机串在使用点排列技术时,混淆器还生成随机排列位rw,并假设/>和接着,将级联位用于排列每一混淆真值表的各行。a的姚氏共享是和/>为了重构共享值,双方交换其共享数。XOR和AND运算可通过混淆/评估对应门来执行。
IV.隐私保护无监督学习
A.欧几里得距离
在典型实施例中,距离可以是欧几里得距离。
图4A描绘了欧几里得距离400的实例。在此实例中,欧几里得距离400对应于例如待聚类的数据点或元素的点402与第二点404之间的距离。在典型实施例中,点404可以是集群质心,例如数据点的坐标中已经与特定集群相关联的平均值或中值位置,或集群中心的一些其它度量。
例如距离400的欧几里得距离可以由d维距离公式给出,例如在标准欧几里得几何中:其中DEuc是欧几里得距离的平方,并且数据元素和集群/>是具有/>中的元素的d维向量。在这个公式中,p和c分别固定到特定数据点和集群,并且索引i为d维向量空间的坐标或分量建立索引。
应注意,在一些实施例中,安全距离可以是另一个距离函数或度量,例如点402和404的坐标的一些其它函数,并且不受本公开限制。
图4B描绘了根据实施例的基于例如欧几里得距离等距离的k均值聚类450的实例。在一些实施例中,系统计算从例如数据点452、454和456的所有数据点到例如集群中心458、460和462的每个集群中心的欧几里得距离。例如,系统可以计算从数据点454到具有中心458、460和462的三个集群的距离。因为数据点454到集群中心458的欧几里得距离比到中心460或462的欧几里得距离短,所以可以将点454分配给具有中心458的集群。
此外,集群中心458的位置可以重新计算为包括点454,在这个实例中,所述点可以新添加到集群。例如,如果集群中心458是质心,例如分配给集群的所有数据点的平均位置,则可以重新计算质心位置。例如,可以通过计算包括新添加点454的所有数据点的新平均位置来重新计算质心位置458。
B.安全欧几里得距离
然而,如上文图1B和2的实例所描述,可能需要例如在图2的双方模型中对由双方或多方持有的集合数据集执行无监督学习。此外,考虑双方Alice和Bob各自可能持有其自身的相应数据点pi和集群位置cj的算术共享数:其中i∈{1,…,d}。例如,Alice和Bob可能持有关于单个相应数据点pi或集群质心cj的单独信息(例如与多维空间中的单独维度相关联的信息)。在这种情况下,Alice和Bob均无法单独执行pi与cj之间的距离计算。相反,Alice和Bob可能希望以保护其相应数据集隐私的方式,即在不向彼此透露其数据集的情况下计算安全距离。
因此,计算安全距离可以涉及对Alice和Bob的相应共享数执行安全或隐私保护乘法。具体而言,可以将DEuc的表达分解为针对Alice和Bob的单独部分,加上联合部分: Alice可以在本地计算/>而Bob可以在本地计算/>因此,在保护隐私的同时,Alice和Bob仍联合计算交叉项或内积/>所公开的系统和方法的实施例可以通过比现有系统更有效地进行隐私保护联合乘法来解决这一问题。具体而言,下文所公开的隐私保护联合乘法可用于计算交叉项/>
1. 2取1OT的安全乘法
图5A描绘了根据实施例基于针对隐私保护无监督学习的2取1不经意传输(OT)502计算500安全欧几里得距离。
在此实例中,第一计算机504由Alice操作,且第二计算机506由Bob操作。Alice将持有一些整数元素且Bob将持有/>他们将计算z=xy的秘密共享,以便Alice持有一致随机的/>且Bob持有/> 使得z=zA+zB。首先,Alice可以将此数据值x以二进制表达为向量508。在实施例中,xi可含有Alice对交叉项的输入共享数,和/>
通常,所公开的方法可以通过将Alice的数据值x表达为其二进制分解然后使用各个位xi在OT 502中从Bob选择消息来工作。直观地,如果xi=0,则(yxi)=0,因此无需从Bob接收有关y的信息。如果xi=1,则选择含有有关y信息的Bob的消息,并且Alice接收有关(yxi)=y的信息。然后得出/>是期望值。然而,这个程序会向Alice透露Bob的输入y。通过在xi=0时发送随机整数/>(而不是零)以及在xi=1时发送y+ri来实现隐私。因此,Alice可以计算/> 且Bob计算/>因此,OT 502用于在保护隐私的同时执行乘法的等效运算。
在一些实施例中,系统可以替代地基于N取1OT对除2之外的N值执行隐私保护乘法。这可以通过与如图5A所示的2取1OT的情况相比修改OT中的Alice和Bob的消息来实现。具体而言,可以通过用基数N而不是二进制表达x来修改Alice的消息。可以将Bob的消息修改为k×N矩阵,而不是两个k′分量向量(或等效的k′×2矩阵)。在本文中更详细地描述这些修改。因此,可以提出这样一个问题:例如,从计算效率的角度来看,N的最佳值是多少?具体地,在一些实施例中,系统可以利用与N=2相比对于N取1OT的更有效协议,和/或可以利用用于取决于数目k个位执行OT的方法。在一些实施例中,N=4(即,基于4取1OT的隐私保护乘法)可以具有比N=2、N=8、N=16或N=256更低的通信成本。然而,在各种实施例中,系统可以使用N的任何值,并且不受本公开限制。
2.N取1OT的安全乘法
图5B描绘了根据实施例基于针对隐私保护无监督学习的N取1不经意传输542计算540安全欧几里得距离。
在此实例中,第一计算机544由Alice操作,且第二计算机546由Bob操作。Alice将持有一些整数元素且Bob将持有/>他们将计算z=xy的秘密共享,以便Alice持有一致随机的/>且Bob持有/> 使得z=zA+zB。第一计算机544可以具有由Alice持有的数据值/> 其以基数N表达。具体地讲,x可以表达548为其是x的N元分解,使得/>
由Bob操作的第二计算机546具有数据值第二计算机546可以基于y形成l′×N矩阵550。设M是矩阵550,其中/>且/>是一致随机整数,其中i∈{0,1,…,l′-1}且j∈{0,1,…,N-1}。在实施例中,可以通过OT协议对ri进行采样,因此Mi,0=ri可能不需要明确传达。
第一计算机544可以从OT接收输出向量552。根据上文图3的实例所描述,根据OT,Alice的输入xi可充当选择或挑选标志,其选择Bob的输入然后,z=xy的最终共享由相应计算机计算为/> 和其中/>正确值取决于 应注意,在N=2的实施例中,这些表达减少到2取1OT情况的等效表达,如上文图5A所示。/>
基于OT的一些实施例,每个OT将需要大约κ=128位的通信加l(N-1)位,其中κ是安全参数。对于需要κ位通信的随机消息,这取决于N取1OT。将其余消息Mi,1,…,Mi,N-1设置为期望值,然后需要l(N-1)位通信。鉴于乘法协议需要因此总通信为 基于要求的l,选择N∈{2,3,4,…}以最小化t。
在各种实施例中,本文公开的系统和方法可以将基于OT的乘法的计算成本改进1.2到1.7倍。在摊销设置中,所公开的系统可以实现进一步的性能改进,如下所述。
如上文图5A和5B的实例所描述的安全乘法的简单应用可能需要总共n次安全乘法来计算距离,其必须在数据元素的d维空间上求和。反过来,每个安全乘法需要在Alice的数据值x的N元分解(图5B)中的l′位的OT的l′个实例。k均值聚类的每次迭代需要在总共n个数据点中的每个数据点pi与总共m个集群中的每个集群质心ck之间计算距离矩阵[eik]。假设k均值聚类过程运行总共运行T次迭代,因此计算欧几里得距离的总通信成本包括T dnm*l′(κ+l(N-1))位。
3.摊销安全乘法
在一些实施例中,系统可以通过在摊销设置中应用安全乘法来提高效率。考虑Alice已知的一些固定值和Bob已知的一系列固定值/>对于每个新的yi,双方希望计算zq=xyq的共享。Bob可能在不同的时间知道yi值,例如,在算法的每次迭代知道它们的不同子集。通用方法是对m′个乘法中的每一个重复先前的乘法协议。
相反,双方可以首先执行随机OT,其中Alice使用表示为 的x的N元分解来学习对应随机OT值/密钥。具体来说,设OT输出/> 个随机消息/密钥,其中Alice学习/>对于每个yi,随机OT消息可用于加密的对应值,使得Alice只能恢复/>例如,设表示加密伪随机函数。Bob可以发送Eq,i,j=PRF(Ri,j∣∣q)+Mq,i,j,其中且Alice将恢复/> 根据/>Alice和Bob可以将其相应输出共享数计算为/>和由于OT的数目与m′无关,因此每个yi的通信减少到
4.摊销的欧几里得平方距离
在整个训练过程中,训练点是固定的,并且在Alice和Bob之间共享秘密。秘密共享的质心/>被设置为某一初始值,然后在算法的每个迭代时更新。设/>是迭代t时第j个质心的值。在每次迭代t时,计算pi与cj,t之间的欧几里得平方距离ei,j,t,其中i∈[n],j∈[m]。之前,ei,j,t表达为/>
回想一下,只需要使用安全乘法协议计算混合项,即 在摊销设置中,将其改写为/>是有益的。应注意,第一项中的/>和第二项中的/>在所有t∈[T]次迭代中都是固定的,因此,可以使用摊销乘法协议有效地进行计算,也就是说,对于t∈[T],将/>和/>定义为固定被乘数,而将/>和/>定位为变化的被乘数。
最后,项包含在迭代t的所有n欧几里得距离计算中,并且可以在每次迭代时计算一次。应注意,质心的数目通常比训练点的数目小得多,即n>>m。因此,总开销是Tmd标准乘法(计算/>)和2Tnmd摊销乘法。相比之下,通用方法将需要Tnmd标准乘法,对于某些参数选择,这导致较高的计算开销。
图5C描绘了根据实施例基于N取1不经意传输572以摊销设置计算隐私保护乘法570。自适应是指到OT 572的输入消息随时间的变化或在随后的迭代中的变化。在此实例中,第一计算机574由Alice操作,且第二计算机576由Bob操作。第一计算机544可以维持Alice的稳定数据值x,如图5B和5C的实例中所示。然而,第二计算机576可以将改变值y1、…、y2作为Bob的消息输入。乘法结果可分别为xy1、…、xy2。
图5C所公开的方法可降低安全乘法的计算复杂性。具体地,如上所述,对于数据点的每个分量和集群位置,与直接应用相比,所述方法可能需要更少的OT实例,并且所需的OT实例的数目可能与N无关。
然而,k均值聚类的后续迭代可能会在前两项中重复使用第一迭代中已经执行的OT。因此,后续迭代只需要OT的mdl′个实例来计算DEuc交叉项的最后一项。
因此,k均值聚类过程的总成本是OT的(2n+m)dl′个实例。例如,如果n=1,000、m=10且t=50,则所公开的解决方案显示出200倍的改善系数。在另一实例中,如果n=10,000、m=10且t=100,则所公开的解决方案显示出大约500倍的改善系数。
5.通信流程图
图6描绘了根据实施例基于针对隐私保护无监督学习的N取1不经意传输(OT)630计算安全欧几里得距离的方法的通信流程图。所述方法可以由计算机系统执行,例如图2的实例中的系统200,所述系统可以包括第一计算装置610(例如,由Alice操作的计算机或服务器)和第二计算装置620(例如,由Bob操作)。在各种实施例中,这些组件可包括例如互联网的一个或多个网络上的单独节点或服务器,或可以是在一个或多个较大计算装置或系统内实施的硬件组件或软件模块。另外,本文描述的数据和/或消息可以直接在组件之间、组播或广播传达,并且不受本公开限制。在实施例中,第一计算装置610和第二计算装置620可以通过基于与数目N个共享数相对应的N取1OT 630执行第一计算机的第一数据值x和第二计算机的第二数据值y的隐私保护乘法来联合计算安全距离。
示意性地,在此实例中,两个计算装置610和620示出为将相应信息发送至OT 630。如上文图3的实例所描述,实际OT可以涉及发送方(例如,计算装置610)直接向接收方(例如,计算装置620)发送消息。OT的各方面可以在单独的计算装置610和620上执行。因此,所公开的系统和方法不需要第三计算装置,例如服务器,并且由此避免与从第三装置盗走的私有数据相关联的任何风险。相反,两个计算装置610和620可以直接交换消息,同时还保留每个相应装置的数据的隐私,如本文所公开的。具体地,在一些实施例中,发送至OT 630的消息可以直接发送至第二计算机620。此类消息可以是保护隐私的,即它们可能没有包含足够的信息来重建相应发送计算机的数据值。第一数据值x可以属于第一计算机610(即,Alice),而第二数据值y可以属于第二计算机620(即,Bob)。
在实施例中,第一l分量向量640从第一计算装置610发送到N取1OT630。l分量向量640可以是第一数据值的基数N分解。例如,如果N=2,则l分量向量640可以是二进制分解,并且向量640的分量可以是表示第一数据值的二进制位。在另一实例中,如果N=4,则l分量向量640可以是基数4分解。
在实施例中,l×N矩阵650从第二计算装置620发送到N取1OT 630。l×N矩阵650可以包括各自具有N个分量的l个向量。l×N矩阵的第i个相应N分量向量可具有相应分解系数的索引i和第二索引j。在实施例中,第i个相应N分量向量的第一分量Mi,0可包括相应伪随机数ri。在实施例中,此第一分量Mi,0可具有第一索引i,并且可以使第二索引等于零或一。具有索引i且具有等于j的第二索引的相应N分量向量的相应剩余分量Mi,j可包括第二数据值乘以j并乘以N的i次幂、再减去相应N分量向量的第一分量。
最后,输出向量或输出值660从N取1OT 630发送到第一计算机610。根据上文图3的实例所描述,根据OT,Alice的输入xi可充当选择或挑选标志,其选择Bob的输入此处,ri=Mi,0可以是伪随机数。因此,输出向量660的第i个分量可以包括l×N矩阵650的分量/>(或矩阵650的第i个相应N分量向量),所述分量具有等于i的第一索引和与基数等于N的第一数据值的相应分解系数xi相对应的第二索引。在实施例中,可以通过OT协议对ri进行采样,因此Mi,0=ri可能不需要明确传达。
在实施例中,第一计算机可以替代地从N取1OT接收输出值660。输出值660可以包括相应N分量向量的i个分量乘以N的i次幂之和。此总和中的相应分量可具有索引i,并且具有与基数N中的第一数据值的相应分解系数相对应的第二索引。也就是说,输出值可以包括
在实施例中,第二计算机可以从N取1OT 630获得第二输出向量或值670。第二输出向量670的具有索引i的分量可以包括l×N矩阵650的负分量-Mi,0(或矩阵650的第i个相应N-分量向量)。此负分量-Mi,0可具有索引i和第二索引0。也就是说,输出向量670的第i分量可以包括l×N矩阵650的第i列向量(也称为第i相应N分量向量)的第一分量(具有索引0)的相反分量,包括相应伪随机数ri的相反数。在实施例中,第一计算机可以替代地从N取1OT630接收输出值670。输出值670可以包括相应N分量向量的i个负分量-Mi,0乘以N的i次幂之和,总和内的相应负分量-Mi,0具有索引i且具有第二索引0。也就是说,输出值可以包括
因此,在实施例中,z=xy的最终共享数可以计算为对于第一计算装置610为的第一输出值660以及对于第二计算装置620为的第二输出值670。因此,两个输出共享数的总和可以对应于共享乘法的输出,/>应注意,两个共享数都保护输入值x和y的隐私。也就是说,系统可以避免泄漏或透露除最终乘法输出之外的任何信息。
第一和/或第二计算机接着可基于联合计算的安全距离将数据私下分配给多个集群中的相应集群。
C.将数据点分配给集群
如图5A和5B的实例所描述,系统可计算点pi与集群质心cj之间的距离。在实施例中,系统可形成此类距离的矩阵,ei,j=dist(pi,cj),其中j=1、…、m且i=1、…、n。为了将数据点分配给集群,系统可以确定集群j*与给定数据点具有最小距离:因此,系统可以将pi分配给集群/>这必须在不向任何一方透露pi,cj,ei,j和j*的值的情况下实现,即,对这些值的秘密共享数进行计算。
在实施例中,Alice和Bob可以具有距离ei,k的单独共享数,即Alice持有且鲍勃Bob持有/>具体地,如上文图5A和5B的实例所描述,Alice和Bob可以具有距离的单独局部计算部分,并且也可以具有交叉项或内积的单独共享数。因此,为了计算系统可以应用混淆电路。系统可以将j*表示为二进制向量/>其中/>且其中/> 其中所有k≠j*。
实施例可以是,对于每个i,各方将其共享数的二进制分解输入到混淆电路计算中。以递归的方式,假设有计算/>其中J0是ei,1…,ei,m/2的平均最小向量,且J1是ei,2/m+1…,ei,m的平均最小向量。此外,设e0和e1是与J0和J1相对应的最小值。
最终J*可以计算为和/>其中如果e0>e1则c=1,否则为0。可以使用标准比较电路在混淆电路内计算比较。可以在混淆电路内或使用基于OT的乘法协议执行c与Jb以及c与eb之间的乘法。应注意,递归的基本情况是单个ei,j,根据定义,它是最小值。所公开的系统的实施例可以利用其它有效解决方案来实现共享类型之间的这种转换。此外,所公开的系统和方法可以比现有方法更安全,特别是通过以最小距离防止泄漏集群标识j*。
D.更新集群
在将数据点分配给最接近的集群之后,系统可以进一步更新每个集群的质心的位置:ck=avg(p),pi∈Ck。表1示出了数据点p1到p4的集群分配标志Mik的实例。具体地,表1示出了对于集群索引k,标志Mik的值,其指示点pi是否被分配给集群k。例如,点p1和p3均被分配给集群k=3。
表1
注意,在此公式中,共享标志Mik和数据点pi的坐标两者。因此,这种计算的一个可能的直接解决方案是将布尔共享数(例如,Mik的)转换为算术共享,或Mik与pi的安全乘法。然而,在实施例中,系统可以转而使用两个OT。
V.隐私保护集群
图7A描绘了根据实施例基于针对隐私保护无监督学习的N取1不经意传输计算安全欧几里得距离的方法700的流程图。方法700可以由计算机系统(例如,图2的实例中的系统200)执行,所述计算机系统可包括第一计算机(例如,服务器206)和第二计算机(例如,服务器208)。在实施例中,第一计算机和第二计算机可以联合计算安全距离。联合计算安全距离可涉及基于与数目N个共享数相对应的N取1不经意传输(OT)执行第一计算机的第一数据值和第二计算机的第二数据值的隐私保护乘法。
在一些实施例中,隐私保护无监督学习可包括k均值聚类,如下文图8的实例所示。替代地,在一些实施例中,系统可以执行其它类型的聚类,例如分层聚类,并且不受本公开限制。
在步骤705处,第一计算机可以将第一数据值表达为具有数目l个分量的第一向量。具有索引i的相应分量可包括基数等于N的第一数据值的相应分解系数。具体地,l分量向量可以是第一数据值的基数N分解。例如,如果N=2,则l分量向量可以是二进制分解,并且向量的分量可以是表示第一数据值的二进制位。在另一实例中,如果N=4,则l分量向量可以是基数4分解。
在步骤710处,第二计算机可以形成l×N矩阵。l×N矩阵的相应N分量向量可具有相应分解系数的索引i和第二索引j。
在实施例中,相应N分量向量的第一分量可包括相应伪随机数。在实施例中,此第一分量可具有索引i,并且可以使第二索引等于零或一。具有索引i且具有等于j的第二索引的相应N分量向量的相应剩余分量可包括第二数据值乘以j并乘以N的i次幂、再减去相应N分量向量的第一分量。
在步骤715处,第一计算机可以接收N取1OT的输出向量。输出向量的具有索引i的分量可以包括相应N分量向量的分量,所述分量具有索引i并且具有与基数等于N的第一数据值的相应分解系数相对应的第二索引。在实施例中,第一计算机可以替代地接收来自N取1OT的输出值。输出值可以包括相应N分量向量的i个分量乘以N的i次幂之和,该和中的相应分量具有索引i,并且具有与基数等于N的第一数据值的相应分解系数相对应的第二索引。也就是说,输出值可以包括
在一个实施例中,第二计算机可以获得N取1OT的第二输出向量。输出向量的具有索引i的分量可包括相应N分量向量的分量,所述分量具有索引i并且具有第二索引0。也就是说,输出向量的具有索引i的分量可包括步骤710中的相应N分量向量的第一分量,包括相应伪随机数。在实施例中,第一计算机可以替代地从N取1OT接收输出值。输出值可以包括相应N分量向量的i个分量乘以N的i次幂之和,总和的相应分量具有索引i且具有第二索引0。也就是说,输出值可以包括在实施例中,可以通过OT协议对ri进行采样,因此可能不需要明确传达。
在实施例中,N可以等于2,并且N取1OT可以包括2取1OT。替代地,在实施例中,N可以等于4,并且N取1OT可以包括4取1OT。
在实施例中,第一计算机最初具有第一数据值并接收第一输出共享数值。第二计算机可最初具有第二数据值并可接收第二输出共享数值。第一输出共享数值和第二输出共享数值之和可等于第一数据值和第二数据值的乘积。应注意,两个共享数都保护输入值x和y的隐私。也就是说,系统可以避免泄漏或透露除最终乘法输出之外的任何信息。
在实施例中,第二数据值可以自适应地改变。以后的迭代可以从第一迭代中重用N取1OT。
在步骤720处,系统接着可基于联合计算的安全距离将数据私下分配给多个集群中的相应集群。将数据私下分配给集群可以基于上文公开且在下文图7B的实例中公开的方法。
A.将数据分配给集群
图7B描绘了根据实施例的用于将数据私下分配给集群以用于隐私保护无监督学习的方法730的流程图。方法730可以由计算机系统(例如,图2的实例中的系统200)执行,所述计算机系统可包括第一计算机(例如,服务器206)和第二计算机(例如,服务器208)。在实施例中,方法730可以提供将数据私下分配给多个集群中的相应集群的进一步细节,如图7A的实例的步骤720所示。
在步骤735处,系统可以经由混淆电路标识多个集群中针对数据的多个元素中的相应元素的最佳匹配集群。最佳匹配集群可具有与相应元素具有最小距离的质心。如上所述,系统可以应用混淆电路以计算其中ei,j=dist(pi,cj),其中j=1、…、m且i=1、…、n。
B.更新集群质心
图7C描绘了根据实施例的用于针对隐私保护无监督学习私下更新集群质心的方法760的流程图。方法760可以由计算机系统(例如,图2的实例中的系统200)执行,所述计算机系统可包括第一计算机(例如,服务器206)和第二计算机(例如,服务器208)。在实施例中,方法760可以通过私下更新集群的质心继续图7A实例的方法700。
在步骤765处,对于数据的多个元素中的相应元素,系统可以将集群的集群标志和相应元素的组合的第一共享数和第二共享数乘以相应元素的位置向量的组合的第一共享数和第二共享数。乘法可包括执行第二不经意传输(OT)和第三OT。集群标志的第一共享数和位置向量的第一共享数可属于第一计算机。集群标志的第二共享数和位置向量的第二共享数可属于第二计算机。
在实施例中,集群标志的第一共享数和第二共享数由异或组合。
在步骤780处,系统可以基于除法的结果更新质心。具体地说,如在步骤775中,可以根据ck计算新的集群质心。系统接着可将第k个集群的质心坐标更新为ck,并且随后可在计算数据点pi与每个集群的质心的距离时使用更新后的坐标。
VI.无监督学习的实例
图8描绘了根据实施例的用于k均值聚类的整体方法800的流程图。方法800可以由计算机系统(例如,图2的实例中的系统200)执行,所述计算机系统可包括第一计算机(例如,服务器206)和第二计算机(例如,服务器208)。在实施例中,方法800可并入图7A实例的用于将安全欧几里得距离计算成k均值聚类的方法700。具体地,方法700的隐私保护无监督学习可以包括k均值聚类,如方法800中那样。
在步骤810,系统可以首先将集群的数目设置为等于值k。在一些实施例中,k可以由用户指定。
在步骤820,系统接着可选择数据点的k个初始集群。这可以以各种方式完成,例如通过随机选择集群来完成。在某些情况下,集群的初始选择是任意的,因为所述方法在任何情况下都可以最终在最佳或局部最佳集群上会聚。然而,在一些情况下,会聚的集群可取决于初始选择。初始集群也可以被称为种子集群。
接下来,在步骤830处,系统可以计算各个数据点与所有集群质心之间的距离。在一些实施例中,可以以某种其它方式计算距离,例如基于整个相应集群计算距离。
在步骤840处,系统接着可将每个数据点分配给与数据点具有最小距离的集群。
在步骤850处,系统接着可以基于将数据点新分配给集群而计算新的集群质心。
在步骤860处,系统接着可确定是否执行另一迭代。例如,如果任何集群质心已经移动,则系统可以确定执行另一迭代。如果系统确定执行另一迭代,则可以返回到计算距离。如果系统确定不执行另一迭代,则所述方法可以结束,从而产生优化或局部优化的集群分配。
VII.计算机系统和设备
图9是可以用来实现上文描述的任何实体或组件的计算机系统的高级框图。图9中所示的子系统经由系统总线975互连。附加的子系统包括打印机903、键盘906、固定盘907和监视器909,所述监视器耦合接到显示适配器904。耦合到I/O控制器900的外围设备和输入/输出(I/O)装置可以通过本领域已知的任何数量的构件(例如串行端口)连接到计算机系统。例如,可以使用串行端口905或外部接口908将计算机设备连接到广域网(例如互联网)、鼠标输入装置或扫描仪。经由系统总线975的互连允许中央处理器902与每个子系统通信,并控制来自系统存储器901或固定磁盘907的指令的执行以及信息在子系统之间的交换。系统存储器901和/或固定盘可以体现计算机可读介质。
用于包括代码或代码部分的存储介质和计算机可读介质可以包括本领域已知或使用的任何适当介质,其包括存储介质和通信介质,例如但不限于在用于存储和/或传输信息(例如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除式介质(包括RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光存储器、磁带盒、磁带、磁盘存储器或其它磁存储装置)、数据信号、数据发送或可以用来存储或传输期望信息并且可以由计算机访问的任何其它介质。基于本文中提供的公开和教导,本领域技术人员将了解实现各种实施例的其它方式和/或方法。
本公开的实施例提供优于常规系统的数个优势。例如,在各种实施例中,本文公开的系统和方法可以将基于OT的乘法的计算成本改进1.2到1.7倍。在自适应摊销设置中,所公开的有效乘法可具有((n+mt)d)对比O(nmtd)的计算成本,nmt/(n+mt)的改进,其中n是点数目,m是集群数目,t是迭代数目,并且d是数据点的维度。在实例中,如果n=10,000、m=10且t=100,则所公开的系统和方法可以显示出大约500倍的改善系数。此外,所公开的协议比通用安全协议(MPC和FHE)更有效,并且可以扩展到非常大的数据集。
在前述描述中,已经描述了各种实施例。出于解释的目的,阐述特定配置和细节以便提供对实施例的透彻理解。然而,所属领域的技术人员还应清楚,可在没有特定细节的情况下实践实施例。此外,可以省略或简化众所周知的特征以免混淆所描述的实施例。
应理解,本公开的任何实施例都可使用硬件(例如专用集成电路或现场可编程门阵列)和/或使用计算机软件以控制逻辑的形式实施,其中通用可编程处理器是模块化的或集成的。如本文所用,处理器包括单核处理器、在同一集成芯片上的多核处理器或在单个电路板上或网络化的多个处理单元。基于本文提供的公开内容和教导,本领域普通技术人员将知道并了解使用硬件以及硬件和软件的组合来实施本公开的实施例的其它方式和/或方法。
本申请中描述的任何软件组件或功能可实施为使用例如Java、C、C++、C#、Objective-C、Swift等任何合适的计算机语言或例如Perl或Python等脚本语言使用例如常规的或面向对象的技术的由处理器执行的软件代码。软件代码可作为一系列指令或命令存储在计算机可读介质上以供存储和/或传递,合适的介质包括随机存取存储器(RAM)、只读存储器(ROM)、磁性介质例如硬盘驱动器或软盘,或光学介质例如光盘(CD)或DVD(数字通用盘)、闪存存储器等。计算机可读介质可以是此类存储或传输装置的任何组合。
此类程序还可以使用适应于经由包括互联网的符合多种协议的有线、光学和/或无线网络进行发送的载波信号来编码和发送。因此,根据本公开的实施例的计算机可读介质可以使用以此类程序编码的数据信号来创建。以程序代码编码的计算机可读介质可与兼容装置一起封装或与其它装置分开提供(例如,经由互联网下载)。任何此类计算机可读介质可以驻存在单个计算机产品(例如,硬盘驱动器,CD或整个计算机系统)之上或其内部,并且可以存在于系统或网络内的不同计算机产品上或其内部。计算机系统可以包括用于将本文中所提及的任何结果提供给用户的监视器、打印机或其它合适的显示器。
以上描述是说明性的且不是限制性的。在本领域的技术人员阅读本公开后,本公开的许多变化将变得显而易见。因此,本公开的范围不应参考以上描述来确定,而是应参考待决的权利要求以及其完整范围或等效物来确定。
在不脱离本公开的范围的情况下,来自任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。
除非明确指示为相反情况,否则“一”或“所述”的叙述旨在表示“一个或多个”。
上文提及的所有专利、专利申请、公开案和描述都出于所有目的以全文引用的方式并入。并非承认它们是现有技术。
Claims (20)
1.一种执行隐私保护无监督学习的方法,所述方法包括:
由至少第一计算机和第二计算机通过基于与数目N个共享数相对应的N取1不经意传输(OT)至少执行所述第一计算机的第一数据值和所述第二计算机的第二数据值的隐私保护乘法来联合计算安全距离,所述隐私保护乘法还包括:
由所述第一计算机将所述第一数据值表达为具有数目L个分量的第一向量,其中具有索引i的相应分量包括基数等于N的所述第一数据值的相应分解系数;以及
由所述第二计算机形成具有所述相应分解系数的所述索引i和第二索引的相应N分量向量;
由所述第一计算机接收所述N取1OT的输出向量,其中所述输出向量的具有索引i的分量包括所述相应N分量向量的分量,所述分量具有索引i并且具有与所述基数等于N的所述第一数据值的所述相应分解系数相对应的所述第二索引;以及
基于所述安全距离将数据私下分配给多个集群中的相应集群。
2.根据权利要求1所述的方法,其中:
具有等于0的所述第二索引的所述相应N分量向量的第一分量包括相应伪随机数;并且
具有等于j的所述第二索引的相应剩余分量包括所述第二数据值乘以j并乘以N的i次幂、再减去所述相应N分量向量的所述第一分量。
3.根据权利要求1所述的方法,其中将所述数据私下分配给所述多个集群中的所述相应集群还包括:
经由混淆电路标识所述多个集群中针对所述数据的多个元素中的相应元素的最佳匹配集群,其中所述最佳匹配集群具有与所述相应元素具有最小距离的质心;以及
将所述最佳匹配集群表示为包括所述相应元素的集群标志的二进制向量。
4.根据权利要求1所述的方法,其中执行所述隐私保护无监督学习还包括通过至少以下方式私下更新集群的质心:
对于所述数据的多个元素中的相应元素并且经由第二OT和第三OT,将所述集群的集群标志和所述相应元素的组合的第一共享数和第二共享数乘以所述相应元素的位置向量的组合的第一共享数和第二共享数,其中:
所述集群标志的所述第一共享数和所述位置向量的所述第一共享数属于所述第一计算机;并且
所述集群标志的所述第二共享数和所述位置向量的所述第二共享数属于所述第二计算机;
将所述多个元素相乘的乘积求和;
将求和的乘积除以所述集群标志的所述组合的第一共享数和第二共享数的所述多个元素的和;以及
基于所述除法的结果更新所述质心。
5.根据权利要求4所述的方法,其中所述集群标志的所述第一共享数和所述第二共享数由异或组合。
6.根据权利要求1所述的方法,其中所述隐私保护无监督学习包括k均值聚类,所述k均值聚类还包括:
选择多个种子集群;
基于所述安全距离联合计算所述数据的相应元素的相应位置向量与相应种子集群的相应质心之间的距离,其中所述相应位置向量在所述第一计算机与所述第二计算机之间共享;
标识与所述相应位置向量具有最小距离的第一集群;
将所述相应元素分配给所述第一集群;以及
基于分配给所述第一集群的所述数据的元素的包括所述相应位置向量在内的位置向量的平均值,更新所述第一集群的第一质心。
7.根据权利要求1所述的方法,其中:
N等于2,并且N取1OT包括2取1OT;或者
N等于4,并且N取1OT包括4取1OT。
8.根据权利要求1所述的方法,其中所述安全距离包括安全欧几里得距离。
9.根据权利要求1所述的方法,其中:
所述第一计算机最初具有所述第一数据值并接收第一输出共享数值;
所述第二计算机最初具有所述第二数据值并接收第二输出共享数值;并且
所述第一输出共享数值和所述第二输出共享数值之和等于所述第一数据值和所述第二数据值的乘积。
10.根据权利要求1所述的方法,还包括由所述第二计算机获得所述N取1OT的第二输出向量,其中所述第二输出向量的具有索引i的分量包括所述相应N分量向量的分量,所述分量具有所述索引i并且具有所述第二索引0。
11.一种计算系统,其包括:
第一计算机,所述第一计算机包括第一处理器;
第二计算机,所述第二计算机包括第二处理器;以及
一个或多个存储器,所述一个或多个存储器包括指令,所述指令在用所述第一和/或第二处理器执行时使所述计算系统执行隐私保护无监督学习探试程序,包括:
通过基于与数目N个共享数相对应的N取1不经意传输(OT)至少执行所述第一计算机的第一数据值和所述第二计算机的第二数据值的隐私保护乘法来联合计算安全距离,所述隐私保护乘法还包括:
由所述第一计算机将所述第一数据值表达为具有数目L个分量的第一向量,其中具有索引i的相应分量包括基数等于N的所述第一数据值的相应分解系数;以及
由所述第二计算机形成具有所述相应分解系数的所述索引i和第二索引的相应N分量向量;
由所述第一计算机接收所述N取1OT的输出向量,其中所述输出向量的具有索引i的分量包括所述相应N分量向量的分量,所述分量具有索引i并且具有与所述基数等于N的所述第一数据值的所述相应分解系数相对应的所述第二索引;以及
基于所述安全距离将数据私下分配给多个集群中的相应集群。
12.根据权利要求11所述的计算系统,其中:
具有等于0的所述第二索引的所述相应N分量向量的第一分量包括相应伪随机数;并且
具有等于j的所述第二索引的相应剩余分量包括所述第二数据值乘以j并乘以N的i次幂、再减去所述相应N分量向量的所述第一分量。
13.根据权利要求11所述的计算系统,其中将所述数据私下分配给所述多个集群中的所述相应集群还包括:
经由混淆电路标识所述多个集群中针对所述数据的多个元素中的相应元素的最佳匹配集群,其中所述最佳匹配集群具有与所述相应元素具有最小距离的质心;以及
将所述最佳匹配集群表示为包括所述相应元素的集群标志的二进制向量。
14.根据权利要求11所述的计算系统,其中执行所述隐私保护无监督学习探试程序还包括通过至少以下方式私下更新集群的质心:
对于所述数据的多个元素中的相应元素并且经由第二OT和第三OT,将所述集群的集群标志和所述相应元素的组合的第一共享数和第二共享数乘以所述相应元素的位置向量的组合的第一共享数和第二共享数,其中:
所述集群标志的所述第一共享数和所述位置向量的所述第一共享数属于所述第一计算机;并且
所述集群标志的所述第二共享数和所述位置向量的所述第二共享数属于所述第二计算机;
将所述多个元素相乘的乘积求和;
将求和的乘积除以所述集群标志的所述组合的第一共享数和第二共享数的所述多个元素的和;以及
基于所述除法的结果更新所述质心。
15.根据权利要求11所述的计算系统,其中所述集群标志的所述第一共享数和第二共享数由异或组合。
16.根据权利要求11所述的计算系统,其中执行所述隐私保护无监督学习探试程序包括k均值聚类,所述k均值聚类还包括:
选择多个种子集群;
基于所述安全距离联合计算所述数据的相应元素的相应位置向量与相应种子集群的相应质心之间的距离,其中所述相应位置向量在所述第一计算机与所述第二计算机之间共享;
标识与所述相应位置向量具有最小距离的第一集群;
将所述相应元素分配给所述第一集群;以及
基于分配给所述第一集群的所述数据的元素的包括所述相应位置向量在内的位置向量的平均值,更新所述第一集群的第一质心。
17.根据权利要求11所述的计算系统,其中:
N等于2,并且N取1OT包括2取1OT;或者
N等于4,并且N取1OT包括4取1OT。
18.根据权利要求11所述的计算系统,其中所述安全距离包括安全欧几里得距离。
19.根据权利要求11所述的计算系统,其中:
所述第一计算机最初具有所述第一数据值并接收第一输出共享数值;
所述第二计算机最初具有所述第二数据值并接收第二输出共享数值;并且
所述第一输出共享数值和所述第二输出共享数值之和等于所述第一数据值和所述第二数据值的乘积。
20.根据权利要求11所述的计算系统,其中执行所述隐私保护无监督学习探试程序还包括由所述第二计算机获得所述N取1OT的第二输出向量,其中所述第二输出向量的具有索引i的分量包括所述相应N分量向量的分量,所述分量具有所述索引i并且具有所述第二索引0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310761586.2A CN116756602A (zh) | 2019-11-06 | 2020-11-04 | 用于隐私保护无监督学习的系统和方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/675,499 | 2019-11-06 | ||
US16/675,499 US11663521B2 (en) | 2019-11-06 | 2019-11-06 | Two-server privacy-preserving clustering |
PCT/US2020/058980 WO2021092092A1 (en) | 2019-11-06 | 2020-11-04 | Two-server privacy-preserving clustering |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310761586.2A Division CN116756602A (zh) | 2019-11-06 | 2020-11-04 | 用于隐私保护无监督学习的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114730389A CN114730389A (zh) | 2022-07-08 |
CN114730389B true CN114730389B (zh) | 2023-07-07 |
Family
ID=75687489
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310761586.2A Pending CN116756602A (zh) | 2019-11-06 | 2020-11-04 | 用于隐私保护无监督学习的系统和方法 |
CN202080076982.6A Active CN114730389B (zh) | 2019-11-06 | 2020-11-04 | 用于隐私保护无监督学习的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310761586.2A Pending CN116756602A (zh) | 2019-11-06 | 2020-11-04 | 用于隐私保护无监督学习的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11663521B2 (zh) |
EP (1) | EP4055534A4 (zh) |
CN (2) | CN116756602A (zh) |
WO (1) | WO2021092092A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11238167B2 (en) * | 2019-06-14 | 2022-02-01 | Sap Se | Secure sublinear time differentially private median computation |
US11507883B2 (en) * | 2019-12-03 | 2022-11-22 | Sap Se | Fairness and output authenticity for secure distributed machine learning |
IL277760A (en) * | 2020-10-02 | 2022-05-01 | Google Llc | Central models protect privacy through secure multilateral calculation |
WO2023058240A1 (ja) * | 2021-10-08 | 2023-04-13 | 日本電信電話株式会社 | クラスタリング装置、クラスタリング方法、およびプログラム |
CN114285558B (zh) * | 2021-12-24 | 2023-09-08 | 浙江大学 | 一种基于半可信硬件的多方隐私计算方法及装置 |
US12021986B2 (en) * | 2021-12-27 | 2024-06-25 | Industrial Technology Research Institute | Neural network processing method and server and electrical device therefor |
CN115017540B (zh) * | 2022-05-24 | 2024-07-02 | 贵州大学 | 一种轻量级隐私保护目标检测方法和系统 |
CN115865311B (zh) * | 2022-09-16 | 2023-09-26 | 河南理工大学 | 一种恒定轮次安全多方计算协议的优化方法和系统 |
CN115348541B (zh) * | 2022-10-18 | 2022-12-27 | 北京融数联智科技有限公司 | 一种终端间空间距离确定方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145791A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 一种具有隐私保护的K‑means聚类方法及系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685115B2 (en) | 2006-07-21 | 2010-03-23 | Mitsubishi Electronic Research Laboratories, Inc. | Method for classifying private data using secure classifiers |
IL199657A0 (en) | 2009-07-02 | 2011-08-01 | Carmel Haifa University Economic Corp Ltd | Face representation systems for privacy aware applications and methods useful in conjunction therewith |
US20160019394A1 (en) | 2013-03-04 | 2016-01-21 | Thomson Licensing | Method and system for privacy preserving counting |
FR3003061B1 (fr) * | 2013-03-11 | 2019-08-23 | Morpho | Procede de traitement securise de donnees et application a la biometrie |
US9749128B2 (en) * | 2014-05-15 | 2017-08-29 | Xerox Corporation | Compact fuzzy private matching using a fully-homomorphic encryption scheme |
US9736128B2 (en) * | 2014-05-21 | 2017-08-15 | The Board Of Regents, The University Of Texas System | System and method for a practical, secure and verifiable cloud computing for mobile systems |
US10423806B2 (en) * | 2014-11-12 | 2019-09-24 | Calctopia Limited | Secure multiparty computation on spreadsheets |
US20170359321A1 (en) * | 2016-06-13 | 2017-12-14 | Microsoft Technology Licensing, Llc | Secure Data Exchange |
GB201610883D0 (en) * | 2016-06-22 | 2016-08-03 | Microsoft Technology Licensing Llc | Privacy-preserving machine learning |
WO2018174873A1 (en) * | 2017-03-22 | 2018-09-27 | Visa International Service Association | Privacy-preserving machine learning |
US11222138B2 (en) * | 2018-05-29 | 2022-01-11 | Visa International Service Association | Privacy-preserving machine learning in the three-server model |
US11251959B2 (en) * | 2018-07-09 | 2022-02-15 | Ares Technologies, Inc. | Method of manufacturing a secure computing hardware apparatus |
-
2019
- 2019-11-06 US US16/675,499 patent/US11663521B2/en active Active
-
2020
- 2020-11-04 WO PCT/US2020/058980 patent/WO2021092092A1/en unknown
- 2020-11-04 CN CN202310761586.2A patent/CN116756602A/zh active Pending
- 2020-11-04 CN CN202080076982.6A patent/CN114730389B/zh active Active
- 2020-11-04 EP EP20885029.7A patent/EP4055534A4/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145791A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 一种具有隐私保护的K‑means聚类方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20230252358A1 (en) | 2023-08-10 |
WO2021092092A1 (en) | 2021-05-14 |
WO2021092092A9 (en) | 2022-06-09 |
US20210133587A1 (en) | 2021-05-06 |
EP4055534A1 (en) | 2022-09-14 |
CN116756602A (zh) | 2023-09-15 |
EP4055534A4 (en) | 2022-12-28 |
US11663521B2 (en) | 2023-05-30 |
CN114730389A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114730389B (zh) | 用于隐私保护无监督学习的系统和方法 | |
Banawan et al. | Private information retrieval through wiretap channel II: Privacy meets security | |
Moataz et al. | Constant communication ORAM with small blocksize | |
EP2901359B1 (en) | Secure private database querying with content hiding bloom filters | |
Cong et al. | Sortinghat: Efficient private decision tree evaluation via homomorphic encryption and transciphering | |
Wang et al. | Outsourced privacy-preserving decision tree classification service over encrypted data | |
CN112332979B (zh) | 云计算环境中的密文搜索方法及系统、设备 | |
JP2014504741A (ja) | サーバーにおいて記憶された隠れマルコフモデル(hmm)に対するクライアントにおいて記憶された観測値系列の確率を評価するための方法及びサーバー | |
Savchuk et al. | Quantum computing: Survey and analysis | |
Kacsmar et al. | Differentially private two-party set operations | |
EP4181456A1 (en) | Secure integer comparison using binary trees | |
Çetin et al. | Low depth circuits for efficient homomorphic sorting | |
Yasumura et al. | Secure Naïve Bayes classification protocol over encrypted data using fully homomorphic encryption | |
CN117349685A (zh) | 一种通信数据的聚类方法、系统、终端及介质 | |
Muthukumar et al. | Modified secret sharing algorithm for secured medical data sharing in cloud environment | |
Sharma et al. | Privacy-preserving spectral analysis of large graphs in public clouds | |
Tosun et al. | FSDS: A practical and fully secure document similarity search over encrypted data with lightweight client | |
Chen et al. | Quantum private query based on quantum homomorphic encryption with qubit rotation | |
US12033045B2 (en) | Two-server privacy-preserving clustering | |
Zhao et al. | PPCNN: An efficient privacy‐preserving CNN training and inference framework | |
Yu et al. | A Survey of Privacy Threats and Defense in Vertical Federated Learning: From Model Life Cycle Perspective | |
Li et al. | SecKNN: FSS-Based Secure Multi-Party KNN Classification Under General Distance Functions | |
Yoo et al. | t‐BMPNet: Trainable Bitwise Multilayer Perceptron Neural Network over Fully Homomorphic Encryption Scheme | |
Chiang | Privacy-Preserving Logistic Regression Training on Large Datasets | |
Blass et al. | Epic: Efficient privacy-preserving counting for mapreduce |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |