CN111081337A - 一种协同任务预测方法及计算机可读存储介质 - Google Patents
一种协同任务预测方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111081337A CN111081337A CN202010207389.2A CN202010207389A CN111081337A CN 111081337 A CN111081337 A CN 111081337A CN 202010207389 A CN202010207389 A CN 202010207389A CN 111081337 A CN111081337 A CN 111081337A
- Authority
- CN
- China
- Prior art keywords
- sub
- model
- terminal
- server
- identity information
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000003993 interaction Effects 0.000 claims abstract description 41
- 230000010354 integration Effects 0.000 claims description 41
- 238000012549 training Methods 0.000 claims description 14
- 230000015654 memory Effects 0.000 description 39
- 230000008569 process Effects 0.000 description 28
- 238000013473 artificial intelligence Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 238000010276 construction Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 10
- 238000003745 diagnosis Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 210000004072 lung Anatomy 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/30—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/70—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Public Health (AREA)
- Data Mining & Analysis (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Pathology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种协同任务预测方法及计算机可读存储介质;该方法包括:接收多个终端发送的样本身份信息,基于样本身份信息,通过与多个终端进行中间结果交互所得到的子纵向模型,构造出纵向模型;接收多个终端发送的多个子横向模型,并对多个子横向模型进行整合,得到横向模型;对纵向模型和横向模型进行整合,得到任务预测模型,并将任务预测模型发送给多个终端;获取待预测身份信息,并将待预测身份信息分别发送给多个终端;当接收到多个终端针对待预测身份信息所返回的多个子预测结果时,利用多个子预测结果整合出任务预测结果,完成协同任务预测。通过本发明,能够提高任务预测的准确度。
Description
技术领域
本发明涉及人工智能技术,尤其涉及一种基于人工智能的协同任务预测方法及计算机可读存储介质。
背景技术
随着人工智能技术的发展,使用人工智能技术来执行各种任务预测的行业也越来越多,例如金融行业、社交媒体行业等。在利用人工智能进行任务预测时,通常是先用样本数据训练出预测模型,然后基于预测模型来进行任务预测。针对训练数据中隐私性较强的数据,则可以使用联邦训练模式来完成训练,即各个参与方先分别计算出梯度,服务器整合各个参与方的总梯度,最后各个参与方再利用整合好的总梯度更新模型。
在实际应用中,参与方中的数据可能存在缺失标签,或者是缺失特征的情况,例如一家医院只具有用户的基础身体检查信息,不具有用户的诊断结果的情况,即医院所具有的医疗数据是不对齐的,这些不对齐数据会给计算梯度带来难度,因此参与方,即各个医院在计算梯度时对不对齐数据的使用率较低。然而,不对齐数据中极有可能包含着对任务预测有用的信息,对不对齐数据的使用率较低会导致训练出的预测模型性能较低,从而使得任务预测的准确度较低。
发明内容
本发明实施例提供一种协同任务预测方法及计算机可读存储介质,能够提高任务预测的准确度。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种协同任务预测方法,包括:
接收多个终端发送的样本身份信息,基于所述样本身份信息,通过与所述多个终端进行中间结果交互所得到的子纵向模型,构造出纵向模型;其中,所述样本身份信息表征终端中的不对齐样本数据的身份信息;
接收所述多个终端发送的多个子横向模型,并对所述多个子横向模型进行整合,得到横向模型;
对所述纵向模型和所述横向模型进行整合,得到任务预测模型,并将所述任务预测模型发送给所述多个终端,以使所述多个终端利用所述任务预测模型进行任务预测;
获取待预测身份信息,并将所述待预测身份信息分别发送给所述多个终端;所述待预测身份信息表征待预测的样本数据的身份信息;
当接收到所述多个终端针对所述待预测身份信息所返回的多个子预测结果时,利用所述多个子预测结果整合出任务预测结果,完成协同任务预测。
本发明实施例提供一种协同任务预测方法,包括:
获取不对齐样本数据、对齐样本数据以及所述不对齐样本数据的样本身份信息,并将所述样本身份信息发送给服务器;
通过与所述服务器进行中间结果交互,以使所述服务器基于所述样本身份信息得到子纵向模型;
利用所述对齐样本数据构造出子横向模型,并将所述子横向模型发送给所述服务器;
接收所述服务器发送的任务预测模型;其中,所述任务预测模型是所述服务器基于所述子横向模型和所述子纵向模型得到的;
当接收到所述服务器发送的待预测身份信息时,获取所述待预测身份信息对应的样本数据,利用所述任务预测模型对所述样本数据进行预测,得到子预测结果;
将所述子预测结果返回给所述服务器,以使所述服务器基于所述子预测结果整合出任务预测结果,完成协同任务预测。
本发明实施例提供一种服务器,包括:
第一存储器,用于存储可执行协同任务预测指令;
第一处理器,用于执行所述第一存储器中存储的可执行协同任务预测指令时,实现本发明实施例服务器侧提供的协同任务预测方法。
本发明实施例提供一种终端,包括:
第二存储器,用于存储可执行协同任务预测指令;
第二处理器,用于执行所述第二存储器中存储的可执行协同任务预测指令时,实现本发明实施例终端侧提供的协同任务预测方法。
本发明实施例提供一种计算机可读存储介质,存储有可执行协同任务预测指令,用于引起第一处理器执行时,实现本发明实施例服务器侧提供的协同任务预测方法;或者用于引起第二处理器执行时,实现本发明实施例终端侧提供的协同任务预测方法。
本发明实施例具有以下有益效果:
本发明实施例中,服务器能够接收多个终端发送的样本身份信息,基于样本身份信息,通过与多个终端进行中间结果交互所得到的子纵向模型,构造出纵向模型,其中,样本身份信息是终端中的不对齐样本数据的身份信息。服务器接收多个终端发送的多个子横向模型,进而整合出横向模型。之后,服务器能够对纵向模型和横向模型进行整合,得到任务预测模型,并将任务预测模型发送给多个终端,然后接受多个终端针对待预测身份信息所返回的多个子预测结果,从而整合出任务预测结果,完成协同任务预测。如此,在任务预测过程中,服务器在不接触样本数据的前提下,不仅利用了各个终端中的对齐数据,还充分使用了各个终端中的不对齐数据,实现了在保护隐私数据的同时,提高了不对齐数据的使用率,从而提高了任务预测的准确度。
附图说明
图1是本发明实施例提供的任务预测系统100的一个可选的架构示意图;
图2是本发明实施例提供的服务器200的结构示意图;
图3是本发明实施例提供的终端400-1的结构示意图;
图4是本发明实施例提供的协同任务预测方法的一个可选的流程示意图一;
图5是本发明实施例提供的协同任务预测方法的一个可选的流程示意图二;
图6是本发明实施例提供的协同任务预测方法的一个可选的流程示意图三;
图7是本发明实施例提供的协同任务预测方法的一个可选的流程示意图四;
图8是本发明实施例提供的实际应用中的任务模型训练示意图;
图9是本发明实施例提供的纵向联邦学习的描述图;
图10是本发明实施例提供的纵向联邦学习的过程示意图;
图11是本发明实施例提供的横向联邦学习的描述图;
图12是本发明实施例提供的横向联邦学习的过程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)人工智能(Artificial Intelligence,AI),是利用数字计算机或者数字计算机控制的机器模拟,延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的能力。
人工智能技术是一门综合学科,设计领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
2)机器学习(Machine Learning,ML),是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎么模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习以及联邦学习等技术。
3)联邦学习(Federated Learning)是一种特定类型的分布式机器学习方法,其使用驻留在终端设备(如智能手机)上的分散数据来训练机器学习模型,同时防止各设备的数据泄露。联邦学习的概念最早是由谷歌提出的,最近关于联邦学习的算法改进逐渐侧重于克服统计挑战并提高联邦学习的安全性。联邦学习有望成为下一代人工智能协同算法和协作网络的基础。
4)横向联邦学习,也可以称之为基于样本的联邦学习,针对数据集共享相同的特征空间,但是样本空间不同的场景。例如,分别位于两个城市的银行,这两个银行的用户是来自不同的地区的,相互的交集很小,但是这两个银行的用户的业务是很有可能具有相似之处的,根据业务所记录下来的特征极有可能是相同的,这样,就可以基于这些相同的样本来构建联邦学习模型。
5)纵向联邦学习,也叫做基于特征的联邦学习,适用于两个数据集共享相同样本空间,但是特征空间不同的情况。例如,针对同一城市中的银行与电商平台,所拥有的用户包含了该城市的大部分居民,因而样本空间是共享的。然而,银行着重于记录用户的资金流转情况和信用信息,而电商平台则更多是保留了用户的浏览历史和购物历史,因此特征空间有着较大的差异,此时,就可以基于特征,来构建联邦学习模型。
6)对齐样本数据,是指既有用户的特征,又有用户的标签的数据。
7)不对齐样本数据,表征只有用户的特征,或者是只有用户的标签的数据,即在用户的特征-标签对中,有缺失信息的数据,这些缺失的信息有可能存在于其他机构的数据库中。
8)安全多方计算(Secure Multi-Party Computation),也称为安全计算,多方计算或隐私保护计算,是密码学的一个子领域,其目标是为各方创建算法,以便于在使用各方提供的数据并保护其隐私的同时,实现联合计算某个使用这些输入的函数。安全多方计算是电子选举、门限签名以及电子拍卖等诸多应用得以实施的密码学基础。
9)差分隐私(Differential Privacy),是针对于发布统计数据库聚合信息的算法约束,从而限制其信息在数据库记录里私人信息的公开。例如,一些政府机构使用差分隐私来发布人口统计信息或其他统计汇总,以确保调查答复的机密性,亦或是公司收集有关用户行为的信息,使用差分隐私控制内部分析师可见的内容。
10)同态加密,是一种加密算法,其允许对数据执行数学运算,而不是对实际数据本身执行。密文是输入数据的加密版本(也称为纯文本),对其进行操作然后解密以获得所需的输出。同态加密的关键属性是,应该从解密操作的密文中获得相同的输出,而不是简单地操作初始纯文本。
随着人工智能技术的不断发展,使用人工智能技术来执行任务预测的行业也越来越多,例如金融行业、社交媒体行业等。在利用人工智能进行任务预测时,是先利用已有的样本数据训练出预测模型,然后再利用预测模型来完成任务预测等。
目前,训练预测模型主要方式是中心化的集中训练,即将所有的样本数据收集到一个中心化的服务器中,然后再用机器学习训练出预测模型。然而,对于一些隐私性较强的数据,例如金融数据、医疗数据等,用户是不愿意将数据共享到机构之外的,不同机构之间形成了数据孤岛。针对这种现象,相关技术中有利用横向联邦学习来训练预测模型,即在各个参与机构之间利用对齐数据训练各自的弱模型,再将加密之后的模型传递给中心服务端进行聚合,得到最终的预测模型,从而在训练过程中保护了各个参与机构中的数据隐私。同时,联邦学习可以使用安全多方计算、差分隐私以及同态加密等方法,能够进一步保护用户的隐私。
然而,在实际应用中,机构中所存储的样本数据中,可能具有大量不对齐样本数据,即样本数据中存在缺失标签或是缺失特征的情况。例如,普通体检医院拥有大量用户的体检数据,但是,这些用户的最终确诊数据,即标签却只存在于权威性较高的大型医院中,又例如,用户在某段时间内的就诊记录存储于A医院中,而最终的确诊标签却存在于B医院之中。实际上,这些不对齐样本数据中极有可能包含着对任务预测有用的信息,例如对疾病诊断较为重要的某项检验指标等,若是在训练预测模型时只使用对齐样本数据,则会使得预测模型不能充分利用所有的有效数据进行模型训练,使得预测模型的性能较低,从而导致任务预测的准确度较低。反之,若是在训练预测模型时只使用不对齐样本数据,而不使用对齐样本数据,也会使得预测模型不能充分利用所有的有效数据进行模型训练,无法得到性能更高的预测模型。
本发明实施例提供一种协同任务预测方法及计算机可读存储介质,能够提高任务预测的准确度。下面说明本发明实施例提供的任务预测设备的示例性应用,本发明实施例提供的任务预测设备可以实施为智能手机、平板电脑、笔记本电脑等各种类型的用户终端,也可以实施为服务器。下面,将说明任务预测设备分别实施终端和服务器时的示例性应用。
参见图1,图1是本发明实施例提供的任务预测系统100的一个可选的架构示意图,为实现支撑一个任务预测应用,终端400-1和终端400-2通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
进一步的,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400-1和终端400-2可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端400-1和终端400-2以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在任务预测开始之后,终端400-1获取自身所存储的不对齐样本数据、对齐样本数据以及不对齐样本数据的样本身份信息,并将样本身份信息通过网络300发送给服务器200。同时,终端400-2也获取其所存储的不对齐样本数据,对齐样本数据和不对齐样本数据的样本身份信息,也通过网络300将样本身份信息发送给服务器200。服务器200接收到终端400-1发送的样本身份信息,和终端400-2发送的样本身份信息之后,会基于终端400-1的样本身份信息和终端400-2的样本身份信息,通过与终端400-1和终端400-2进行中间结果交互所得到的子纵向模型,构造出纵向模型。其中,样本身份信息是终端400-1和终端400-2中的不对齐样本数据的身份信息。接着,终端400-1利用其自身的对齐样本数据构造出子横向模型,并将子横向模型发送给服务器200,同时,终端400-2也将其利用对齐样本数据构造出的子横向模型发送给了服务器200,服务器200对终端400-1发送的子横向模型和终端400-2发送的子横向模型进行整合,得到横向模型。紧接着,服务器200对横向模型和纵向模型进行整合,得到任务预测模型,并将任务预测模型发送给了终端400-1和终端400-2,以使终端400-1和终端400-2利用任务预测模型进行任务预测。
服务器200获取待预测身份信息,并将待预测身份信息分别发送给终端400-1和终端400-2,其中,待预测身份信息表征待预测样本的身份信息。终端400-1获取待预测身份信息对应的样本数据,利用任务预测模型对样本数据进行预测,得到子预测结果,同理,终端400-2也得到了其所预测出的子预测结果。当服务器200接收到终端400-1发送的子预测结果,与终端400-2发送的子预测结果时,就会利用终端400-1发送的子预测结果,与终端400-2发送的子预测结果整合出任务预测结果,如此,就完成了协同任务预测。
参见图2,图2是本发明实施例提供的服务器200的结构示意图,图2所示的服务器200包括:至少一个第一处理器210、第一存储器250、至少一个第一网络接口220和第一用户接口230。服务器200中的各个组件通过第一总线系统240耦合在一起。可理解,第一总线系统240用于实现这些组件之间的连接通信。第一总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为第一总线系统240。
第一处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第一用户接口230包括使得能够呈现媒体内容的一个或多个第一输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。第一用户接口230还包括一个或多个第一输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第一存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的第一存储器250旨在包括任意适合类型的存储器。第一存储器250可选地包括在物理位置上远离第一处理器210的一个或多个存储设备。
在一些实施例中,第一存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第一操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第一网络通信模块252,用于经由一个或多个(有线或无线)第一网络接口220到达其他计算设备,示例性的第一网络接口220包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
第一显示模块253,用于经由一个或多个与第一用户接口230相关联的第一输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第一输入处理模块254,用于对一个或多个来自一个或多个第一输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的任务预测装置可以采用软件方式实现,图2示出了存储在第一存储器250中的任务预测装置255,其可以是程序和插件等形式的软件,包括以下软件模块:第一接收模块2551、模型构造模块2552、模型整合模块2553、第一发送模块2554、结果整合模块2555和密钥生成模块2556,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的任务预测装置可以采用硬件方式实现,作为示例,本发明实施例提供的任务预测装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的协同任务预测方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
示例性的,本发明实施例提供一种服务器,包括:
第一存储器,用于存储可执行协同任务预测指令;
第一处理器,用于执行所述第一存储器中存储的可执行协同任务预测指令时,实现本发明实施例服务器侧提供的协同任务预测方法。
参见图3,图3是本发明实施例提供的终端400-1的结构示意图,图3所示的终端400-1包括:至少一个第二处理器410、第二存储器450、至少一个第二网络接口420和第二用户接口430。终端400-1中的各个组件通过第二总线系统440耦合在一起。可理解,第二总线系统440用于实现这些组件之间的连接通信。第二总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为第二总线系统440。
第二处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第二用户接口430包括使得能够呈现媒体内容的一个或多个第二输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。第二用户接口430还包括一个或多个第二输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第二存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的第二存储器450旨在包括任意适合类型的存储器。第二存储器450可选地包括在物理位置上远离第二处理器410的一个或多个存储设备。
在一些实施例中,第二存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第二操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第二网络通信模块452,用于经由一个或多个(有线或无线)第二网络接口420到达其他计算设备,示例性的第二网络接口420包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
第二显示模块453,用于经由一个或多个与第二用户接口430相关联的第二输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第二输入处理模块454,用于对一个或多个来自一个或多个第二输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的协同预测装置可以采用软件方式实现,图3示出了存储在第二存储器450中的协同预测装置455,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块4551、子模块构造模块4552、第二接收模块4553、第二发送模块4554和预测模块4555,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的协同预测装置可以采用硬件方式实现,作为示例,本发明实施例提供的协同预测装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的协同任务预测方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
示例性的,本发明实施例提供一种终端,包括:
第二存储器,用于存储可执行协同任务预测指令;
第二处理器,用于执行所述第二存储器中存储的可执行协同任务预测指令时,实现本发明实施例终端侧提供的协同任务预测方法。
下面,将结合本发明实施例提供的服务器和终端的示例性应用和实施,说明本发明实施例提供的协同任务预测方法。
参见图4,图4是本发明实施例提供的协同任务预测方法的一个可选的流程示意图一,将结合图4示出的步骤进行说明。
S101、终端获取不对齐样本数据、对齐样本数据以及不对齐样本数据的样本身份信息,并将样本身份信息发送给服务器。
本发明实施例是在用已有的样本数据训练出任务预测模型,并用任务预测模型来预测任务中的某个指标的场景下实现的,其中,已有的样本数据可能是存储于不同的参与机构之中的。例如,利用一些用户在医院A的体检数据,和一些用户在医院B的医疗检查数据以及诊断标签来共同训练模型,并在后续利用任务预测模型来预测某个用户的诊断结果等场景。在任务预测开始之后,终端需要先从自身所连接的数据库中获取其所存储的所有样本数据,然后对样本数据按照是否对齐,即样本数据是否同时具有特征和标签,将这些样本数据划分为不对齐样本数据、对齐样本数据。之后,终端还会获取不对齐样本数据的样本身份信息,至此,终端就可以获取到不对齐样本数据、对齐样本数据以及样本身份信息。
可以理解的是,不对齐样本数据是指特征或标签缺失的样本数据,即样本数据只有特征,缺少特征相应的标签,或是样本数据只有标签,缺少相应的特征。例如,用户在医院A具有体检数据,但是在医院A没有诊断标签,该用户的样本数据即是不对齐样本数据。而对齐样本数据是指样本数据中既有特征,也有标签,例如,用户在医院B具有医疗检查数据,如胸部的CT图像等,同时在医院B具有最终的诊断标签,例如根据胸部的CT图像所诊断出的肺部情况等。
需要说明的是,样本身份信息指的是用于区分各个不对齐样本数据的身份信息,这种身份信息应当是各个参与机构之间通用的,即这种身份信息即使是在不同的参与机构,都能够指向同一个样本数据,以避免不同参与机构内的样本数据混淆。例如,医院A和医院B都以用户的身份证号作为样本数据的身份信息,这样,通过身份证号在医院A能够找到某个用户的数据,在医院B也能找到同一个用户的数据。
S102、服务器接收多个终端发送的样本身份信息,基于样本身份信息,通过与多个终端进行中间结果交互所得到的子纵向模型,构造出纵向模型;其中,样本身份信息表征终端中的不对齐样本数据的身份信息。
由于服务器所面对的参与机构不止一个,每个参与机构都具有其对应的至少一个终端,因此,服务器接收到的是多个终端所发送的样本身份信息。在接收到样本身份信息之后,服务器便会依据这些样本身份信息,对多个终端进行分组,然后通过与每个组合中的各个终端的中间结果交互过程,使得针对每个组合都可以得到子纵向模型,从而在每个组合所对应的子纵向模型的基础上,构造出纵向模型。相应的,对于终端而言,其是通过与服务器进行中间结果交互,以使服务器基于样本身份信息得到子纵向模型。更具体的,由于一个组合的一个终端中,只有构造这个组合所对应的子纵向模型的部分数据,因而,组合中的一个终端是利用其内部的不对齐样本数据,构造出部分子纵向模型,然后将部分子纵向模型发送给服务器,以使服务器根据一个组合中的各个终端发送的各个部分子纵向模型,得到一个组合所对应的子纵向模型。
需要说明的是,由于样本身份信息表征的是终端中不对齐样本数据的身份信息,因而,服务器在依据样本身份信息对多个终端分组时,实际上是将具有相同的样本身份信息的终端分到一个组合之中,以使得同一组合之中不同终端之间的特征和标签能够匹配上。例如,当医院A和医院B属于同一组合时,医院A某个用户的体检数据,就可以在医院B中找到相应的诊断标签。
可以理解的是,服务器通过与多个终端进行中间结果交互得到的子纵向模型的过程,是与纵向联邦学习的训练过程较为类似,即服务器能够接收多个终端发送中间结果,例如终端利用其内部的样本数据所计算出的梯度信息,然后将同一组合的中间结果整合,并将整合后的结果对应返回给属于同一组合之中的各个终端,以使得这些终端利用整合后的结果调整自己内部的部分子纵向模型的参数,将调整好的部分子纵向模型再发给服务器,服务器根据同一组合中的各个终端所发送的部分子纵向模型,就能够得到每个组合对应的子纵向模型。
S103、服务器接收多个终端发送的多个子横向模型,并对多个子横向模型进行整合,得到横向模型。
终端在通过与服务器进行中间交互,针对不对齐样本数据构造出子纵向模型之后,终端利用对齐样本数据构造出子横向模型,并将子横向模型发送给服务器。服务器接收了每个终端所构造出的子横向模型,得到了个数与终端数量的个数相同的子横向模型,接着,服务器将这些子横向模型整合在一起,所得到的整合模型就是横向模型。
可以理解的是,由于对齐样本数据中既有特征又有标签,因此,终端中的对齐样本数据无需再和其他终端中的对齐样本数据协同训练,而是本身就可以训练出一个子模型,该子模型即是横向子模型。只不过,一个终端中的对齐样本数据可能较少,所构造出的子横向模型所学习的特征较少,因而,需要每个终端将其构造出的子横向模型发送给服务器,服务器将接收到的所有子横向模型整合在一起,构造出横向模型。
进一步的,在本发明的另一些实施例中,在服务器在对子横向模型整合,得到横向模型之后,还可以将横向模型分别发送给每个终端,使得每个终端继续利用其自身的对齐样本数据,来继续对横向模型进行训练,得到训练后的子模型,再将这些训练后的子模型发送给服务器,以使得服务器整合出效果更好的横向模型。
需要说明的是,在本发明实施例中,是先构造纵向模型,再构造横向模型,即先执行S102,再进行S103。然而,在实际中,纵向模型与横向模型的构造顺序并不影响最终的任务预测模型,因此,在本发明的另一些实施例中,可以先执行S103,再执行S102,也可以S103和S102同时执行。
S104、服务器对纵向模型和横向模型进行整合,得到任务预测模型,并将任务预测模型发送给多个终端,以使多个终端利用任务预测模型进行任务预测。
服务器在得到纵向模型和横向模型之后,就可以对纵向模型和横向模型进行加权整合,将加权所得到的最终模型,作为任务预测模型,并把任务预测模型发送给每个终端,以使得每个终端都具有同样的任务预测模型。终端接收服务器发送的任务预测模型,其中,对于终端而言,任务预测模型是服务器基于子横向模型和子纵向模型得到的,即服务器基于其所发送的子横向模型,以及与服务器进行交互所构造出的子纵向模型加权得到的。
在本发明实施例中,服务器可以根据构造横向模型所使用的对齐样本数据的数据量占总数据的比例,以及构造纵向模型所使用的不对齐样本数据的数据量占数据总量的比例,来分别为横向模型和纵向模型确定出加权权重,进而完成对横向模型和纵向模型的加权过程。
S105、当终端接收到服务器发送的待预测身份信息时,获取待预测身份信息对应的样本数据,利用任务预测模型对样本数据进行预测,得到子预测结果。
服务器得到任务预测模型之后,就会获取待预测身份信息,并将待预测身份信息分别发送给多个终端,其中,待预测身份信息表征待预测的样本数据的身份信息。当终端接收到服务器所发送的待预测身份信息之后,会在自身的数据库中依据待预测身份信息,来寻找出需要预测的样本数据,然后将样本数据输入之前所接收到的任务预测模型对样本数据进行任务预测,得到终端所计算出的子预测结果。可以理解的是,终端所寻找的样本数据中,并不区分不对齐样本数据或是对齐样本数据,只要是待预测身份信息对应的样本数据,都会用来进行任务预测。
需要说明的是,由于需要对样本数据进行保密,服务器是不允许知晓样本数据的具体内容的,即样本数据只能存在于各个参与机构的终端之中,因此,当需要对某个样本数据进行预测预测时,服务器只需要将待预测身份信息发送给终端,终端其内部存储的待预测身份信息所对应的样本数据,来完成其针对样本数据的预测。然而,不同的终端中所存储的样本数据是不同的,因此,服务器将待预测身份信息发送给每个终端,以避免在预测时遗漏某个终端中的样本数据。
示例性的,终端A(例如人事管理中心)中存储的是用户的工作情况,终端B(例如银行)中存储的是用户的信用情况,当需要对用户的还贷能力进行评估时,只需要将用户的身份ID发送给终端A和终端B,终端A和终端B各自依据身份ID提取出其所存储的用户数据,然后用任务模型预测这些数据,得到终端A所预测出的子结果,和终端B所预测出的子结果,保证服务器无法获得用户的数据,终端A和终端B也无法知晓对方关于用户的具体数据。
需要说明的是,在本发明的一些实施例中,待预测身份信息可以是由询问机构的终端发送给服务器的,询问机构可以是参与机构中的一员,也可是除了参与机构之外的其他机构。
S106、当服务器接收到多个终端针对待预测身份信息所返回的多个子预测结果时,利用多个子预测结果整合出任务预测结果,完成协同任务预测。
终端在得到子预测结果之后,就会将子预测结果返回给服务器,以使服务器基于子预测结果整合出任务预测结果,完成协同任务预测。服务器接收每个终端所发送的子预测结果,从而能够得到多个子预测结果,之后,终端将这些子预测结果整合,得到最终的任务预测结果,至此,就完成了协同任务预测。
本发明实施例中,服务器能够接收多个终端发送的样本身份信息,基于样本身份信息,通过与多个终端进行中间结果交互所得到的子纵向模型,构造出纵向模型,其中,样本身份信息是终端中的不对齐样本数据的身份信息。服务器接收多个终端发送的多个子横向模型,进而整合出横向模型。之后,服务器能够对纵向模型和横向模型进行整合,得到任务预测模型,并将任务预测模型发送给多个终端,然后接受多个终端针对待预测身份信息所返回的多个子预测结果,从而整合出任务预测结果,完成协同任务预测。如此,在任务预测过程中,服务器在不接触样本数据的前提下,不仅利用了各个终端中的对齐数据,还充分使用了各个终端中的不对齐数据,实现了在保护隐私数据的同时,提高了不对齐数据的使用率,从而提高了任务预测的准确度。
参见图5,图5是本发明实施例提供的协同任务预测方法的一个可选的流程示意图二。在本发明的一些实施例中,服务器对纵向模型和横向模型进行整合,得到任务预测模型,即S104的具体实现过程,可以包括:S1041-S1045,如下:
S1041、服务器从多个终端获取到多个对齐样本数量,并对多个对齐样本数量进行累加,得到横向样本数量;其中,对齐样本数量表征终端中的对齐样本数据的数量。
服务器询问每个终端其内部共具有多少数量的对齐样本数据,之后,服务器接收每个终端所发送的对齐样本数量,然后将所接收到的对齐样本数量进行累加,得到累加结果。由于横向模型是基于每个终端中的对齐样本数据得到的,因而,服务器所得到的累加结果,就是用于构造横向模型的样本数据的总量,即横向样本数量。
S1042、服务器对多个终端所发送的样本身份信息的总数量进行统计,得到纵向样本数量。
由于纵向模型是服务器基于终端中的不对齐样本数据得到的,而不对齐样本数据的身份信息,即样本身份信息是已经发送给了服务器的,服务器只需要对每个终端所发送的样本身份信息的数量进行统计,得到每个终端的样本身份信息数量,然后将这些样本身份信息数量累加起来,就能够得到纵向样本数量。
S1043、服务器基于横向样本数量和纵向样本数量,得到总样本数量。
S1044、服务器利用横向样本数量和总样本数量,计算出横向权重,以及利用纵向样本数量和总样本数量,计算出纵向权重。
服务器将横向样本数量和纵向样本数量进行累加,就能够计算出参与任务预测模型构造过程的所有样本数据的总数量,即得到总样本数量。之后,服务器用横向样本数量与总样本数量相比,所得到的比值记为横向权重,同时用纵向样本数量与总样本数量相比,所得到的比值记为纵向权重,至此,服务器就分别为横向模型和纵向模型确定出了加权权重。
可以理解的是,横向样本数量越多,表明在构造任务预测模型时,对齐样本数据所起的作用越大,因此,所构造出的横向模型的性能越好,在协同任务预测中,应当发挥更大的作用。反之,纵向样本数量越多,表明在构造任务预测模型时,不对齐样本数据所起的作用越大,因此,纵向模型就需要通过较大的权值,使得纵向模型在协同任务预测过程中所起的作用更大。
S1045、服务器根据横向权重和纵向权重,对纵向模型和横向模型进行整合,得到任务预测模型。
服务器在得到横向权重和纵向权重之后,就会将横向权重与横向模型相乘,得到带权重的横向模型,同时用纵向权重和纵向模型相乘,得到带权重的纵向模型,然后将带权重的横向模型和带权重的纵向模型加和,所得到的加和结果就是任务预测模型。
本发明实施例中,服务器能够基于多个终端所发送的多个对齐样本数量,以及所统计出的样本身份信息的数量,为横向模型计算出横向权重,为纵向模型计算出纵向权重,从而利用横向权重和纵向权重,来对横向模型和纵向模型进行加权整合。如此,服务器就能够得到任务预测模型,以便于后续终端利用服务器所发送的任务预测模型,来预测出子预测结果。
参见图6,图6是本发明实施例提供的协同任务预测方法的一个可选的流程示意图三。需要说明的是,终端是可以是主终端,也可以是匹配终端,主终端是不对齐样本数据中具有标签的终端,匹配终端是不对齐样本数据中不具有标签的终端,而在计算中间结果时,需要用到不对齐样本数据的标签,且标签不能流出其所在的终端,因而,需要终端之中有一方接收另一方的临时结果,以计算出主终端侧的中间结果。在本发明实施例中,服务器基于样本身份信息,通过与多个终端进行中间结果交互所得到的子纵向模型,构造出纵向模型,以及终端通过与服务器进行中间结果交互,以使服务器基于样本身份信息得到子纵向模型,是基于主终端进行说明的,此时,S102的具体实现过程,可以包括:S1021-S1026,如下:
S1021、服务器利用样本身份信息,将多个终端划分成至少一个组合,并向每个组合中的主终端发送与其属于同一组合的匹配终端的信息。
服务器对比每个终端所发送的样本身份信息,将具有相同的样本身份信息的终端划分到一个组合,由此可以将多个终端划分成至少一个组合。在为每个终端确定好其所属的组合之后,为组合中的主终端,也就是为内部的不对齐样本数据具有标签的终端确定出其对应的匹配终端,并向每个组合的主终端发送其所对应的匹配终端的信息,以使得主终端能够明确其对应的匹配终端。主终端接收服务器发送的匹配终端的信息;其中,匹配终端是服务器根据样本身份信息生成的。
在本发明的一些实施例中,样本身份信息中可以携带有能够表征终端中的不对齐样本数据是否是有标签的辅助信息,但是,为了样本数据的隐私性,可以不说明标签的内容。换句话说,终端只需要根据样本身份信息向服务器表明其有没有标签即可。
需要说明的是,匹配终端指的是与主终端属于同一个组合,但是除主终端之外的其他终端,匹配终端所发送的样本身份信息,与终端发送的样本身份信息具有重叠的部分,但是主终端和匹配终端之中的特征可能是不同的。
S1022、主终端根据匹配终端的信息确定出匹配终端,通过与匹配终端进行临时结果交互,得到针对不对齐样本数据的第一中间结果。
主终端得到匹配终端的信息,明确其所对应的匹配终端之后,就可以将样本身份信息与匹配终端中的样本数据的身份信息存在重叠的不对齐样本数据,输入进其所具有的用于计算临时结果的子模型中,计算出临时结果。换句话说,主终端是用于匹配终端所共同拥有的样本的数据,来进行临时结果的计算。接着,主终端与匹配终端进行临时结果交互,即从匹配终端处接收到匹配终端所计算出的临时结果,然后结合主终端自身所计算出的临时结果和匹配终端所计算出的临时结果,计算出第一中间结果。与此同时,匹配终端也会利用自身所计算出的临时结果,计算出第二中间结果。
可以理解的是,主终端中用于计算临时结果的子模型,可以是指由服务器统一确定好的模型,即服务器为每个终端都确定好了初始部分纵向子模型,这些子模型可以是相同的;这些子模型也可以是已经经过迭代的联邦纵向模型,此时,由于每个终端中的特征不同,这些子模型可以存在差异。
S1023、服务器接收主终端发送的第一中间结果,以及匹配终端发送的第二中间结果,并对第一中间结果和第二中间结果进行整合,得到整合结果;其中,第一中间结果是主终端通过与匹配终端的信息所确定出的匹配终端进行临时结果交互得到的。
主终端将计算出的第一中间结果发送给服务器,同时,匹配终端也将其所计算出的第二结果发送给了服务器,服务器接收到了主终端发送的第一中间结果,以及匹配终端发送的第二中间结果之后,会对第一中间结果和第二中间结果进行加和,得到整合结果。
S1024、主终端接收服务器返回的整合结果;整合结果是由服务器根据第一中间结果生成的。
服务器将整合结果分别返回给主终端和匹配终端,主终端接收到服务器所返回的根据第一中间结果所生成的整合结果,以便于后续根据整合结果构造出第一部分纵向子模型。
S1025、服务器接收主终端针对整合结果发送的第一部分子纵向模型,以及接收匹配终端针对整合结果发送的第二部分子纵向模型,并将第一部分子纵向模型和第二部分子纵向模型进行整合,得到每个组合对应的子纵向模型,进而得到至少一个子纵向模型。
主终端利用整合结果构造出第一部分子纵向模型,并将第一部分子纵向模型发送给服务器,以使服务器构造出子纵向模型。与此同时,匹配终端也会用整合结果来更新自己的子模型,从而得到第二部分子纵向模型,并将第二部分子纵向模型发送给服务器。服务器在接收到第一部分子纵向模型和第二部分子纵向模型之后,就会将这些部分子纵向模型联合起来,作为子纵向模型。服务器对所有的组合都进行这样的操作,就可以得到至少一个子纵向模型。
S1026、服务器对至少一个子纵向模型进行整合,得到纵向模型。
服务器在得到至少一个子纵向模型之后,会根据构造每个子纵向模型时所使用的样本数据的数量,来为每个子纵向模型确定出权重,进而根据每个子纵向模型的权重,对至少一个子纵向模型进行加权,最终得到纵向模型。
对于主终端和匹配终端而言,其各自拥有构造纵向子模型的一部分样本数据,因此,需要主终端和匹配终端共同调整自己的子模型的参数,此时,式(1)可以变换为式(2):
又由于纵向联邦学习中的参数梯度的计算方式为,从而匹配终端的梯度为,主终端的梯度为。由此可见,要想对主终端中的部分纵向子模型和匹配终端中的部分纵向子模型进行参数更新时,需要先由服务器对第一中间结果,即和,和第二中间结果,即进行整合,得到整合结果。而需要匹配终端的临时结果和主终端的临时结果共同计算出来,因而,主终端需要通过与匹配终端进行临时结果交互,以得到。在得到梯度之后,主终端就可以对自己的子模型进行参数更新,从而得到第一部分子纵向模型,同理,匹配终端也会得到其对应的第二部分子纵向模型。服务器接收到与,就可以构造出这个组合对应的子纵向模型。在得到多个子纵向模型之后,就能够加权出纵向模型。
本发明实施例中,服务器能够用样本身份信息将多个终端划分成至少一个组合,然后通过与每个组合中的各个终端进行中间结果交互,构造出每个组合的子纵向模型,从而得到至少一个子纵向模型,并对至少一个子纵向模型进行整合得到纵向模型。如此,就能够完成对纵向模型的构造,以充分利用到各个终端中的不对齐样本数据。
在本发明的一些实施例中,终端可以为主终端,当终端为主终端时,主终端通过与匹配终端进行临时结果交互,得到针对不对齐样本数据的第一中间结果,即S1022的具体实现过程,可以包括:S1022a-S1022c,如下:
S1022a、主终端利用获取到的初始部分子纵向模型,对不对齐样本数据进行预测,得到第一临时结果。
主终端先获取到用于计算临时结果的初始部分子纵向模型,然后将样本身份信息与匹配终端中的样本身份信息所重合的不对齐样本数据输入进该模型中进行运算,将该子模型计算之后所输出的结果作为第一临时结果。与此同时,匹配终端也会利用与终端相同的样本身份信息获取样本数据,并用所获得的样本数据计算出第二临时结果。
S1022b、主终端接收匹配终端发送的第二临时结果;第二临时结果是由匹配终端根据其内部与样本身份信息对应的样本数据计算得到的。
S1022c、主终端根据第一临时结果和第二临时结果,构造出第一中间结果。
匹配终端将计算出的第二临时结果发送给主终端,主终端接收到第二临时结果之后,就会联合第一临时结果和第二临时结果,共同计算出第一中间结果,以便于后续将第一中间结果发送给服务器。
本发明实施例中,主终端可以通过与匹配终端之间的临时结果交互,得到匹配终端所计算出的第二临时结果,再用第二临时结果与自身所计算出的第一临时结果,构造出第一中间结果。如此,主终端就能够得到第一中间结果。
在本发明的一些实施例中,终端还可以为匹配终端,当终端为匹配终端时,终端通过与服务器进行中间结果交互,以使服务器基于样本身份信息得到子纵向模型的过程,可以包括:S201-S205,如下:
S201、匹配终端获取初始部分子纵向模型,利用初始子纵向模型对不对齐样本数据进行预测,得到第二临时结果。
当终端为匹配终端时,匹配终端需要获取服务器所确定好的初始部分子纵向模型,然后将其内部的不对齐数据输入初始子纵向模型中进行计算,以预测出第二临时结果。
S202、匹配终端将第二临时结果发送给主终端。
S203、匹配终端利用第二临时结果计算出第二中间结果,并将第二中间结果发送给服务器。
匹配终端将第二临时结果发送给主终端,主终端接收匹配终端发送的第二临时结果,以使主终端能够用第二临时结果计算出第一中间结果。与此同时,匹配终端自身还利用第二临时结果计算出第二中间结果,并将第二中间结果发送给服务器,服务器接收匹配终端所发送的第二中间结果。
S204、匹配终端接收服务器返回的整合结果;整合结果是由所述服务器根据所述第二中间结果生成的。
S205、匹配终端利用整合结果构造出第二部分子纵向模型,并将第二部分子纵向模型发送给所述服务器,以使所述服务器构造出子纵向模型。
匹配终端在接收到服务器发送的整合结果之后,就会利用整合结果来构造第二部分子模型,并将所构造好的第二部分子纵向模型发送给服务器,以使得服务器在接收到第二部分子纵向模型之后,构造出子纵向模型。
参见图7,图7是本发明实施例提供的协同任务预测方法的一个可选的流程示意图四。在本发明的一些实施例中,服务器对至少一个子纵向模型进行整合,得到纵向模型,即S1026的具体实现过程,可以包括:S1026a-S1026d,如下:
S1026a、服务器对每个组合中的样本身份信息进行数量统计,得到每个组合所对应的样本数量。
服务器在对至少一个子纵向模型进行加权时,需要先确定每个子纵向模型的加权权重。此时,服务器针对每个组合的样本身份信息进行数量统计,得到每个组合中的样本数量。在这里,每个组合的样本身份信息,指的就是主终端与匹配终端中重合的样本身份信息。
S1026b、服务器对多个终端所发送的样本身份信息的总数量进行统计,得到纵向样本数量。
S1026c、服务器利用样本数量和纵向样本数量,为至少一个子纵向模型中的每个子纵向模型计算出权重信息。
服务器在统计出每个组合的样本数量之后,会对多个终端所发送的所有样本数据的总数量进行统计,将统计结果作为纵向样本数量,也即参与构造纵向模型的样本数据的总数量。之后,服务器将每个组合的样本数量,依次与纵向样本数量相比,得到每个组合所对应的比值信息,这比值信息就是每个组合所对应的子纵向模型的权重信息,如此,服务器就可以为所有的子纵向模型计算出权重信息。
S1026d、服务器根据权重信息,对至少一个子纵向模型进行加权,得到纵向模型。
服务器在计算出每个组合的权重信息之后,就会用每个组合的权重信息,与每个组合的子纵向模型进行相乘,得到每个组合所对应的带有权重的子纵向模型,然后再将所有的带有权重的子纵向模型相加,就可以得到纵向模型。
本发明实施例中,服务器能够统计出每个组合的样本数量,以及统计出纵向样本数量,并用每个组合的样本数量,占据纵向样本数量的比例,来作为每个组合的子纵向模型的权重信息,进而利用权重信息来对子纵向模型进行加权,得到最终的纵向模型。如此,服务器就能够参与依据构造每个子纵向模型的样本数量的占比,来加权出纵向模型。
在本发明的一些实施例中,样本身份信息中带有能够表征终端是否具有标签的辅助信息;服务器利用样本身份信息,将多个终端划分成至少一个组合,并向每个组合中的主终端发送与其属于同一组合的匹配终端的信息,即S1021的具体实现过程,可以包括:S1021a-S1021c,如下:
S1021a、服务器对每个终端所发送的样本身份信息进行比对,得到比对结果。
S1021b、当比对结果表征存在至少两个终端所发送的样本身份信息相同时,服务器将至少两个终端划分为一个组合,从而得到至少一个组合。
服务器在得到每个终端所发送的样本身份信息之后,将这些样本身份信息进行比对,即判断这些样本身份信息是否相同,得到比对结果。之后,服务器逐个读取这些比对结果,当比对结果表征有至少两个终端所发的样本身份信息相同时,服务器就会将这至少两个终端划分到一个组合之中。在完成对所有终端的类别划分之后,服务器就可以得到至少一个组合。
S1021c、服务器根据辅助信息,从至少一个组合中的每个组合的各个终端中,确定出主终端和匹配终端,并将匹配终端的信息发送给主终端。
服务器根据样本身份信息中的用于表征终端中是否具有标签的辅助信息,将每个组合中的各个终端,分成主终端和匹配终端。换句话说,服务器将不对齐样本数据中具有标签的终端,作为主终端,以便于不对齐样本数据具有标签的终端,可以在标签不泄露的情况下,获得匹配终端的所计算的临时结果。
本发明实施例中,服务器能够比对每个终端所发送的样本身份信息,得到比对结果,将比对结果表征样本身份信息相同的终端划分到一个组合,从而得到了至少一个组合,然后根据辅助信息,从每个组合的各个终端中确定出主终端和匹配终端,并将匹配终端的信息发送给主终端。如此,服务器能够完成对终端的分组,并使得终端明确与其属于同一个组合的其他终端有哪些,同时确定出主终端和匹配终端,以便于后续构造纵向子模型。
在本发明的一些实施例中,服务器接收多个终端发送的多个子横向模型,并对多个子横向模型进行整合,得到横向模型,即S103的具体实现过程,可以包括:S1031-S1033,如下:
S1031、终端获取初始子横向模型,并利用对齐样本数据,对初始子横向模型中的参数进行训练,得到子横向模型。
终端先获取由服务器事先确定好的初始子横向模型,然后将获取到的对齐样本数据输入进初始子横向模型之中,以对初始子横向模型中的参数进行调整训练,得到子横向模型。
S1032、服务器接收每个终端发送的子横向模型,从而得到多个子横向模型。
终端在得到子横向模型之后,就会将子横向模型发送给服务器。服务器接收多个终端中的每个终端所发送的子横向模型,因而,服务器共可以接收多个子横向模型,并且,所接收到的子横向模型的数量,与终端的数量是相等的。
S1033、服务器对多个子横向模型进行整合,得到横向模型。
服务器将所有子横向模型进行加和,所得到的模型就是横向模型。需要说明的是,在本发明的另一实施例中,为了对各个终端中的对齐样本数据充分学习,服务器还可以将所得到的横向模型分别发送给各个终端,以使得各个终端再次利用对齐样本数据对横向模型中的参数继续进行训练,得到优化后的横向子模型。服务器再次从多个终端处接收到多个优化后的子模型,并将这些优化后的子模型进行整合,得到最终的横向模型,如此,能够充分利用各个终端中的对齐样本数据,使得构造出的任务预测模型的性能更好。
本发明实施例中,终端能够用对齐样本数据对初始横向模型进行训练,然后将所得到的横向子模型发送给服务器,服务器将所有接收到的横向子模型整合起来,作为横向模型。如此,通过构造横向模型,能够将各个终端中的对齐样本数据充分使用,从而使得利用横向模型所构造出的任务预测模型的性能更好,进而提高任务预测的准确度。
在本发明的一些实施例中,服务器在接收多个终端发送的样本身份信息之前,终端在获取不对齐样本数据、对齐样本数据以及不对齐样本数据的样本身份信息,将样本身份信息发送给服务器之前,即在S101之前,该方法还可以包括:S107-S108,如下:
S107、服务器生成公钥和私钥,并将公钥发送给多个终端;公钥用于在中间结果交互时终端对中间结果进行加密。
S108、终端接收服务器发送的公钥。
服务器利用非对称加密算法生成公钥和私钥,将公钥发送给各个终端,将私钥自己保留。其中,公钥是用于服务器在中间结果交互时终端对中间结果加密,得到加密后的中间结果,私钥是用于服务器对公钥加密后的密文进行解密的。这时,服务器基于样本身份信息,通过与多个终端进行中间结果交互所得到的子纵向模型,构造出纵向模型的过程,就会相应的变为基于样本身份信息,通过与多个终端进行加密后的中间结果交互所得到的所述子纵向模型,构造出纵向模型。而对于终端而言,通过与所述服务器进行中间结果交互,以使服务器基于样本身份信息得到子纵向模型的过程,就会相应的变为通过与服务器进行用公钥加密后的中间结果交互,以使服务器基于样本身份信息得到子纵向模型。
需要说明的是,为了进一步对各个终端内的数据进行保密,终端在计算临时结果,或者是中间结果时,可以使用同态加密算法,为中间结果或临时结果增加加性变换,使得服务器,或者是其他终端是对经过变换后的密文进行操作的,而不是直接对计算出的结果进行操作的,如此,能够进一步保障样本数据的隐私安全。
本发明实施例中,服务器还能够实现构造公钥和私钥,并将公钥发送给多个终端,以使得中间结果交互都是在加密的情况下进行的,进一步提高了样本数据的安全度。
在本发明的一些实施例中,当服务器接收到多个终端针对待预测身份信息所返回的多个子预测结果时,利用多个子预测结果整合出任务预测结果,完成协同任务预测,即S106的具体实现过程,可以包括:S1061-S1062,如下:
S1061、服务器接收每个终端针对待预测身份信息发送的子预测结果,从而得到多个子预测结果。
S1062、服务器对多个子预测结果进行整合,得到任务预测结果,完成协同任务预测。
服务器接收每个终端利用其内部的任务预测模型所预测出的子预测结果,在完成对所有终端的子预测结果的接收之后,可以得到多个子预测结果,即得到与终端的数量相同的子预测结果。之后,服务器将这些子预测结果整合在一起,整合所得到的结果即是任务预测结果,如此,就能够完成协同任务预测。
需要说明的是,在多个终端中,可能具有一些终端并没有待预测身份信息所对应的样本数据,此时,这些终端针对待预测身份信息所返回的子预测结果,可以是为空的子预测结果,或是表明其内部不具有待预测身份信息对应的样本数据的子预测结果,这样,所有终端都可以给服务器返回子预测结果。当然,在本发明的另一些实施例中,这些终端也可以不向服务器返回任何子预测结果,具体返回子预测结果的方式可以根据实际情况设置,本发明实施例在此不作限定。
本发明实施例中,服务器能够接收多个终端所返回的多个子预测结果,并对这些子预测结果进行整合,得到最终的任务预测结果。如此,服务器能够在不接触待预测身份信息的样本数据的情况下,得到针对待预测数据的任务预测结果,保证了样本数据的隐私性。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
本发明实施例是在对某地区的多家医院的数据不能互通的场景下实现的。参见图8,为本发明实施例提供的实际应用中的任务模型训练示意图。首先,第三方(服务器)先对不同参与医院(终端)构建统一的数据和特征标准,使各个参与医院按照该标准对自有的数据的各个维度进行清洗,形成各自的标准化的标签集8-a和特征集8-b。第三方基于所构建的标准化数据集,在联邦学习算法中选定模型,例如逻辑回归模型,同时选定加密方式,例如同态加密。接着,各个参与医院内部分类出内部对齐数据(对齐样本数据)和内部不对齐数据(不对齐样本数据),然后第三方将各个参与医院两两组合(将多个终端划分成至少一个组合),找出每个组合部分能够对齐的部分数据,换句话说,第三方用各个参与医院内部不对齐数据相互组合构建虚拟数据源8-1。之后,第三方会给各个参与医院分发公钥8-2,然后在每个组合上通过交互加密信息8-3,以及聚合每个组合中的参与医院的半模型8-4(部分纵向子模型),训练出一个预测模型,换句话说,第三方和参与医院通过纵向联邦学习针对每个组合训练一个预测模型(纵向子模型)。接着,第三方为所有通过纵向联邦学习所得到的预测模型进行加权,得到一个模型(纵向模型)。在此之后,第三方和各个参与医院,利用各个参与医院内部对齐数据,在各个参与医院之间用横向联邦学习8-5训练出一个横向联邦学习模型(横向模型)。最后,第三方根据横向联邦学习的数据量(横向样本数量)和纵向联邦学习的数据量(纵向样本数量)对比,将与加权8-6,得到全局统一模型(任务预测模型),并使得各个参与医院拥有全局统一模型。
在预测某个用户的健康状况时,则需要各个参与医院配合合作完成。此时,询问者向第三方提供了用户的样本ID(待预测身份信息),第三方将样本ID发给各个参与医院,各个参与医院将其所具有的样本ID对应的特征数据,输入进全局统一模型中,计算出各个参与医院的中间结果(子预测结果)。各个参与医院将中间结果传给第三方,使得第三方通过合并中间结果得到最终的模型预测结果(任务预测结果)。
进一步的,参见图9,为本发明实施例提供的纵向联邦学习的描述图。在图9中,横轴为特征,纵轴为不同的用户样本,在对于两家参与医院来说,一些用户可能会在这两个参与医院拥有不同的化验结果,且其中一家参与医院具有化验结果的标签(主终端),若两家参与医院的数据库中的所有化验结果分别用区域9-1和区域9-2来表示的话,位于区域9-3的则是在这两家参与医院分别拥有不同的化验结果的用户,利用纵向联邦学习能够很好的学习这些用户的数据。
具体的,本发明实施例提供了纵向联邦学习的过程示意图,参见图10,第三方产生公钥私钥对,将公钥传递给参与医院10-1,之后,参与医院使用公钥对计算出的中间信息(临时结果)进行加密,并将加密后的信息互相交换10-2。接着,参与医院根据交换的信息计算梯度(中间结果),并使用加性mask屏蔽部分信息,传给第三方10-3。第三方将梯度解密并整合,并将整合后的梯度(整合结果)反馈给各个参与医院10-4,参与医院利用该整合后的梯度更新自己的模型部分参数。
本发明实施例提供了横向联邦学习的描述图,如图11所示,横轴为特征,纵轴为不同的用户样本。对于两家参与医院而言,可能会有很多不同的用户具有同一个化验结果,或是化验结果及其类似。若两家参与医院的数据库中的所有化验结果分别用区域11-1和区域11-2来表示的话,位于区域11-3的则是在这两家参与医院分别拥有相同或相似的化验结果的不同用户,利用横向联邦学习能够很好的学习这些用户的数据。
进一步的,参见图12,本发明实施例提供了横向联邦学习的过程示意图。各个参与医院需要利用内部对齐数据在本地训练模型(横向子模型),例如模型12-a、模型12-b、模型12-c等,然后将这些模型上传12-1给第三方。第三方将这些模型整合12-2,并将整合后的模型反馈12-3给各个参与医院。各个参与医院再用内部对齐数据,继续对反馈的模型进行参数更新12-4,并重复这些过程,从而得到训练完成的模型(横向模型)。
通过上述方式,能够在构造全局统一模型时,将各个参与医院的内部不对齐数据和内部对齐数据都使用上,从而提高了内部不对齐数据的使用率,使得构造模型过程不遗漏特征,从而使得全局统一性能较好,进而提升了对用户健康状况预测的准确度。
下面继续说明本发明实施例提供的任务预测装置255的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在第一存储器250的任务预测装置255中的软件模块可以包括:
第一接收模块2551,用于接收多个终端发送的样本身份信息;接收所述多个终端发送的多个子横向模块;以及接收所述多个终端针对所述待预测身份信息所返回的多个子预测结果;
模型构造模块2552,用于基于所述样本身份信息,通过与所述多个终端进行中间结果交互所得到的子纵向模型,构造出纵向模型;其中,所述样本身份信息表征终端中的不对齐样本数据的身份信息;对所述多个子横向模型进行整合,得到横向模型;
模型整合模块2553,用于对所述纵向模型和所述横向模型进行整合,得到任务预测模型,并将所述任务预测模型发送给所述多个终端;
第一发送模块2554,用于获取待预测身份信息,并将纵向模型和所述横向模型进行加权,得到任务预测模型,并将所述任务预测模型发送给所述多个终端,以使所述多个终端利用所述任务预测模型进行任务预测;
结果整合模块2555,用于当接收到所述多个终端针对所述待预测身份信息所返回的多个子预测结果时,利用所述多个子预测结果整合出任务预测结果,完成协同任务预测。
在本发明的一些实施例中,所述第一接收模块2551,具体用于从所述多个终端获取到多个对齐样本数量;
所述模型整合模块2553,具体用于对所述多个对齐样本数量进行累加,得到横向样本数量;其中,对齐样本数量表征终端中的对齐样本数据的数量;对所述多个终端所发送的样本身份信息的总数量进行统计,得到纵向样本数量;基于所述横向样本数量和所述纵向样本数量,得到总样本数量;利用所述横向样本数量和所述总样本数量,计算出横向权重,以及利用所述纵向样本数量和所述总样本数量,计算出纵向权重;根据所述横向权重和所述纵向权重,对所述纵向模型和所述横向模型进行整合,得到所述任务预测模型。
在本发明的一些实施例中,所述模型构造模块2552,具体用于利用所述样本身份信息,将所述多个终端划分成至少一个组合;对所述第一中间结果和所述第二中间结果进行整合,得到整合结果;其中,所述第一中间结果是所述主终端通过与所述匹配终端的信息所确定出的所述匹配终端进行临时结果交互得到的;将所述第一部分子纵向模型和所述第二部分子纵向模型进行整合,得到所述每个组合对应的所述子纵向模型,进而得到所述至少一个子纵向模型;对所述至少一个子纵向模型进行整合,得到所述纵向模型;
所述第一发送模块2554,具体用于向每个组合中的主终端发送与其属于同一组合的匹配终端的信息;将所述整合结果分别返回给所述主终端和所述匹配终端;
所述第一接收模块2551,具体用于接收所述主终端发送的第一中间结果,以及所述匹配终端发送的第二中间结果;以及接收所述主终端针对所述整合结果发送的第一部分子纵向模型,以及接收所述匹配终端针对所述整合结果发送的第二部分子纵向模型。
在本发明的一些实施例中,所述模型构造模块2552,具体用于对所述每个组合中的样本身份信息进行数量统计,得到所述每个组合所对应的样本数量;对所述多个终端所发送的样本身份信息的总数量进行统计,得到纵向样本数量;利用所述样本数量,和所述纵向样本数量,为所述至少一个子纵向模型中的每个子纵向模型计算出权重信息;根据所述权重信息,对所述至少一个子纵向模型进行加权,得到所述纵向模型。
在本发明的一些实施例中,所述样本身份信息中带有能够表征终端是否具有标签的辅助信息;所述模型构造模块2552,具体用于对所述每个终端所发送的样本身份信息进行比对,得到比对结果;当所述比对结果表征存在至少两个终端所发送的样本身份信息相同时,将所述至少两个终端划分为一个组合,从而得到所述至少一个组合;根据所述辅助信息,从所述至少一个组合中的每个组合的各个终端中,确定出主终端和匹配终端;
所述第一发送模块2554,具体用于将所述匹配终端的信息发送给所述主终端。
在本发明的一些实施例中,所述第一接收模块2551,具体用于接收每个终端发送的子横向模型,从而得到所述多个子横向模型;
所述模型构造模块2552,具体用于对所述多个子横向模型进行整合,得到所述横向模型。
在本发明的一些实施例中,所述任务预测装置255还包括:密钥生成模块2556;
所述密钥生成模块2556,用于生成公钥和私钥;
所述第一发送模块2554,还用于将所述公钥发送给所述多个终端;所述公钥用于在中间结果交互时所述终端对中间结果进行加密;
相应的,所述模型构造模块2552,还用于基于所述样本身份信息,通过与所述多个终端进行加密后的中间结果交互所得到的所述子纵向模型,构造出所述纵向模型。
在本发明的一些实施例中,所述第一接收模块2551,具体用于接收每个终端针对所述待预测身份信息所发送的子预测结果,从而得到所述多个子预测结果;
结果整合模块2555,具体用于对所述多个子预测结果进行整合,得到所述任务预测结果,完成所述协同任务预测。
下面继续说明本发明实施例提供的协同预测装置455的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在第二存储器450的协同预测装置455中的软件模块可以包括:
获取模块4551,用于获取不对齐样本数据、对齐样本数据以及所述不对齐样本数据的样本身份信息;当接收到所述服务器发送的待预测身份信息时,获取所述待预测身份信息对应的样本数据;
子模型构造模块4552,用于通过与所述服务器进行中间结果交互,以使所述服务器基于所述样本身份信息得到子纵向模型;利用所述对齐样本数据构造出子横向模型;
第二接收模块4553,用于接收所述服务器发送的任务预测模型;其中,所述任务预测模型是所述服务器基于所述子横向模型和所述子纵向模型得到的;
第二发送模块4554,用于将所述样本身份信息发送给服务器;将所述子横向模型发送给所述服务器;接收所述服务器发送的待预测身份信息;将所述子预测结果返回给所述服务器,以使所述服务器基于所述子预测结果整合出任务预测结果,完成协同任务预测;
预测模块4555,用于利用所述任务预测模型对所述样本数据进行预测,得到子预测结果。
在本发明的一些实施例中,所述终端为主终端;所述第二接收模块4553,具体用于接收所述服务器发送的匹配终端的信息;所述匹配终端的信息是所述服务器根据所述样本身份信息生成的;接收所述服务器返回的整合结果;所述整合结果是由所述服务器根据所述第一中间结果生成的;
所述第二发送模块4554,具体用于将所述第一中间结果发送给服务器;
所述子模型构造模块4552,具体用于根据所述匹配终端的信息确定出所述匹配终端,通过与所述匹配终端进行临时结果交互,得到针对所述不对齐样本数据的第一中间结果;利用所述整合结果构造出第一部分子纵向模型,并将所述第一部分子纵向模型发送给所述服务器,以使所述服务器构造出子纵向模型。
在本发明的一些实施例中,所述获取模块4551,具体用于获取初始部分子纵向模型;
所述子模型构造模块4552,具体用于利用获取到的初始部分子纵向模型,所述不对齐样本数据进行预测,得到第一临时结果;以及根据所述第一临时结果和所述第二临时结果,构造出所述第一中间结果;
所述第二接收模块4553,具体用于接收所述匹配终端发送的第二临时结果;所述第二临时结果是由所述匹配终端根据其内部与所述样本身份信息对应的样本数据计算得到的。
在本发明的一些实施例中,当终端为匹配终端时,所述获取模块4551,具体用于获取初始部分子纵向模型;
所述子模型构造模块4552,具体用于利用所述初始子纵向模型对所述不对齐样本数据进行预测,得到第二临时结果;利用所述第二临时结果计算出第二中间结果;利用所述整合结果构造出第二部分子纵向模型;
所述第二接收模块4553,具体用于接收所述服务器返回的整合结果;所述整合结果是由所述服务器根据所述第二中间结果生成的;
所述第二发送模块4554,具体用于将所述第二临时结果发送给主终端。
在本发明的一些实施例中,所述获取模块4551,还用于获取初始子横向模型;
所述子模型构造模块4552,具体用于利用所述对齐样本数据,对所述初始子横向模型中的参数进行训练,得到所述子横向模型;
所述第二发送模块4554,用于将所述子横向模型发送给所述服务器。
在本发明的一些实施例中,所述第二接收模块4553,还用于接收所述服务器发送的公钥;
相应的,所述子模型构造模块4552,还用于通过与所述服务器进行用所述公钥加密后的中间结果交互,以使所述服务器基于所述样本身份信息得到子纵向模型。
本发明实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行协同任务预测指令,当可执行协同任务预测指令被处理器执行时,将引起处理器执行本发明实施例提供的协同任务预测方法,例如,如图4、图5、图6和图7示出的方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行协同任务预测指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行协同任务预测指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行协同任务预测指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (15)
1.一种协同任务预测方法,其特征在于,包括:
接收多个终端发送的样本身份信息,基于所述样本身份信息,通过与所述多个终端进行中间结果交互所得到的子纵向模型,构造出纵向模型;其中,所述样本身份信息表征终端中的不对齐样本数据的身份信息;
接收所述多个终端发送的多个子横向模型,并对所述多个子横向模型进行整合,得到横向模型;
对所述纵向模型和所述横向模型进行整合,得到任务预测模型,并将所述任务预测模型发送给所述多个终端,以使所述多个终端利用所述任务预测模型进行任务预测;
获取待预测身份信息,并将所述待预测身份信息分别发送给所述多个终端;所述待预测身份信息表征待预测的样本数据的身份信息;
当接收到所述多个终端针对所述待预测身份信息所返回的多个子预测结果时,利用所述多个子预测结果整合出任务预测结果,完成协同任务预测。
2.根据权利要求1所述的方法,其特征在于,所述对所述纵向模型和所述横向模型进行整合,得到任务预测模型,包括:
从所述多个终端获取到多个对齐样本数量,并对所述多个对齐样本数量进行累加,得到横向样本数量;其中,对齐样本数量表征终端中的对齐样本数据的数量;
对所述多个终端所发送的样本身份信息的总数量进行统计,得到纵向样本数量;
基于所述横向样本数量和所述纵向样本数量,得到总样本数量;
利用所述横向样本数量和所述总样本数量,计算出横向权重,以及利用所述纵向样本数量和所述总样本数量,计算出纵向权重;
根据所述横向权重和所述纵向权重,对所述纵向模型和所述横向模型进行整合,得到所述任务预测模型。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述样本身份信息,通过与所述多个终端进行中间结果交互所得到的子纵向模型,构造出纵向模型,包括:
利用所述样本身份信息,将所述多个终端划分成至少一个组合,并向每个组合中的主终端发送与其属于同一组合的匹配终端的信息;
接收所述主终端发送的第一中间结果,以及所述匹配终端发送的第二中间结果,并对所述第一中间结果和所述第二中间结果进行整合,得到整合结果;其中,所述第一中间结果是所述主终端通过与所述匹配终端的信息所确定出的所述匹配终端进行临时结果交互得到的;
将所述整合结果分别返回给所述主终端和所述匹配终端;
接收所述主终端针对所述整合结果发送的第一部分子纵向模型,以及接收所述匹配终端针对所述整合结果发送的第二部分子纵向模型,并将所述第一部分子纵向模型和所述第二部分子纵向模型进行整合,得到所述每个组合对应的所述子纵向模型,进而得到所述至少一个子纵向模型;
对所述至少一个子纵向模型进行整合,得到所述纵向模型。
4.根据权利要求3所述的方法,其特征在于,所述对所述至少一个子纵向模进行整合,得到所述纵向模型,包括:
对所述每个组合中的样本身份信息进行数量统计,得到所述每个组合所对应的样本数量;
对所述多个终端所发送的样本身份信息的总数量进行统计,得到纵向样本数量;
利用所述样本数量和所述纵向样本数量,为所述至少一个子纵向模型中的每个子纵向模型计算出权重信息;
根据所述权重信息,对所述至少一个子纵向模型进行加权,得到所述纵向模型。
5.根据权利要求3所述的方法,其特征在于,所述样本身份信息中带有能够表征终端是否具有标签的辅助信息;所述利用所述样本身份信息,将所述多个终端划分成至少一个组合,并向每个组合中的主终端发送与其属于同一组合的匹配终端的信息,包括:
对每个终端所发送的样本身份信息进行比对,得到比对结果;
当所述比对结果表征存在至少两个终端所发送的样本身份信息相同时,将所述至少两个终端划分为一个组合,从而得到所述至少一个组合;
根据所述辅助信息,从所述至少一个组合中的每个组合的各个终端中,确定出主终端和匹配终端,并将所述匹配终端的信息发送给所述主终端。
6.根据权利要求1、2、4或5任一项所述的方法,其特征在于,所述接收所述多个终端发送的多个子横向模型,并对所述多个子横向模型进行整合,得到横向模型,包括:
接收每个终端发送的子横向模型,从而得到所述多个子横向模型;
对所述多个子横向模型进行整合,得到所述横向模型。
7.根据权利要求1、2、4或5任一项所述的方法,其特征在于,在所述接收多个终端发送的样本身份信息之前,所述方法还包括:
生成公钥和私钥,并将所述公钥发送给所述多个终端;所述公钥用于在中间结果交互时所述终端对中间结果进行加密;
相应的,所述基于所述样本身份信息,通过与所述多个终端进行中间结果交互所得到的子纵向模型,构造出纵向模型,包括:
基于所述样本身份信息,通过与所述多个终端进行加密后的中间结果交互所得到的所述子纵向模型,构造出所述纵向模型。
8.根据权利要求1、2、4或5任一项所述的方法,其特征在于,所述当接收到所述多个终端针对所述待预测身份信息所返回的多个子预测结果时,利用所述多个子预测结果整合出任务预测结果,完成协同任务预测,包括:
接收每个终端针对所述待预测身份信息所发送的子预测结果,从而得到所述多个子预测结果;
对所述多个子预测结果进行整合,得到所述任务预测结果,完成所述协同任务预测。
9.一种协同任务预测方法,其特征在于,包括:
获取不对齐样本数据、对齐样本数据以及所述不对齐样本数据的样本身份信息,并将所述样本身份信息发送给服务器;
通过与所述服务器进行中间结果交互,以使所述服务器基于所述样本身份信息得到子纵向模型;
利用所述对齐样本数据构造出子横向模型,并将所述子横向模型发送给所述服务器;
接收所述服务器发送的任务预测模型;其中,所述任务预测模型是所述服务器基于所述子横向模型和所述子纵向模型得到的;
当接收到所述服务器发送的待预测身份信息时,获取所述待预测身份信息对应的样本数据,利用所述任务预测模型对所述样本数据进行预测,得到子预测结果;
将所述子预测结果返回给所述服务器,以使所述服务器基于所述子预测结果整合出任务预测结果,完成协同任务预测。
10.根据权利要求9所述的方法,其特征在于,当终端为主终端时,所述通过与所述服务器进行中间结果交互,以使所述服务器基于所述样本身份信息得到子纵向模型,包括:
接收所述服务器发送的匹配终端的信息;所述匹配终端的信息是所述服务器根据所述样本身份信息生成的;
根据所述匹配终端的信息确定出所述匹配终端,通过与所述匹配终端进行临时结果交互,得到针对所述不对齐样本数据的第一中间结果;
将所述第一中间结果发送给服务器;
接收所述服务器返回的整合结果;所述整合结果是由所述服务器根据所述第一中间结果生成的;
利用所述整合结果构造出第一部分子纵向模型,并将所述第一部分子纵向模型发送给所述服务器,以使所述服务器构造出子纵向模型。
11.根据权利要求10所述的方法,其特征在于,所述通过与所述匹配终端进行临时结果交互,得到针对所述不对齐样本数据的第一中间结果,包括:
利用获取到的初始部分子纵向模型,对所述不对齐样本数据进行预测,得到第一临时结果;
接收所述匹配终端发送的第二临时结果;所述第二临时结果是由所述匹配终端根据其内部与所述样本身份信息对应的样本数据计算得到的;
根据所述第一临时结果和所述第二临时结果,构造出所述第一中间结果。
12.根据权利要求9所述的方法,其特征在于,当终端为匹配终端时,所述通过与所述服务器进行中间结果交互,以使所述服务器基于所述样本身份信息得到子纵向模型,包括:
获取初始部分子纵向模型,利用所述初始子纵向模型对所述不对齐样本数据进行预测,得到第二临时结果;
将所述第二临时结果发送给主终端;
利用所述第二临时结果计算出第二中间结果,并将所述第二中间结果发送给所述服务器;
接收所述服务器返回的整合结果;所述整合结果是由所述服务器根据所述第二中间结果生成的;
利用所述整合结果构造出第二部分子纵向模型,并将所述第二部分子纵向模型发送给所述服务器,以使所述服务器构造出子纵向模型。
13.根据权利要求9至12任一项所述的方法,其特征在于,所述利用所述对齐样本数据构造出子横向模型,并将所述子横向模型发送给所述服务器,包括:
获取初始子横向模型,并利用所述对齐样本数据,对所述初始子横向模型中的参数进行训练,得到所述子横向模型;
将所述子横向模型发送给所述服务器。
14.根据权利要求9至12任一项所述的方法,其特征在于,在所述获取不对齐样本数据、对齐样本数据以及所述不对齐数据的样本身份信息,将所述样本身份信息发送给服务器之前,所述方法还包括:
接收所述服务器发送的公钥;
相应的,所述通过与所述服务器进行中间结果交互,以使所述服务器基于所述样本身份信息得到子纵向模型,包括:
通过与所述服务器进行用所述公钥加密后的中间结果交互,以使所述服务器基于所述样本身份信息得到子纵向模型。
15.一种计算机可读存储介质,其特征在于,存储有可执行协同任务预测指令,用于引起第一处理器执行时,实现权利要求1至8任一项所述的方法;或者用于引起第二处理器执行时,实现权利要求9至14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010207389.2A CN111081337B (zh) | 2020-03-23 | 2020-03-23 | 一种协同任务预测方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010207389.2A CN111081337B (zh) | 2020-03-23 | 2020-03-23 | 一种协同任务预测方法及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111081337A true CN111081337A (zh) | 2020-04-28 |
CN111081337B CN111081337B (zh) | 2020-06-26 |
Family
ID=70324671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010207389.2A Active CN111081337B (zh) | 2020-03-23 | 2020-03-23 | 一种协同任务预测方法及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111081337B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353554A (zh) * | 2020-05-09 | 2020-06-30 | 支付宝(杭州)信息技术有限公司 | 预测缺失的用户业务属性的方法及装置 |
CN111626886A (zh) * | 2020-07-30 | 2020-09-04 | 工保科技(浙江)有限公司 | 基于多方协作的工程履约保证保险风险识别方法与平台 |
CN112068866A (zh) * | 2020-09-29 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 更新业务模型的方法及装置 |
CN112329057A (zh) * | 2020-11-03 | 2021-02-05 | 平安信托有限责任公司 | 文档管理方法、装置、设备及计算机可读存储介质 |
CN112776342A (zh) * | 2021-01-07 | 2021-05-11 | 北京航空航天大学 | 面向用户个性化定制的3d打印组合服务流程生成方法 |
CN113704778A (zh) * | 2021-07-16 | 2021-11-26 | 杭州医康慧联科技股份有限公司 | 基于同态加密的机器学习线性模型预测方法 |
WO2022002068A1 (zh) * | 2020-06-29 | 2022-01-06 | 中兴通讯股份有限公司 | 数据处理方法、系统、设备及存储介质 |
CN116092683A (zh) * | 2023-04-12 | 2023-05-09 | 深圳达实旗云健康科技有限公司 | 一种原始数据不出域的跨医疗机构疾病预测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032631A (zh) * | 2019-03-26 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 一种信息反馈方法、装置和存储介质 |
CN110245510A (zh) * | 2019-06-19 | 2019-09-17 | 北京百度网讯科技有限公司 | 用于预测信息的方法和装置 |
CN110399742A (zh) * | 2019-07-29 | 2019-11-01 | 深圳前海微众银行股份有限公司 | 一种联邦迁移学习模型的训练、预测方法及装置 |
CN110490738A (zh) * | 2019-08-06 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 一种混合联邦学习方法及架构 |
CN110797124A (zh) * | 2019-10-30 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种模型多端协同训练方法、医疗风险预测方法和装置 |
WO2020046398A1 (en) * | 2018-08-31 | 2020-03-05 | Google Llc | Privacy-first on-device federated health modeling and intervention |
CN110889139A (zh) * | 2019-11-26 | 2020-03-17 | 支付宝(杭州)信息技术有限公司 | 针对用户隐私数据进行多方联合降维处理的方法及装置 |
-
2020
- 2020-03-23 CN CN202010207389.2A patent/CN111081337B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020046398A1 (en) * | 2018-08-31 | 2020-03-05 | Google Llc | Privacy-first on-device federated health modeling and intervention |
CN110032631A (zh) * | 2019-03-26 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 一种信息反馈方法、装置和存储介质 |
CN110245510A (zh) * | 2019-06-19 | 2019-09-17 | 北京百度网讯科技有限公司 | 用于预测信息的方法和装置 |
CN110399742A (zh) * | 2019-07-29 | 2019-11-01 | 深圳前海微众银行股份有限公司 | 一种联邦迁移学习模型的训练、预测方法及装置 |
CN110490738A (zh) * | 2019-08-06 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 一种混合联邦学习方法及架构 |
CN110797124A (zh) * | 2019-10-30 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 一种模型多端协同训练方法、医疗风险预测方法和装置 |
CN110889139A (zh) * | 2019-11-26 | 2020-03-17 | 支付宝(杭州)信息技术有限公司 | 针对用户隐私数据进行多方联合降维处理的方法及装置 |
Non-Patent Citations (1)
Title |
---|
YUHUI ZHAO等: "Deep Collaborative Embedding for information cascade prediction", 《KNOWLEDGE-BASED SYSTEMS》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353554A (zh) * | 2020-05-09 | 2020-06-30 | 支付宝(杭州)信息技术有限公司 | 预测缺失的用户业务属性的方法及装置 |
WO2022002068A1 (zh) * | 2020-06-29 | 2022-01-06 | 中兴通讯股份有限公司 | 数据处理方法、系统、设备及存储介质 |
CN111626886A (zh) * | 2020-07-30 | 2020-09-04 | 工保科技(浙江)有限公司 | 基于多方协作的工程履约保证保险风险识别方法与平台 |
CN111626886B (zh) * | 2020-07-30 | 2020-10-30 | 工保科技(浙江)有限公司 | 基于多方协作的工程履约保证保险风险识别方法与平台 |
CN112068866A (zh) * | 2020-09-29 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 更新业务模型的方法及装置 |
CN112068866B (zh) * | 2020-09-29 | 2022-07-19 | 支付宝(杭州)信息技术有限公司 | 更新业务模型的方法及装置 |
CN112329057A (zh) * | 2020-11-03 | 2021-02-05 | 平安信托有限责任公司 | 文档管理方法、装置、设备及计算机可读存储介质 |
CN112776342A (zh) * | 2021-01-07 | 2021-05-11 | 北京航空航天大学 | 面向用户个性化定制的3d打印组合服务流程生成方法 |
CN113704778A (zh) * | 2021-07-16 | 2021-11-26 | 杭州医康慧联科技股份有限公司 | 基于同态加密的机器学习线性模型预测方法 |
CN116092683A (zh) * | 2023-04-12 | 2023-05-09 | 深圳达实旗云健康科技有限公司 | 一种原始数据不出域的跨医疗机构疾病预测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111081337B (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111081337B (zh) | 一种协同任务预测方法及计算机可读存储介质 | |
US20220230071A1 (en) | Method and device for constructing decision tree | |
Zhang et al. | A survey on federated learning | |
Jia et al. | Blockchain-enabled federated learning data protection aggregation scheme with differential privacy and homomorphic encryption in IIoT | |
Salah et al. | Blockchain for AI: Review and open research challenges | |
CN110189192B (zh) | 一种信息推荐模型的生成方法及装置 | |
Wang et al. | A privacy-enhanced retrieval technology for the cloud-assisted internet of things | |
CN113159327B (zh) | 基于联邦学习系统的模型训练方法、装置、电子设备 | |
CN112085159B (zh) | 一种用户标签数据预测系统、方法、装置及电子设备 | |
CN112132198B (zh) | 数据处理方法、装置、系统和服务器 | |
CN111402095A (zh) | 一种基于同态加密联邦学习来检测学生行为与心理的方法 | |
CN111784001B (zh) | 一种模型训练方法、设备及计算机可读存储介质 | |
KhoKhar et al. | A review on federated learning towards image processing | |
CN112631605B (zh) | 联邦学习模型的代码编译方法、装置、设备及存储介质 | |
Hao et al. | Privacy-aware and resource-saving collaborative learning for healthcare in cloud computing | |
CN112270597A (zh) | 业务处理、信用评价模型训练方法、装置、设备及介质 | |
CN111666460A (zh) | 基于隐私保护的用户画像生成方法、装置及存储介质 | |
CN112101403A (zh) | 基于联邦少样本网络模型的分类方法、系统及电子设备 | |
Sheth et al. | Deep Learning, blockchain based multi-layered Authentication and Security Architectures | |
Smahi et al. | A blockchainized privacy-preserving support vector machine classification on mobile crowd sensed data | |
Qamar | Healthcare data analysis by feature extraction and classification using deep learning with cloud based cyber security | |
Silva et al. | Towards federated learning: An overview of methods and applications | |
Xia et al. | SMAP: A joint dimensionality reduction scheme for secure multi-party visualization | |
Khan et al. | Vertical federated learning: A structured literature review | |
Narula et al. | A comprehensive review on Federated Learning for Data-Sensitive Application: Open issues & challenges |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40022283 Country of ref document: HK |