CN112507219B - 一种基于联邦学习增强隐私保护的个性化搜索系统 - Google Patents
一种基于联邦学习增强隐私保护的个性化搜索系统 Download PDFInfo
- Publication number
- CN112507219B CN112507219B CN202011415365.2A CN202011415365A CN112507219B CN 112507219 B CN112507219 B CN 112507219B CN 202011415365 A CN202011415365 A CN 202011415365A CN 112507219 B CN112507219 B CN 112507219B
- Authority
- CN
- China
- Prior art keywords
- model
- personalized
- user
- client
- server
- 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
- 230000002708 enhancing effect Effects 0.000 title claims description 5
- 238000012549 training Methods 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000004891 communication Methods 0.000 claims abstract description 23
- 239000002356 single layer Substances 0.000 claims abstract description 15
- 239000013598 vector Substances 0.000 claims description 83
- 230000008569 process Effects 0.000 claims description 17
- 239000010410 layer Substances 0.000 claims description 15
- 238000012163 sequencing technique Methods 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 9
- 230000006399 behavior Effects 0.000 claims description 7
- 208000035139 partial with pericentral spikes epilepsy Diseases 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 claims 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000009826 distribution Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明通过人工智能领域的方法,实现了一种基于联邦学习增强隐私保护的个性化搜索系统,系统的硬件架构由客户端和服务器构成,并构建基于联邦学习的个性化搜索框架,其中具体训练的底层模型为个性化排序模型,通过联邦学习的方式共同参与个性化排序模型的训练,训练得到的模型部署在各个客户端上,在客户端上发起查询、存储用户的搜索历史H、构建用户画像P,对从服务器返回的非个性化结果进行重排后展示给用户。解决了在利用用户的查询历史挖掘用户兴趣来推断当前的查询意图时,保护用户隐私的问题;并且基于这个框架,设计了两种模型,FedPSFlat和FedPSProxy,解决数据异质性的问题,以及单层FedPSFlat面临的性能瓶颈、通信障碍和隐私攻击的问题。
Description
技术领域
本发明涉及人工智能智能搜索领域,尤其涉及一种基于联邦学习增强隐私保护的个性化搜索系统。
背景技术
个性化搜索主要是基于用户兴趣来调整文档列表,以更好地满足不同用户利用同一个具有歧义的查询所表达的不同的查询意图。现有的相关工作主要包括:基于话题、点击或者其他特征的传统个性化搜索模型和基于深度学习的个性化搜索模型。这些模型需要利用用户的历史查询序列和点击行为等个人信息来推断用户兴趣和具体的查询意图,因此存在泄漏用户隐私的风险。
目前搜索中的隐私保护技术主要考虑隐私的可识别性和可链接性。可识别性是指识别出用户是谁,可链接性指的是通过用户的查询日志和行为推断用户的个人兴趣和其他信息。有些工作利用匿名的用户id、群组用户id或者由每个用户发送其他用户输入的查询等技术来掩盖用户的真实身份信息;有些工作对训练数据进行处理避免训练后的模型包含用户的隐私信息,比如将原始的文本转化成泛化属性和属性值;还有一些工作探究查询混淆技术,伴随用户发出的真实查询生成一些不相关的噪声查询来掩盖用户真实的查询意图以及用户日志中能够反映的用户兴趣。
现有的隐私保护技术都取得了一定的效果,但是他们仍然需要在服务器上收集所有用户的查询日志用于训练个性化搜索模型。根据调查,大多数用户都很担心个人数据被收集、利用或发布。因此,我们最好是能够实现将用户的隐私数据仅保留在个人的客户端设备上。这样的话,在每个客户端上,我们能利用的就只有用户个人的有限的数据,这些数据也不足以训练一个可靠的个性化搜索模型。为了能够利用分布在所有客户端上的大规模用户日志来联合训练一个高质量的个性化模型,我们基于联邦学习设计了一个隐私保护增强的个性化搜索框架。
个性化搜索模型通过分析用户个人的历史查询日志来建立用户画像,再基于用户画像对文档列表进行重排从而为各个用户返回更精确的搜索结果,这就存在用户隐私泄露的危机。现有的隐私保护增强的个性化搜索模型主要通过利用匿名用户id或者群组id来隐藏用户真实的身份标识,或者伴随用户真实发出的查询生成一些噪声查询来混淆用户的查询意图。但是这些模型仍然会将用户的查询日志暴露给中心服务器,他们需要在服务器上收集所有用户的查询日志来训练个性化模型,这依旧存在很大的隐私泄露危机。据调查,大多数用户都不愿意自己的个人数据被收集、利用甚至是发布。因此,我们认为用户个人的隐私数据应该仅仅被保留在客户端本地,而不能上传到服务器端或者在客户端之间共享。然而,仅利用单个用户的个人数据不足以训练一个可靠的个性化搜索模型。为了在不暴露用户个人数据的前提下利用分布在各个客户端上的数据共同训练一个高质量的个性化搜索模型,我们提出了一个基于联邦学习增强隐私保护的个性化搜索框架。通过这个框架,我们可以利用所有用户的知识来共同训练模型而不需要收集和交换用户查询日志,增强了隐私保护。
发明内容
为此,本发明提出了一种基于联邦学习增强隐私保护的个性化搜索系统。系统的硬件架构由客户端和服务器构成,并构建基于联邦学习的个性化搜索框架,其中具体训练的底层模型为个性化排序模型,各个客户端以及客户端上存储的数据通过联邦学习的方式共同参与个性化排序模型的训练,训练得到的模型部署在各个客户端上,在客户端上用户发起查询、存储用户的搜索历史H、构建用户画像P,部署在客户端上的个性化排序模型对从服务器返回的非个性化结果进行重排后展示给用户;
通过所述服务器协调模型的训练并将聚合后的模型发送至客户端更新;
所述个性化搜索系统为采用神经网络的手段,结合联邦学习方法设计的单层隐私保护增强的个性化搜索框架,具体地,对于用户在客户端发起的查询,客户端将查询以及几个随机生成的噪声查询一起提交给搜索引擎以获得候选文档列表;然后配置在客户端本地的个性化排序模型调整真实查询所对应的文档列表并将个性化后的搜索结果返回给用户,在用户对结果做出搜索反馈后,输入的真实查询、非个性化和个性化的文档列表以及用户的点击行为被记录在客户端本地的查询日志中;
所述单层隐私保护增强的个性化搜索框架的训练过程通过多个客户端合作,对于每个客户端上储存的日志数据,服务器端设置一个随机初始化的个性化排序模型,所有的N个客户端开始与服务器进行通信来联合训练模型,一共训练R轮,在每一轮中确保每个客户端都有且只更新一次模型,在步内完成在所有客户端上的模型更新,第t步模型更新的操作如下:第一,服务器采样K个客户端并将当前最新的个性化排序模型Mt发送给它们;第二,每个被采样的客户端接收服务器发送的最新模型Mt,并利用基于本地日志数据H构建的训练样本D和用户画像P来更新模型,一共更新E轮,采用Mini-batchSGD算法,然后,所有被采样的客户端将个性化排序模型的参数更新发送会服务器,日志数据和用户画像始终保存在本地。第三,服务器聚合所有客户端发送回来的参数更新,然后利用聚合数据更新当前模型Mt得到Mt+1,即其中nj=|D|;训练的过程中,采用同步的方式训练模型,每一步都要等所有采样客户端返回参数更新,并设定一个最大响应时间,忽略在最大响应时间内没有反馈的客户端;所有客户端依次基于上一个客户端更新训练模型。
所述更新训练模型可以采用在线更新方法或降低通信成本的更新方法。
所述在线更新方法为:当客户端产生了足够多的新数据就像服务器发出更新模型的申请,客户端利用新数据更新当前的模型并将参数更新上传到服务器,在服务器收到来自K个客户端的参数更新之后,聚合所有更新得到新的模型并将新模型分发给所有客户端。
所述降低通信成本的更新方法为:设置一个固定的时间间隔来更新模型,在这个时间阶段内,所有客户端使用上一个阶段训练的模型,不进行更新,阶段结束后,由服务器发起联合重新训练个性化排序模型的任务,基于所有客户端上现有的数据训练R轮,模型重新训练完成后,服务器将新的模型发送给所有客户端供下个阶段的使用;或者在每个阶段结束后只使用新产生的数据来增量更新上个阶段训练好的模型。
所述用户画像采用一个带有用户个人模块的个性化搜索模型,具体地,采用PEPS作为底层个性化搜索模型,包括为每个用户设置的个人词向量模块和匹配排序模块,并采用所述单层隐私保护增强的个性化搜索框架的训练过程训练所述个性化搜索模型。
所述词向量层设置一个全局词向量矩阵和用户个人的词向量矩阵,全局词向量是共享的,基于所有用户的查询日志进行更新;个人词向量是用户个人的,仅基于用户的数据更新,作为用户兴趣画像,使用所有的文档集合或者维基百科的语料集来训练word2vec模型初始化全局词向量,使用全局的word2vec更新用户的个人词向量,或者使用基于用户个人日志训练的word2vec模型。
所述匹配排序模块接收经过词向量层的数据,将查询和文档映射成向量,包括五种不同方面的向量表示,个性化词向量PWq,PWd、全局词向量GWq,GWd、个性化上下文向量PCWq,PCWd、全局上下文向量GCWq,GCWd、个性化查询向量PQq,上下文向量是由词向量经过多头注意力机制处理得到,利用上下文之间的交互来为查询关键词消除歧义,得到这些表示向量之后,计算候选文档的个性化得分并对其进行排序,对于四种词向量,使用匹配模型KNRM计算交互式匹配得分FPW,FPCW,FGW,FGCW,对于个性化查询词向量,计算它与文档之间的余弦相似度FPQ,抽取点击和话题特征,通过MLP层计算相关性得分Fr,最终,所有以上六个得分通过MLP层进行组合得到文档的个性化得分:
F(q,d)=MLP(FPW,FPCW,FGW,FGCW,FPQ,Fr),并使用基于文档对的LambdaRank算法来训练模型。
在上述系统中,将系统的硬件架构中所述服务器改为中央服务器和代理服务器,在所述客户端上发起查询、存储用户的搜索历史H、构建用户画像P,同时设置转移计算任务机制,将通信或计算能力有限的客户端的查询日志、用户画像和个性化排序模型任务转移到对应的代理服务器上进行,并将所述单层隐私保护增强的个性化搜索框架改为分层隐私保护增强的个性化搜索框架构建个性化排序模型,利用所述搜索历史、所述用户画像以及搜索内容,通过所述个性化排序模型将客户端、服务器的功能关联生成个性化搜索结果;
所述分层隐私保护增强的个性化搜索框架构建个性化排序模型中,中央服务器与代理服务器通信,当所述中央服务器需要将当前最新的模型发送给客户端或者接受客户端的参数更新时,与代理服务器进行通信,代理服务器再与各自范围内的客户端进行通信和数据交换;所述客户端发起的查询机制中,所述将查询以及几个随机生成的噪声查询一起提交给搜索引擎以获得候选文档列表的机制修改为通过将同一个代理服务器下的客户端都通过这个代理将查询上传到中央服务器直接隐藏单个用户;
所述更新训练模型方法修改为当所述客户端将参数更新上传到服务器时,先将更新发送给对应的代理服务器,代理服务器对收到的参数更新进行聚合之后再上传到中央服务器。
本发明所要实现的技术效果在于:
本发明设计了一种隐私保护增强的个性化搜索框架FedPS,实现了在利用用户的查询历史挖掘用户兴趣来推断当前的查询意图时,保护用户隐私的效果;并且基于这个框架,设计了两种模型,FedPSFlat和FedPSProxy。单层的FedPSFlat模型解决数据了异质性的问题。分层的FedPSProxy模型通过引入代理服务器将单层的FedPSFlat模型改进为分层结构,解决了单层FedPSFlat面临的性能瓶颈、通信障碍和隐私攻击的问题。
附图说明
图1FedPS框架图;
图2PEPS模型结构图;
图3分层结构FedPSProxy模型;
具体实施方式
以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于此实施例。
在个性化搜索中,我们首先分析用户的历史查询日志来构建用户兴趣画像,然后个性化排序模型基于用户画像为用户生成准确的搜索结果列表。这个过程主要涉及到用户的原始搜索日志、用户兴趣画像、个性化排序模型和一些共享的辅助数据(比如词频、词向量等)。我们仔细地分析各部分数据包含的内容和用户隐私,如下:
用户的原始搜索日志,包括整个查询过程中用户输入的所有查询、浏览的文档列表和点击行为。查询日志是个性化搜索中最隐私的数据,研究表明有些用户的信息,比如姓名、居住地以及兴趣爱好等,可以通过分析用户发出的查询得到。
基于搜索日志构建的用户画像。大多数个性化搜索模型都会构建不同形式的用户画像来表示用户兴趣。典型的用户画像包括话题、点击分布,用户查询序列的表示向量以及个人词向量等。用户画像通常是基于用户行为得到的聚合性表示向量,所以包含的隐私信息要少于原始的查询日志,但是仍然是隐私数据。
个性化排序模型,基于当前查询和用户画像计算候选文档的个性化得分并排序。模型的参数主要反映了以抽取的特征或者表示向量作为输入时的个性化排序策略。因此,模型包含很少的用户隐私。
其他帮助文档排序的辅助数据,比如共享的词向量等。这些数据与用户隐私的关联在不同的模型中不同,取决于具体的模型。
根据以上的分析,用户的原始查询日志包含最多用户隐私,其次则是用户画像。为了避免泄露用户隐私,我们不能在服务器上收集查询日志或者构建用户画像。目前,大多数用户都是通过自己的客户端设备来访问搜索引擎,这些设备具有一定的计算、存储和通信能力,表示为{C1,C2,…,CN}.因此,我们在用户各自的客户端上存储用户的搜索历史H、构建用户画像P并且生成个性化搜索结果。为了训练个性化排序模型,对用户隐私而言最安全的方法是在客户端上基于本地数据训练一个个人的模型。然而,训练一个可靠的神经网络模型通常依赖于大量的样本,仅单个用户的数据是不够的。因此,我们考虑将联邦学习的方法应用到个性化搜索上,实现利用分布在所有客户端上数据来共同训练一个高质量的个性化模型。
本发明提出了一种基于联邦学习增强隐私保护的个性化搜索系统,系统的硬件架构由客户端和服务器构成,并构建基于联邦学习的个性化搜索框架,其中具体训练的底层模型为个性化排序模型,通过联邦学习的方式共同参与个性化排序模型的训练,训练得到的模型部署在各个客户端上,在客户端上发起查询、存储用户的搜索历史H、构建用户画像P,对从服务器返回的非个性化结果进行重排后展示给用户。
隐私保护增强的个性化搜索框架——FedPS
我们设计的隐私保护框架名为FedPS,整体结构如图1所示。使用过程描述如下:用户在自己的客户端上输入一个查询;客户端将此查询以及几个随机生成的噪声查询一起提交给搜索引擎以获得候选文档列表;然后配置在客户端本地的个性化排序模型调整真实查询所对应的文档列表并将个性化后的搜索结果返回给用户。在用户对结果做出搜索反馈后,输入的真实查询、非个性化和个性化的文档列表以及用户的点击行为被记录在客户端本地的查询日志中。在整个搜索过程中,用户的查询日志都只保存在客户端上。
我们采用查询混淆的方法将用户输入的真实查询隐藏在一系列随机产生的噪声查询中,干扰在服务器端所观察到的用户的查询意图。我们首先基于话题模型推断用户当前真实的查询意图,然后从其他不相关的话题中生成若干个噪声查询。现有的工作会将噪声查询也一同记录在服务器端收集的用户日志中,这样会扭曲用户画像并且对个性化的结果产生影响,而我们只是在客户端向服务器提交真实查询时加入噪声查询。在所有查询的搜索结果返回客户端后,我们只会将真实查询记录在本地的查询日志中。因此,在我们的FedPS框架下,用户画像不会被噪声查询影响。
所有客户端合作起来训练个性化排序模型,中央服务器负责控制整个协作过程。我们基于FedAvg算法来优化个性化排序模型,FedAvg是最常用的联邦优化算法之一。我们假设在每个客户端上都储存了一些日志数据,服务器端有一个随机初始化的个性化排序模型,这可以是任意基于学习的个性化模型。此时,所有的N个客户端开始与服务器进行通信来联合训练模型,一共训练R轮。在每一轮中,我们确保每个客户端都有且只更新一次模型,在步内完成在所有客户端上的模型更新。第t步模型更新的操作如下:第一,服务器采样K个客户端并将当前最新的个性化排序模型Mt发送给它们;第二,每个被采样的客户端接收服务器发送的最新模型Mt,并利用基于本地日志数据H构建的训练样本D和用户画像P来更新模型,一共更新E轮,采用Mini-batchSGD算法。然后,所有被采样的客户端将个性化排序模型的参数更新发送会服务器,日志数据和用户画像始终保存在本地。第三,服务器聚合所有客户端发送回来的参数更新,然后利用聚合数据更新当前模型Mt得到Mt+1。整个联邦训练过程描述在算法1中。我们发现当算法中的参数K=1时,上述联邦训练算法退化成一种流式训练算法。所有客户端依次基于上一个客户端更新训练模型。由于每次模型都只基于一个客户端的数据更新,那么模型的参数更新可能会将该用户的数据特征和个人隐私暴露给后面的用户。因此,我们不考虑设置K=1,建议在每一步中选择多于一个客户端。
完成利用客户端上已有的日志数据训练模型之后,服务器将最新训练好的个性化排序模型发送给所有的客户端以供后续使用。用户将会持续地在自己的客户端设备上进行搜索并产生新的查询日志。我们可以利用这些新的数据进一步更新个性化排序模型。前面描述到客户端上记录了非个性化和个性化的搜索结果列表,为了避免个性化模型的后期更新训练受到前期个性化结果的影响,我们始终使用非个性化的返回结果来训练模型。
我们考虑了两种更新模型的方式。第一种是在线更新模型,如果客户端产生了足够多的新数据就向服务器发出更新模型的申请。客户端利用新数据更新当前的模型并将参数更新上传到服务器。在服务器收到来自K个客户端的参数更新之后,它聚合所有更新得到新的模型并将新模型分发给所有客户端。然而,客户端的数目非常庞大,如果每个客户端上一旦有足够的新数据产生就与服务器进行通信更新模型,需要很高的通信成本,而且频繁更新也会导致模型表现不稳定。此外,使用搜索引擎的频率和新产生的数据量在用户之间的分布也非常不平衡。部分用户频繁地输入新的查询并且基于新数据更新模型会导致模型偏向这些用户从而在整体用户上的表现变差。因此,除了第一种更新方法,我们提出了一种更可行的方法,可以降低通信成本,同时使模型的表现更稳定。我们设置了一个固定的时间间隔来更新模型,比如一周。在这个时间阶段内,所有客户端使用上一个阶段训练的模型,不进行更新。阶段结束后,由服务器发起联合重新训练个性化排序模型的任务,基于所有客户端上现有的数据训练R轮,过程同算法1。模型重新训练完成后,服务器将新的模型发送给所有客户端供下个阶段的使用。为了加快更新过程并节省计算资源,我们也可以选择在每个阶段结束后只使用新产生的数据来增量更新上个阶段训练好的模型。
在模型联邦训练的过程中,可能一些客户端的通信条件有限或不可靠,因为移动设备有时会离线或者通信环境不好。FedPS模型采用同步的方式训练模型,每一步都要等所有采样客户端返回参数更新。为了防止服务器花费太多时间等待某些通信受限的客户端,我们设定一个最大响应时间,忽略那些在最大响应时间内没有反馈的客户端。
基于FedPS框架,我们实现了两种具体的模型,可以解决联邦学习面临的一些挑战,比如数据异质性和通信效率。下面分别介绍这两种模型。
FedPSFlat:单层的FedPS
在这种实现中,我们特别采用了一个带有用户个人模块的个性化搜索模型以解决联邦学习中的数据异质性问题。
个性化搜索模型
搜索过程中,不同用户在同一个查询下可能会点击不同的文档。因此,所有用户的整体日志数据肯定遵循非独立同分布,这也是在标准联邦学习中为所有用户训练唯一一个全局共享模型所面临的一个关键问题。多任务学习框架已经被用于解决这种数据异质性的问题,它将每个客户端上的模型训练看做一个子任务。目前先进的个性化搜索模型PEPS为每个用户设置了一个个人词向量模块,其中的词向量仅依靠用户个人的数据进行训练,包含用户感兴趣的词义信息。因此,这个个人词向量模块能够适应于用户个人的数据分布,有助于解决整体日志的数据异质性问题。我们采用PEPS作为这种实现方法中的底层个性化搜索模型,模型结构如图2所示,简单介绍如下。
词向量层:这一层中设置了一个全局词向量矩阵和用户个人的词向量矩阵。全局词向量是共享的,基于所有用户的查询日志进行更新;个人词向量是用户个人的,仅基于用户的数据更新,作为用户兴趣画像。由于我们不在个性化搜索模型上收集查询日志,我们考虑使用所有的文档集合或者维基百科的语料集来训练word2vec模型初始化全局词向量。至于用户的个人词向量,我们使用全局的word2vec进行初始化,或者使用基于用户个人日志训练的word2vec模型。
匹配和排序:经过词向量层,我们可以将查询和文档映射成向量。一共包括五种不同方面的向量表示,个性化词向量PWq,PWd、全局词向量GWq,GWd、个性化上下文向量PCWq,PCWd、全局上下文向量GCWq,GCWd、个性化查询向量PQq。上下文向量是由词向量经过多头注意力机制处理得到,利用上下文之间的交互来为查询关键词消除歧义。
得到这些表示向量之后,我们计算候选文档的个性化得分并对其进行排序。对于四种词向量,我们使用匹配模型KNRM计算交互式匹配得分FPW,FPCW,FGW,FGCW。对于个性化查询词向量,我们计算它与文档之间的余弦相似度FPQ。除此之外,我们还抽取了一系列点击和话题特征,通过MLP层计算相关性得分Fr。最终,所有以上六个得分通过MLP层进行组合得到文档的个性化得分:
F(q,d)=MLP(FPW,FPCW,FGW,FGCW,FPQ,Fr).
我们使用基于文档对的LambdaRank算法来训练模型。
总的来说,PEPS模型的所有参数可以分为个人词向量、全局词向量和排序模块的参数。根据前面对各部分数据所包含隐私的分析,个人词向量作为用户兴趣画像,包含最丰富的的用户隐私,因此我们将这部分参数保留在客户端上。全局词向量是所有用户共享的模块,其参数更新可能会反映用户日志语料的分布情况。因此,是否以及如何上传全局词向量取决于隐私保护的强度要求。个性化排序模型包含最少的用户隐私,这部分参数可以上传到服务器。
模型训练
我们根据算法1来训练PEPS模型。个性化词向量使用用户个人数据更新,在本地保存和使用。全局词向量和个性化排序模型的参数更新会上传到服务器进行聚合。尽管全局词向量包含了大量的参数,我们只上传更新的部分,一般只涉及到少量的词汇,不会造成太大的通信负担。
FedPSProxy:基于Proxy的分层FedPS
在FedPSFlat模型中,所有客户端与唯一的中央服务器进行通信来共同训练个性化排序模型。这样的设置解决了由在服务器上收集用户隐私数据而带来的隐私危机,但是仍然存在一些问题:(1)唯一的中央服务器可能会成为模型训练过程中的性能瓶颈。在实际应用中,客户端的数量是非常庞大的,可能是百万或者千万级别的。与所有客户端进行通信并交换数据会花费服务器大量的时间和计算资源,而且一旦服务器故障就会对整个训练过程造成很大影响。(2)存在隐私攻击的潜在风险。在客户端利用本地数据更新模型之后,参数更新能够反映用户数据的某些信息。直接将这些更新上传到服务器可能会给恶意的服务器或者攻击者提供隐私攻击的机会。因此,我们有必要隐藏参数更新中包含的用户隐私,或者打破具体用户和参数更新之间的对应关系。目前已经有若干保护技术用于应对联邦学习中的攻击了,主要包括Multi-Party Computation(MPC)、Homomorphic Encryption(HE)和Differential Privacy(DP)。但是加密技术会增加通信和计算成本,差分隐私技术会影响模型精度,都需要对隐私保护、模型精度和计算成本进行权衡。(3)一些通信或计算能力有限的设备可能会使整个训练过程变慢。在介绍FedPS框架时,我们描述设置了一个最大响应时间并且忽视那些响应时间内没有反馈的客户端,但是这样也会丢失客户端上的训练数据从而影响模型表现。
我们尝试通过引入代理服务器来解决以上描述的问题,将单层的FedPS模型提升成分层结构FedPSProxy,图3展示了一个两层的模型,我们也可以根据用户数量和隐私强度的要求搭建更多层的结构。我们假设代理服务器是可信的,而且通信和计算能力都比客户端更强。我们可以以工作机构为单位来设置代理服务器,或者为一个居住区域内的用户设置一个代理服务器,用户也可以自行选择通过某个代理来访问互联网。在这个分层模型中,服务器和客户端的操作都有相应的改变,具体的改变和能够带来的好处如下:
与客户端通信:在FedPSProxy模型中,中央服务器不能直接与客户端联系而是代理,代理的数量相比客户端而言要少得多。当服务器需要将当前最新的模型发送给客户端或者接受客户端的参数更新时,它与代理服务器进行通信,然后代理服务器再与各自范围内的客户端进行通信和数据交换。这样就解决了中央服务器的通信瓶颈问题。同时若干个代理服务器还能并行地进行工作,提高了联邦模型训练的效率。
上传模型更新:当客户端将参数更新上传到服务器时,它先将更新发送给对应的代理,代理服务器对收到的参数更新进行聚合之后再上传到服务器。这样的话就打破了服务器端参数更新和具体用户之间的联系,避免了用户隐私的泄露。举个例子,单个用户对于全局词向量的更新可以用于推断用户查询日志中出现的高频词,但是多个用户的聚合词向量就很难暴露单个用户的数据信息了。
提交用户发出的查询:前面描述到当客户端将用户发出的查询提交给服务器时,我们应用查询混淆技术生成若干个噪声查询来掩盖用户真实的查询意图。在FedPSProxy模型中,同一个代理服务器下的客户端都需要通过这个代理将查询上传到服务器,这样就可以将单个用户隐藏在一群用户中,保护了用户隐私。而且,也没有必要上传噪声数据了,提高了服务器的响应速度并节省了带宽。
转移计算任务:我们假设代理服务器是可信的而且计算能力比客户端更强,因此那些通信或计算能力有限的客户端可以将模型训练的任务(包括查询日志、用户画像和个性化排序模型)转移到对应的代理服务器上进行。这个方法可以解决由于客户端通信障碍造成的训练延迟和数据损失,使得联邦模型训练更可行和高效。而且这个方法也为那些能力有限的客户端缓解了通信和更新模型的负担。
总的来说,FedPSProxy模型有效地解决了单层模型中的性能瓶颈、通信受限以及隐私攻击等问题。
Claims (7)
1.一种基于联邦学习增强隐私保护的个性化搜索系统,其特征在于:系统的硬件架构由客户端和服务器构成,并构建基于联邦学习的个性化搜索框架,其中具体训练的底层模型为个性化排序模型,各个客户端以及客户端上存储的数据通过联邦学习的方式共同参与个性化排序模型的训练,训练得到的模型部署在各个客户端上,在客户端上用户发起查询、存储用户的搜索历史H、构建用户画像P,部署在客户端上的个性化排序模型对从服务器返回的非个性化结果进行重排后展示给用户;
通过所述服务器协调模型的训练并将聚合后的模型发送至客户端更新;
所述个性化搜索系统为采用神经网络的手段,结合联邦学习方法设计的单层隐私保护增强的个性化搜索框架,具体地,对于用户在客户端发起的查询,客户端将查询以及几个随机生成的噪声查询一起提交给搜索引擎以获得候选文档列表;然后配置在客户端本地的个性化排序模型调整真实查询所对应的文档列表并将个性化后的搜索结果返回给用户,在用户对结果做出搜索反馈后,输入的真实查询、非个性化和个性化的文档列表以及用户的点击行为被记录在客户端本地的查询日志中;
所述单层隐私保护增强的个性化搜索框架的训练过程通过多个客户端合作,对于每个客户端上储存的日志数据,服务器端设置一个随机初始化的个性化排序模型,所有的N个客户端开始与服务器进行通信来联合训练模型,一共训练R轮,在每一轮中确保每个客户端都有且只更新一次模型,在步内完成在所有客户端上的模型更新,第t步模型更新的操作如下:第一,服务器采样K个客户端并将当前最新的个性化排序模型Mt发送给它们;第二,每个被采样的客户端接收服务器发送的最新模型Mt,并利用基于本地日志数据H构建的训练样本D和用户画像P来更新模型,一共更新E轮,采用Mini-batchSGD算法,然后,所有被采样的客户端将个性化排序模型的参数更新发送会服务器,日志数据和用户画像始终保存在本地。第三,服务器聚合所有客户端发送回来的参数更新,然后利用聚合数据更新当前模型Mt得到Mt+1,即其中nj=|D|;训练的过程中,采用同步的方式训练模型,每一步都要等所有采样客户端返回参数更新,并设定一个最大响应时间,忽略在最大响应时间内没有反馈的客户端;所有客户端依次基于上一个客户端更新训练模型。
所述更新训练模型采用在线更新方法或降低通信成本的更新方法。
2.如权利要求1所述的一种基于联邦学习增强隐私保护的个性化搜索系统,其特征在于:所述在线更新方法为:当客户端产生了足够多的新数据就向服务器发出更新模型的申请,客户端利用新数据更新当前的模型并将参数更新上传到服务器,在服务器收到来自K个客户端的参数更新之后,聚合所有更新得到新的模型并将新模型分发给所有客户端。
3.如权利要求2所述的一种基于联邦学习增强隐私保护的个性化搜索系统,其特征在于:所述降低通信成本的更新方法为:设置一个固定的时间间隔来更新模型,在这个时间阶段内,所有客户端使用上一个阶段训练的模型,不进行更新,阶段结束后,由服务器发起联合重新训练个性化排序模型的任务,基于所有客户端上现有的数据训练R轮,模型重新训练完成后,服务器将新的模型发送给所有客户端供下个阶段的使用;或者在每个阶段结束后只使用新产生的数据来增量更新上个阶段训练好的模型。
4.如权利要求3所述的一种基于联邦学习增强隐私保护的个性化搜索系统,其特征在于:所述用户画像采用一个带有用户个人模块的个性化搜索模型,具体地,采用PEPS作为底层个性化搜索模型,包括为每个用户设置的个人词向量模块和匹配排序模块,并采用所述单层隐私保护增强的个性化搜索框架的训练方法训练所述个性化搜索模型。
5.如权利要求4所述的一种基于联邦学习增强隐私保护的个性化搜索系统,其特征在于:所述词向量层设置一个全局词向量矩阵和用户个人的词向量矩阵,全局词向量是共享的,基于所有用户的查询日志进行更新;个人词向量是用户个人的,仅基于用户的数据更新,作为用户兴趣画像,使用所有的文档集合或者维基百科的语料集来训练word2vec模型初始化全局词向量,使用全局的word2vec初始化用户的个人词向量,或者使用基于用户个人日志训练的word2vec模型。
6.如权利要求5所述的一种基于联邦学习增强隐私保护的个性化搜索系统,其特征在于:所述匹配排序模块接收经过词向量层的数据,将查询和文档映射成向量,包括五种不同方面的向量表示,个性化词向量PCWq,PWd、全局词向量GWq,GWd、个性化上下文向量PCWq,PCWd、全局上下文向量GCWq,GCWd、个性化查询向量PQq,上下文向量是由词向量经过多头注意力机制处理得到,利用上下文之间的交互来为查询关键词消除歧义,得到这些表示向量之后,计算候选文档的个性化得分并对其进行排序,对于四种词向量,使用匹配模型KNRM计算交互式匹配得分FPW,FPCW,FGW,FGCW,对于个性化查询词向量,计算它与文档之间的余弦相似度FPQ,抽取点击和话题特征并通过MLP层计算相关性得分Fr,最终,所有以上六个得分通过MLP层进行组合得到文档的个性化得分:
F(q,d)=MLP(FPW,FPCW,FGW,FGCW,FPQ,Fr),并使用基于文档对的LambdaRank算法来训练模型。
7.如权利要求1或6所述的一种基于联邦学习增强隐私保护的个性化搜索系统,其特征在于:在上述系统中,将系统的硬件架构中所述服务器改为中央服务器和代理服务器,在所述客户端上发起查询、存储用户的搜索历史H、构建用户画像P,同时设置转移计算任务机制,将通信或计算能力有限的客户端的查询日志、用户画像和个性化排序模型任务转移到对应的代理服务器上进行,并将所述单层隐私保护增强的个性化搜索模型改为分层隐私保护增强的个性化搜索模型训练个性化排序模型,利用所述搜索历史、所述用户画像以及搜索内容,通过所述个性化排序模型将客户端、服务器的功能关联生成个性化搜索结果;
所述分层隐私保护增强的个性化搜索框架在训练个性化排序模型时,中央服务器与代理服务器通信,当所述中央服务器需要将当前最新的模型发送给客户端或者接收客户端的参数更新时,与代理服务器进行通信,代理服务器再与各自范围内的客户端进行通信和数据交换;所述客户端发起的查询机制中,所述将查询以及几个随机生成的噪声查询一起提交给搜索引擎以获得候选文档列表的机制修改为通过同一个代理服务器下的客户端都通过这个代理将查询上传到中央服务器从而直接隐藏单个用户;
所述更新模型参数方法修改为当所述客户端将参数更新上传到服务器时,先将更新发送给对应的代理服务器,代理服务器对收到的参数更新进行聚合之后再上传到中央服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011415365.2A CN112507219B (zh) | 2020-12-07 | 2020-12-07 | 一种基于联邦学习增强隐私保护的个性化搜索系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011415365.2A CN112507219B (zh) | 2020-12-07 | 2020-12-07 | 一种基于联邦学习增强隐私保护的个性化搜索系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112507219A CN112507219A (zh) | 2021-03-16 |
CN112507219B true CN112507219B (zh) | 2023-06-02 |
Family
ID=74970689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011415365.2A Active CN112507219B (zh) | 2020-12-07 | 2020-12-07 | 一种基于联邦学习增强隐私保护的个性化搜索系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112507219B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949760B (zh) * | 2021-03-30 | 2024-05-10 | 平安科技(深圳)有限公司 | 基于联邦学习的模型精度控制方法、装置及存储介质 |
CN113298191B (zh) * | 2021-04-01 | 2022-09-06 | 山东大学 | 基于个性化半监督在线联邦学习的用户行为识别方法 |
CN113255002B (zh) * | 2021-06-09 | 2022-07-15 | 北京航空航天大学 | 一种保护多方隐私的联邦k近邻查询方法 |
CN113254933A (zh) * | 2021-06-24 | 2021-08-13 | 福建省海峡信息技术有限公司 | 基于深度学习排序模型的用户行为数据审计方法及系统 |
CN113554181B (zh) * | 2021-07-07 | 2023-06-23 | 南京信息工程大学 | 一种基于批增量方式的联邦学习训练方法 |
CN113378243B (zh) * | 2021-07-14 | 2023-09-29 | 南京信息工程大学 | 一种基于多头注意力机制的个性化联邦学习方法 |
CN113642738B (zh) * | 2021-08-12 | 2023-09-01 | 上海大学 | 基于层次式网络结构的多方安全协作机器学习方法及系统 |
CN113761748B (zh) * | 2021-09-09 | 2023-09-15 | 中国矿业大学 | 一种基于联邦增量随机配置网络的工业过程软测量方法 |
CN114428907B (zh) * | 2022-01-27 | 2024-05-28 | 北京百度网讯科技有限公司 | 信息搜索方法、装置、电子设备及存储介质 |
CN114564749B (zh) * | 2022-03-04 | 2022-12-23 | 厦门熙重电子科技有限公司 | 一种针对智慧云服务的用户信息保护方法及服务器 |
CN114595396B (zh) * | 2022-05-07 | 2022-10-11 | 浙江大学 | 一种基于联邦学习的序列推荐方法和系统 |
US12099533B2 (en) * | 2022-09-23 | 2024-09-24 | International Business Machines Corporation | Searching a data source using embeddings of a vector space |
CN116246749B (zh) * | 2023-05-11 | 2023-07-21 | 西南医科大学附属医院 | 集成电子病历的内分泌病人个性化健康管理系统 |
CN117196014B (zh) * | 2023-09-18 | 2024-05-10 | 深圳大学 | 基于联邦学习的模型训练方法、装置、计算机设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241407A (zh) * | 2020-01-21 | 2020-06-05 | 中国人民大学 | 一种基于强化学习的个性化搜索方法 |
CN111324813A (zh) * | 2020-02-20 | 2020-06-23 | 深圳前海微众银行股份有限公司 | 推荐方法、装置、设备及计算机可读存储介质 |
CN111860832A (zh) * | 2020-07-01 | 2020-10-30 | 广州大学 | 一种基于联邦学习的增强神经网络防御能力的方法 |
-
2020
- 2020-12-07 CN CN202011415365.2A patent/CN112507219B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241407A (zh) * | 2020-01-21 | 2020-06-05 | 中国人民大学 | 一种基于强化学习的个性化搜索方法 |
CN111324813A (zh) * | 2020-02-20 | 2020-06-23 | 深圳前海微众银行股份有限公司 | 推荐方法、装置、设备及计算机可读存储介质 |
CN111860832A (zh) * | 2020-07-01 | 2020-10-30 | 广州大学 | 一种基于联邦学习的增强神经网络防御能力的方法 |
Non-Patent Citations (2)
Title |
---|
Jing Yao 等.FedPS: A Privacy Protection Enhanced Personalized Search Framework.《WWW '21: Proceedings of the Web Conference 2021》.2021,3757-3766. * |
基于递归神经网络与注意力机制的动态个性化搜索算法;周雨佳;窦志成;葛松玮;文继荣;;计算机学报(05);812-826 * |
Also Published As
Publication number | Publication date |
---|---|
CN112507219A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112507219B (zh) | 一种基于联邦学习增强隐私保护的个性化搜索系统 | |
CN111931062B (zh) | 一种信息推荐模型的训练方法和相关装置 | |
Liu et al. | Adaptive privacy-preserving federated learning | |
US10108817B2 (en) | Privacy-preserving cookies for personalization without user tracking | |
Luo et al. | Personalized federated recommendation via joint representation learning, user clustering, and model adaptation | |
CN112182154B (zh) | 一种利用个人词向量消除关键词歧义的个性化搜索模型 | |
CN111241407A (zh) | 一种基于强化学习的个性化搜索方法 | |
Liu et al. | A systematic literature review on federated learning: From a model quality perspective | |
Yao et al. | Fedps: A privacy protection enhanced personalized search framework | |
Uddin et al. | Federated learning via disentangled information bottleneck | |
Chitraa et al. | An enhanced clustering technique for web usage mining | |
CN114417124B (zh) | 一种多任务强化学习推荐方法 | |
RU2744028C2 (ru) | Способ и система для хранения множества документов | |
CN115131058A (zh) | 账号识别方法、装置、设备及存储介质 | |
Firdaus et al. | Personalized federated learning for heterogeneous data: A distributed edge clustering approach | |
Chen et al. | Resource-aware knowledge distillation for federated learning | |
Chaudhary et al. | Federated continual learning for text classification via selective inter-client transfer | |
Huang et al. | Research on library recommendation reading service system based on adaptive algorithm | |
Özmutlu et al. | Neural network applications for automatic new topic identification on excite web search engine data logs | |
CN109783471A (zh) | 企业画像小程序化方法、装置、计算机设备及存储介质 | |
Zhang et al. | FedPJF: federated contrastive learning for privacy-preserving person-job fit | |
CN110598127B (zh) | 一种群组推荐方法及装置 | |
Zhou et al. | Graph convolutional network with STC attention and adaptive normalization for skeleton-based action recognition | |
Ansari et al. | A comparative study of mining web usage patterns using variants of k-means clustering algorithm | |
Sha et al. | Feature map transfer: Vertical federated learning for cnn models |
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 |