一种基于联邦学习的预测系统及方法
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于联邦学习的预测系统及方法。
背景技术
经历了多年发展,人工智能进入了发展的深入区,已经从概念普及发展到产品验证、落地、审批、商业化方面的探索。
目前,人工智能在各产业的发展需要通过多种工具或设备来收集数据,然而在很多行业,获取高质量的数据难度较大,一方面是由于数据预处理、标注需要投入的工作量巨大,另一方面在于数据的隐私性要求,数据拥有方采取高度保护措施。典型地例如在医疗行业,当前医疗领域标注的数据非常有限,如果多方医疗机构不进行数据交换和整合,则通过人工智能模型训练和预测得到的效果指标不理想,难以落地应用;研究界和企业界目前的情况是把收集数据和使用数据分开,如A方收集数据、B方清洗数据、C方建模训练、D方使用模型。然而,这种数据在实体间转移、交换和交易的形式违反了欧盟在2018年正式施行的法案《通用数据保护条例》(General Data Protection Regulation,GDPR)和中国从2017年实施的《中华人民共和国网络安全法》和《中华人民共和国民法总则》。
所以,通过收集数据的方式进行人工智能模型训练和使用已经不能满足例如医疗等特定行业发展的需求。
发明内容
本发明为解决现有技术中存在的问题,一方面涉及一种基于联邦学习的预测系统,包括联邦学习部署机和联邦学习客户端,所述联邦学习部署机包括分发系统、模型容器系统和联邦学习服务端;
所述分发系统用于接收来自用户的预测请求并将其映射至所述模型容器系统的模型中,将预测结果发送至用户并接收用户对预测结果的反馈信息,以及根据所述反馈信息将待优化的模型信息发送至联邦学习服务端;
所述模型容器系统用于存储模型,还用于运行与所述预测请求具有映射关系的模型并将预测结果返回至所述分发系统;
所述联邦学习服务端与所述联邦学习客户端针对所述待优化的模型进行在线联邦学习优化,并将优化后的模型保存到所述模型容器系统中。
优选地,所述联邦学习服务端包括参数聚合模块和模型优化模块;所述参数聚合模块用于收集并聚合所述联邦学习客户端发送的模型参数,得到更新参数;所述模型优化模块用于接收所述更新参数,以及根据所述分发系统发送的待优化的模型信息获取待优化的模型,并利用所述更新参数优化所述待优化的模型,得到优化模型,还用于将所述优化模型保存到所述模型容器系统。
优选地,所述联邦学习客户端包括模型训练模块和数据存储模块,所述模型训练模块用于从所述模型优化模块中下载所述待优化的模型,并利用所述数据存储模块提供的数据进行训练;数据存储模块用于为所述模型训练模块提供数据,还用于将训练后的模型参数发送至所述参数聚合模块。
优选地,所述模型容器系统包括自建模型容器系统和第三方模型容器系统,所述自建模型容器系统用于接收和存储在线联邦学习优化后的模型,所述第三方模型容器系统用于接收和存储第三方模型。
优选地,所述分发系统包括处理中心、自建模型中心和第三方模型中心;所述处理中心用于接收来自用户的预测请求并将其映射至所述自建模型中心或第三方模型中心;所述自建模型中心用于在所述自建模型容器系统中选择闲置的与所述预测请求具有映射关系的模型,并将所述预测请求发送至所选择的模型中;所述第三方模型中心用于在所述第三方模型容器系统中选择闲置的与所述预测请求具有映射关系的模型,并将所述预测请求发送至所选择的模型中。
优选地,所述自建模型中心用于在所述自建模型容器系统中选择闲置的与所述预测请求具有映射关系的模型,具体为:
所述自建模型中心通过轮询的方式访问所述自建模型容器系统中相对应的服务器,并在相对应的服务器中选择闲置的与所述预测请求具有映射关系的模型。
优选地,所述第三方模型中心用于在所述第三方模型容器系统中选择闲置的与所述预测请求具有映射关系的模型,具体为:
所述第三方模型中心根据第三方模型容器系统的服务架构设计请求队列,并依据所述请求队列在所述第三方模型容器系统中选择闲置的与所述预测请求具有映射关系的模型。
优选地,所述来自用户的预测请求为加密数据;
所述分发系统用于对所述预测请求进行二次加密处理,将二次加密处理的预测请求映射至所述模型容器系统的模型中;
所述模型容器系统用于将二次加密处理的所述预测请求进行解密,运行与所述预测请求具有映射关系的模型进行预测,以及将预测结果进行加密并将加密的预测结果返回至所述分发系统。
优选地,所述预测请求包括图像,所述预测结果包括对所述图像的分类。
本发明另一方面涉及一种基于联邦学习的预测方法,包括:
分发系统接收来自用户的预测请求并将其映射至模型容器系统的模型中;
所述模型容器系统运行与所述预测请求具有映射关系的模型,并将预测结果发送至所述分发系统;
所述分发系统将所述预测结果发送至用户,接收用户对预测结果的反馈信息;
所述分发系统根据所述反馈信息判断是否存在待优化模型,如果存在待优化模型,则将待优化的模型信息发送至联邦学习服务端;
所述联邦学习服务端与所述联邦学习客户端针对所述待优化的模型进行在线联邦学习优化,并将优化后的模型保存到所述模型容器系统中。
本发明的有益效果是:
本发明提供的基于联邦学习的预测系统和方法,通过采用在线联邦学习的方式对模型进行优化,并利用优化的模型进行预测,得到用户满意的预测结果,不仅使得预测效果指标更加理想,提高了用户的满意度,而且模型优化过程中不需要收集数据,同时模型优化过程与使用过程进行了融合统一,解决了目前数据收集难度大造成数据孤岛,使得预测效果指标不理想的问题,以及由于数据收集和使用隔离带来的隐私性风险和违反法案的问题。
附图说明
图1为本发明所述基于联邦学习的预测系统的结构示意图;
图2为本发明所述联邦学习服务端和客户端的结构示意图;
图3为本发明所述分发系统和模型容器系统的结构示意图;
图4为本发明所述基于联邦学习的预测方法的流程示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。
实施例一
如图1所示,本发明实施例提供了一种基于联邦学习的预测系统,包括联邦学习部署机和联邦学习客户端,所述联邦学习部署机包括分发系统、模型容器系统和联邦学习服务端;
所述分发系统用于接收来自用户的预测请求并将其映射至所述模型容器系统的模型中,将预测结果发送至用户并接收用户对预测结果的反馈信息,以及根据所述反馈信息将待优化的模型信息发送至联邦学习服务端;
所述模型容器系统用于存储模型,还用于运行与所述预测请求具有映射关系的模型并将预测结果返回至所述分发系统;
所述联邦学习服务端与所述联邦学习客户端针对所述待优化的模型进行在线联邦学习优化,并将优化后的模型保存到所述模型容器系统中。
其中,所述预测请求中可以包括待预测的内容和/或用户选择的模型类别,比如,待预测的内容为病理图像,模型类别为乳腺类。
分发系统接收来自用户的预测请求,并将其映射至模型容器系统的模型中。其中,模型容器系统中保存的模型包括但不限于联邦学习服务端发送的采用联邦学习方式优化后的模型。而且,模型容器系统中保存的同类别的模型可以为多个。在使用过程中,分发系统可以通过访问模型容器系统,选择出与预测请求对应的模型,同时将预测请求发送至选择的模型中。比如,分发系统接收到的预测请求中的模型类别为A,则在对应A类模型的模型容器系统中选择一个模型A1对待预测的内容进行预测。
所述模型容器系统运行与所述预测请求具有映射关系的模型,并将预测结果发送至所述分发系统;比如,运行选择的模型A1对待预测内容进行预测,得到预测结果并将其发送至分发系统。
所述分发系统将所述预测结果发送至用户,接收用户对预测结果的反馈信息。
所述分发系统根据所述反馈信息判断是否存在待优化模型,如果存在待优化模型,则将待优化的模型信息发送至联邦学习服务端。
其中,用户对预测结果的反馈信息比如满意或不满意。所述反馈信息可以为用户的主观评价,例如在模型运算时间较长、预测结果信息不明确或者预测结果的信息与用户已知信息矛盾等情况,用户反馈不满意。
由于用户的反馈信息存在较大的主观性和不确定性,所以,分发系统会根据用户的反馈信息判断是否需要对模型进行优化。可选地,分发系统按照预设规则从反馈信息为不满意的模型中选择需要优化的模型作为待优化模型。例如,当用户对某个模型的不满意率超过设定阈值时,可以选择该模型为待优化的模型,或者定期使用校验数据对反馈信息为不满意的模型进行筛选得到待优化的模型等。
确定了待优化模型后,分发系统将待优化的模型信息发送至联邦学习服务端。具体地,分发系统通过指令将所述模型的信息(例如标识等)发送至联邦学习服务端。
联邦学习服务端接收到分发系统发送的待优化的模型信息后,与所述联邦学习客户端针对所述待优化的模型进行在线联邦学习优化,并将优化后的模型保存到所述模型容器系统中。其中,所述联邦学习客户端可选地为多个。联邦学习服务端根据所述待优化的模型信息从本地存储获取所述待优化的模型,或者通过网络从外部获取所述待优化的模型。
进一步地,本发明提供的基于联邦学习的预测系统还包括平台系统,所述平台系统用于接收用户输入,生成并发送预测请求,还可以用于为所述模型容器系统提供数据,数据来源可以是公开的数据,也可以是由合作方提供的数据,还可以是自建的数据。该数据可以用于模型容器系统中保存的非联邦学习方式生成的模型的训练。
该平台系统还可以用于对预测请求进行加密处理并将加密后的所述预测请求发送至分发系统。
本发明实施例中,在预测系统中采用联邦学习服务端与联邦学习客户端对模型进行优化,具有如下有益效果:
其一,联邦学习通过加密参数交换方式保护用户数据隐私,其数据和模型本身不会进行传输,因此在数据层面上不存在泄露的可能,也不违反数据保护法案如《通用数据保护条例》等等。
其二,联邦学习中的工作节点代表的是模型训练的数据拥有方,其对本地的数据具有完全的自治权限,可以自主决定何时加入联邦学习进行建模。
其三,系统根据用户使用的反馈不断进行模型优化,模型优化不影响用户正常使用系统,模型优化过程与使用过程进行了融合统一。
其四,系统通过联邦学习解决了数据孤岛问题,能够持续提升预测效果。
其五,系统架构的可扩展性强,不仅可以适用用户数量逐步增多、保存模型种类数量逐步增多、参与联邦学习在线训练的第三方逐步增多的情况,还可以扩展到任意适用于机器学习/深度学习的系统,具有较高的研究价值、商用价值和推广意义。
如图2所示,本发明实施例中,所述联邦学习服务端包括参数聚合模块和模型优化模块;所述参数聚合模块用于收集并聚合所述联邦学习客户端发送的模型参数,得到更新参数;所述模型优化模块用于接收所述更新参数,以及根据所述分发系统发送的待优化的模型信息获取待优化的模型,并利用所述更新参数优化所述待优化的模型,得到优化模型,还用于将所述优化模型保存到所述模型容器系统。
所述联邦学习客户端包括模型训练模块和数据存储模块,所述模型训练模块用于从所述模型优化模块中下载所述待优化的模型,并利用所述数据存储模块提供的数据进行训练;数据存储模块用于为所述模型训练模块提供数据,还用于将训练后的模型参数发送至所述参数聚合模块。
其中,所述参数聚合模块用于采用联邦平均算法(FederatedAveragingAlgorithm)聚合所述联邦学习客户端发送的模型参数。
本发明实施例中,联邦学习客户端包括若干个。
在使用过程中,所述模型优化模块接收分发系统发送的待优化的模型信息,并根据该信息获取待优化的模型后,参与联邦学习的客户端中的模型训练模块即可从所述模型优化模块中下载所述待优化的模型,并利用客户端的数据存储模块中存储的数据对下载的模型进行训练,得到训练后的模型参数,数据存储模块不仅可以在客户端存储训练数据,还可以将训练后的模型参数发送至参数聚合模块,参数聚合模块收集并聚合所述联邦学习客户端发送的训练后的模型参数,得到更新参数并将其发送至模型优化模块,模型优化模块利用所述更新参数优化所述待优化的模型,得到优化模型并将其保存到所述模型容器系统中。
优化后的模型保存到模型容器系统后,被用于对后续的预测请求的预测,得到预测结果后,发送至用户,如果用户对预测结果满意,则结束,如果用户对预测结果不满意,则认为第一次优化后的模型还需要进一步优化。所以,在本发明实施例中,模型可能需要经历“应用—优化—应用—优化—应用”这样的过程,从而通过将模型优化和模型应用融合统一,相辅相成,提高了预测结果指标的理想程度,进而提高了用户的满意度。
其中,模型训练模块得到训练后的模型参数后,可发送至数据存储模块,数据存储模块先对模型参数进行加密处理,然后将加密后的模型参数发送至参数聚合模块,保证了参数的安全性。
本发明实施例提供的基于联邦学习的预测系统,具有如下有益效果:
其一,各联邦学习客户端的数据都保留在本地,不需要进行原始数据交换、整合,不存在泄露隐私、违反法规的问题;其二,多方联邦学习客户端通过加密机制的参数交换方式,联合数据建立一个共享虚拟模型、共同获益的体系;其三,在联邦学习的体系下,各个联邦学习客户端的身份和地位平等;其四,联邦学习的建模效果和将整个数据集整合到一处的建模效果相同,或者相差不大。
如图3所示,在本发明一个优选实施例中,所述模型容器系统包括自建模型容器系统和第三方模型容器系统,所述自建模型容器系统用于接收和存储在线联邦学习优化后的模型,所述第三方模型容器系统用于接收和存储第三方模型。
所述分发系统包括处理中心、自建模型中心和第三方模型中心;所述处理中心用于接收来自用户的预测请求并将其映射至所述自建模型中心或第三方模型中心;所述自建模型中心用于在所述自建模型容器系统中选择闲置的与所述预测请求具有映射关系的模型,并将所述预测请求发送至所选择的模型中;所述第三方模型中心用于在所述第三方模型容器系统中选择闲置的与所述预测请求具有映射关系的模型,并将所述预测请求发送至所选择的模型中。
在实际使用过程中,处理中心根据用户预测请求中的模型类别向自建模型中心和/或第三方模型中心发送请求,请求自建模型中心和/或第三方模型中心访问自建模型容器系统或第三方模型容器系统,并从中选择出该类模型进行预测。比如,用户预测请求中的模型类别为A,其中A类模型存储在自建模型容器系统中,则处理中心会向自建模型中心发送请求,自建模型中心访问自建模型容器系统,并在自建模型容器系统中选择A类模型的一个模型A1,将待预测内容发送至模型A1以进行预测;又比如,用户预测请求中的模型类别为B,其中B类模型存储在第三方模型容器系统,则处理中心会向第三方模型中心发送请求,第三方模型中心访问第三方模型容器系统,并在第三方模型容器系统中选择B类模型的一个模型B1,将待预测内容发送至模型B1进行预测。
为了避免多用户情况下排队时间长的问题,自建模型容器系统中的模型可以被存储在多个服务器中,比如,模型A可能存储在第一服务器至第三服务器中,由于用户可能有多个,每个用户的预测请求又不相同,所以,每个服务器中的对应的模型的闲置状态可能不同。比如,当自建模型中心访问自建模型容器系统时,第一服务器和第二服务器中的模型A都为忙碌状态,只有第三服务器中的模型A为闲置状态。则可以选择第三服务器中的模型A,并将待预测内容发送至第三服务器的模型A中。在本发明中,自建模型中心可以通过轮询的方式访问所述自建模型容器系统中相对应的服务器,并在相对应的服务器中选择闲置的与所述预测请求具有映射关系的模型。采用轮询的方式可以在用户较多的情况下,减少排队时间、均衡负载。
另外,本发明中,当自建模型中心访问自建模型容器系统中相对应的服务器时,可以采用分布式计算框架(Spark)平衡计算负载,比如,当用户同时需要查询模型A、B,而空闲的模型A、B分别位于两个不同的服务器当中时,这种计算框架可以带来较为显著的效率提升。
在本发明实施例中,第三方模型中心可以根据第三方模型容器系统的服务架构设计请求队列,并依据所述请求队列在所述第三方模型容器系统中选择闲置的与所述预测请求具有映射关系的模型。
在本发明另一个优选实施例中,分发系统接收的来自用户的预测请求为加密数据,分发系统将预测请求进行二次加密处理后再将其映射至所述模型容器系统的模型中。采用这种加密的方式,既可以保证来自用户的预测请求信息不会被泄露,同时可以使得用户无法直接访问模型容器系统,保障了模型的隐私性。
本发明实施例中,模型容器系统将加密的预测请求解密、运行模型对预测请求进行预测后,对预测结果进行加密并返回加密的预测结果。通过对预测结果加密,可以避免由于中间人劫持将原有信息替换成恶意链接或恶意代码程序,以达到远程控制等攻击意图。
本发明实施例中,所述预测请求包括图像,所述预测结果包括对所述图像的分类。
实施例二
如图4所示,本发明提供了一种基于联邦学习的预测方法,包括:
S1,分发系统接收来自用户的预测请求并将其映射至模型容器系统的模型中;
其中,所述预测请求包括待预测的内容和/或用户选择的模型类别,所述待预测的内容可选地为图像。
可选地,所述预测请求为加密数据,所述分发系统对所述预测请求进行二次加密处理,映射至所述模型容器系统的模型中。
可选地,所述模型容器系统包括自建模型容器系统和第三方模型容器系统。
S2,所述模型容器系统运行与所述预测请求具有映射关系的模型,并将预测结果发送至所述分发系统;
可选地,所述预测结果为对预测请求中的图像的分类。
可选地,所述模型容器系统将加密的预测请求解密,对所述预测结果加密并将加密的预测结果返回至所述分发系统。
S3,所述分发系统将所述预测结果发送至用户,接收用户对预测结果的反馈信息;
S4,所述分发系统根据所述反馈信息判断是否存在待优化模型,如果存在待优化模型,则将待优化的模型信息发送至联邦学习服务端;
其中,所述分发系统通过指令发送待优化的模型信息。
可选地,如果反馈信息为不满意的模型为自建模型容器系统中的模型,则自建模型中心根据所述反馈信息确定待优化的模型,并通过指令将待优化的模型信息发送至联邦学习服务端,进入步骤S5;
如果反馈信息为不满意的模型为第三方模型容器系统中的模型,则第三方模型中心向第三方模型容器系统发送警告信息,结束流程。
S5,所述联邦学习服务端与所述联邦学习客户端针对所述待优化的模型进行在线联邦学习优化,并将优化后的模型保存到所述模型容器系统中。
进一步地,所述联邦学习服务端与所述联邦学习客户端针对所述待优化的模型进行在线联邦学习优化,包括:
模型优化模块接收分发系统发送的待优化的模型信息并根据该信息获取待优化的模型;
模型训练模块从所述模型优化模块中下载所述待优化的模型,并利用客户端的数据存储模块中存储的数据对下载的模型进行训练,得到训练后的模型参数并将其通过数据存储模块发送至参数聚合模块;
参数聚合模块收集并聚合所述联邦学习客户端发送的模型参数,得到更新参数并将其发送至模型优化模块;
模型优化模块利用所述更新参数优化所述待优化的模型,得到优化模型并将其保存到所述模型容器系统中。
优化后的模型保存到模型容器系统后,被用于对后续预测请求的预测,得到预测结果后,发送至用户,如果用户对预测结果满意,则结束,如果用户对预测结果不满意,则认为第一次优化后的模型还需要进一步优化。所以,上述过程可能需要重复循环多次,直至利用优化模型预测得到的结果使用户满意。
模型训练模块得到训练后的模型参数后,可发送至数据存储模块,数据存储模块先对模型参数进行加密处理,然后将加密后的模型参数发送至参数聚合模块,保证了参数的安全性。
进一步地,分发系统接收来自用户的预测请求并将其映射至模型容器系统的模型中,包括:
处理中心根据用户预测请求中的模型类别向自建模型中心和/或第三方模型中心发送请求,请求自建模型中心访问自建模型容器系统并选择与所述模型类别对应的模型,和/或请求第三方模型中心访问第三方模型容器系统,并选择与所述模型类别对应的模型,同时将待评测内容发送至选择的模型中。
进一步地,自建模型中心通过轮询的方式访问所述自建模型容器系统中相对应的服务器,并在相对应的服务器中选择闲置的与所述预测请求具有映射关系的模型。
第三方模型中心根据第三方模型容器系统的服务架构设计请求队列,并依据所述请求队列在所述第三方模型容器系统中选择闲置的与所述预测请求具有映射关系的模型。
本发明实施例的方法通过采用在线联邦学习的方式对模型进行优化,并利用优化的模型进行预测,得到用户满意的预测结果,不仅使得预测效果指标更加理想,提高了用户的满意度,而且模型优化过程与使用过程进行了融合统一,解决了目前医疗领域等特定场景下数据收集难度大造成数据孤岛、使得预测效果指标不理想的问题,以及由于数据收集和使用隔离带来的违反法案的问题。
上述实施例的系统和方法可以应用在医疗场景中,为患者或医生提供辅助信息,缓解医疗资源的紧张。作为一个示例,所述预测请求包括肿瘤病理图像,所述模型的类别包括器官,例如肺、乳腺、胃、淋巴等,所述预测结果包括图像的分类,例如良性、恶性,以及置信度等信息。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。