在使用区块链的机器学习的去中心化模型构建中进行自修复的系统及方法技术方案

技术编号:28850358 阅读:34 留言:0更新日期:2021-06-11 23:55
用于构建模型的去中心化机器学习在本地训练数据集被生成的节点处执行。区块链平台可以被用于在一系列迭代内协调去中心化机器学习(ML)。针对每次迭代,分布式分类账可以被用来协调经由区块链网络进行通信的节点。节点可以包括自修复特征,从而以不会对去中心化ML系统的整体学习能力产生负面影响的方式从区块链网络内的故障状况恢复。在自修复期间,节点可以确定本地ML状态与全局ML状态不一致,并且触发用于恢复本地ML状态的纠正动作。此后,节点可以生成区块链事务,区块链事务指示它与最新的训练迭代不同步并且通知其他节点将节点重新集成到ML中。

【技术实现步骤摘要】
【国外来华专利技术】在使用区块链的机器学习的去中心化模型构建中进行自修复的系统及方法
技术介绍
有效的模型构建需要大量数据。尽管分布式计算已被开发,从而使用多个计算机来协调大型计算任务,但是很难将其应用于大规模机器学习(“ML”)问题。分布式模型构建中出现了若干实际问题,诸如协调和部署困难、安全问题、系统等待时间的影响、容错、参数大小等。尽管这些问题和其他问题可以在可以对计算机进行严格控制的单个数据中心环境中进行处理,但是将模型构建从数据中心外部移动到真正去中心化的环境中会带来这些挑战和附加挑战。例如,针对去中心化ML的系统可以在具有有限数目的计算节点的有限分布的计算环境中。因此,与理论上可以使用无限数目的节点(例如,联合ML)的开放方法相比,相对较少数目的节点可以参与这些计算环境中的基于ML的过程。在参与节点数目有限的这样的计算环境中,去中心化ML中每个节点的贡献可能更有价值。因此,可能期望将去中心化模型构建进一步适配来实现容错。容错可以防止整个去中心化模型构建过程中节点(或节点组)的完全丢失,并且减轻故障节点(或节点组)对ML系统的整体学习能力的影响。附图说明根据一个或多个各种实施例,参考以下附图来详细描述本公开。这些附图仅被提供来用于例示的目的,并且仅描绘了典型的或示例性的实施例。图1描绘了根据一些实施例的包括参与者节点的自修复的使用区块链的机器学习(ML)的去中心化模型构建系统的示例。图2A-图2B图示了根据一些实施例的在图1所示的去中心化模型构建系统中的节点根据自修复技术来进行通信的示例。图3图示了根据一些实施例的被配置用于执行在图2A-图2B中所示的自修复技术的节点的示例。图4是图示了根据一些实施例的使用区块链的ML的模型构建迭代过程的示例的操作流程图。图5是图示了根据一些实施例的可以由图2A-图2B中所示的节点执行的自修复过程的示例的操作流程图。图6图示了与所公开技术的实施例有关的示例计算机系统,示例计算机系统可以被用于在使用区块链的ML的去中心化模型构建中实现自修复。附图不是详尽的,并且不将本公开限制为所公开的精确形式。具体实施方式本文描述的各种实施例针对用于在使用区块链的机器学习(ML)的去中心化模型构建中进行计算机节点的自修复的方法和系统。在某些分布式计算环境中,诸如企业系统(例如,在由特定组织或企业控制的域中操作的计算机联网系统)中,可能存在或者可以以其他方式使用的有限数目的计算资源。由于许多可变因素,诸如数据隐私问题、组织结构、受限制的网络访问、计算机清单等,分布式计算环境可能仅限于数目相对较少的计算机。例如,仅企业网络中的一部分计算机可以被授权访问在ML中训练数据集所需的信息。因此,与企业环境相关联的数据隐私限制可以进一步限制企业网络中可以有资格参与ML的计算机的数目。通常,如本文所公开的,有限分布的计算环境通常具有较少的计算节点,这些计算节点可以是去中心化模型构建中的贡献者。为了使得某些当前的ML技术能够使用有限分布的计算环境的计算机以预期的精度来操作,隐含的要求是,基本上所有参与节点均可用并且在ML模型构建期间贡献其相应的学习。附加地,为了在有限分布的计算环境中为ML保持理想的准确性,这些现有的ML方法可能进一步要求几乎立即恢复任何故障节点(例如,短的节点宕机时间)。在参与节点故障的情况下继续ML可能会破坏整个系统中使用的数据(例如,部分学习、训练数据集中的数据丢失),因为ML是严格协作过程。因此,单个宕机节点可能会对其他节点的学习产生负面影响,最终可能导致相应本地模型的降级并且降低系统的整体有效性。在某些情况下,模型可能以与参与节点的宕机时间成比例的方式逐渐降级。例如,在具有有限数目参与者的模型构建过程中,缺少节点的时间越长,对ML的影响可能就越具有决定性。在最佳情况下,维持系统中每个计算机的正常功能可以避免这些问题并确保精确的机器学习。尽管如此,参与模型构建的至少一个计算机不可避免地会在真实世界场景中遇到意外故障。如上所述,在用于ML的去中心化模型构建中的节点级别处实现容错可以解决与有限分布的计算环境相关的一些潜在缺点。例如,如果节点失去与网络的通信,则即使在分布有限的计算环境内,在每个节点处实现容错功能也可以保持ML模型的预期准确性。根据实施例,可以在经历间歇性故障之后重新启动的参与节点可以使用所公开的自修复技术来自动纠正并重新集成到去中心化机器学习过程中。因此,所公开的自修复方面提供了可以容忍节点故障的去中心化模型构建过程。此外,一些现有的ML方法被用于不限于有限分布的计算机的环境中。例如,用于ML的许多联合系统具有这样的设置,即,中心化模型使用大量计算设备之上并且通常是公共或不受限制的通信网络之上分布的训练数据来训练。例如,联合ML可以被应用于移动或物联网(IoT)场景,在该场景中,模型是根据具有网络连接功能的数十万个(在某些情况下为数百万个)设备中处理的信息来进行训练。由于大量的ML参与者和数据的开放访问性,与有限分布的计算环境相比,联合ML应用中几个节点的丢失对系统的整体学习能力的影响较小。因此,许多这些现有的ML方法无法在节点级别处实现容错。尽管对于ML的一般概念而言,高可访问性可能是有利的,但是存在可能不需要联合ML方法的情况(诸如维护数据隐私性)。在这些情况下,可以是自修复。参考图1,示出了使用区块链的机器学习(ML)的去中心化模型构建系统100的示例。根据实施例,系统100通过区块链网络110中的多次迭代,在节点10a-10g处执行去中心化并行ML。系统100可以包括模型构建区块链网络110(也被称为区块链网络110),模型构建区块链网络110包括多个计算节点或计算机设备。通常,区块链网络110可以是节点10a-10g使用共识机制来更新跨多方分布的区块链的网络。节点10a-10g之间的特定数目、配置和连接可以变化。这样,图1中所示的节点10e的布置仅出于例示目的。诸如节点10e的节点可以是固定的或移动设备。现在将描述节点10e的进一步细节的示例。尽管在附图中仅详细图示了节点10e中的一个,但是节点10a-10g中的每一个可以以所示出的方式来配置。图1还描绘了如本文所公开的节点10e被配置为实现自修复技术。通过在ML中使用区块链,实施例可以利用自动同步功能以及与分布式分类账相关联的状态感知属性来实现自修复。在一些情况下,系统100中的每个节点10a-10g可以被类似地配置用于执行自修复。此外,通过在节点10a-10g处包括自修复特征,即使在存在间歇性故障的情况下,系统100也可以继续模型建立。例如,图1图示了节点10e可能经历连接中断,其中先前建立的从节点10e到网络110中的其他节点10a-10d、10f和10g的连接(虚线所示)可能临时故障。例如,节点10e的无线天线可能故障,从而导致其在节点10d、10f和10g之间的对等无线链路丢失。结果,节点10e可以与系统100中的其他节点10a-10d、10f和10g通信地断开连接。在某些情况下,连接中断可能导致节点10e与整个区块链网络110断开连接。应本文档来自技高网...

