一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于联合学习的信息交互方法、装置和系统与流程

2022-07-19 22:07:26 来源:中国专利 TAG:


1.本发明属于人工智能技术领域,尤其涉及一种基于联合学习的信息交互方法、装置和系统。


背景技术:

2.在纵向联合学习架构中,运行参与联合学习的客户端之间进行数据交互,但必须保证该数据交互不能泄漏交互双发的数据信息,为此,现有技术中针对数据的安全性做了很多算法上的设计,以规避数据不安全因素。
3.实际中,还有采用代理的方式来进行数据交互,不过如何设置代理方式和保证信息交互的安全,现有技术并未涉及相关技术内容。


技术实现要素:

4.有鉴于此,本发明实施例提供了一种基于联合学习的信息交互方法、装置和系统,以解决纵向联合学习中如何利用代理实现信息交互的的问题。
5.本发明第一方面,提供了基于联合学习的信息交互方法,其包括:接收客户端的正向代理发送的反向代理的请求信息;其中,所述反向代理为包含多个目标服务器;利用所述请求信息,提取所述反向代理中目标服务器的属性信息;基于纵向联合学习对所述属性信息建立联合学习的交互模型;根据所述交互模型,所述正向代理与所述反向代理建立交互关系。
6.本发明的第二方面,提供了基于联合学习的信息交互装置,其包括:请求接收模块,用于接收客户端的正向代理发送的反向代理的请求信息;其中,所述反向代理为包含多个目标服务器;请求响应模块,利用所述请求信息,提取所述反向代理中目标服务器的属性信息;联合学习模块,用于基于纵向联合学习对所述属性信息建立联合学习的交互模型;代理交互模块,用于根据所述交互模型,所述正向代理与所述反向代理建立交互关系。
7.本发明的第三方面,提供了用于实现第一方面中基于联合学习的信息交互方法的系统,其包括:至少一个客户端,分别连接于正向代理服务器;至少一个业务服务器,分别连接于反向代理服务器,所述反向代理服务器与所述正向代理服务器之间通过网络交互连接。
8.本发明的第四方面,提供了一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,实现第一方面中所述方法的步骤。
9.本发明的第五方面,提供了一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现第一方面中所述方法的步骤。
10.本发明实施例与现有技术相比存在的有益效果是:本发明通过在同一应用场景中使用正向代理服务器和反向代理服务器来代理客户端的请求业务,并利用套接字来实现了正向代理服务器和反向代理服务器之间的信息交互,保证了数据交互的安全。
附图说明
11.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
12.图1是可以应用本发明以下实施例的一个联合学习架构;
13.图2是可以应用本发明基于联合学习的信息交互方法的系统原理图;
14.图3是实施例二提供的基于联合学习的信息交互方法的流程图;
15.图4是实施例三提供的基于联合学习的信息交互装置的原理图;
16.图5是可以应用本发明基于联合学习的信息交互和装置的电子设备。
具体实施方式
17.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
18.图1为可以应用本发明以下实施例的一个纵向联合学习架构,如图1所示,在该联合学习架构中,包括:服务器101和多个客户端102、103,所述客户端102、103与服务器通信交互,且所述客户端102、103之间通信交互。
19.其中,服务器101即为联合信任中心,也称为中央服务器;客户端102、103为联合学习的客户机。一般的,对于客户端的数量可以为k个,k≥2,且为正整数。
20.具体的,所述客户端可以具体包括但不限于计算机、服务器、工作站等电子设备。示例性的,所述电子设备,可以具体包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如下列实施例一中任一完整方法的步骤。
21.纵向联合学习与常见的横向联合学习不同,在纵向联合学习中允许多个用户之间以加密方式进行通信交互。具体的,结合图1所示,纵向联合学习原理为:当开始一轮训练任务时,第

步,由中央服务器101将公钥分发给客户端,用于对训练过程中需要交换的数据进行加密;第

步,客户端102、103之间以加密形式交换用于计算梯度的中间结果;第

步,客户端102、103分别基于加密的梯度值进行计算,同时客户端102、103根据其标签数据计算损失,并把结果汇总给服务器101,服务器101通过汇总结果计算总梯度值并将其解密;第

