CN114281231A - 信息呈现方法、装置、电子设备和存储介质 - Google Patents
信息呈现方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114281231A CN114281231A CN202111187013.0A CN202111187013A CN114281231A CN 114281231 A CN114281231 A CN 114281231A CN 202111187013 A CN202111187013 A CN 202111187013A CN 114281231 A CN114281231 A CN 114281231A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- learning
- node
- federal learning
- federal
- 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
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及计算机技术领域,尤其涉及大数据技术领域,提供一种信息呈现方法、装置、电子设备和存储介质,用以提高联邦学习效率,其中,方法包括:响应于目标协作对象触发的联邦学习协同呈现操作,呈现包含创建对象的第一联邦学习运行信息的联邦学习操作界面;响应于目标协作对象触发的信息增加操作,在联邦学习操作界面中,呈现目标协作对象的第二联邦学习运行信息。通过呈现各个参与对象的联邦学习运行信息,提高联邦学习效率。
Description
技术领域
本申请涉及计算机技术领域,提供一种信息呈现方法、装置、电子设备和存储介质。
背景技术
随着计算机技术的发展,联邦学习逐渐成为一个热门课题,联邦学习通过多方协作完成机器学习和深度学习模型的训练,在保护用户隐私和数据安全的同时,解决了数据孤岛的问题。
相关技术中,针对联邦学习中的各个参与方,分别在各自对应的操作界面中呈现相应的运行信息。
然而,采用上述信息呈现方式,每个参与方仅能获得与自身相关的运行信息,因此,当联邦学习出现运行故障时,除故障发生方,其他参与方均无法获知故障原因,只能等待故障恢复。在故障发生时间较长的情况下,其他参与方均需要长时间等待故障恢复,严重影响联邦学习效率,且浪费各个参与方的计算资源。
发明内容
本申请实施例提供一种信息呈现方法、装置、电子设备和存储介质,用以提高联邦学习效率,减少计算资源的浪费。
第一方面,本申请实施例提供一种信息呈现方法,包括:
响应于目标协作对象触发的联邦学习协同呈现操作,呈现相应的联邦学习操作界面,所述联邦学习操作界面中包含所述联邦学习的创建对象的第一联邦学习运行信息,所述创建对象和所述目标协作对象共同协作完成所述联邦学习;
响应于所述目标协作对象触发的信息增加操作,在所述联邦学习操作界面中,呈现所述目标协作对象的第二联邦学习运行信息。
第二方面,本申请实施例提供一种信息呈现装置,包括:
协同呈现单元,用于响应于目标协作对象触发的联邦学习协同呈现操作,呈现相应的联邦学习操作界面,所述联邦学习操作界面中包含所述联邦学习的创建对象的第一联邦学习运行信息,所述创建对象和所述目标协作对象共同协作完成所述联邦学习;
信息增加单元,用于响应于所述目标协作对象触发的信息增加操作,在所述联邦学习操作界面中,呈现所述目标协作对象的第二联邦学习运行信息。
在一些实施例中,所述在所述联邦学习操作界面中,呈现各个第二算法节点之后,信息增加单元还用于:
在所述联邦学习操作界面中,标注至少一个联邦学习组,每个联邦学习组中包含一个第一算法节点与一个第二算法节点;
根据所述各个第二算法节点之间的算法执行顺序,依次执行所述各个第二算法节点;
其中,每执行到位于一个联邦学习组中的一个第二算法节点,根据所述算法执行顺序,确定下一个第二算法节点,并在所述一个第二算法节点和所述一个联邦学习组中的一个第一算法节点执行完成后,执行所述下一个第二算法节点,所述下一个第二算法节点,位于另一个联邦学习组中,或者,不位于所述至少一个联邦学习组中。
在一些实施例中,所述在所述联邦学习操作界面中,标注至少一个联邦学习组之后,信息增加单元还用于执行以下至少一种操作:
响应于针对一个联邦学习组中的一个第一算法节点或一个第二算法节点的第一拖拽操作,将所述一个第一算法节点和所述一个第二算法节点移动至目标位置;
响应于针对一个联邦学习组的拖拽标识的第二拖拽操作,将所述一个联邦学习组中的一个第一算法节点和一个第二算法节点移动至所述目标位置。
在一些实施例中,所述响应于所述目标协作对象触发的节点连接操作,在所述联邦学习操作界面中,呈现所述各个第二算法节点之间的算法执行顺序时,信息增加单元具体用于:
响应于所述目标协作对象针对任意两个第二算法节点中一个第二算法节点的下连接区域,以及另一个第二算法节点的上连接区域触发的节点连接操作,在所述联邦学习操作界面中,呈现所述各个第二算法节点之间的算法执行顺序。
在一些实施例中,所述第一联邦学习运行信息中还包含所述各个第一机器学习算法各自对应的运行状态;
则所述响应于目标协作对象触发的联邦学习协同呈现操作,呈现相应的联邦学习操作界面时,协同呈现单元具体用于:
响应于所述联邦学习协同呈现操作,在所述联邦学习操作界面中,呈现所述各个第一算法节点各自对应的运行标识,每个运行标识用于表征一个第一算法节点对应的运行状态。
第三方面,本申请实施例提供一种电子设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述信息呈现方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行上述信息呈现方法的步骤。
第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质中读取并执行所述计算机程序,使得电子设备执行上述信息呈现方法的步骤。
本申请实施例中,联邦学习由创建对象和目标协作对象共同协作完成,响应于目标协作对象触发的联邦学习协同呈现操作,呈现相应的联邦学习操作界面,联邦学习操作界面中包含创建对象的第一联邦学习运行信息;响应于目标协作者触发的信息增加操作,在联邦学习操作界面中,呈现目标协作对象的第二联邦学习运行信息。
这样,目标协作对象查看联邦学习运行信息时,联邦学习操作界面中,不仅呈现查看自身的联邦学习运行信息,还呈现创建对象的联邦学习运行信息,因此,在联邦学习过程中,若出现运行故障,目标协作对象可以通过自身以及创建对象的联邦学习运行信息,确定故障恢复原因,从而提高联邦学习效率,减少目标协作对象的资源消耗。此外,呈现多个参与对象的联邦学习运行信息,极大地简化了联邦学习的交互方式,从而有效地降低了联邦学习的参与难度,提高了产品实用性,进而提升了用户使用感。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请实施例中提供的应用场景的示意图;
图1b为本申请实施例中提供的终端设备与服务器之间的交互示意图;
图2为本申请实施例中第一终端设备侧的信息呈现方法的流程示意图;
图3a为本申请实施例中提供的包含第一算法节点的界面示意图;
图3b为本申请实施例中提供的包含各个第一算法节点之间的算法执行顺序的界面示意图;
图3c为本申请实施例中提供的包含参与对象的标识的操作界面示意图;
图4为本申请实施例中提供的节点创建操作的逻辑示意图;
图5a为本申请实施例中提供的第一种节点连接操作的示意图;
图5b为本申请实施例中提供的第二种节点连接操作的示意图;
图6为本申请实施例中第二终端设备侧的信息呈现方法的流程示意图;
图7a为本申请实施例中提供的触发信息增加操作前的界面示意图;
图7b为本申请实施例中提供的触发信息增加操作后的界面示意图;
图8为本申请实施例中提供的包含各个第二算法节点之间的算法执行顺序的界面示意图;
图9为本申请实施例中提供的一种联邦学习组的界面示意图;
图10a为本申请实施例中提供的一种第一拖拽操作的界面示意图;
图10b为本申请实施例中提供的另一种第一拖拽操作的界面示意图;
图10c为本申请实施例中提供的第二拖拽操作的示意图;
图11为本申请实施例中提供的包含节点的运行状态的示意图;
图12a为本申请实施例中提供的SVG图形的dom结构示意图;
图12b为本申请实施例中提供的根节点的dom结构示意图;
图12c为本申请实施例中提供的算子的dom结构示意图;
图13a为本申请实施例中提供的联邦学习组的dom结构示意图;
图13b为本申请实施例中提供的联邦学习组的dom结构示意图;
图13c为本申请实施例中提供的另一种联邦学习组的界面示意图;
图14a为本申请实施例中提供的拖拽连线的逻辑示意图;
图14b为本申请实施例中提供的各个事件的逻辑示意图;
图15为本申请实施例中提供的连线的dom结构示意图;
图16a为本申请实施例中提供的链路标记的dom结构示意图;
图16b为本申请实施例中提供的链路标记的示意图;
图16c为本申请实施例中提供的告警提示的示意图;
图17a为本申请实施例中提供的拖拽定位的逻辑示意图;
图17b为本申请实施例中提供的运行动画的示意图;
图18为本申请实施例中提供的信息呈现装置的逻辑结构示意图;
图19为本申请实施例中提供的电子设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
联邦学习:联邦学习是为保护用户数据隐私而提出的多方参与的机器学习系统。各方在本地用私有数据做训练,数据不出本地,以一定的算法将各自训练的模型聚合成公共的模型,该模型效果好于各自独立训练的模型。联邦学习的参与对象包括创建对象和协作对象。
创建对象:创建对象是指创建联邦学习的对象。
协作对象:协作对象是指除创建对象外,参与联邦学习的对象。
算子:一个机器学习算法以一个节点的形式呈现,则将其称为算子。
选择器:选择器是用于选取需要设置样式的元素的模式。
大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
随着大数据时代的到来,联邦学习逐渐成为一个热门课题,联邦学习通过多方协作完成机器学习和深度学习模型的训练,在保护用户隐私和数据安全的同时,解决了数据孤岛的问题。
相关技术中,针对联邦学习中的各个参与方,分别在各自对应的操作界面中呈现相应的运行信息。
然而,采用上述信息呈现方式,每个参与方仅能获得与自身相关的运行信息,因此,当联邦学习出现运行故障时,除故障发生方,其他参与方均无法获知故障原因,只能等待故障恢复。在故障发生时间较长的情况下,其他参与方均需要长时间等待故障恢复,严重影响联邦学习效率,且浪费各个参与方的计算资源。
有鉴于此,本申请实施例提供了一种信息呈现方法、装置、设备及存储介质,以提高联邦学习效率,节省各个参与方的计算资源。本申请实施例中,联邦学习由创建对象和目标协作对象共同协作完成,响应于目标协作对象触发的联邦学习协同呈现操作,呈现相应的联邦学习操作界面,联邦学习操作界面中包含创建对象的第一联邦学习运行信息;响应于目标协作者触发的信息增加操作,在联邦学习操作界面中,呈现目标协作对象的第二联邦学习运行信息。
这样,目标协作对象查看联邦学习运行信息时,联邦学习操作界面中,不仅呈现查看自身的联邦学习运行信息,还呈现创建对象的联邦学习运行信息,因此,在联邦学习过程中,若出现运行故障,目标协作对象可以通过自身以及创建对象的联邦学习运行信息,确定故障恢复原因,从而提高联邦学习效率,减少目标协作对象的资源消耗。此外,呈现多个参与对象的联邦学习运行信息,极大地简化了联邦学习的交互方式,从而有效地降低了联邦学习的参与难度,提高了产品实用性,进而提升了用户使用感。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请实施例及实施例中的特征可以相互组合。
参阅图1a所示,其为本申请实施例中提供的一种应用场景的示意图。在本申请实施例的应用场景中,包括:第一终端设备110、第二终端设备130、应用服务器150。其中,第二终端设备130的数目可以是一个,也可以是多个,本申请实施例中,仅以一个第二终端设备为例进行说明。第一终端设备110、第二终端设备130以及应用服务器150之间可以通过通信网络进行通信。
在一种可选的实施方式中,通信网络是有线网络或无线网络。第一终端设备110、第二终端设备130以及应用服务器150之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例中,第一终端设备110、第二终端设备130可以是是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。
应用服务器150可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请实施例中,联邦学习的创建对象通过第一终端设备110可以登陆应用相关界面120,第一终端设备110通过响应创建对象在界面120中触发的各种操作,呈现创建对象以及各个协作对象的联邦学习运行信息,例如,针对创建对象的信息增加操作、针对各个协作对象的信息呈现操作等。界面120则可以是创建对象的联邦学习操作界面。
联邦学习的各个协作对象均可以通过第二终端设备130可以登陆应用相关界面140,第二终端设备130通过响应协作对象在界面140中触发的各种操作,呈现创建对象以及各个协作对象的联邦学习运行信息,例如,针对创建对象的信息呈现操作、针对协作对象的信息呈现操作等。界面140则可以是协作对象的联邦学习操作界面。
在一些实施例中,参阅图1b所示,第二终端设备130可以向应用服务器120发送携带有协作对象标识的信息呈现请求。应用服务器120根据接收到的协作对象标识,确定第二终端设备130拥有信息查看权限时,将包含创建对象的联邦学习运行信息的联邦学习操作界面发送给第二终端设备130。其中,应用服务器120中存储的协作对象标识可以是第一终端设备110创建联邦学习操作界面时向应用服务器120发送的。
在本申请实施例中,第一终端设备110和第二终端设备120上安装有应用,该应用用于呈现联邦学习运行信息,这里的应用可以是软件,也可以是网页、小程序等应用,应用服务器则是与软件或是网页、小程序等相对应的服务器。
参阅图2所示,其为本申请实施例中提供的一种信息呈现方法的流程示意图,可以应用于第一终端设备110中,该方法的具体实施流程如下:
S201、第一终端设备响应于创建对象触发的各个节点创建操作,在联邦学习操作界面中,呈现创建对象对应的各个第一算法节点,每个第一算法节点表征创建对象使用的一个第一机器学习算法。
本申请实施例中,联邦学习的参与对象包括创建对象和至少一个协作对象。例如,联邦学习1的参与对象包括:对象A、对象B和对象C,其中,对象A为创建对象,对象B和对象C均为协作对象。又例如,联邦学习2的参与对象包括:对象D和对象E,其中,对象D为创建对象,对象E为协作对象。
第一机器学习算法可以包括第一联邦学习算法和第一非联邦学习算法。第一联邦学习算法表征创建对象与各个协作对象共同执行完成的机器学习算法。第一非联邦学习算法表征创建对象单独执行完成的机器学习算法。第一联邦学习算法对应的第一算法节点也可以称为第一联邦学习算法节点,第一非联邦学习算法对应的第一算法节点也可以称为第一非联邦学习算法节点,或者第一普通算法节点。
在联邦学习过程中,各个参与对象需要对各自的样本数据进行数据处理,数据处理可以包括数据清洗、数据集成、数据变换等,由于各个参与对象拥有的样本数据是不同的,因此,各个参与对象可以采用不同的非联邦学习算法进行数据预处理。
以联邦学习1为例,对象A采用的非联邦学习算法为对象A_算法1,对象B采用的非联邦学习算法为对象B_算法1,对象C采用的非联邦学习算法为对象C_算法1,其中,对象A_算法1为均值插补算法,对象B_算法1是z-score标准化算法,对象C_算法1是主成分分析算法。
第二终端设备在联邦学习操作界面中呈现各个第一算法节点的过程中,还可以呈现各个参与对象各自对应的各个第二算法节点,每个第二算法节点表征一个协作对象使用的一个第二机器学习算法。
第二机器学习算法可以包括第二联邦学习算法和第二非联邦学习算法。第二联邦学习算法表征创建对象与各个协作对象共同执行完成的机器学习算法。第二非联邦学习算法表征一个协作对象单独执行完成的机器学习算法。第而联邦学习算法对应的第二算法节点也可以称为第二联邦学习算法节点,第二非联邦学习算法对应的第二算法节点也可以称为第二非联邦学习算法节点,或者第二普通算法节点。
以联邦学习1为例,参阅图3a所示,第一终端设备响应于创建对象触发的节点创建操作,在联邦学习操作界面,呈现以下节点:对象A对应的非联邦学习算法节点:对象A_算法1,对象B对应的非联邦学习算法节点:对象B_算法1,对象C对应的非联邦学习算法节点:对象C_算法1,以及对象A对应的第一联邦学习算法:对象A_联邦算法1。
S202、第一终端设备响应于创建对象触发的各个节点连接操作,在联邦学习操作界面中,呈现各个第一算法节点之间的算法执行顺序。
算法执行顺序中可以包含第一联邦学习算法节点与第一非联邦学习算法节点之间的连接关系、第一非联邦学习算法节点与根节点之间的连接关系、第一联邦学习算法节点与根节点之间的连接关系。
需要说明的是,本申请实施例中,联邦学习操作界面中还可以呈现根节点,根节点用于表征联邦学习的开始节点。
例如,参阅图3b所示,创建对象分别连接根节点与对象A_算法1、根节点与对象B_算法1、根节点与对象C_算法1、对象A_算法1与对象A_联邦算法1,其中,圆形表示根节点。
当创建对象连接根节点与各个第一算法节点后,第一终端设备在联邦学习操作界面中,还可以在目标连线上呈现相应的参与对象的标识。目标连线可以是算法执行顺序中任意两个节点之间的连线。
例如,参阅图3c所示,根节点与对象A_算法1节点之间的连线上包含对象A的标识“对象A”,根节点与对象B_算法1节点之间的连线上包含对象B的标识“对象B”,根节点与对象C_算法1节点之间的连线上包含对象C的标识“对象C”。
需要说明的是,创建对象可以在触发各个节点创建操作的过程中,触发各个节点连接操作,创建对象也可以在触发各个节点创建操作后,触发各个节点连接操作,对此不作限制。
例如,参阅图4所示,第一终端设备响应于对象A触发的对象A_算法1的节点创建操作,在联邦学习操作界面中呈现对象A_算法1节点,然后,响应于对象A触发的根节点与对象A_算法1节点之间的节点连接操作,呈现根节点与对象A_算法1之间的连线,根节点与对象A_算法1之间的连线上包含对象A的标识“对象A”。
本申请实施例中,创建对象触发的节点连接操作包括但不限于以下几种操作中的一种或多种:
操作1:创建对象针对节点x1的第一连接区域和节点x2的第二连接区域触发的节点连接操作。其中,节点x1、节点x2可以是各个第一算法节点中的任意两个算法节点。
本申请实施例中,不论是第一算法节点,还是第二算法节点,每个算法节点均存在对应的第一连接区域和第二连接区域,由于本申请实施中,联邦学习操作界面中各个算法节点之间按照纵向方式布局,因此,本申请实施例中,第一连接区域也可以称为上连接区域,第二连接区域也可以称为下连接区域。在一些实施例中,上连接区域也可称为上连接点,下连接区域也可称为下连接点。
以对象A_算法1节点和对象A_联邦算法1节点为例,参阅图5a所示,对象A_算法1节点和对象A_联邦算法1节点均存在各自对应的上连接区域和下连接区域。对象A点击对象A_算法1节点的下连接区域,然后推拽至对象A_联邦算法1节点的上连接区域,第一终端设备确定对象A触发针对对象A_算法1节点和对象A_联邦算法1节点的节点连接操作。
操作2:创建对象针对根节点的第一连接区域和节点x1的第二连接区域触发的节点连接操作。
本申请实施例中,根节点仅存在对应的下连接区域。
例如,参阅图5b所示,以对象A_算法1节点和根节点为例,对象A_算法1节点存在对应的上连接区域和下连接区域,根节点存在对应的下连接区域。对象A点击根节点的下连接区域,然后推拽至对象A_算法1节点的上连接区域,第一终端设备确定对象A针对根节点和对象A_算法1节点的触发节点连接操作。
操作3:创建对象针对根节点的第一连接区域和节点x3的第二连接区域触发的节点连接操作。节点x3可以是各个第二算法节点中的任意一个第二算法节点。与操作2类似,在此不再赘述。
参阅图6所示,其为本申请实施例中提供的一种信息呈现方法的流程示意图,应用于第二终端设备,具体实施流程如下:
S601、第二终端设备响应于目标协作对象触发的联邦学习协同呈现操作,呈现相应的联邦学习操作界面,联邦学习操作界面中包含联邦学习的创建对象的第一联邦学习运行信息,创建对象和目标协作对象共同协作完成联邦学习。
目标协作对象可以是各个协作对象中的任意一个协作对象。目标协作对象触发的联邦学习协同呈现操作可以是应用启动操作,也可以是应用中的登录操作,对此不作限制。
为了进一步降低操作复杂度,提高联邦学习的效率,本申请实施例中,以节点形式呈现各个机器学习算法,具体的,第一联邦学习运行信息中包含创建对象使用的各个第一机器学习算法,第二终端设备响应于目标协作对象触发的联邦学习协同呈现操作,在联邦学习操作界面中,呈现各个第一算法节点,其中,每个第一算法节表征一个第一机器学习算法。
以目标操作对象为对象B为例,目标协作对象触发应用启动操作,即联邦学习协同呈现操作,第二终端设备响应于触发联邦学习协同呈现操作,呈现图3c所示的联邦学习操作界面。
S602、第二终端设备响应于目标协作对象触发的信息增加操作,在联邦学习操作界面中,呈现目标协作对象的第二联邦学习运行信息。
具体的,第二联邦学习运行信息中包含目标协作对象使用的各个第二机器学习算法,第二终端设备响应于目标协作对象触发的信息增加操作,在联邦学习操作界面中,呈现各个第二算法节点,其中,每个第二算法节点表征一个第二机器学习算法。
需要说明的是,本申请实施例中,第二终端设备响应于目标协作对象触发的信息增加操作,在联邦学习操作界面中,呈现各个第二算法节点的过程中,可以呈现各个第二联邦学习算法节点,也可以呈现各个第二非联邦学习算法节点,或者,同时呈现各个第二联邦学习算法节点和各个第二非联邦学习算法节点,对此不作限制。
仍以目标协作对象为对象B为例,参阅图7a所示,在联邦学习操作界面中包含加入按钮,当对象B点击加入按钮时,触发信息增加操作,参阅图7b所示,对象B使用的第二联邦学习算法为对象B_联邦算法2,第二终端设备响应于对象B触发的信息增加操作,在联邦学习操作界面中,呈现第二算法节点:对象B_联邦算法2。
本申请实施例中,将目标协作对象使用的各个机器学习算法,以算法节点的方式,呈现于联邦学习操作界面中,这样,联邦学习的过程中,各个协作对象各自使用的机器学习算法,均可以呈现于联邦学习操作界面中,当联邦学习出现运行故障时,创建对象和各个协作对象均可以获知故障原因,从而提高了机器学习效率。
每个参与对象的各个算法节点之间存在算法执行顺序,将每个参与对象的算法执行顺序视为一个链路,为保护各个参与对象的数据安全,本申请实施例中,各个参与对象之间的链路之间不存在交叉,即各个第一算法节点与各个第二算法节点均不相同。具体的,第二终端设备在联邦学习操作界面中,还可以呈现各个第一联邦学习算法节点之间的算法执行顺序。第二终端设备在联邦学习操作界面中,呈现各个第二算法节点之后,还可以响应于目标协作对象触发的节点连接操作,在联邦学习操作界面中,呈现各个第二算法节点之间的算法执行顺序。
需要说明的是,由于在联邦学习操作界面中,呈现各个第二节点之间的算法执行顺序的过程,与上文中在联邦学习操作界面中,呈现各个第一算法节点之间的算法执行顺序的过程相同,在此不再赘述。
仍以目标协作对象为对象B为例,参阅图8所示,第二终端设备响应于对象B触发的节点连接操作,在联邦学习操作界面中,呈现对象B_算法1节点和对象B_联邦算法1节点之间的算法执行顺序。
进一步的,本申请实施例中,在联邦学习操作界面中,呈现各个第二算法节点之后,第二终端设备还可以在联邦学习操作界面中,标注至少一个联邦学习组,每个联邦学习组中包含一个第一算法节点与一个第二算法节点,然后根据各个第二算法节点之间的算法执行顺序,依次执行各个第二算法节点。
以联邦学习组i为例,联邦学习组i为至少一个联邦学习组中的任意一个联邦学习,联邦学习组i中包含一个第一算法节点i和一个第二算法节点i。
其中,每执行到位于联邦学习组i中的第二算法节点i,根据算法执行顺序,确定下一个第二算法节点i+1,并在第二算法节点i和第一算法节点i执行完成后,执行下一个第二算法节点i+1。下一个第二算法节点i+1,位于另一个联邦学习组中,或者,不位于至少一个联邦学习组中。
仍以目标协作对象为对象B为例,参阅图9所示,联邦学习操作界面中,存在联邦学习组1和联邦学习组2,联邦学习组1中包含对象A_联邦算法1和对象B_联邦算法1,联邦学习组1中包含对象A_联邦算法2和对象B_联邦算法2,对象B的各个第二算法节点之间的算法执行顺序依次为:对象B_算法1、对象B_联邦算法1、对象B_联邦算法2,第二终端设备在联邦学习操作界面中,以虚线框分别标注联邦学习组1和联邦学习组2。第二终端设备先执行对象B_算法1,根据算法执行顺序,确定下一个第二算法节点为对象B_联邦算法1,然后,执行对象B_联邦算法1,根据算法执行顺序,确定下一个第二算法节点为对象B_联邦算法2,在联邦学习组1中的对象A_联邦算法1和对象B_联邦算法1执行完成后,执行下一个第二算法节点:对象B_联邦算法2。
进一步的,考虑到参与对象在使用过程会对各个节点的位置进行调整,为提高交互效率,本申请实施例中,第二终端设备在联邦学习操作界面中,标注至少一个联邦学习组之后,还可以针对各个联邦学习组进行推拽移动。
具体的,作为一种示例,第二终端设备响应于针对一个联邦学习组中的一个第一算法节点或一个第二算法节点的第一拖拽操作,将一个第一算法节点和一个第二算法节点移动至目标位置。
例如,参阅图10a所示,第二终端设备响应于针对联邦学习组1中对象B_联邦算法1节点的第一拖拽操作,将联邦学习组1中的对象A_联邦算法1节点和对象B_联邦算法1节点移动至目标位置。
又例如,参阅图10b所示,第二终端设备响应于针对联邦学习组1中对象A_联邦算法1节点的第一拖拽操作,将联邦学习组1中的对象A_联邦算法1节点和对象B_联邦算法1节点移动至目标位置。
作为另一种示例,第二终端设备还可以响应于针对一个联邦学习组的拖拽标识的第二拖拽操作,将一个联邦学习组中的一个第一算法节点和一个第二算法节点移动至目标位置。
需要说明的是,本申请实施例中,联邦学习组的拖拽标识,可以是联邦学习组名称,也可以是图9中所示的虚线框,还可以是预先设置的其他标识,对此不作限制。
例如,参阅图10c所示,第二终端设备响应于针对联邦学习组1的虚线框的第二拖拽操作,将联邦学习组1中的对象A_联邦算法1节点和对象B_联邦算法1节点移动至目标位置。
进一步的,本申请实施例中,第一联邦学习运行信息中还包含各个第一机器学习算法各自对应的运行状态信息,第二终端设备响应于联邦学习协同呈现操作,在联邦学习操作界面中,还可以呈现各个第一算法节点各自对应的运行标识,每个运行标识用于表征一个第一算法节点对应的运行状态。
相应的,第二联邦学习运行信息中还包含各个第二机器学习算法各自对应的运行状态信息,第二终端设备响应于联邦学习协同呈现操作,在联邦学习操作界面中,还可以呈现各个第二算法节点各自对应的运行标识,每个运行标识用于表征一个第二算法节点对应的运行状态。其中,运行状态可以包括运行成功、运行失败、运行中等。
例如,参阅图11所示,对象A_联邦算法1节点的运行标识表征对象A_联邦算法1运行成功,对象B_联邦算法1节点的运行标识表征对象B_联邦算法1运行失败,对象C_联邦算法1节点的运行标识表征对象C_联邦算法1正在运行中。
下面,对本申请实施例在实际应用过程中的具体实施方式进行说明。
具体实施时,联邦学习操作界面可以基于矢量图格式(Scalable VectorGraphics,SVG)语言实现。SVG是使用可扩展标记语言(Extensible Markup Language,XML)来描述二维图形和绘图程序的语言,在放大或改变尺寸的情况下其图形质量不会有所损失。
1、数据结构
本申请实施例中,包含“根节点”、“非联邦学习算法节点”、“联邦学习算子”和“连线”4个对象。下文中,将非联邦学习算法节点称为普通算子,将联邦学习算子称为联邦学习算子。
理论上,每个对象对应一个数据结构,但由于“根节点”、“普通算子”和“联邦学习算子”,都属于节点,因此,可以使用一个数据结构表示根节点”、“普通算子”和“联邦学习算子”。具体的,本申请实施例中涉及的数据结构如下:
(1)SVG图形标识(id):表示当前可视化图形的标识;
(2)SVG图形坐标(canvasData):表示节点和连线构成的图形的左上角在SVG图形中的坐标,canvasData是一个对象结构,形如:{left:0,top:0},其中,left表示横向坐标,top表示纵向坐标。
(3)创建对象标识(owner):以创建对象为对象A为例,对象A的对象标识可以为“companyA”。
(4)节点数组(nodes[]):nodes[]包含各个节点。其中,每个节点可以包含以下信息中的一项或多项:
1)节点标识(uuid):节点标识用于唯一标识一个节点;
2)节点名称(name);
3)节点类型(nodeType):可选值包括根节点(ROOT)、普通算子(NORMAL)、联邦学习算子(FEDERAL);
4)联邦学习组标识(federalId):当节点的nodeType为“FEDERAL”时,根据federalId,可以对该节点进行联邦学习分组,即加入相应的联邦学习组;
5)节点创建对象标识(owner):创建节点的参与对象的标识,例如,“companyA”,如果节点的节点创建对象标识(owner)和节点创建对象标识(owner)的字段相同,则表示该参与对象为联邦学习的创建对象;
6)节点坐标(canvasData):节点在SVG图形中的坐标,canvasData是一个对象结构。
(5)连线数组(edges[]):edges[]表示连线数组。其中,每个连线可以包含以下信息中的一项或多项:。
1)连线标识(uuid):用于唯一标识一个连线。
2)连线起始节点标识(fromUuid):连线起始节点的uuid。
3)连线结束节点标识(toUuid):连线结束节点的uuid。
2、基础可视化实现
2.1SVG图形和算子容器
首先,创建一个SVG图形,并SVG图形定义宽度和高度,此时,SVG矢量图形为空,没有任何内容,其中,宽度和高度可以根据不同场景进行设定,例如,宽度可以设置为1000像素(px),高度可以设置为500像素(px)。
本申请实施例中,页面(即联邦学习操作界面)中的元素包括“算子”和“连线”,在一些实施例中,为了能够实时展示连线效果,还可以提供“临时连线”,无论是第一终端设备,还是第二终端设备,响应于触发的节点连线操作,可以在联邦学习操作界面中呈现临时连线。因此,页面中的元素还可以包括“临时连线”。
元素可以理解为构成页面的单元,又可以称为节点,在一些实施例中,可以采用树形结构安排各个元素。元素可以拥有属性和内容,可以是标题、段落、链接、列表、嵌入媒体或者其他格式的内容。
将这3种类型的元素进行分类,使用SVG中的标签g来作为这3类元素的容器,以便更好的操作页面上后续加入进来的更多标签。标签(tag)指的是网页中各个元素的标识,又可以称为网页标签。标签与网页元素存在对应关系,即每一个元素(包括子元素)都会有对应的标签。其中,标签g用于将一个或多个元素进行组合。
具体的,参阅图12a所示,其为本申请实施例中提供的一种SVG图形的文档对象模型(Document Object Model,dom)的结构示意图。
dom是处理可扩展置标语言的标准编程接口,它是移动与平台和语言无关的应用程序接口。dom提供了对文档的访问模型,将文档作为一个树形结构,树的每一个节点表示一个标签或者标签内的文本项。
dom中包含有元素和元素之间的层级结构,在该层级结构中可以包含有子元素、父元素以及祖先元素,父元素为子元素上一级的元素,祖先元素为子元素上面各个级别的元素,可以包括其上一级元素、上两级元素等等(可以直接溯及到第一个元素,即根元素),也就是说,有些情况下,祖先元素可以包括父元素。dom树从上到下,可以依次分为第一层,第二层,第三层等。
参阅图12a所示,SVG图形中,包含“算子”的容器(g#fl-cards)、“连线”的容器(g#fl-paths)和“临时连线”的容器(g#fl-temp-paths)。其中,g#fl-cards表示g标签,其id属性为“fl-cards”,g#fl-paths表示g标签,其id属性为“fl-paths”、“g#fl-temp-paths表示g标签,其id属性为“fl-temp-paths”。
在SVG中,g在代表SVG的标签的同时也是标签选择器,选择器(selector)可以理解为用于定位页面中元素,一个选择器可以定位出一个元素,也可能定位出多个元素。选择器可以用节点的特征表示,选择器的表示方法有很多种,例如可以用元素的标志ID表示,或者用元素的分类和标签结合等方式表示。选择器包括但不限于类别选择器、标签选择器、id选择器等,其中,类别选择器用于根据类名(class)定位元素,标签选择器用于根据标签定位元素,id选择器用于根据元素标识(id)定位元素。
例如,g:SVG的标签前没有“#”或“.”,在代表SVG的标签的同时也是标签选择器。
又例如,#fl-cards:“#”代表id选择器,表示某个id属性为“fl-cards”的标签。
再例如,.svg-cards:“.”代表类别选择器,表示class属性中含有“svg-cards”的所有标签。
需要说明的是,本申请实施例中,多个选择器可以联合使用,例如,g#fl-cards.svg-cards表示g标签,它的id属性为“fl-cards”,class属性为“svg-cards”。
2.2根节点
根节点用于表征联邦学习的开始运行起点,所有联邦学习的算法执行链路均以根节点作为起点,它与实际的算法并没有关联,实际应用过程中,可以使用一个蓝色带环的圆圈表示。参阅图12b所示,根节点的dom结构如下:
(1)根节点的容器(g.svg-card):g标签作为容器,用来将根节点的各个部分组合起来。根节点在SVG图形中的位置,可以通过在该g标签上使用transform属性进行配置,示例性的,可以将位置设置为translate(x,y),x代表在横向方向的位置,y代表在纵向方向的位置。
(2)图案(image):用于放置根节点蓝色带环的圆圈的图片,将其href属性的数值设置为对应图片的链接即可。
(3)下连接点(circle.svg-circle.down)由于根节点作为起始节点,所以它只有一个下连接点,从该下连接点开始,延伸出各个参与对象的算法执行链路。
2.3算子
本申请实施例中,算子包含“普通算子”和“联邦学习算子”。算子呈圆角矩形,组成元素包括“图标”、“名称”、“状态”以及上下两个“连接点”,可以使用SVG语言中的g标签实现。参阅图12c所示,算子的dom结构如下:
(1)算子的容器(g.svg-card):g标签作为容器,用来组合算子的各个部分。算子在SVG图形中的位置,以通过设置g.svg-card的transform属性进行配置,示例性的,可以将位置设置为translate(x,y),x代表在横向方向的位置,y代表在纵向方向的位置。
(2)算子图案(image.type-flag):用于设置算子的图标,其中,image表示SVG中的image标签。
(3)节点形状(rect):rect标签用于表示矩形,示例性的,若将rx属性设置为24可以呈现圆角矩形的效果,此外,还可以设置宽度(width)、高度(height)、填充色(fill)等属性,例如,设置width=“240”、height=“48”、fill=“#fff”。属性可以根据场景进行配置。
(4)foreignObject→div:foreignObject允许在SVG中编写超文本标记语言(HyperText Markup Language,HTML)元素,div表示HTML元素,在div元素中可以设置算子名称。
(5)运行标识(image.status):用于呈现算子的运行状态,示例性的,运行状态包括运行成功、运行失败、运行中等。
(6)上连接点(circle.svg-circle.up)、下连接点(circle.svg-circle.down:连接点呈圆形,示例性的,可以使用SVG中的circle标签来呈现圆形效果。
3、联邦学习组的实现
3.1联邦学习组数据结构
联邦学习组本质上由n个算子组成的,因此,所以联邦学习组的数据,可以通过节点中的nodeType和federalId属性计算出来。具体的,可以将nodeType为“FEDERAL”的算子,以federalId是否相同来进行归类,遍历得到一个联邦学习组的数组,其中,每个数组元素的包含以下字段:、联邦学习组标识(id)、联邦学习组节点列表(nodeList)、联邦学习组的横向坐标、联邦学习组的纵坐标,其中,联邦学习组节点列表中包含的各个节点的数据结构参见上文。
3.2联邦学习组的dom结构
参阅图13a所示,联邦学习组的dom结构如下:
(1)联邦学习组的容器(g.svg-card-group):用于标记“联邦学习组”。
(2)联邦学习组的边框(rect.group-rect):rect标签用于呈现“联邦学习组”的边框,将“联邦学习算子”包裹起来。
在一些实施例中,为呈现图13b所示的联邦学习组的示意图,还可以针对rect标签设置如下属性中的一种或多种:
1)stroke=“transparent”:将边框颜色设置为透明。
2)stroke-width=“0”:将边框宽度设置为0。
3)fill=“rgba(54,109,244,0.2)”:设置填充色为淡蓝色。
4)rx=“43”:圆角大小设置为固定值43。
5)width=“800”:宽度设置,宽度可以根据算子个数来动态计算。具体的,可以采用以下公式计算宽度:
宽度=算子个数*算子宽度+(算子个-1)*算子间距+联邦学习组左边距*2其中,算子个数用于表征参与对象的数目,算子宽度可以采用固定值,例如240,算子间距用于表征一个联邦学习组中各个算子之间的距离,算子间距也可以采用固定值,例如24,联邦学习组左边距用于表征第一个联邦学习算子距离联邦学习组左边的距离,联邦学习组左边距可以采用固定值,例如16。
6)height=“80”:高度设置为80,示例性的,若算子固定高度为48,上下边距各16,则高度为80。
(3)联邦学习组的运行动画(rect.path-move):用于控制运行时动画,在联邦学习算子运行时显示,非运行时则不显示。具体实现参见3.6节“联邦学习组运行动画”。
(4)算子的容器(g.svg-card):g.svg-card的结构参见上文。
(5)加入按钮的容器(g.fl-join):g.fl-join用于实现加入联邦学习,即用于控制显示一个“+”号图标,具体的,包含以下子元素:加入按钮的形状(circle.fl-join-icon)和加入按钮的图标(foreignObject→i),其中,circle.fl-join-icon表示圆形虚线框,foreignObject允许在SVG语言中编写HTML元素,foreignObject->i表示在i标签中设置“+”号图标。
示例性的,针对circle标签,可以设置高度、宽度、边界、轮廓厚度、点划线的图案、填充颜色等属性,以呈现如图13c所示的联邦学习组的界面呈现效果。
这样,当参与对象需要加入联邦学习时,点击“+”号图标即可加入,Wie保护各个参与对象的数据安全,同一个参与对象只能加入一次,在一个参与对象点击“+”号图标加入联邦学习后,在该参与对象的操作界面中不再显示该“+”号图标。
3.3联邦学习的算法执行链路的构建
3.3.1连线
本申请实施例中,算子与算子之间的连线,可以由参与对象手动连接。参与对象在进行节点连线操作时,从上游算子的下连接点(即circle.svg-circle.down)按下鼠标左键,按住鼠标左键不放,移动鼠标,即可拖拽出一条连线,然后,将拖拽出的连线移动至下游算子的上连接点(即circle.svg-circle.up)上,松开鼠标左键,即可完成连线。此外,如果在非连接点处松开鼠标左键,则可以取消本次连线操作。参阅图14a所示,拖拽连线的dom结构示意如下:
(1)连接点数据(circleDatas):是所有连接点的数据,连接点数据结构包含如下字段:连接点标识(id)、连接点类型(type)、连线起始节点标识(fromUuid)、连线结束节点标识(toUuid),其中,连接点类型包括上连接点(up)和下连接点(down)。
(2)监听事件(circleDoms):用于实现监听鼠标移入、鼠标移出以及按下鼠标左键拖拽等事件,和circleDatas相对应,同时也与“算子”的dom结构中的circle.svg-circle.up和circle.svg-circle.down相对应。
其中,根据circleDatas,将circle标签渲染在SVG图形中,可以得到circle.svg-circle.up和circle.svg-circle.down;使用d3.js工具库的selectAll(“circle.svg-circle”)函数将所有的连接点选中得出circleDoms。
(3)拖拽相关事件
circleDoms可以直接监听“mouseover”(鼠标移入事件)和“mouseout”(鼠标移出事件)。为实现circleDoms监听拖拽事件,可以使用d3.js的drag()函数,具体的,在circleDoms上调用drag()函数,即可监听“start”(拖拽开始事件)、“drag”(拖拽中事件)、“end”(拖拽结束事件)这3个拖拽事件。
为呈现图14b所示的拖拽效果,对各个事件进行以下配置。
1)start事件:参与对象在circle.svg-circle.down上按下鼠标左键并拖动鼠标,即会触发该事件,start事件的监听回调函数handleStart()会被调用,并会传入包含circle.svg-circle.down的相关信息,作为参数,参数记作dragStart。其中,相关信息中包含连接点标识、连接点类型以及坐标信息等。
需要说明的是,本申请实施例中,circle.svg-circle.up也会触发start事件,因此,可以根据连接点类型判断是否为circle.svg-circle.down触发的start事件,如果连接点类型为上连接点,则不进行后续处理。
2)drag事件:在触发了start事件后,参与对象在拖拽过程中会持续触发drag事件,此时将连线实时渲染在页面上。临时连线可以使用SVG中的path标签绘制,起点为dragStart中的坐标信息,终点为当前鼠标在页面上的坐标,终点可以通过d3.js工具库的全局事件(event)来获取,即event.x和event.y,其中,event.x表示横向坐标,event.y表示纵向坐标。临时连线的绘制过程,在下文中绘制贝塞尔曲线的过程。
3)mouseover事件:参与对象拖拽过程中,鼠标移入到cirlce.svg-cirlce.down连接点,会触发mouseover事件,此时在回调函数handleOver()中可以传入鼠标移入的连接点的相关信息作为参数,记作dragEnd。该dragEnd表示拖拽结束事件end触发时,连线的结束连接点。
4)mouseout事件:参与对象触发mouseover事件之后,可以触发mouseout事件。mouseout事件触发后,将dragEnd的取值清空,即令dragEnd=null。
5)end事件:参与对象松开鼠标左键,触发end事件,此时需要判断dragEnd是否为空,若为空,则不执行连线,否则,使用dragStart作为开始连接点,dragEnd作为结束连接点进行连线的绘制,连线的绘制过程参见下文中绘制贝塞尔曲线的过程。需要说明的是,最后无论是否执行连线,都需要将拖拽过程中绘制的临时连线删除。
3.3.2绘制贝塞尔曲线
贝塞尔曲线应用于二维图形应用程序的数学曲线,SVG中可以通过贝塞尔曲线来精确画出曲线。参阅图15所示,本申请实施例中,连线总是从上游节点的下连接点(circle.down)连接到下游节点的上连接点(circle.up),路径(path)(即path标签)的属性可以设置为:
(1)fill=“none”:不设置填充。
(2)stroke=“#b1b1b1”:设置线条颜色为浅灰色。
(3)d=“”:设置线条路径,由于根据circle.svg-circle.down和circle.svg-circle.up的位置,即可画出连线,因此,可以根据算子的位置,计算出circle.svg-circle.down、circle.svg-circle.up的位置。
具体的,若上游算子的位置为(card1X,card1Y),则circle.svg-circle.down的位置(downX,downY),可以采用以下公式表示:
downX=card1X+cardWidth/2
downY=card1Y+cardHeight)
若下游算子的位置(card2X,card2Y),则circle.svg-circle.up的位置(upX,upY),可以采用以下公式表示:
upX=card2X+cardWidth/2
upY=card2Y
需要说明的是,本申请实施例中,可以使用d3.js工具库提供的贝塞尔曲线函数画出具有一定弧度的曲线,示例代码如下:
import{path}from'd3-path'
const pathRoot=path()
pathRoot.moveTo(downX,downY)//先将path的原点移动到上游节点的连接点位置
const adjustment=10//贝塞尔曲线两个拐点y轴位置的偏移量
const yDistance=upY-downY//垂直方向的距离
const cpx1=downX//贝塞尔曲线拐点1计算
const cpy1=downY+yDistance/2+adjustment
const cpx2=upX//贝塞尔曲线拐点2计算
const cpy2=upY–yDistance/2-adjustment
pathRoot.bezierCurveTo(cpx1,cpy1,cpx2,cpy2,upX,upY)//绘制贝塞尔曲线
3.3.3链路标记
为了清晰地呈现各个参与对象,在联邦学习操作界面上,可以针对每一条链路,标记出该链路对应的参与对象。参阅图16a所示,链路标记的dom结构如下:
(1)链路标记的容器(g):通过g标签组合rect标签和text标签;设置标签g的transform=“translate(x,y)”属性,可将链路标记设置与连线的中间。(x,y)坐标,可以通过circle.svg-circle.down的位置(downX,downY)和circle.svg-circle.down的位置(downX,downY)计算。具体的,链路标记的位置为(downX+(upX-downX)/2,downY+(upY-downY)/2)
(2)链路标记的形状(rect):使用rect标签绘制椭圆矩形,参阅图16b所示,rect标签的属性设置如下:
1)width=“86”:宽度设置为86。
2)height=“20”:高度设置为20。
3)fill=“#fff”":填充色设置为白色。
4)rx/ry=“10.5”:设置水平轴/垂直轴的圆角半径为10.5。
5)stroke=“#778093”:线条颜色设置为灰色。
6)stroke-width=“1”:线条宽度设置为1。
7)transform=“translate(-8,-14)”:设置在父标签g内的位置。
(3)链路标记的内容(text):由于显示公司名称;属性设置如下:
1)fill=“#778093”:文本颜色设置为灰色。
2)font-size=“12”:文本大小设置为12。
3.3.4连线控制与数据保护
由于联邦学习的目的是为了解决企业与企业之间的数据孤岛问题,达到在自身数据不足也可以使用更丰富的数据训练出更好的模型,因此,本申请实施例中,为保护各个参与对象的数据,各个参与对象都对应一条算法执行链路,各条算法执行链路不存在交叉。
为实现该效果,需要对算子的拥有者进行标记,然后才能在拖拽连线实现时进行区分。算子的拥有者可以采用节点创建对象标识(owner)表示,无论是第一终端设备还是第二终端设备,均可以在执行连线前判断dragEnd结束连接点和dragStart开始连接点对应算子的owner的属性值,是否和参与对象的标识匹配,如果都匹配,则执行连线;否则给出告警提示。
例如,参阅图16c所示,提示相应的参与对象“联邦工作流中只能连接自己的节点,不能连接其他协作方的节点”。
3.4联邦学习组拖拽定位
本申请实施例中,联邦学习组可以通过拖拽的方式实时改变位置。参阅图17a所示,拖拽定位的实现方式如下:
(1)联邦学习组算子(federalDatas):包含联邦学习组内的所有算子,它是一个数组,数组元素的数据结构参考联邦学习组数据结构。
(2)监听事件(federalDoms):federalDoms用于监听鼠标左键拖拽事件,和federalDatas相对应,同时也和联邦学习组dom结构”中的g.svg-card-group相对应。具体的,可以根据federalDatas将g标签渲染在SVG图形中得到g.svg-card-group,以及使用d3.js工具库的selectAll(".svg-card-group")函数将所有的连接点选中得到federalDoms。
(3)拖拽相关事件
federalDoms可以通过调用d3.js的drag()函数,监听“start”(拖拽开始事件)、“drag”(拖拽中事件)、“end”(拖拽结束事件)这3个拖拽事件。
1)start事件:参与对象在g.svg-card-group上按下鼠标左键并拖动鼠标,触发start事件,进而start事件的监听回调函数handleStart()会被调用,并会传入g.svg-card-group相关信息的参数。g.svg-card-group相关信息中包含3.1中涉及的id、nodeList等信息。
2)drag事件:在触发了start事件后,在拖拽过程中会持续触发drag事件,此时可以在页面上实时更新联邦学习组的位置。具体的,参与对象触发drag事件后,终端设备执行回调函数handleDrag()方法,被拖拽的过程中,算子的新位置可以通过d3.js工具库的全局event来获取,即event.x和event.y,其中,event.x表示横向坐标,event.y表示纵向坐标。基于event.x和event.y,实时修改联邦学习组的transform=“translate(event.x,event.y)”属性,实现实时更新联邦学习组的位置,即实现拖拽。
如果联邦学习组中的任意一个算子与其他算子之间存在连线,那么,在拖拽联邦学习组的同时,还需要实时更新连线。具体的,连线的数据中包含有fromUuid和toUuid两个字段。g.svg-card-group相关信息包含的nodeList数组中,每个数组元素都有uuid(记作currentUuid)。终端设备遍历nodeList,每一次遍历得到fromUuid与currentUuid相等或toUuid与currentUuid相等的所有连线,然后重新绘制连线。绘制连线的方法参见上文。
3)end事件:参与对象松开鼠标左键,触发end事件,此时终端设备停止更新位置。
3.5联邦学习组状态
联邦学习组的状态由其包含的所有算子的状态来决定。若联邦学习组中有一个算子处于运行中状态,则终端设备而确定联邦学习组的状态即为运行中状态,并将rect.path-move的style属性的display的值修改为“block”,否则设置为“none”。
3.6联邦学习组运行动画
本申请实施例中,rect.path-move用于控制运行时的动画,参阅图17b所示,通过rect.path-move可以绘制一条和“rect.group-rect”边框重合的虚线框,该虚线框仅在对应的联邦学习组处于运行中状态时才会显示出来,虚线可以顺时针旋转。
为达到该效果,需要为rect.path-move设置如下属性:
1)stroke=“#366df4”:边框颜色设置为蓝色。
2)stroke-width=“1”:边框宽度设置为1。
3)fill=“transparent”:无填充。
4)rx=“43”:和“rect.group-rect”的rx设置保持一致;
5)stroke-dasharray=“5”:设置虚线,属性值为5,说明短划线和缺口都为5;
6)width=“800”:和“rect.group-rect”的width设置保持一致;
7)height=“80”:和“rect.group-rect”的height设置保持一致。
此外,还需要为path-move类选择器设置动画,可以通过层叠样式表(CascadingStyle Sheets,CSS)定义。
本申请实施例中,针对联邦学习的人机交互场景,提出了将联邦学习的人机交互场景进行可视化实现的方案,具体的,每一个参与对象,都可以展现在同一个操作界面上,每一个参与对象对应一条算法执行路径,任何一个参与对象,都可以在操作界面上查看联邦学习的运行情况,极大地简化了联邦学习的交互方式,能有效地降低联邦学习的参与门槛,提高联邦学习效率。
假设有100个联邦学习参与者,如果不采用可视化的方式在同一个操作界面展示所有参与对象,那么想要查看其他参与对象的运行状态,则需要切换界面100次,而本申请实施例中,第一次进入操作界面后,无需再次切换,各个参与对象均可以快速查看其他参与对象的运行状态。
基于相同的发明构思,参阅图18所示,其为本申请实施例提供一种信息呈现装置,信息呈现装置1800包括:
协同呈现单元1801,用于响应于目标协作对象触发的联邦学习协同呈现操作,呈现相应的联邦学习操作界面,所述联邦学习操作界面中包含所述联邦学习的创建对象的第一联邦学习运行信息,所述创建对象和所述目标协作对象共同协作完成所述联邦学习;
信息增加单元1802,用于响应于所述目标协作对象触发的信息增加操作,在所述联邦学习操作界面中,呈现所述目标协作对象的第二联邦学习运行信息;
协同呈现单元1801和信息增加单元1802之间相互配合,以实现信息呈现装置在上述各个实施例中的功能。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
关于上述实施例中的装置,其中各个单元执行请求的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在介绍了本申请示例性实施方式的信息呈现方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
图19是根据一示例性实施例示出的一种电子设备1900的框图,该装置包括:
处理器1910;
用于存储处理器1910可执行指令的存储器1920;
其中,处理器1910被配置为执行指令,以实现本申请实施例中的信息呈现方法,例如图2或图6中所示的步骤。
在示例性实施例中,还提供了一种包括操作的存储介质,例如包括操作的存储器1920,上述操作可由电子设备1900的处理器1910执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、便携式紧凑盘只读存储器(Compact Disk Read Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
基于同一发明构思,本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中各种可选实现方式中提供的信息呈现方法。
在一些可能的实施方式中,本申请提供的信息呈现方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在计算机设备上运行时,计算机程序用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的信息呈现方法中的步骤,例如,计算机设备可以执行如图2或图6中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、RAM、ROM、可擦式可编程只读存储器(EPROM或闪存)、光纤、CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用CD-ROM并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种信息呈现方法,其特征在于,该方法包括:
响应于目标协作对象触发的联邦学习协同呈现操作,呈现相应的联邦学习操作界面,所述联邦学习操作界面中包含所述联邦学习的创建对象的第一联邦学习运行信息,所述创建对象和所述目标协作对象共同协作完成所述联邦学习;
响应于所述目标协作对象触发的信息增加操作,在所述联邦学习操作界面中,呈现所述目标协作对象的第二联邦学习运行信息。
2.如权利要求1所述的方法,其特征在于,所述第一联邦学习运行信息中包含所述创建对象使用的各个第一机器学习算法;
则所述响应于目标协作对象触发的联邦学习协同呈现操作,呈现相应的联邦学习操作界面,包括:
响应于所述联邦学习协同呈现操作,在所述联邦学习操作界面中,呈现各个第一算法节点,每个第一算法节点表征一个第一机器学习算法。
3.如权利要求2所述的方法,其特征在于,所述第二联邦学习运行信息中包含所述目标协作对象使用的各个第二机器学习算法;
则所述响应于所述目标协作对象触发的信息增加操作,在所述联邦学习操作界面中,呈现所述目标协作对象的第二联邦学习运行信息,包括:
响应于所述信息增加操作,在所述联邦学习操作界面中,呈现各个第二算法节点,每个第二算法节点表征一个第二机器学习算法。
4.如权利要求3所述的方法,其特征在于,所述在所述联邦学习操作界面中,呈现各个第一算法节点之后,还包括:
在所述联邦学习操作界面中,呈现所述各个第一算法节点之间的算法执行顺序;
所述在所述联邦学习操作界面中,呈现各个第二算法节点之后,还包括:
响应于所述目标协作对象触发的节点连接操作,在所述联邦学习操作界面中,呈现所述各个第二算法节点之间的算法执行顺序;
其中,所述各个第一算法节点与所述各个第二算法节点均不相同。
5.如权利要求3所述的方法,其特征在于,所述在所述联邦学习操作界面中,呈现各个第二算法节点之后,还包括:
在所述联邦学习操作界面中,标注至少一个联邦学习组,每个联邦学习组中包含一个第一算法节点与一个第二算法节点;
根据所述各个第二算法节点之间的算法执行顺序,依次执行所述各个第二算法节点;
其中,每执行到位于一个联邦学习组中的一个第二算法节点,根据所述算法执行顺序,确定下一个第二算法节点,并在所述一个第二算法节点和所述一个联邦学习组中的一个第一算法节点执行完成后,执行所述下一个第二算法节点,所述下一个第二算法节点,位于另一个联邦学习组中,或者,不位于所述至少一个联邦学习组中。
6.如权利要求5所述的方法,其特征在于,所述在所述联邦学习操作界面中,标注至少一个联邦学习组之后,执行以下至少一种操作:
响应于针对一个联邦学习组中的一个第一算法节点或一个第二算法节点的第一拖拽操作,将所述一个第一算法节点和所述一个第二算法节点移动至目标位置;
响应于针对一个联邦学习组的拖拽标识的第二拖拽操作,将所述一个联邦学习组中的一个第一算法节点和一个第二算法节点移动至所述目标位置。
7.如权利要求4-6中任一项所述的方法,其特征在于,所述响应于所述目标协作对象触发的节点连接操作,在所述联邦学习操作界面中,呈现所述各个第二算法节点之间的算法执行顺序,包括:
响应于所述目标协作对象针对任意两个第二算法节点中一个第二算法节点的下连接区域,以及另一个第二算法节点的上连接区域触发的节点连接操作,在所述联邦学习操作界面中,呈现所述各个第二算法节点之间的算法执行顺序。
8.如权利要求2-6中任一项所述的方法,其特征在于,所述第一联邦学习运行信息中还包含所述各个第一机器学习算法各自对应的运行状态;
则所述响应于目标协作对象触发的联邦学习协同呈现操作,呈现相应的联邦学习操作界面,包括:
响应于所述联邦学习协同呈现操作,在所述联邦学习操作界面中,呈现所述各个第一算法节点各自对应的运行标识,每个运行标识用于表征一个第一算法节点对应的运行状态。
9.一种信息呈现装置,其特征在于,包括:
协同呈现单元,用于响应于目标协作对象触发的联邦学习协同呈现操作,呈现相应的联邦学习操作界面,所述联邦学习操作界面中包含所述联邦学习的创建对象的第一联邦学习运行信息,所述创建对象和所述目标协作对象共同协作完成所述联邦学习;
信息增加单元,用于响应于所述目标协作对象触发的信息增加操作,在所述联邦学习操作界面中,呈现所述目标协作对象的第二联邦学习运行信息。
10.如权利要求9所述的装置,其特征在于,所述第一联邦学习运行信息中包含所述创建对象使用的各个第一机器学习算法;
则所述响应于目标协作对象触发的联邦学习协同呈现操作,呈现相应的联邦学习操作界面时,所述协同呈现单元具体:
响应于所述联邦学习协同呈现操作,在所述联邦学习操作界面中,呈现各个第一算法节点,每个第一算法节点表征一个第一机器学习算法。
11.如权利要求10所述的装置,其特征在于,所述第二联邦学习运行信息中包含所述目标协作对象使用的各个第二机器学习算法;
则所述响应于所述目标协作对象触发的信息增加操作,在所述联邦学习操作界面中,呈现所述目标协作对象的第二联邦学习运行信息时,所述信息增加单元具体用于:
响应于所述信息增加操作,在所述联邦学习操作界面中,呈现各个第二算法节点,每个第二算法节点表征一个第二机器学习算法。
12.如权利要求9所述的装置,其特征在于,所述在所述联邦学习操作界面中,呈现各个第一算法节点之后,所述协同呈现单元还用于:
在所述联邦学习操作界面中,呈现所述各个第一算法节点之间的算法执行顺序;
所述在所述联邦学习操作界面中,呈现各个第二算法节点之后,所述信息增加单元还用于:
响应于所述目标协作对象触发的节点连接操作,在所述联邦学习操作界面中,呈现所述各个第二算法节点之间的算法执行顺序;
其中,所述各个第一算法节点与所述各个第二算法节点均不相同。
13.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~8中任一所述方法的步骤。
14.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1~8中任一所述方法的步骤。
15.一种计算机程序产品,其特征在于,所述程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质读取并执行所述计算机程序,使得所述电子设备执行如权利要求1至8中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111187013.0A CN114281231B (zh) | 2021-10-12 | 2021-10-12 | 信息呈现方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111187013.0A CN114281231B (zh) | 2021-10-12 | 2021-10-12 | 信息呈现方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114281231A true CN114281231A (zh) | 2022-04-05 |
CN114281231B CN114281231B (zh) | 2023-10-20 |
Family
ID=80868709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111187013.0A Active CN114281231B (zh) | 2021-10-12 | 2021-10-12 | 信息呈现方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281231B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825476A (zh) * | 2019-10-31 | 2020-02-21 | 深圳前海微众银行股份有限公司 | 联邦学习工作流界面的显示方法、装置、终端及介质 |
CN110874649A (zh) * | 2020-01-16 | 2020-03-10 | 支付宝(杭州)信息技术有限公司 | 基于状态机的联邦学习方法、系统、客户端及电子设备 |
CN111553485A (zh) * | 2020-04-30 | 2020-08-18 | 深圳前海微众银行股份有限公司 | 基于联邦学习模型的视图显示方法、装置、设备及介质 |
WO2020259717A1 (zh) * | 2019-08-26 | 2020-12-30 | 深圳前海微众银行股份有限公司 | 联邦学习系统的控制方法、装置、终端设备及存储介质 |
US20210042645A1 (en) * | 2019-08-06 | 2021-02-11 | doc.ai, Inc. | Tensor Exchange for Federated Cloud Learning |
CN112631605A (zh) * | 2020-12-31 | 2021-04-09 | 深圳前海微众银行股份有限公司 | 联邦学习模型的代码编译方法、装置、设备及存储介质 |
US20210158216A1 (en) * | 2021-01-28 | 2021-05-27 | Alipay Labs (singapore) Pte. Ltd. | Method and system for federated learning |
-
2021
- 2021-10-12 CN CN202111187013.0A patent/CN114281231B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210042645A1 (en) * | 2019-08-06 | 2021-02-11 | doc.ai, Inc. | Tensor Exchange for Federated Cloud Learning |
WO2020259717A1 (zh) * | 2019-08-26 | 2020-12-30 | 深圳前海微众银行股份有限公司 | 联邦学习系统的控制方法、装置、终端设备及存储介质 |
CN110825476A (zh) * | 2019-10-31 | 2020-02-21 | 深圳前海微众银行股份有限公司 | 联邦学习工作流界面的显示方法、装置、终端及介质 |
CN110874649A (zh) * | 2020-01-16 | 2020-03-10 | 支付宝(杭州)信息技术有限公司 | 基于状态机的联邦学习方法、系统、客户端及电子设备 |
CN111553485A (zh) * | 2020-04-30 | 2020-08-18 | 深圳前海微众银行股份有限公司 | 基于联邦学习模型的视图显示方法、装置、设备及介质 |
CN112631605A (zh) * | 2020-12-31 | 2021-04-09 | 深圳前海微众银行股份有限公司 | 联邦学习模型的代码编译方法、装置、设备及存储介质 |
US20210158216A1 (en) * | 2021-01-28 | 2021-05-27 | Alipay Labs (singapore) Pte. Ltd. | Method and system for federated learning |
Non-Patent Citations (1)
Title |
---|
万杰: "基于安卓的联邦学习平台设计与实现", 中国优秀硕士学位论文全文数据库 信息科技辑 * |
Also Published As
Publication number | Publication date |
---|---|
CN114281231B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104216691B (zh) | 一种创建应用的方法及装置 | |
US9052812B1 (en) | System for exportable graphical designs with interactive linked comments between design and playback environments | |
CN109446281B (zh) | 基于ArcGIS的在线智能制图系统构建方法、系统与制图方法 | |
US20120215900A1 (en) | Persistent network resource and virtual area associations for realtime collaboration | |
US11256404B2 (en) | Holistic visual image interactivity engine | |
CN110688104A (zh) | 可视化流程处理方法、装置、电子设备及可读存储介质 | |
CN107908637B (zh) | 一种基于知识库的实体更新方法及系统 | |
CN103714114A (zh) | 自然语言度量条件警告编排 | |
CN103984818A (zh) | 基于Flex技术的AUV设计流程可视化建模方法 | |
CN105260170A (zh) | 一种基于案例的突发事件态势推演方法及系统 | |
CN114595673A (zh) | 数字化作品协同创作方法、任务发布方法及装置 | |
CN112231387A (zh) | 铁路数据可视化交互系统及方法、电子设备及存储介质 | |
Ferenc et al. | Collaborative modeling and visualization of software systems using multidimensional UML | |
CN114281231B (zh) | 信息呈现方法、装置、电子设备和存储介质 | |
Kurata et al. | Service cooperation and co-creative intelligence cycles based on mixed-reality technology | |
CN104317972B (zh) | 一种动态图层感应方法及系统 | |
Guo et al. | Virtual worlds as a model-view approach to the communication of business processes models | |
CN104766154A (zh) | 基于bim的快照图像应用于智能化工程管理的系统和方法 | |
CN113255026B (zh) | 一种基于语义信息交换的cad协同设计方法 | |
CN115857930A (zh) | 一种基于实景模型的原型快速设计方法及系统 | |
Du et al. | A survey of business process simulation visualization | |
CN112667236A (zh) | 网格化布局的工作流程实现方法、系统及介质 | |
CN112037359A (zh) | 商铺信息的管理方法、介质、服务端及系统 | |
CN109144453A (zh) | 基于并行计算的海量信息高分辨率协同工作云平台 | |
US11966572B2 (en) | Commenting feature for graphic design systems |
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 |