【技术保护点】
1.一种去中心化机器学习(ML)系统,包括:/n区块链网络的自修复计算机节点,所述区块链网络包括多个计算节点,所述自修复计算机节点从所述区块链网络内的故障状况恢复,并且被编程为:/n生成第一区块链事务,所述第一区块链事务包括所述自修复计算机节点与训练机器学习模型的最新迭代不同步的指示,其中所述第一区块链事务将被添加到分布式分类账,并且通知所述多个计算节点所述自修复计算机节点尚未准备好参与训练所述机器学习模型的后续迭代;/n从所述分布式分类账获得全局ML状态;/n将所获得的所述全局ML状态与在所述自修复计算机节点处的本地ML状态进行比较,以确定所述本地ML状态是否与全局ML状态一致;/n在确定所述本地ML状态与所述全局ML状态不一致时,使用所述区块链网络触发纠正动作,以将所述本地ML状态恢复为与所述全局ML状态一致;/n生成第二区块链事务,所述第二区块链事务包括所述自修复计算机节点与训练机器学习模型的所述最新迭代同步的指示,其中所述第二区块链事务将被添加到所述分布式分类账,并且通知所述多个计算节点所述自修复计算机节点已准备好参与训练所述机器学习模型的后续迭代;以及/n利用所述区块链网络重新登记,以参与训练所述机器学习模型的所述后续迭代。/n...