步,服务器101将解密后的梯度分别回传给客户端102和客户端103,客户端102和客户端103根据梯度更新各自模型的参数。
22.基于上述说明可知,当客户端102和103进行交互过程中,如果保证数据的安全是关键。至此,本发明在以下实施例中,将对纵向联合学习中客户端如何进行安全通信的方法进行改进,以保证信息交互的安全性。
23.实施例一
24.图2是可以应用本发明基于联合学习的信息交互方法的系统原理图。
25.如图2所示,所述系统200包括:至少一个客户端202,分别连接于正向代理服务器
201;至少一个业务服务器204,分别连接于反向代理服务器203,所述反向代理服务器203与所述正向代理服务器201之间通过网络交互连接。
26.具体的,客户端通过正向代理服务器访问目标服务器,其中,该目标服务器为反向代理服务器,所述反向代理服务器代理至少一个业务服务器,由此反向代理服务器会将客户端的请求交给其中一个或多个业务服务器去执行,并将业务服务器返回的执行结果交给正向代理服务器,再由正向代理服务器返给客户端。这样一方面可以对业务服务器进行隐藏,由此在纵向联合学习中,可以有效保护客户的数据安全。
27.在一个示例中,所述反向代理服务器与所述正向代理服务器之间通过网络交互连接,可以包括:所述正向代理服务器与所述反向代理服务器在同一网段两个进程间通过socket进行信息交互。
28.其中,正向代理服务器与反向代理服务器之间的信息交互是基于套接字,即socket来实现的。socket可以支持各种通信协议,例如,tcp、udp等。只要知道信息交互两方的ip地址、协议和端口可以建立连接通信。
29.例如,以在tcp协议下利用socket实现通信的原理:首先在正向代理服务器和反向代理服务器上建立socket,接着,假设由正向代理服务器向反向代理服务器发送请求,当反向代理服务器监听到该请求时,与正向代理服务器建立连接,然后进行相互通信,最后通信结束之后断开连接即可。由此可见,这种通信方式非常加单。
30.实施例二
31.图3是实施例二提供的基于联合学习的信息交互方法的流程图。
32.如图3所示,所述基于联合学习的信息交互方法,包括以下步骤:
33.步骤s301:接收客户端的正向代理发送的反向代理的请求信息;其中,所述反向代理为包含多个目标服务器;
34.步骤s302:利用所述请求信息,提取所述反向代理中目标服务器的属性信息;
35.步骤s303:基于纵向联合学习对所述属性信息建立联合学习的交互模型;
36.步骤s304:根据所述交互模型,所述正向代理与所述反向代理建立交互关系。
37.本实施例在同一应用场景中同时使用正向代理服务器和反向代理服务器,来保证数纵向联合学习中进行中间参数交换的安全性。
38.在一个示例中,步骤s304,可以包括:根据所述交互模型,所述正向代理服务器与所述反向代理服务器在同一网段两个进程间通过socket进行信息交互。
39.实施例三
40.在同一发明构思下,图4是实施例三提供的基于联合学习的信息交互装置的原理图。
41.如何4所示,该基于联合学习的信息交互装置400,包括:请求接收模块410,用于接收客户端的正向代理发送的反向代理的请求信息;其中,所述反向代理为包含多个目标服务器;请求响应模块420,利用所述请求信息,提取所述反向代理中目标服务器的属性信息;联合学习模块430,用于基于纵向联合学习对所述属性信息建立联合学习的交互模型;代理交互模块440,用于根据所述交互模型,所述正向代理与所述反向代理建立交互关系。
42.在一些可选示例中,代理交互模块440,还用于根据所述交互模型,所述正向代理服务器与所述反向代理服务器在同一网段两个进程间通过socket进行信息交互。
43.实施例四
44.图5是可以应用本发明基于联合学习的信息交互和装置的电子设备。如图5所示,该电子设备500包括:处理器501、存储器502以及存储在所述存储器502中并可在所述处理器501上运行的计算机程序503。所述处理器501执行所述计算机程序503时实现上述各个基于联合学习的信息交方法实施例中的步骤,例如图1所示的步骤s101至s104。或者,所述处理器501执行所述计算机程序503时实现上述各基于联合学习的信息交装置实施例中各模块/单元的功能,例如图4所示模块410至440的功能。
45.示例性的,所述计算机程序503可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器502中,并由所述处理器501执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序503在所述电子设备500中的执行过程。例如,所述计算机程序503可以被分割成请求接收模块410,请求响应模块420,联合学习模块430和代理交互模块440。
46.所述电子设备500可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。例如,该电子设备500可以为上述任一种代理服务器,如图1中的反向代理服务器。所述电子设备500可包括,但不仅限于,处理器501、存储器502。本领域技术人员可以理解,图5仅仅是电子设备500的示例,并不构成对电子设备500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备500还可以包括输入输出设备、网络接入设备、总线等。
47.所称处理器501可以是中央处理单元(central processing unit,cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
48.所述存储器502可以是所述电子设备500的内部存储单元,例如电子设备500的硬盘或内存。所述存储器502也可以是所述电子设备500的外部存储设备,例如所述电子设备500上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器502还可以既包括所述电子设备500的内部存储单元也包括外部存储设备。所述存储器502用于存储所述计算机程序以及所述电子设备500所需的其它程序和数据。所述存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
49.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
50.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
51.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
52.在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
53.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
54.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
55.所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
56.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献