CN105009505A - 基于矩阵因子分解和岭回归的隐私保护推荐的方法和系统 - Google Patents
基于矩阵因子分解和岭回归的隐私保护推荐的方法和系统 Download PDFInfo
- Publication number
- CN105009505A CN105009505A CN201480012048.2A CN201480012048A CN105009505A CN 105009505 A CN105009505 A CN 105009505A CN 201480012048 A CN201480012048 A CN 201480012048A CN 105009505 A CN105009505 A CN 105009505A
- Authority
- CN
- China
- Prior art keywords
- record
- user
- circuit
- project
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/50—Oblivious transfer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Storage Device Security (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
Abstract
一种生成隐私保护推荐的方法和系统进行:从第一组用户接收包括标志和项目的第一组记录作为输入;对来自用户的第一组记录设计并评估基于矩阵因子分解的第一混淆电路,并且对来自用户的第二组记录设计并评估基于岭回归的第二混淆电路,从而以隐私保护的方式生成关于至少一个项目的推荐,使得记录以及从记录提取的任何信息对除它们的来源之外的各方保密,并且推荐仅被请求用户知道。该系统也包括将设计混淆电路的密码服务提供者以及将评估第一电路的推荐器。请求用户将评估第二电路,并且可以不包括在第一组用户中。
Description
相关申请的交叉引用
本申请要求于2013年8月9日提交的序列号为61/864088并且标题为“AMETHOD AND SYSTEM FOR PRIVACY PRESERVING MATRIXFACTORIZATION”、序列号为61/864085并且标题为“A METHOD ANDSYSTEM FOR PRIVACY PRESERVING COUNTING”、序列号为61/864094并且标题为“A METHOD AND SYSTEM FOR PRIVACY-PRESERVINGRECOMMENDATION TO RATING CONTRIBUTING USERS BASED ONMATRIX FACTORIZATION”以及序列号为61/864098并且标题为“AMETHOD AND SYSTEM FOR PRIVACY-PRESERVINGRECOMMENDATION BASED ON MATRIX FACTORIZATION AND RIDGEREGRESSION”的美国临时专利申请的权益和优先权。另外,本申请要求于2013年12月19日提交的序列号为PCT/US13/76353并且标题为“A METHODAND SYSTEM FOR PRIVACY PRESERVING COUNTING”的PCT专利申请以及于2013年3月4日提交的序列号为61/772404并且标题为“PRIVACY-PRESERVING LINEAR AND RIDGE REGRESSION”的美国临时专利申请的权益和优先权。出于任何目的,通过引用将临时申请和PCT申请的全部内容明确地并入本文。
技术领域
本原理涉及隐私保护推荐系统和安全的多方计算,并且具体地涉及以隐私保护和看不见(blind)的方式,基于矩阵因子分解和岭回归,向评级贡献用户和非贡献用户提供推荐。
背景技术
过去十年中的大量的研究和商业活动已经导致推荐系统的广泛使用。这样的系统向用户提供关于诸如电影、电视节目、音乐、书、酒店、餐馆等许多种类的项目的个性化推荐。图1例示一般推荐系统100的组件:表示来源的许多用户110以及处理用户的输入120并且输出推荐140的推荐器系统(RecSys)130。为了接收有用的推荐,用户提供关于他们的偏好的大量的个人信息(用户的输入),信任推荐器将会适当地管理该数据。
然而,诸如由B.Mobasher、R.Burke、R.Bhaumik和C.Williams(“Towardtrustworthy recommender systems:An analysis of attack models and algorithmrobustness”,ACM Trans.Internet Techn.,7(4),2007年)以及由E.A¨1meur、G.Brassard、J.M.Fernandez和F.S.M.Onana(“ALAMBIC:Aprivacy-preserving recommender system for electronic commerce”,Int.JournalInf.Sec.,7(5),2008年)进行的那些早期研究已经标识出推荐器可能滥用这样的信息或者将用户暴露于隐私威胁的许多方式。推荐器经常出于利益而被推动转售数据,而且提取超出用户有意揭示的信息之外的信息。例如,甚至是诸如电影评级或个人的TV观看历史这样的通常不认为是敏感的用户偏好的记录也可以被用于推断用户的政治立场、性别等。随着新的数据挖掘和推断方法的发展,出于恶意或者善意的目的,可以根据推荐系统中的数据来推断的隐私信息不断地进化。极端地,用户偏好的记录甚至可以用于唯一地标识用户:A.Naranyan和V.Shmatikov在“Robust de-anonymization of largesparse datasets”(IEEE S&P,2008年)中通过对Netflix数据集去匿名化而惊人地证明了这一点。因而,即使推荐器不是恶意的,这样的数据的无意的泄露也使用户容易受到连锁攻击(linkage attack)(即,使用一个数据库作为辅助信息来危害不同的数据库中的隐私的攻击)的影响。
因为一个人无法一直预见将来的推断威胁、意外的信息泄露或者知情人威胁(有目的的泄露),所以有兴趣建立一种推荐系统,其中用户不会以明文的方式揭示他们的个人数据。由发明人在与本申请相同的日期提交的、标题为“A METHOD AND SYSTEM FOR PRIVACY PRESERVING MATRIXFACTORIZARTION”的共同未决申请描述一种基于矩阵因子分解的隐私保护推荐系统。它用于由用户提交给推荐器系统的评级,其对项目评级进行概况描述(profile),而不学习相应的用户的评级或者他们评级的项目。这假定用户同意推荐器学习项目概况描述。
本原理提出一种更强的隐私保护推荐系统,其中推荐器系统不学习关于用户的评级以及系统已经评级的项目的任何信息,并且不学习关于项目概况描述的任何信息或者从用户数据提取的任何统计信息。因此,推荐系统向贡献了评级的用户提供推荐,同时完全看不见它提供的推荐。而且,推荐系统可以通过采用岭回归向最初未参与矩阵因子分解的新用户提供推荐。
发明内容
根据本原理,提出一种以隐私保护和看不见的方式、基于被称作矩阵因子分解的协同过滤(collaborative filtering)技术来安全地提供推荐的方法。具体地,该方法接收用户对项目(例如电影、书)给出的评级作为输入,并且为每个项目和每个用户创建随后可以用于预测用户可能对每个项目给出什么评级的概况描述。本原理允许基于矩阵因子分解的推荐器系统执行该任务而永远不学习用户的评级、用户已经对哪个项目进行了评级、项目概况描述或者从用户数据提取的任何统计信息。具体地,推荐系统针对贡献了评级的用户,以预测他们将如何评级他们尚未已经评级的项目的形式来提供推荐,同时对于它提供的推荐完全看不见。而且,推荐系统可以通过使用岭回归向最初未参与矩阵因子分解的新用户提供推荐。
根据本原理的一个方面,提供一种通过矩阵因子分解和岭回归来安全地生成推荐的方法,所述方法包括:接收第一组记录(220),其中每个记录从第一组用户(210)中的相应的用户接收,并且包括一组标志和一组项目,并且其中每个记录对它的相应的用户之外的各方保密(315);通过使用基于矩阵因子分解的第一混淆电路在推荐器(RecSys)(230)中评估第一组记录(355),其中第一混淆电路的输出包括所述第一组记录中的所有项目的经掩蔽的项目概况描述;接收来自请求用户的针对至少一个特定项目的推荐请求(330);以及由请求用户通过使用基于岭回归的第二混淆电路来评估第二记录和经掩蔽的项目概况描述,其中第二混淆电路的输出包括关于至少一个特定项目的推荐,并且推荐仅被请求用户知道(385)。该方法可以进一步包括:在CSP中设计第一混淆电路以对第一组记录执行矩阵因子分解(340),其中第一混淆电路输出包括第一组记录中的所有项目的经掩蔽的项目概况描述;将第一混淆电路传递(transfer)给RecSys(345);在CSP中设计第二混淆电路以对第二记录和经掩蔽的项目概况描述执行岭回归(365),其中第二混淆电路输出包括针对至少一个特定项目的推荐;以及将第二混淆电路传递给请求用户(370)。该方法中的设计的步骤包括:将矩阵因子分解操作设计为布尔电路(3402);以及将岭回归操作设计为布尔电路(3652)。设计矩阵因子分解电路的步骤包括:构造第一组记录的阵列;并且对阵列执行排序(420,440,470,490)、复制(430,450)、更新(470,480)、比较(480)以及计算梯度贡献(460)的操作。该方法可以进一步包括:由CSP接收用于混淆电路的设计的一组参数,其中参数由RecSys发送(335,360)。
根据本原理的一个方面,该方法可以进一步包括:加密第一组记录以创建加密的记录(315),其中在接收第一组记录的步骤之前执行加密的步骤。该方法可以进一步包括:在CSP中生成公共加密密钥;以及将密钥发送给相应的用户(310)。加密方案可以是部分同态加密(310),并且该方法可以进一步包括:在RecSys中掩蔽加密的记录以创建经掩蔽的记录(320);以及在CSP中解密经掩蔽的记录以创建解密的经掩蔽的记录(325)。该方法中的设计的步骤(340)可以进一步包括:在处理解密的经掩蔽的记录之前在第一混淆电路内部对解密的经掩蔽的记录去掩蔽。该方法可以进一步包括:在CSP与RecSys之间(3502)执行健忘传递(350),其中RecSys接收解密的经掩蔽的记录的混淆值,并且记录对RecSys和CSP保密。
根据本原理的一个方面,设计岭回归电路的步骤(365)可以包括:接收经掩蔽的项目概况描述以及来自请求用户的第二记录(3653);对经掩蔽的项目概况描述去掩蔽,并且创建包括标志、项目和项目概况描述的元组的阵列,其中对应的项目概况描述被添加到来自第二记录的每个标志和项目(3654);对元组的阵列执行岭回归以生成请求用户概况描述(3656);以及根据请求用户概况描述和至少一个特定项目概况描述来计算推荐(3658)。可以使用排序网络来执行创建岭回归操作的阵列的步骤(3654)。该方法可以进一步包括:在请求用户、CSP和RecSys之间(3802)执行代理健忘传递(380),其中请求用户接收经掩蔽的项目概况描述的混淆值,并且经掩蔽的项目概况描述对请求用户和CSP保密。
根据本原理的一个方面,该方法可以进一步包括:接收每个记录的标志和项目的数量(220,305,330)。而且,该方法可以进一步包括:当每个记录的标志的数量小于表示最大值的值时,用空条目填充每个记录,以便创建标志的数量等于所述值的记录(3052)。第一组记录的来源可以是数据库,并且第二组记录的来源可以是数据库。
根据本原理的一个方面,提供一种通过矩阵因子分解和岭回归来安全地生成推荐的系统,该系统包括将提供相应的第一组记录的第一组用户、将提供安全的矩阵因子分解和岭回归电路的密码服务提供者(CSP)、将评估矩阵电路的RecSys以及请求用户,请求用户将提供第二记录并且将评估岭回归电路,使得每个记录对除它的相应的用户之外的各方保密,其中用户、CSP和RecSys每个包括:处理器(602),用于接收至少一个输入/输出(604);以及与处理器进行信号通信的至少一个存储器(606,608),其中RecSys处理器可以被配置为:从第一组用户接收第一组记录,其中每个记录包括一组标志和一组项目,并且其中每个记录对除它的相应的用户之外的各方保密;从请求用户接收针对至少一个特定项目的请求;通过使用基于矩阵因子分解的第一混淆电路来评估第一组记录,其中第一混淆电路的输出包括第一组记录中的所有项目的经掩蔽的项目概况描述;并且其中请求用户处理器可以被配置为:通过使用基于岭回归的第二混淆电路来评估第二记录和经掩蔽的项目概况描述,其中第二混淆电路的输出包括关于至少一个特定项目的推荐,并且推荐仅被请求用户知道。CSP处理器可以被配置为:设计第一混淆电路以对第一组记录执行矩阵因子分解,其中第一混淆电路输出包括第一组记录中的所有项目的经掩蔽的项目概况描述;将第一混淆电路传递给RecSys;设计第二混淆电路以对第二记录和经掩蔽的项目概况描述执行岭回归,其中第二混淆电路输出包括针对至少一个特定项目的推荐;以及将第二混淆电路传递给请求用户。系统中的CSP处理器可以通过以下配置而被配置为设计混淆电路:将矩阵因子分解操作设计为布尔电路;以及将岭回归操作设计为布尔电路。CSP处理器可以通过以下配置而被配置为设计矩阵因子分解电路:构造第一组记录的阵列;以及对阵列执行排序、复制、更新、比较以及计算梯度贡献的操作。系统中的CSP处理器可以被进一步配置:接收用于混淆电路的设计的一组参数,其中参数由RecSys发送。
根据本原理的一个方面,第一组用户的每个用户处理器可以被配置为:在提供相应的记录之前加密相应的记录以创建加密的记录。系统中的CSP处理器可以被进一步配置为:在CSP中生成公共加密密钥;以及将密钥发送给第一组用户。加密方案可以是部分同态加密,并且其中RecSys处理器可以被进一步配置为:掩蔽加密的记录以创建经掩蔽的记录;并且CSP处理器可以被进一步配置为:解密经掩蔽的记录以创建解密的经掩蔽的记录。系统中的CSP处理器可以通过以下配置而被配置为设计第一混淆电路:在处理解密的经掩蔽的记录之前在第一混淆电路内部对解密的经掩蔽的记录去掩蔽。系统中的RecSys处理器和CSP处理器可以被进一步配置为执行健忘传递,其中RecSys接收解密的经掩蔽的记录的混淆值,并且记录对RecSys和CSP保密。系统中的CSP处理器可以通过以下配置而被配置为设计第二混淆电路:接收经掩蔽的项目概况描述以及来自请求用户的第二记录;对经掩蔽的项目概况描述去掩蔽,并且创建包括标志、项目和项目概况描述的元组的阵列,其中对应的项目概况描述被添加到来自第二记录的每个标志和项目;对元组的阵列执行岭回归以生成请求用户概况描述;以及根据请求用户概况描述和至少一个特定项目概况描述来计算推荐。系统中的CSP处理器可以通过被配置为设计排序网络而被配置为创建岭回归操作的阵列。请求用户处理器、RecSys处理器和CSP处理器可以被进一步配置为执行代理健忘传递,其中请求用户接收经掩蔽的项目概况描述的混淆值,并且经掩蔽的项目概况描述对请求用户和CSP保密。
根据本原理的一方面,RecSys处理器可以被进一步配置为:接收每个记录的标志的数量,其中由记录的来源发送标志的数量。第一组用户的每个处理器可以被配置为:当每个记录的标志的数量小于表示最大值的值时,用空条目填充每个相应的记录,以便创建标志的数量等于所述值的记录。第一组记录的来源可以是数据库,并且第二组记录的来源可以是数据库。
本原理的另外的特征和优点将根据下面的参考附图进行的对示例性实施例的详细描述而变得显而易见。
附图说明
根据下面简要描述的以下示例性附图,可以更好地理解本原理:
图1例示现有技术推荐系统的组件;
图2例示根据本原理的推荐系统的组件;
图3(A、B、C、D)例示根据本原理的隐私保护推荐方法的流程图;
图4(A、B、C)例示根据本原理的示例性矩阵因子分解算法;
图5(A、B)例示根据本原理的通过矩阵因子分解算法构造的数据结构S;以及
图6例示用于实现本原理的计算环境的框图。
具体实施方式
根据本原理,提供一种以隐私保护和看不见的方式,基于被称作矩阵因子分解的协同过滤技术来安全地执行推荐的方法。
本原理的方法可以用作做出关于记录的全集(corpus)中的项目的推荐的服务,每个记录包括一组标志和项目。该组记录包括多于一个的记录,并且该组标志包括至少一个标志。本领域技术人员在上面的示例中将认识到:记录可以表示用户;标志可以是用户对记录中的对应项目的评级。标志也可以表示与项目相关联的等级、权重或测量,并且项目可以表示人、任务或工作。例如,等级、权重或测量可以与个人的健康相关联,并且研究者试图关联人口的健康测量。或者它们可以与个人的生产力相关联,并且公司试图基于先前的历史来预测某些任务的时间表。但是,为了确保所涉及个人的隐私,服务希望以看不见的方式来做这件事,而不学习每个记录的内容、它提供的项目概况描述或者从用户数据(记录)提取的任何统计信息。具体地,服务不应当学习(a)每个标志/项目出现在哪个记录中,或者更不用说(b)什么标志/项目出现在每个记录中(c)标志的值以及(d)项目概况描述或从用户数据提取的任何统计信息。而且,服务可以通过使用岭回归向最初未参与在矩阵因子分解操作中的新用户提供推荐。以下,可交换地使用例如“隐私保护”、“隐私的”和“安全的”这样的术语和单词来指示被用户(记录)视为隐私的信息仅被用户知道;单词“看不见的”用于指示除用户之外的各方也看不到推荐。
存在与以隐私保护的方式来执行矩阵因子分解相关联的若干挑战。首先,为了处理隐私考虑,应当在推荐器未曾学习用户的评级或者甚至它们未曾对哪些项目进行了评级的情况下执行矩阵因子分解。后者要求是关键:早期研究显示即使知道用户已经对哪个电影进行了评级也可以被用于推断例如她的性别。第二,这样的隐私保护算法应当是高效率的,并且随着用户提交的评级的数量而适度地(例如线性地)缩放(scale)。隐私需求暗示着矩阵因子分解算法应当是数据健忘的(data-oblivious):它的执行不应当取决于用户输入。而且,由矩阵因子分解执行的操作是非线性的;因此,在这二个约束下,并没有先验地明确如何高效率地实现矩阵因子分解。最后,在实际的真实世界场景中,用户具有有限的通信和计算资源,并且在他们已经提供了他们的数据之后不应当被期待为保持在线。代替地,期望具有“发送并忘记(send and forget)”类型的解决方案,其可以在从推荐服务离线和在线之间来回移动的用户存在时起作用。
作为矩阵因子分解的概述,在标准的“协同过滤”设置中,n个用户对m个可能项目(例如电影)的子集进行评级。对于用户的集合[n]:={1,...,n}以及项目的集合[m]:={1,...,m},由表示已经生成评级的用户/项目对,并且由表示评级的总数量。最后,对于由表示针对项目j由用户i生成的评级。在实际设置中,n和m两者都是很大的数,典型地,其范围在104与106之间。另外,所提供的评级是稀疏的,即,M=O(n+m),其比可能的评级的总数量n×m小得多。这与典型的用户行为一致,因为每个用户可能仅对有限数量的项目进行评级(不取决于m,即“目录”大小)。
给定中的评级,推荐器系统希望针对中的用户/项目对来预测评级。矩阵因子分解通过在现有评级上拟合双线性模型来执行该任务。具体地,对于某个小的维度假设存在矢量i∈[n]以及j∈[m],使得
其中εi,j是i.i.d.(independent and identically distributed,独立同分布)高斯随机变量。矢量ui和vj分别被称为用户和项目概况描述,并且<ui,vj>是矢量的内积。所使用的记法是,对于第i行包括用户i的概况描述的n×d矩阵,以及对于第j行包括项目j的概况描述的m×d矩阵,
给定评级推荐器通常执行下面的正则化最小二乘最小化来计算概况描述U和V:对于某个正的λ,μ>0,
本领域熟练技术人员将认识到,假设在概况描述U和V上的高斯先验,(2)中的最小化对应于U和V的最大似然估计。注意,具有用户和项目概况描述,推荐器可以随后预测评级使得对于用户i和项目j:
(2)中的正则化均方误差不是凸函数;已经在文献中提出用于执行该最小化的若干方法。本原理关注于如下所述的梯度下降,其为在实际中所使用的流行方法。用F(U,V)表示(2)中的正则化均方误差,梯度下降通过根据以下适配规则迭代地适配概况描述U和V来操作:
其中,γ>0是小的增益因子,并且
其中,U(0)和V(0)由均匀随机范数1的行(uniformly random norm 1rows)构成(亦即,概况描述是从范数1的球(the norm 1ball)u.a.r.(随机均匀地)选择出的)。
本原理的另一个方面提出基于排序网络和姚氏混淆电路(Yao's garbledcircuit)的用于矩阵因子分解的安全多方计算(multi-party computation,MPC)算法。安全多方计算(MPC)算法最初由A.Chi-Chih Yao在二十世纪八十年代提出。姚氏协议(也被称为混淆电路)是用于安全多方计算的通用方法。在它的由V.Nikolaenko、U.Weinsberg、S.Ioannidis、M.Joye、D.Boneh和N.Taft根据“Privacy-preserving Ridge Regression on Hundreds of millions ofrecords”(IEEE S&P,2013年)调整的变型中,协议在一组n个输入所有者(其中,ai表示用户i的隐私输入,1≤i≤n)、期望评估f(a1,...,an)的评估器(Evaluator)以及第三方即密码服务提供者(Crypto-Service Provider,CSP)之间运行。在协议结束时,评估器学习f(a1,...,an)的值,但是没有任何一方学习比从该输出值揭示的更多的东西。协议要求函数f可以表现为布尔电路(Boolean circuit),例如表现为或(OR)、与(AND)、非(NOT)和异或(XOR)门的图表,并且评估器和CSP不串通(collude)。
最近存在许多实现姚氏混淆电路的框架。通用MPC的不同方法基于秘密共享(secret-sharing)方案,另一种基于全同态加密(fully-homomorphicencryption,FHE)。已经针对多种线性代数操作提出秘密共享方案,诸如求解线性系统、线性回归和拍卖(auctions)。秘密共享要求至少三个非串通的在线权限,其平等地共享计算的工作量,并且进行多轮通信;计算是安全的,只要它们中任意两个不串通。混淆电路假设仅两个非串通权限以及少得多的通信,其更适合于评估器是云服务并且密码服务提供者(CSP)以可信硬件组件来实现的情况。
不管所使用的密码学原语,在构建用于安全多方计算的高效率算法中的主要挑战在于以数据健忘的方式来实现算法,亦即,使得执行路径不取决于输入。一般地,在有限时间T内可执行的任何RAM程序可以转换成O(T^3)图灵机(TM),这是由Alan Turing发明的理论计算机,其用作数学计算的理想化模型,其中O(T^3)意味着复杂度与T3成比例。另外,任何有限T时间TM可以转换成大小为O(T log T)的电路,其是数据健忘的。这暗示着任何有限T时间可执行RAM程序可以转换成具有O(T^3log T)复杂度的数据健忘的电路。这样的复杂度太高,并且在多数应用中是禁止的。在W.Du和M.J.Atallah的“Secure multi-party computation problems and their applications:A review and open problems”(New Security Paradigms Workshop,2001年)中可以找到高效率的数据健忘的实现方式未知的算法的调查-矩阵因子分解问题宽泛地落入在数据挖掘总结问题的范畴中。
最初开发了排序网络以允许对并行化排序以及高效率的硬件实现方式。这些网络是将输入序列(a1,a2,...,an)排序成单调增加的序列(a′1,a′2,...,a′n)的电路。它们通过将比较并交换(compare-and-swap)电路(它们的主要构建块)布线在一起来构造。若干工作出于密码学目的而使用排序网络的数据健忘性。但是,加密并不总是足以确保隐私。如果对手可以观察你对加密存储的访问模式,则他们仍然可以学习关于你的应用正在做什么的敏感信息。健忘的RAM通过在它被访问时持续地置乱(shuffle)存储器来解决这个问题;从而完全隐藏什么数据正在被访问或者甚至是先前何时访问过它。在健忘RAM中,排序用作生成数据健忘随机排列的手段。最近,它已经被用于执行凸包、所有最近近邻(all-nearest neighbor)以及加权集合交集(weighted setintersection)的数据健忘计算。
本原理的另一个方面是使推荐系统使用岭回归,以便向最初没有参与矩阵因子分解操作的新用户提供推荐。岭回归是取得大量的数据点作为输入并且找到经过这些点的最佳拟合曲线的算法。算法是许多机器学习算法的构建块。如在美国临时专利申请序列号61/772404中所解释的那样,给定一组n个输入变量以及一组输出变量使得yi≌f(xi)的学习函数的问题被称为回归。
线性回归基于f由线性映射良好地近似的前提,亦即,对于某个
yi≌βTxi,i∈[n]≡{1,2,...,n) (6)
其中,(.)T指示转置操作。
在它用于预测的明显使用之外,矢量β=(βk)k=1,...,d是有趣的,因为它揭示y如何依赖于输入变量。具体地,系数βk的符号指示对输出的正相关或者负相关,同时量值捕捉相对重要性。为了确保这些系数是可比较的,并且为了数值稳定性,将输入xi重新调节(rescale)到相同的有限域(例如[-1,1])。
为了计算矢量通过在上最小化下面的二次函数,将后者拟合到数据:
最小化等式(7)的过程被称为岭回归;目标(objective)F(β)并入惩罚项(penalty term)从而给出简约解(parsimonious solution)。直观地,对于λ=0,最小化对应于求解简单最小二乘问题。对于正的λ>0,惩罚项使用高范数来惩罚解:在平等地拟合数据的两个解之间,具有更少的大系数的一个是优选的。
本原理提出基于安全多方排序的方法,其接近于加权集合交集但是并入混淆电路。图2图示根据本原理的隐私保护推荐系统中的参与者。它们如下:
I.推荐器系统(RecSys)230,执行看不见的隐私保护矩阵因子分解操作的实体。具体地,RecSys看不见地计算从对用户评级的矩阵因子分解所提取的项目概况描述V,而不学习关于用户的任何有用的东西,包括他们对哪些电影进行了评级、他们给出了什么评级,或者从用户数据提取的任何统计信息(平均值、项目概况描述等),包括用户所获得的推荐。
II.密码服务提供者(CSP)250,其将使得能够进行安全计算,而不学习关于用户的任何有用的东西,包括他们对哪些电影进行了评级、他们给出了什么评级,或者从用户数据提取的任何统计信息(平均值、项目概况描述等),包括用户所获得的推荐。
III.来源A,包括一个或多个用户210,其包含一组用户A 2102,每个具有对一组项目的一组评级220。每个用户i∈[n]通过矩阵因子分解基于他们的评级来同意对项目的概况描述,但是不希望向分析器揭示任何事情,包括他们的评级、他们已经对哪些项目进行了评级以及从用户数据提取的任何统计信息(平均值、项目概况描述等)。这些用户可能希望或可能不希望接收推荐。例如,推荐系统可能针对他们的数据向他们支付。相当地,来源A可以表示包含一个或多个用户A的数据的数据库。
IV.来源B,包括一个或多个用户210,其包含一组用户B 2104,每个具有对一组项目的一组评级,并且每个希望以对如何评级其他项目的预测的形式来接收推荐。每个用户不希望向推荐器揭示任何事情,包括他们的评级、他们已经对哪些项目进行了评级以及从用户数据提取的任何统计信息(平均值、项目概况描述等)。集合B可以与集合A重叠或不重叠,即,希望获得推荐的用户可能参与或可能不参与矩阵因子分解操作。因此,集合A和B可能不相交或可能相交。相当地,来源B可以表示包含一个或多个用户B的数据的数据库。
根据本原理,提出允许RecSys执行矩阵因子分解,同时RecSys和CSP都不学习包括推荐的关于用户的任何有用的事情的协议。具体地,不应当学习用户的评级或者甚至是用户实际上已经对哪些项目进行了评级,并且不应当学习项目概况描述V、用户概况描述U、推荐或者从用户数据提取的任何统计信息。本领域技术人员将清楚地认识到,允许推荐器学习用户和项目概况描述的协议揭示过多:在这样的设计中,推荐器可以根据(3)中的内积很一般地推断用户的评级。因而,本原理提出隐私保护协议,其中推荐器和CSP都不学习用户概况描述、项目概况描述或从用户数据提取的任何统计信息。总之,它们以完全看不见的方式执行操作,并且不学习关于用户的或者从用户数据提取的任何有用的信息。
项目概况描述可以被看作将项目定义为一组用户/记录的评级的函数的矩阵。类似地,用户概况描述可以被看作将用户定义为一组用户/记录的评级的函数的矩阵。在这个意义上,项目概况描述是项目的赞成/不赞成的测量,也就是项目的特征或特性的反映。并且用户概况描述是用户的喜欢/不喜欢的测量,也就是用户个性的反映。如果基于一大组用户/记录来计算,则项目或用户概况描述可以分别被看作项目或用户的独立测量。本领域技术人员将认识到,单独学习项目概况描述是实用的。首先,通过矩阵因子分解在中嵌入项目允许推荐器推断(并编码)相似性:概况描述具有小的欧几里得距离的项目是由用户类似地评级的项目。因此,在推荐的实际任务之外,学习项目概况描述的任务对于推荐器是感兴趣的。具体地,用户可能不需要或希望接收推荐,如果来源是数据库,则可能如此。第二,如果获得项目概况描述,则存在如下琐事:推荐器可以使用它们来提供相关的推荐,而不需要用户的任何另外的数据揭示。推荐器可以将V发送给用户(或者公开地发布它);知道她针对每个项目的评级,用户i可以通过关于她的(隐私)概况描述ui来求解(2),来推断她的(隐私)概况描述ui;对于给定的V(这是可分离的问题),并且每个用户可以通过在她的评级上执行岭回归来获得她的概况描述。具有ui和V,用户可以通过(4)来局部地预测所有的她对其他项目的评级。
上面讨论的两个场景假定推荐器或用户都不反对V的公开发布。为了简单性以及由于对推荐器利用这样的协议,由发明人在与本申请相同的日期提交的、标题为“A METHOD AND SYSTEM FOR PRIVACY PRESERVINGMATRIX FACTORIZARTION”的共同未决申请允许推荐器学习项目概况描述。本原理扩展这种设计,使得用户学习他们的预测的评级,同时推荐器以看不见的方式来执行操作并且不学习关于用户的任何有用的信息,甚至不学习V,并且使得未对矩阵因子分解提供评级的用户也可以取得推荐。
根据本原理,假设在诚实但好奇的威胁模型下将保持安全性保障。换句话说,RecSys和CSP遵循所规定的协议;但是,这些有关各方可以选择分析协议转录本(protocol transcripts)(甚至是离线地),以便推断某些另外的信息。进一步假设推荐器和CSP不串通。
本原理的优选实施例包括满足图3中的流程图300并且通过下面的步骤描述的协议:
P1.来源A向RecSys报告针对每个参与记录将要提交多少对标志(评级)和项目305。该组记录包括多于一个的记录,并且针对每个记录的标志的集合包括至少一个标志。如果来源是一组用户,则每个用户单独地向RecSys报告他们的标志和项目的相应数量。
P2.CSP为部分同态方案生成公共加密密钥ξ,并且将它发送给所有用户(来源A)310。本领域技术人员将意识到,同态加密是允许对密文执行特定类型的计算并且获得解密后匹配对明文执行的操作的结果的加密结果的加密的形式。例如,一个人可以添加两个加密的数,然后另一个人可以解密该结果,而他们中的任何一个都不能发现各个数的值。部分同态加密关于对明文的一个操作(加法或乘法)是同态的。部分同态操作可以关于对标量的加法和乘法是同态的。如果来源A是一组用户,则每个用户单独地向RecSys报告他们的标志和项目的相应数量。
P3.集合A中的每个用户使用它的密钥加密它的数据315。具体地,对于每对(j,ri,j),其中j是项目id并且ri,j是用户i对j给出的评级,用户使用公共加密密钥加密该对。集合A中的每个用户将她的加密数据发送给RecSys。
P4.RecSys将掩蔽η添加到加密数据并且将经加密和掩蔽的数据发送给CSP 320。本领域技术人员将理解,掩蔽是数据迷惑的一种形式,并且可以与随机数生成器或置乱一样简单。
P5.CSP解密经加密和掩蔽的数据325。
P6.RecSys接收来自至少一个请求用户的针对所有项目的全集中的至少一个特定项目的推荐请求330。每个请求用户属于集合B并且在步骤P1中可能具有或可能不具有贡献的记录。如果请求推荐的请求用户严格地来自于集合A,则继续进行如由发明人在与本申请相同的日期提交的、标题为“AMETHOD AND SYSTEM FOR PRIVACY-PRESERVINGRECOMMENDATION TO RATING CONTRIBUTING USERS BASED ONMATRIX FACTORIZATION”的共同未决申请中那样的替代的协议。每个请求用户向RecSys报告用户已经对多少项目进行了评级,也就是Mi。
P7.RecSys向CSP发送构建第一混淆电路所需的完整规范335,包括用户和项目概况描述的维度(亦即参数d)、评级的总数量(亦即参数M)、集合A中用户的总数量和项目的总数量以及用于表示混淆电路中的实数的整数和小数部分的位数。
P8.CSP准备本领域技术人员已知的作为对记录执行矩阵因子分解的混淆电路340。为了混淆,首先将电路作为布尔电路写入3402。给电路的输入包括RecSys用于掩蔽用户数据的掩蔽。在电路内部,掩蔽用于对数据去掩蔽,然后执行矩阵因子分解。电路的输出是V,即项目概况描述。CSP还选取随机掩蔽ρj,针对每个项目j有一个。这些将被用于隐藏每个项目j的概况描述。并不是以明文输出项目概况描述V,由CSP构造的电路输出通过掩蔽ρj掩蔽的项目概况描述vj。不获得关于任何个体记录的内容以及从记录提取的任何信息的内容的知识。
P9.CSP将用于矩阵因子分解的混淆电路发送给RecSys 345。具体地,CSP将门(gate)处理成混淆表(garbled table)并且将它们传送给RecSys,以便由电路结构定义。
P10.通过RecSys与CSP之间3502的健忘传递350,RecSys学习经解密和掩蔽的记录的混淆值,而它自身或CSP都不学习实际值。本领域技术人员将理解,明码健忘传递是发送者将可能许多条信息中的一条传递给接收者的传递类型,其关于已经传递了哪条(如果有)保持是健忘的。代理健忘传递是涉及3方或更多方的健忘传递。
P11.RecSys评估输出经掩蔽的项目概况描述的混淆电路并且将经掩蔽的项目概况描述发送给CSP 355。
P12.RecSys通知CSP数量Mi并且给出关于第二混淆电路的规范。多数参数将复制第一混淆电路中的参数,包括用户和项目概况描述的维度(亦即参数d)以及用于表示混淆电路中的实数的整数和小数部分的位数360。
P13.然后,CSP准备对请求用户评级和经掩蔽的项目概况描述执行岭回归以针对用户感兴趣的特定项目生成推荐的第二混淆电路365。为了混淆,首先将电路写入作为布尔电路3652。电路执行下面的任务:
a.接收经掩蔽的项目概况描述vj+ρj以及来自请求用户i的针对由用户评级的每个项目W的Mi个评级(w,ri,w)3652。
b.针对由用户评级的每个项目w,针对用户i的所有Mi个对(w,ri,w),对项目概况描述去掩蔽并且将它们置于元组阵列(w,ri,w,vw)中3654。这通过下面的步骤执行:
i.将所有去掩蔽的项目概况描述vj置于阵列中,针对由用户评级的每个项目w,在用户i的所有Mi对(w,ri,w)之后。
ii.使用排序网络,它关于项目概况描述来排序该阵列,确保在排序终止时,每对(w,ri,w)之后紧跟着它对应的概况描述vw。
iii.执行从右向左的线性通过(linear pass),电路将每个项目的去掩蔽的概况描述vw复制到它对应的元组(w,ri,w)中。
iv.使用排序网络,电路将这些评级元组与项目概况描述分离,使得评级连同已经复制到它们中的项目概况描述一起现在占据阵列的前Mi个位置。
c.然后,电路在评级以及它们各自的项目概况描述上继续进行岭回归,计算用户概况描述ui 3656,即对下面的解:
其可以通过执行必要的代入从等式(7)导出。这可以使用做岭回归的电路来计算,如在美国临时专利申请序列号61/772404中那样。
d.使用该概况描述ui和去掩蔽的项目概况描述vj,电路针对感兴趣的每个特定项目j计算预测的评级并且输出这些预测3658。
P14.CSP将该电路转发到集合B中的请求用户i 370。
P15.通过请求用户i与CSP之间3752的健忘传递375,用户获得与她的输入(j,ri,j)相对应的混淆值。
P16.通过请求用户i、RecSys和CSP之间3802的代理健忘传递380,用户获得与掩蔽的项目概况描述vj+ρj相对应的混淆值。具体地,在该代理健忘传递中,RecSys提供经掩蔽的项目概况描述,请求用户接收经掩蔽的项目概况描述的混淆值,并且CSP充当代理,同时任何一方都不学习项目概况描述,并且仅RecSys知道经掩蔽的项目概况描述。
P17.请求用户评估电路,获得针对感兴趣的所有项目的预测评级作为输出385。
上面的构造为集合B中的可能在或者可能不在集合A中的用户工作,即,他们可能提交了或者可能没有提交他们针对矩阵因子分解操作的评级。
在技术上,该协议泄露由每个用户提供的标志的数量。可以通过简单的协议修改,例如通过适当地使用“空”条目“填充”提交的记录直止达到预先设置的最大数量为止来矫正它312。为了简单,在没有该“填充”操作的情况下描述协议。
因为混淆电路仅可以使用一次,所以对相同评级的任何将来的计算将需要用户通过代理健忘传递来重新提交他们的数据。出于这个原因,本原理的协议采用了混合方法,将公共密钥加密与混淆电路组合。
在本原理中,公共密钥加密使用如下:每个用户i使用加密算法通过公共密钥pkCSP加密她的各个输入(j,ri,j),并且针对评级的每个项目j,用户将具有的对(i,c)提交给RecSys,其中总共提交M个评级。提交她的评级的用户可以离线。
CSP公共密钥加密算法是部分同态的:可以将在不知道对应的解密密钥的情况下常量应用于加密的消息。明显地,诸如Paillier或Regev这样的加法同态方案(additively homomorphic scheme)也可以被用于添加常量,但是在该情况下,仅为部分同态的散列ElGamal就足够了,并且可以更高效地实现。
当从用户接收M个评级时(记得加密是部分同态的)RecSys用随机掩蔽遮掩它们,其中η是随机或伪随机变量并且是异或操作。RecSys将它们与构建混淆电路所需的完整规范一起发送给CSP。具体地,RecSys指定用户和项目概况描述的维度(亦即参数d)、评级的总数量(亦即参数M)、用户和项目的总数量以及用于表示混淆电路中的实数的整数和小数部分的位数。
只要RecSys希望在M个累积的评级上执行矩阵因子分解,它就将M报告给CSP。CSP可以向RecSys提供(a)解密输入、然后(b)执行矩阵因子分解的混淆电路。在V.Nikolaenko、U.Weinsberg、S.Ioannidis、M.Joye、D.Boneh和N.Taft的“Privacy-preserving ridge regression on hundreds ofmillions of records”(IEEE S&P,2013年)中,通过使用掩蔽和同态加密来避免在电路内的解密。本原理将这个想法用于矩阵因子分解,但是仅需要部分同态加密方案。
当接收加密时,CSP解密它们并且取得经掩蔽的值然后,使用矩阵因子分解作为蓝图(blueprint),CSP准备姚氏混淆电路,其:
(a)将与掩蔽η相对应的混淆值作为输入;
(b)去除掩蔽η以恢复对应的元组(i,j,ri,j);
(c)执行矩阵因子分解;以及
(d)输出用 掩蔽的项目概况描述
通过在(4)和(5)中概述的梯度下降的操作来计算矩阵因子分解涉及实数的加法、减法和乘法。这些操作可以在电路中高效地实现。梯度下降(4)的K次迭代对应于K个电路“层”,每个根据先前层中的值来计算概况描述的新的值。电路的输出是项目概况描述V,同时丢弃用户概况描述。
本领域技术人员将注意到,当以明文例如以RAM模型执行操作时,计算梯度下降的每次迭代的时间复杂度是O(M)。每个梯度(5)的计算涉及添加2M个项目,并且可以在O(n+m)=O(M)内执行概况描述更新(4)。
将梯度下降实现为电路的主要挑战在于高效率地做这件事。为了例示这一点,可以考虑下面的朴素的实现方式:
Q1.对于每对(i,)∈[n]×[m],生成根据输入来计算指标的电路,如果i对j进行了评级,则指标为1,否则为0。
Q2.在每次迭代时,使用这些电路的输出,分别计算每个项目和用户梯度作为m和n乘积的求和,其中:
不幸地,该实现方式是低效的:梯度下降算法的每次迭代将具有O(n×m)的电路复杂度。当M<<n×m时(这是通常是实际中的情况),上面的电路以明文的梯度下降低效得多。实际上,二次式的成本O(n×m)对于多数数据集是禁止的。
朴素的实现方式的低效性起因于不能在电路设计时识别哪些用户对项目评级以及哪些项目被用户评级,减轻了利用数据中的固有的稀疏性的能力。
相反地,根据本原理的优选实施例,基于复杂度为O((n+m+M)log2(n+m+M))的排序网络(亦即,以明文的实现方式的多对数因子)来提供电路实现方式。
总之,将与元组(i,j,ri,j)相对应的输入数据以及用于用户和项目概况描述这两者的占位符⊥一起存储在阵列中。通过适当的排序操作,用户或项目概况描述可以被置于靠近它们与其共享标识符的输入。线性通过数据允许梯度的计算以及概况描述的更新。当排序时,将占位符看作+∞,亦即大于任何其他数。
根据本原理的优选实施例的并且满足图4中的流程400的矩阵因子算法可以由下面的步骤描述:
C1.初始化矩阵S 410
算法接收集合或者等效地,接收元组作为输入,并且构造元组的n+m+M阵列。S的前n个和m个元组分别用作用户和项目概况描述的占位符,同时剩余的M个元组存储输入Li。更具体地,对于每个用户i∈[n],算法构造元组(i,⊥,0,⊥,ui,⊥),其中是随机选择的用户i的初始概况描述。对于每个项目j∈[m],算法构造元组(⊥,j,0,⊥,⊥,vj,⊥),其中同样是随机选择的项目j的初始概况描述。最后,对于每个对算法构造对应的元组(i,j,1,ri,j,⊥,⊥),其中ri,j是用户i对项目j的评级。得到的阵列如在图5(A)中所示。用sl,k表示第k个元组的第l个元素,这些元素起到以下作用:
(a)s1,k:[n]中的用户标识符;
(b)s2,k:[m]中的项目标识符;
(c)s3,k:指示元组是“概况描述”还是“输入”元组的二元标记;
(d)s4,k:“输入”元组中的评级;
(e)s5,k:中的用户概况描述;
(f)s6,k:中的项目概况描述。
C2.关于用户id(关于行1和3)以增加的次序对元组排序420。如果两个id相等,则通过比较元组标记,亦即每个元组中的第三个元素,来打破平局。因此,在排序之后,每个“用户概况描述”元组继之以具有相同id的“输入”元组。
C3.复制用户概况描述(左侧通过)430:
s5,k←s3,k*s5,k-1+(1-s3,k)*s5,k对于k=2,...,M+n
C4.关于项目id(关于行2和3)以增加的次序对元组排序440。如果两个id相等,则通过比较元组标记,亦即每个元组中的第三个元素,来打破平局。
C5.复制项目概况描述(左侧通过)450:
s6,k←s3,k*s6,k-1+(1-s3,k)*s6,k对于k=2,...,M+m
C6.计算梯度贡献460
C7.更新项目概况描述(右侧通过)470:
s6,k←s6,k+s3,k+1*s6,k+1+(1-s3,k)*2γμs6,k对于k=M+n-1,...1
C8.关于行1和3对元组排序475
C9.更新用户概况描述(右侧通过)480:
s5,k←s5,k+s3,k+1*s5,k+1+(1-s3,k)*2γλs5,k对于k=M+n-1,...1
C10.如果迭代次数小于K,则转到C3485
C11.关于行3和2对元组排序490
C12.对于k=1,...,m,输出项目概况描述s6,k,其中输出可以被限制为至少一个项目概况描述。
梯度下降迭代包括下面三个主要的步骤:
A.复制概况描述:在每次迭代时,将每个相应的用户i和每个项目j的概况描述ui和vj复制到i和j出现的每个“输入”元组的对应的元素s5,k和s6,k。这在算法的步骤C2至C5中实现。为了复制例如用户概况描述,使用用户id(亦即s1,k)作为主索引并且使用标记(亦即s3,k)作为次索引对S排序。应用于S的初始状态的这种排序的示例可以在图5(B)中找到。随后,通过如在算法的步骤C3中形式化地描述的那样地从左到右地遍历阵列(“左侧”通过)来复制用户id。这将s5,k从每个“概况描述”元组复制到它相邻的“输入”元组;类似地复制项目概况描述。
B.计算梯度贡献:在复制概况描述之后,与例如(i,j)相对应的每个“输入”元组存储在上一次迭代中所计算的评级ri,j(在s4,k中)以及概况描述ui和vj(分别在s5,k和s6,k中)。根据这些,计算下面的量:vj(ri,j-<ui,vj>)和ui(ri,j-<ui,vj>),其可以被看作关于ui和vj的由(5)所给出的梯度中的元组的“贡献”。这些替换元组的s5,k和s6,k元素,如由算法的步骤C6所指示的那样。通过适当地使用标记,该操作仅影响“输入”元组,并且保持“概况描述”元组不变。
C.更新概况描述:最后,如在算法的步骤C7至C9中所示,更新用户和项目概况描述。通过适当的排序,使“概况描述”元组再次邻近它们与其共享id的“输入”元组。通过对阵列的从右至左的遍历(“右侧通过”)来计算更新的概况描述。该操作在其遍历“输入”元组时添加梯度的贡献。当遇到“概况描述”元组时,将总计的梯度贡献添加到概况描述,适当地缩放。在通过概况描述之后,通过适当地使用标记s3,k,s3,k+1,从零开始重新开始梯度贡献的求和。
上面的操作重复K次,即梯度下降的期望迭代的数量。最后,在最后的迭代终止时,以标记(亦即s3,k)作为主索引并且项目id(亦即s2,k)作为次索引,对阵列排序。这使得所有项目概况描述元组位于阵列中的前m个位置处,据此可以输出项目概况描述。而且,为了获得用户概况描述,在最后的迭代终止时,以标记(亦即s3,k)作为主索引并且用户id(亦即s1,k)作为次索引,对阵列排序。这使得所有用户概况描述元组位于阵列中的前n个位置处,据此可以输出用户概况描述。
本领域技术人员将认识到,上面的操作中的每个都是数据健忘的,并且可以作为电路实现。复制和更新概况描述需要(n+m+M)个门,因此,由排序确定总的复杂度,例如使用Batcher电路的排序产生O((n+m+M)log2(n+m+M))的成本。算法的步骤C6中的排序和梯度计算是最为计算密集的操作;幸运地,二者可高度并行化。另外,可以通过在每次迭代时重新使用先前计算的比较来进一步优化排序。具体地,该电路可以实现为布尔电路(例如,作为或、与、非和异或门的图表),如先前所解释的那样,这允许混淆该实现方式。
根据本原理,上述矩阵因子分解算法的实现方式与先前描述的协议一起提供以隐私保护的方式来提供新颖的推荐方法。另外,通过使用排序网络,该解决方案产生复杂度在以明文执行矩阵因子分解的多对数因子内的电路。而且,该实现方式的另外的优点在于该电路的混淆和执行是可高度并行化的。
在根据本原理的系统的实现中,混淆电路构造基于FastGC(一种公开可用的混淆电路框架)。FastGC是基于Java的开源框架,其使得能够使用基本的异或、或和与门进行电路定义。一旦电路被构造,该框架就处理混淆电路的混淆、健忘传递和完整评估。但是,在混淆和执行电路之前,FastGC将存储器中的整个未混淆电路表示为一组Java对象。相对于未混淆电路应当引入的存储器占用(memory footprint),这些对象引起显著的存储器开销,因为在任意时间点,仅混淆和/或执行门的子集。而且,虽然如上所述FastGC与执行处理并行地实行混淆,但是两个操作以顺序的方式发生:当它们的输入就绪时,一次处理一个门。本领域技术人员将清楚地认识到,该实现方式不能进行并行化。
因此,修改该框架以解决这两个问题,即减少FastGC的存储器占用而且使得能够跨越多个处理器进行并行化的混淆和计算。具体地,引入将电路水平地划分成顺序的“层”的能力,每一个包括可以并行执行的一组垂直的“切片”。仅当其所有输入就绪时,在存储器中创建层。一旦整个层被混淆并评估,就从存储器中去除整个层,并且可以构造随后的层,从而将存储器占用限制为最大的层的大小。使用调度器来进行层的执行,调度器将它的切片分配给线程,使它们能够并行地运行。虽然在具有多个核的单机上实现并行化,但是该实现方式也可以扩展到以直接的方式跨越不同机器来运行,因为假设切片之间没有共享的状态。
最后,为了在实现算法中概述的数值运算,扩展FastGC以支持在使用定点数表示的实数上的加法和乘法以及排序。为了进行排序,使用Batcher排序网络。定点表示引入了由截断造成的精确度损失和电路大小之间的折衷。
而且,算法的实现方式以多种方式进行了优化,具体地:
(a)通过重新使用在电路执行的开始时计算出的比较来减小排序的成本:
排序网络的基本构建块是比较并交换电路,其比较两个项目并且如有必要则交换它们,使得输出对是有序的。矩阵因子分解算法的排序操作(行C4和C8)使用针对每次迭代完全相同的输入,在K次梯度下降迭代中的每次的元组之间执行相同的比较。实际上,每次排序在每次迭代时以完全相同的方式置换阵列S中的元组。通过仅一次地针对这些排序中的每个执行比较操作来利用该属性。具体地,在计算开始时(没有用户或项目概况描述的有效负荷)执行形式(i,j,标记,评级)的元组的排序,例如首先关于i和标记,j和标记,并且返回到i和标记。随后,比较电路的输出在这些排序的每个中被重新使用,作为对在梯度下降期间所使用的交换电路的输入。因此,在每次迭代时应用的“排序”网络不执行任何比较,而是仅仅置换元组(即,它是“置换”网络)。
(b)减小了阵列S的大小:
预先计算所有比较还允许显著地减小S中的元组的大小。首先,本领域技术人员可以观察到,与用户或项目id相对应的行仅在矩阵因子分解算法中被用作排序期间的比较的输入。标记和评级在复制和更新阶段期间使用,但是它们的相对位置在每次迭代时相同。而且,这些位置可以被计算为计算开始时的元组(i,j,标记,评级)的排序的输出。因此,在每次迭代时执行的“置换”操作仅需要应用于用户和项目概况描述;所有其他行可以从阵列S中去除。另一个改进以另外的因子2来减少置换的成本:固定一组概况描述,例如用户,并且只置换项目概况描述。然后,项目概况描述在两种状态之间轮换,每一种可以通过置换从另一种到达:在一种状态下,它们与用户概况描述对齐并且计算部分梯度,并且在一种状态下更新并复制项目概况描述。
(c)它通过使用异或来优化交换操作:
假定异或操作可以“自由地(free)”执行,则只要有可能,就通过使用异或来执行比较、交换、更新和复制操作的优化。本领域技术人员将认识到,可以混淆自由异或门(free-XOR gate),而不使用相关联的混淆表和相应的散列或对称密钥操作,表现出计算和通信的显著的改善。
(d)使计算并行化:
排序和梯度计算构成矩阵因子分解电路中计算的大块(复制和更新贡献不多于3%的执行时间和0.4%的非异或门);这些操作通过FastGC的这种扩展而并行化。梯度计算明显是可并行化的;排序网络也是可高度并行化的(并行化是它们发展背后的主要动机)。而且,因为每个排序中许多并行切片相同,所以以不同的输入重新使用定义电路切片的相同FastGC对象,显著地减少在存储器中重复地创建和销毁对象的需求。
应当理解,可以以各种形式的硬件、软件、固件、专用处理器或其组合来实现本原理。优选地,本原理实现为硬件和软件的组合。而且,软件优选地实现为有形地实施在程序存储设备上的应用程序。应用程序可以上载包括任何适当架构的机器到并且由其执行。优选地,机器在具有诸如一个或多个中央处理单元(CPU)、随机存取存储器(RAM)和输入/输出(I/O)接口这样的硬件的计算机平台上实现。计算机平台还包括操作系统和微指令代码。在本文中所描述的各种处理和功能可以是经由操作系统执行的微指令代码的一部分或者应用程序的一部分(或其组合)。另外,诸如另外的数据存储设备和打印设备这样的各种其他外围设备可以连接到计算机平台。
图6示出用于实现本原理的最小计算环境600的框图。计算环境600包括处理器610以及至少一个(并且优选地,多于一个)I/O接口620。I/O接口可以是有线的或无线的,并且在无线实现方式中,用适当的无线通信协议来预先配置以允许计算环境600在全球网络(例如因特网)上操作并且与其他计算机或服务器(例如基于云的计算或存储服务器)进行通信,以便使本原理能够例如作为远程地提供给终端用户的软件即服务(SAAS)特征来提供。一个或多个存储器630和/或存储设备(HDD)640也提供在计算环境600中。计算环境600或多个计算机环境600可以根据本原理一个实施例来实现协议P1-P17(图3)用于矩阵因子分解C1-C12(图4)。具体地,在本原理的实施例中,计算环境600可以实现RecSys 230;单独的计算环境600可以实现CSP 250,并且来源可以包含一个或多个计算机环境600,每个与不同的用户210相关联,包括但不局限于台式电脑、移动电话、智能电话、电话手表、平板计算机、个人数字助理(PDA)、上网本和膝上型计算机,用于与RecSys 230和CSP 250通信。另外,CSP 250可以包括在来源中,或者等效地,包括在来源的每个用户210的计算机环境中。
还要理解的是,因为在附图中图示的构成系统组件和方法步骤的一些优选地实现为软件,所以系统组件(或处理步骤)之间的实际连接可能根据本原理编程的方式而不同。给出本文的教导,相关领域中普通技术人员将能够想到本原理的这些和类似的实现方式或配置。
虽然在本文中已经参考附图描述了示例性实施例,但是应当理解的是,本原理并不局限于那些精确的实施例,相关领域中的普通技术人员可以在不脱离本原理的范围或精神的情况下对其做出各种改变和修改。所有这样的改变和修改均将包括在如在所附权利要求书中所阐述的本原理的范围内。
Claims (32)
1.一种通过矩阵因子分解和岭回归安全地生成推荐的方法,所述方法包括:
接收第一组记录(220),其中每个记录从第一组用户(210)中的相应的用户接收,并且包括一组标志和一组项目,并且其中每个记录对所述相应的用户之外的各方保密(315);
在推荐器(RecSys)(230)中通过使用基于矩阵因子分解的第一混淆电路评估所述第一组记录(355),其中第一混淆电路的输出包括所述第一组记录中的所有项目的经掩蔽的项目概况描述;
接收来自请求用户的针对至少一个特定项目的推荐请求(330);以及
由所述请求用户通过使用基于岭回归的第二混淆电路来评估第二记录和所述经掩蔽的项目概况描述,其中第二混淆电路的输出包括关于至少一个特定项目的推荐,并且所述推荐仅被所述请求用户知道(385)。
2.根据权利要求1所述的方法,进一步包括:
在CSP中设计第一混淆电路以对所述第一组记录执行矩阵因子分解(340),其中第一混淆电路输出包括所述第一组记录中的所有项目的经掩蔽的项目概况描述;
将第一混淆电路传递给RecSys(345);
在CSP中设计第二混淆电路以对所述第二记录和所述经掩蔽的项目概况描述执行岭回归(365),其中第二混淆电路输出包括针对至少一个特定项目的推荐;以及
将第二混淆电路传递给请求用户(370)。
3.根据权利要求2所述的方法,其中设计步骤包括:
将矩阵因子分解操作设计为布尔电路(3402);以及
将岭回归操作设计为布尔电路(3652)。
4.根据权利要求3所述的方法,其中设计矩阵因子分解电路的步骤包括:
构造所述第一组记录的阵列;并且对阵列执行排序(420,440,470,490)、复制(430,450)、更新(470,480)、比较(480)以及计算梯度贡献(460)的操作。
5.根据权利要求2所述的方法,进一步包括:
加密第一组记录以创建加密的记录(315),其中在接收第一组记录的步骤之前执行加密的步骤。
6.根据权利要求5所述的方法,进一步包括:
在CSP中生成公共加密密钥;以及
将所述密钥发送给所述相应的用户(310)。
7.根据权利要求5所述的方法,其中加密是部分同态加密(310),所述方法包括:
在RecSys中掩蔽加密的记录以创建经掩蔽的记录(320);以及
在CSP中解密经掩蔽的记录以创建解密的经掩蔽的记录(325)。
8.根据权利要求7所述的方法,其中设计的步骤(340)包括:
在处理解密的经掩蔽的记录之前在第一混淆电路内部对解密的经掩蔽的记录去掩蔽。
9.根据权利要求7所述的方法,进一步包括:
在CSP与RecSys之间(3502)执行健忘传递(350),其中RecSys接收解密的经掩蔽的记录的混淆值,并且记录对RecSys和CSP保密。
10.根据权利要求3所述的方法,其中设计岭回归电路的步骤(365)包括:
接收经掩蔽的项目概况描述和来自请求用户的第二记录(3653);对经掩蔽的项目概况描述去掩蔽并且创建包括标志、项目和项目概况描述的元组阵列,其中对应的项目概况描述被加到来自第二记录的每个标志和项目(3654);
对元组阵列执行岭回归以生成请求用户概况描述(3656);以及
根据请求用户概况描述和至少一个特定项目概况描述来计算推荐(3658)。
11.根据权利要求10所述的方法,其中使用排序网络来执行创建阵列的步骤(3654)。
12.根据权利要求1所述的方法,进一步包括:
在请求用户、CSP和RecSys之间(3802)执行代理健忘传递(380),其中请求用户接收经掩蔽的项目概况描述的混淆值,并且经掩蔽的项目概况描述对请求用户和CSP保密。
13.根据权利要求1所述的方法,进一步包括:
接收每个记录的标志和项目的数量(220,305,330)。
14.根据权利要求1所述的方法,进一步包括:
当每个记录的标志的数量小于表示最大值的值时,用空条目填充每个记录,以便创建标志的数量等于所述值的记录(3052)。
15.根据权利要求1所述的方法,其中第一组记录的来源可以是数据库,并且第二记录的来源可以是数据库。
16.根据权利要求2所述的方法,进一步包括:
由所述CSP接收用于混淆电路的设计的一组参数,其中参数由所述RecSys发送(335,360)。
17.一种通过矩阵因子分解和岭回归来安全地生成推荐的系统,所述系统包括将提供相应的第一组记录的第一组用户、将在第一和第二电路中提供安全的矩阵因子分解和岭回归电路的密码服务提供者(CSP)、将评估矩阵因子分解电路的RecSys以及请求用户,请求用户将提供第二记录并且将评估岭回归电路,使得每个记录对除它的相应用户之外的各方保密,其中所述用户、所述CSP和所述RecSys每个包括:
处理器(602),用于接收至少一个输入/输出(604);以及
与所述处理器进行信号通信的至少一个存储器(606,608),其中RecSys处理器被配置为:
从第一组用户接收第一组记录,其中每个记录包括一组标志和一组项目,并且其中每个记录对除所述相应的用户之外的各方保密;
从请求用户接收针对至少一个特定项目的请求;
通过使用基于矩阵因子分解的第一混淆电路来评估所述第一组记录,其中第一混淆电路的输出包括所述第一组记录中的所有项目的经掩蔽的项目概况描述;并且
其中请求用户处理器被配置为:
通过使用基于岭回归的第二混淆电路来评估第二记录和所述经掩蔽的项目概况描述,其中第二混淆电路的输出包括关于至少一个特定项目的推荐,并且所述推荐仅被所述请求用户知道。
18.根据权利要求17所述的系统,其中CSP处理器被配置为:
设计第一混淆电路以对所述第一组记录执行矩阵因子分解,其中第一混淆电路输出包括所述第一组记录中的所有项目的经掩蔽的项目概况描述;
将第一混淆电路传递给RecSys;
设计第二混淆电路以对所述第二记录和所述经掩蔽的项目概况描述执行岭回归,其中第二混淆电路输出包括针对至少一个特定项目的推荐;以及
将第二混淆电路传递给请求用户。
19.根据权利要求18所述的系统,其中CSP处理器通过如下配置而被配置为设计混淆电路:
将矩阵因子分解操作设计为布尔电路;以及
将岭回归操作设计为布尔电路。
20.根据权利要求19所述的系统,其中CSP处理器通过如下配置而被配置为设计矩阵因子分解电路:
构造所述第一组记录的阵列;以及
对阵列执行排序、复制、更新、比较以及计算梯度贡献的操作。
21.根据权利要求18所述的系统,其中第一组用户的每个用户处理器被配置为:
在提供相应的记录之前加密所述相应的记录以创建加密的记录。
22.根据权利要求21所述的系统,其中CSP处理器被进一步配置为:
在CSP中生成公共加密密钥;以及
将所述密钥发送给所述相应的用户。
23.根据权利要求21所述的系统,其中加密是部分同态加密,并且其中RecSys处理器被进一步配置为:
掩蔽加密的记录以创建经掩蔽的记录;并且CSP处理器被进一步配置为:
解密经掩蔽的记录以创建解密的经掩蔽的记录。
24.根据权利要求23所述的系统,其中CSP处理器通过如下配置而被配置为设计第一混淆电路:
在处理解密的经掩蔽的记录之前在第一混淆电路内部对解密的经掩蔽的记录去掩蔽。
25.根据权利要求23所述的系统,其中RecSys处理器和CSP处理器被进一步配置为执行健忘传递,其中所述RecSys接收解密的经掩蔽的记录的混淆值,并且记录对RecSys和CSP保密。
26.根据权利要求19所述的系统,其中CSP处理器通过如下配置而被配置为设计第二混淆电路:
接收经掩蔽的项目概况描述以及来自请求用户的第二记录;
对经掩蔽的项目概况描述去掩蔽并且创建包括标志、项目和项目概况描述的元组阵列,其中对应的项目概况描述被加到来自第二记录的每个标志和项目;
对元组阵列执行岭回归以生成请求用户概况描述;以及
根据请求用户概况描述和至少一个特定项目概况描述来计算推荐。
27.根据权利要求26所述的系统,其中CSP处理器通过被配置为设计排序网络而被配置为创建阵列。
28.根据权利要求17所述的系统,其中请求用户处理器、RecSys处理器和CSP处理器被进一步配置为执行代理健忘传递,其中请求用户接收经掩蔽的项目概况描述的混淆值,并且经掩蔽的项目概况描述对请求用户和CSP保密。
29.根据权利要求17所述的系统,其中RecSys处理器被进一步配置为:
接收每个记录的标志的数量,其中由每个记录的来源发送标志的数量。
30.根据权利要求17所述的系统,其中第一组用户的每个处理器被配置为:
当每个记录的标志数量小于表示最大值的值时,用空条目填充每个记录,以便创建标志的数量等于所述值的记录。
31.根据权利要求17所述的系统,其中第一组记录的来源可以是数据库,并且第二组记录的来源可以是数据库。
32.根据权利要求18所述的系统,其中CSP处理器被进一步配置为:
接收用于混淆电路的设计的一组参数,其中参数由所述RecSys发送。
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361864088P | 2013-08-09 | 2013-08-09 | |
US201361864085P | 2013-08-09 | 2013-08-09 | |
US201361864098P | 2013-08-09 | 2013-08-09 | |
US201361864094P | 2013-08-09 | 2013-08-09 | |
US61/864,085 | 2013-08-09 | ||
US61/864,094 | 2013-08-09 | ||
US61/864,098 | 2013-08-09 | ||
US61/864,088 | 2013-08-09 | ||
PCT/US2013/076353 WO2014137449A2 (en) | 2013-03-04 | 2013-12-19 | A method and system for privacy preserving counting |
USPCT/US2013/076353 | 2013-12-19 | ||
PCT/US2014/036360 WO2014138754A2 (en) | 2013-03-04 | 2014-05-01 | A method and system for privacy-preserving recommendation based on matrix factorization and ridge regression |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105009505A true CN105009505A (zh) | 2015-10-28 |
Family
ID=49955504
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480012048.2A Pending CN105009505A (zh) | 2013-08-09 | 2014-05-01 | 基于矩阵因子分解和岭回归的隐私保护推荐的方法和系统 |
CN201480021770.2A Pending CN105144625A (zh) | 2013-08-09 | 2014-05-01 | 隐私保护矩阵因子分解的方法和系统 |
CN201480012517.0A Pending CN105103487A (zh) | 2013-08-09 | 2014-05-01 | 用于基于矩阵分解的到评级贡献用户的隐私保护推荐的方法和系统 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480021770.2A Pending CN105144625A (zh) | 2013-08-09 | 2014-05-01 | 隐私保护矩阵因子分解的方法和系统 |
CN201480012517.0A Pending CN105103487A (zh) | 2013-08-09 | 2014-05-01 | 用于基于矩阵分解的到评级贡献用户的隐私保护推荐的方法和系统 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3031165A2 (zh) |
JP (3) | JP2016510913A (zh) |
KR (1) | KR20160041028A (zh) |
CN (3) | CN105009505A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548207A (zh) * | 2016-11-03 | 2017-03-29 | 北京图森互联科技有限责任公司 | 一种基于神经网络的图像处理方法及装置 |
CN107135061A (zh) * | 2017-04-17 | 2017-09-05 | 北京科技大学 | 一种5g通信标准下的分布式隐私保护机器学习方法 |
CN109643286A (zh) * | 2016-07-08 | 2019-04-16 | 伊法布雷思公司 | 用于混淆电路设计的系统和方法 |
CN109756442A (zh) * | 2017-11-01 | 2019-05-14 | 清华大学 | 基于混淆电路的数据统计方法、装置以及设备 |
CN110209994A (zh) * | 2019-04-25 | 2019-09-06 | 广西师范大学 | 基于同态加密的矩阵分解推荐方法 |
CN111259260A (zh) * | 2020-03-30 | 2020-06-09 | 九江学院 | 一种基于排序分类的个性化推荐中的隐私保护方法 |
CN111857649A (zh) * | 2020-06-22 | 2020-10-30 | 复旦大学 | 一种用于隐私保护机器学习的定点数编码及运算系统 |
CN113051587A (zh) * | 2021-03-10 | 2021-06-29 | 中国人民大学 | 一种隐私保护智能交易推荐方法、系统和可读介质 |
CN114450919A (zh) * | 2020-08-14 | 2022-05-06 | 谷歌有限责任公司 | 在线隐私保护技术 |
US20240259181A1 (en) * | 2021-06-04 | 2024-08-01 | Zama Sas | Computational network conversion for fully homomorphic evaluation |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3319001A1 (en) * | 2016-11-02 | 2018-05-09 | Skeyecode | Method for securely transmitting a secret data to a user of a terminal |
CN107302498B (zh) * | 2017-06-21 | 2019-08-27 | 安徽大学 | 一种SDN网络中支持隐私保护的多域QoS路径计算方法 |
SG11202001001WA (en) | 2017-08-31 | 2020-03-30 | Visa Int Service Ass | Single node multi-party encryption |
JP6759168B2 (ja) * | 2017-09-11 | 2020-09-23 | 日本電信電話株式会社 | 難読化回路生成装置、難読化回路計算装置、難読化回路生成方法、難読化回路計算方法、プログラム |
EP3729340A4 (en) * | 2017-12-18 | 2021-12-29 | Mythic, Inc. | Systems and methods for mapping matrix calculations to a matrix multiply accelerator |
US11461435B2 (en) * | 2017-12-18 | 2022-10-04 | University Of Central Florida Research Foundation, Inc. | Techniques for securely executing code that operates on encrypted data on a public computer |
CN110909356B (zh) | 2018-09-18 | 2022-02-01 | 百度在线网络技术(北京)有限公司 | 安全多方计算方法、装置、设备及计算机可读介质 |
JP7514232B2 (ja) | 2018-11-15 | 2024-07-10 | ラヴェル テクノロジーズ エスアーエールエル | ゼロ知識広告方法、装置、およびシステムのための暗号化匿名化 |
CN109992979B (zh) * | 2019-03-15 | 2020-12-11 | 暨南大学 | 一种岭回归训练方法、计算设备、介质 |
CN110086717B (zh) * | 2019-04-30 | 2021-06-22 | 创新先进技术有限公司 | 用于进行数据安全匹配的方法、装置和系统 |
CN110196944B (zh) * | 2019-05-07 | 2021-06-01 | 深圳前海微众银行股份有限公司 | 一种序列化信息的推荐方法及装置 |
CN110363000B (zh) * | 2019-07-10 | 2023-11-17 | 深圳市腾讯网域计算机网络有限公司 | 识别恶意文件的方法、装置、电子设备及存储介质 |
CN110795631B (zh) * | 2019-10-29 | 2022-09-06 | 支付宝(杭州)信息技术有限公司 | 一种基于因子分解机的推送模型优化、预测方法和装置 |
CN110990871B (zh) * | 2019-11-29 | 2023-04-07 | 腾讯云计算(北京)有限责任公司 | 基于人工智能的机器学习模型训练方法、预测方法及装置 |
CN111125517B (zh) * | 2019-12-06 | 2023-03-14 | 陕西师范大学 | 一种基于差分隐私和时间感知的隐式矩阵分解推荐方法 |
CN111552852B (zh) * | 2020-04-27 | 2021-09-28 | 北京交通大学 | 基于半离散矩阵分解的物品推荐方法 |
CN111553126B (zh) * | 2020-05-08 | 2022-05-24 | 北京华大九天科技股份有限公司 | 一种基于机器学习训练模型获取矩阵分解时间的方法 |
CN112528303B (zh) * | 2020-12-11 | 2024-01-26 | 重庆交通大学 | 一种基于ntru加密算法的多用户隐私推荐方法 |
IL279406B1 (en) | 2020-12-13 | 2024-09-01 | Google Llc | Privacy-preserving techniques for selecting and sharing content |
CN112311546B (zh) * | 2020-12-25 | 2021-04-09 | 鹏城实验室 | 数据保密判定方法、装置、设备及计算机可读存储介质 |
IL280056A (en) * | 2021-01-10 | 2022-08-01 | Google Llc | Using secure mpc and vector computations to protect access to information in content distribution |
US11113707B1 (en) | 2021-01-22 | 2021-09-07 | Isolation Network, Inc. | Artificial intelligence identification of high-value audiences for marketing campaigns |
IL281328A (en) | 2021-03-08 | 2022-10-01 | Google Llc | Flexible content selection processes through multi-sided secure calculation |
WO2022216293A1 (en) * | 2021-04-09 | 2022-10-13 | Google Llc | Processing of machine learning modeling data to improve accuracy of categorization |
IL283674B2 (en) | 2021-06-03 | 2024-09-01 | Google Llc | Distribution and monitoring of cross-disciplinary experimental groups to maintain privacy |
CN113779500B (zh) * | 2021-08-23 | 2024-01-30 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
CN114564742B (zh) * | 2022-02-18 | 2024-05-14 | 北京交通大学 | 一种基于哈希学习的轻量化联邦推荐方法 |
CN114817999B (zh) * | 2022-06-28 | 2022-09-02 | 北京金睛云华科技有限公司 | 一种基于多密钥同态加密的外包隐私保护方法和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1864171A (zh) * | 2003-08-08 | 2006-11-15 | 皇家飞利浦电子股份有限公司 | 处理数据的系统及其方法 |
US20090299996A1 (en) * | 2008-06-03 | 2009-12-03 | Nec Laboratories America, Inc. | Recommender system with fast matrix factorization using infinite dimensions |
US20120030159A1 (en) * | 2010-07-30 | 2012-02-02 | Gravity Research & Development Kft. | Recommender Systems and Methods |
US20130073366A1 (en) * | 2011-09-15 | 2013-03-21 | Stephan HEATH | System and method for tracking, utilizing predicting, and implementing online consumer browsing behavior, buying patterns, social networking communications, advertisements and communications, for online coupons, products, goods & services, auctions, and service providers using geospatial mapping technology, and social networking |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005043808A1 (en) * | 2003-11-03 | 2005-05-12 | Koninklijke Philips Electronics N.V. | Method and device for efficient multiparty multiplication |
US8972742B2 (en) * | 2009-09-04 | 2015-03-03 | Gradiant | System for secure image recognition |
CN102129463A (zh) * | 2011-03-11 | 2011-07-20 | 北京航空航天大学 | 一种融合项目相关性的基于pmf的协同过滤推荐系统 |
CN102129462B (zh) * | 2011-03-11 | 2014-06-18 | 北京航空航天大学 | 一种通过聚合对协同过滤推荐系统进行优化的方法 |
US20140180760A1 (en) * | 2011-03-18 | 2014-06-26 | Telefonica, S.A. | Method for context-aware recommendations based on implicit user feedback |
US8478768B1 (en) * | 2011-12-08 | 2013-07-02 | Palo Alto Research Center Incorporated | Privacy-preserving collaborative filtering |
US8880439B2 (en) * | 2012-02-27 | 2014-11-04 | Xerox Corporation | Robust Bayesian matrix factorization and recommender systems using same |
CN102982107B (zh) * | 2012-11-08 | 2015-09-16 | 北京航空航天大学 | 一种融合用户、项目和上下文属性信息的推荐系统优化方法 |
-
2014
- 2014-05-01 CN CN201480012048.2A patent/CN105009505A/zh active Pending
- 2014-05-01 CN CN201480021770.2A patent/CN105144625A/zh active Pending
- 2014-05-01 JP JP2015561771A patent/JP2016510913A/ja active Pending
- 2014-05-01 JP JP2015561770A patent/JP2016517069A/ja active Pending
- 2014-05-01 CN CN201480012517.0A patent/CN105103487A/zh active Pending
- 2014-05-01 EP EP14731436.3A patent/EP3031165A2/en not_active Withdrawn
- 2014-05-01 JP JP2015561769A patent/JP2016510912A/ja active Pending
- 2014-05-01 KR KR1020157023839A patent/KR20160041028A/ko not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1864171A (zh) * | 2003-08-08 | 2006-11-15 | 皇家飞利浦电子股份有限公司 | 处理数据的系统及其方法 |
US20090299996A1 (en) * | 2008-06-03 | 2009-12-03 | Nec Laboratories America, Inc. | Recommender system with fast matrix factorization using infinite dimensions |
US20120030159A1 (en) * | 2010-07-30 | 2012-02-02 | Gravity Research & Development Kft. | Recommender Systems and Methods |
US20130073366A1 (en) * | 2011-09-15 | 2013-03-21 | Stephan HEATH | System and method for tracking, utilizing predicting, and implementing online consumer browsing behavior, buying patterns, social networking communications, advertisements and communications, for online coupons, products, goods & services, auctions, and service providers using geospatial mapping technology, and social networking |
Non-Patent Citations (1)
Title |
---|
MONI NAOR ET AL: "Oblivious transfer and polynomial evaluation", 《PROCEEDINGS OF THE THIRTY-FIRST ANNUAL ACM SYMPOSIUM ON THE THEORY OF COMPUTING》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109643286A (zh) * | 2016-07-08 | 2019-04-16 | 伊法布雷思公司 | 用于混淆电路设计的系统和方法 |
CN109643286B (zh) * | 2016-07-08 | 2023-12-26 | 伊法布雷思公司 | 用于混淆电路设计的系统和方法 |
CN106548207A (zh) * | 2016-11-03 | 2017-03-29 | 北京图森互联科技有限责任公司 | 一种基于神经网络的图像处理方法及装置 |
CN106548207B (zh) * | 2016-11-03 | 2018-11-30 | 北京图森未来科技有限公司 | 一种基于神经网络的图像处理方法及装置 |
CN107135061A (zh) * | 2017-04-17 | 2017-09-05 | 北京科技大学 | 一种5g通信标准下的分布式隐私保护机器学习方法 |
CN109756442A (zh) * | 2017-11-01 | 2019-05-14 | 清华大学 | 基于混淆电路的数据统计方法、装置以及设备 |
CN109756442B (zh) * | 2017-11-01 | 2020-04-24 | 清华大学 | 基于混淆电路的数据统计方法、装置以及设备 |
CN110209994B (zh) * | 2019-04-25 | 2022-12-23 | 广西师范大学 | 基于同态加密的矩阵分解推荐方法 |
CN110209994A (zh) * | 2019-04-25 | 2019-09-06 | 广西师范大学 | 基于同态加密的矩阵分解推荐方法 |
CN111259260A (zh) * | 2020-03-30 | 2020-06-09 | 九江学院 | 一种基于排序分类的个性化推荐中的隐私保护方法 |
CN111259260B (zh) * | 2020-03-30 | 2023-06-02 | 九江学院 | 一种基于排序分类的个性化推荐中的隐私保护方法 |
CN111857649A (zh) * | 2020-06-22 | 2020-10-30 | 复旦大学 | 一种用于隐私保护机器学习的定点数编码及运算系统 |
CN111857649B (zh) * | 2020-06-22 | 2022-04-12 | 复旦大学 | 一种用于隐私保护机器学习的定点数编码及运算系统 |
CN114450919A (zh) * | 2020-08-14 | 2022-05-06 | 谷歌有限责任公司 | 在线隐私保护技术 |
CN114450919B (zh) * | 2020-08-14 | 2023-12-19 | 谷歌有限责任公司 | 在线隐私保护方法和系统 |
US11968297B2 (en) | 2020-08-14 | 2024-04-23 | Google Llc | Online privacy preserving techniques |
CN113051587A (zh) * | 2021-03-10 | 2021-06-29 | 中国人民大学 | 一种隐私保护智能交易推荐方法、系统和可读介质 |
CN113051587B (zh) * | 2021-03-10 | 2024-02-02 | 中国人民大学 | 一种隐私保护智能交易推荐方法、系统和可读介质 |
US20240259181A1 (en) * | 2021-06-04 | 2024-08-01 | Zama Sas | Computational network conversion for fully homomorphic evaluation |
Also Published As
Publication number | Publication date |
---|---|
JP2016517069A (ja) | 2016-06-09 |
EP3031165A2 (en) | 2016-06-15 |
CN105144625A (zh) | 2015-12-09 |
CN105103487A (zh) | 2015-11-25 |
JP2016510913A (ja) | 2016-04-11 |
KR20160041028A (ko) | 2016-04-15 |
JP2016510912A (ja) | 2016-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105009505A (zh) | 基于矩阵因子分解和岭回归的隐私保护推荐的方法和系统 | |
US20160020904A1 (en) | Method and system for privacy-preserving recommendation based on matrix factorization and ridge regression | |
Perifanis et al. | Federated neural collaborative filtering | |
Byrd et al. | Differentially private secure multi-party computation for federated learning in financial applications | |
Al Badawi et al. | Privft: Private and fast text classification with homomorphic encryption | |
CN112733967B (zh) | 联邦学习的模型训练方法、装置、设备及存储介质 | |
JP6034927B1 (ja) | 秘密計算システム、秘密計算装置、およびプログラム | |
Nikolaenko et al. | Privacy-preserving matrix factorization | |
Casino et al. | An efficient blockchain-based privacy-preserving collaborative filtering architecture | |
CN111081337B (zh) | 一种协同任务预测方法及计算机可读存储介质 | |
CN111666460A (zh) | 基于隐私保护的用户画像生成方法、装置及存储介质 | |
Niu et al. | Secure federated submodel learning | |
Deng et al. | Non-interactive and privacy-preserving neural network learning using functional encryption | |
Shi et al. | Edge-assisted quantum protocol for secure multiparty logical AND its applications | |
CN111931947B (zh) | 一种用于分布式模型训练的训练样本重组方法及系统 | |
Sielaff et al. | Evaluation Framework for the Use of Privacy Preserving Technologies for Production Data | |
Patil et al. | A Survey of Decentralized Digital Voting System Using Blockchain Technology | |
Bao | Privacy-Preserving Cloud-Assisted Data Analytics | |
CN116596656A (zh) | 信用识别模型确定方法、信用识别方法、装置和设备 | |
Wang | Privacy-preserving recommender systems facilitated by the machine learning approach | |
Liu et al. | Secure and Lightweight Feature Selection for Horizontal Federated Learning | |
Deng | PSWS: A Private Support-Weighted Sum Protocol for Blockchain-Based E-Voting Systems | |
Zhu et al. | Decentralized Heterogeneous Federal Distillation Learning Based on Blockchain. | |
CN116976462A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN114638377A (zh) | 基于联邦学习的模型训练方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151028 |