【技术特征摘要】
【国外来华专利技术】20190221 US 16/282,0981.一种去中心化机器学习(ML)系统,包括:
区块链网络的自修复计算机节点,所述区块链网络包括多个计算节点,所述自修复计算机节点从所述区块链网络内的故障状况恢复,并且被编程为:
生成第一区块链事务,所述第一区块链事务包括所述自修复计算机节点与训练机器学习模型的最新迭代不同步的指示,其中所述第一区块链事务将被添加到分布式分类账,并且通知所述多个计算节点所述自修复计算机节点尚未准备好参与训练所述机器学习模型的后续迭代;
从所述分布式分类账获得全局ML状态;
将所获得的所述全局ML状态与在所述自修复计算机节点处的本地ML状态进行比较,以确定所述本地ML状态是否与全局ML状态一致;
在确定所述本地ML状态与所述全局ML状态不一致时,使用所述区块链网络触发纠正动作,以将所述本地ML状态恢复为与所述全局ML状态一致;
生成第二区块链事务,所述第二区块链事务包括所述自修复计算机节点与训练机器学习模型的所述最新迭代同步的指示,其中所述第二区块链事务将被添加到所述分布式分类账,并且通知所述多个计算节点所述自修复计算机节点已准备好参与训练所述机器学习模型的后续迭代;以及
利用所述区块链网络重新登记,以参与训练所述机器学习模型的所述后续迭代。


2.根据权利要求1所述的系统,还包括:
来自在所述区块链网络上的所述多个节点的参与者节点,其中所述参与者节点被登记以参与训练机器学习模型的所述最新迭代;以及
在训练所述机器学习模型的最新迭代中,从所述参与者节点中选择的主节点。


3.根据权利要求2所述的系统,其中所述主节点被编程为:
接收所述自修复计算机节点与训练所述机器学习模型的最新迭代不同步的指示;以及
基于所述自修复计算机节点不同步的所述指示,排除所述自修复计算机节点参与训练所述机器学习模型的后续迭代,使得与所述自修复计算机节点的所述本地ML状态相关联的训练参数被避免被应用于所述机器学习模型。


4.根据权利要求3所述的系统,其中排除所述自修复计算机节点参与训练所述机器学习模型的后续迭代使得能够将所述机器学习模型训练为容忍在所述区块链网络内的所述故障状况。


5.根据权利要求2所述的系统,其中所述主节点被编程为:
接收所述自修复计算机节点与训练所述机器学习模型的最新迭代同步的所述指示;以及
基于所述自修复计算机节点同步的所述指示,包括所述自修复计算机节点来参与训练所述机器学习模型的所述后续迭代,使得与所述自修复计算机节点的所述本地ML状态相关联的训练参数被应用于所述机器学习模型。


6.根据权利要求5所述的系统,其中包括所述自修复计算机节点来参与训练所述机器学习模型的所述后续迭代将所述自修复计算机节点重新集成到去中心化机器学习中。


7.根据权利要求2所述的系统,其中所述自修复计算机节点还被编程为:
基于所述纠正动作的所述触发,获得由在所述区块链网络上的参与者节点生成的共享训练参数,其中所述共享训练参数基于在所述最新迭代期间被训练的所述参与者节点的本地模型;以及
将所述训练参数应用于更新在所述自修复计算机节点处的所述本地ML状态。


8.根据权利要求2所述的系统,其中所述主节点还被编程为:
从在所述区块链网络上的所述参与者节点获得共享训练参数,其中所述共享训练参数基于在所述最新迭代期间被训练的所述参与者节点的本地模型;
基于所述共享训练参数来生成合并训练参数;
生成包括所述主节点已生成所述合并训练参数的指示的事务;
使得所述事务作为块被写入在所述分布式分类账上。


9.根据权利要求8所述的系统,其中所述自修复计算机节点还被编程为:
基于所述纠正动作的所述触发,从所述主节点获得所述合并训练参数;
将所述合并训练参数应用于更新在所述自修复计算机节点处的所述本地ML状态。


10.根据权利要求1所述的系统,其中在所述区块链网络内的所述故障状况是网络连接中断、供电中断或计算节点崩溃。


11.根据权利要求9所述的系统,其中所述自修复计算机节点还被编程为:
自动执行节点重启来从所述故障状况恢复。


12.一种对包括多个计算节点的区块链网络的计算节点进行自修复的方法,自修复计算机节点从所述区块链网络内的故障状况恢复,所述方法包括:
由自修复计算机节点自动生成第一区块链事务,所述第一区块链事务包括所述自修复计算机节点与训练机器学习模型的最新迭代不同步的指示,其中所...

【专利技术属性】
技术研发人员:S·马纳莫汉K·L·沙斯特里V·加格
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1