CN111191796B - 用于增强分布式医疗网络的系统和方法 - Google Patents

用于增强分布式医疗网络的系统和方法 Download PDF

Info

Publication number
CN111191796B
CN111191796B CN201911419591.5A CN201911419591A CN111191796B CN 111191796 B CN111191796 B CN 111191796B CN 201911419591 A CN201911419591 A CN 201911419591A CN 111191796 B CN111191796 B CN 111191796B
Authority
CN
China
Prior art keywords
local
parameter
computer
gradients
computers
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.)
Active
Application number
CN201911419591.5A
Other languages
English (en)
Other versions
CN111191796A (zh
Inventor
阿比舍克·沙玛
阿伦·因南耶
吴子彦
孙善辉
陈德仁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai United Imaging Intelligent Healthcare Co Ltd
Original Assignee
Shanghai United Imaging Intelligent Healthcare Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai United Imaging Intelligent Healthcare Co Ltd filed Critical Shanghai United Imaging Intelligent Healthcare Co Ltd
Publication of CN111191796A publication Critical patent/CN111191796A/zh
Application granted granted Critical
Publication of CN111191796B publication Critical patent/CN111191796B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/20ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Public Health (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Stored Programmes (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

用于增强分布式医疗网络的方法和系统。例如,计算机实现的方法包括将与每个本地计算机对应的训练数据输入到它们对应的机器学习模型中;生成多个局部损失,其包括至少部分地基于所对应的训练数据生成针对每个机器学习模型的局部损失;生成多个局部参数梯度,其包括至少部分地基于所对应的局部损失生成针对每个机器学习模型的局部参数梯度;至少部分地基于多个局部参数梯度生成全局参数更新;以及通过至少部分地基于全局参数更新而至少更新机器学习模型对应的活动参数集,来更新托管在多个本地计算机中的每个本地计算机处的每个机器学习模型。

Description

用于增强分布式医疗网络的系统和方法
技术领域
本发明的某些实施例涉及医疗数据系统。更特别地,本发明的一些实施例提供了用于增强分布式医疗网络的方法和系统。仅作为示例,本发明的一些实施例被配置为训练由多个本地医院托管的多个机器学习模型。但是将认识到,本发明具有更广泛的适用性范围。
背景技术
医院共同地具有大量的患者医疗数据,该患者医疗数据可用于各项任务。例如,每个医院可以包括配置用于某个医疗应用的医疗系统,其可以利用特定的患者医疗数据来提高它们执行特定任务的能力。当前,可能位于不同地理位置处的医院在彼此共享相关患者医疗数据,特别是用于改善神经网络的数据方面非常低效。因此,用于增强医疗数据系统中的数据共享的系统和方法是可期望的。
发明内容
本发明的某些实施例涉及医疗数据系统。更特别地,本发明的一些实施例提供了用于增强分布式医疗网络的方法和系统。仅作为示例,本发明的一些实施例被配置为训练由多个本地医院托管的多个机器学习模型。但是将认识到,本发明具有更广泛的适用性范围。
在各种实施例中,用于增强分布式医疗网络(例如,包括多个本地计算机的分布式医疗网络,该多个本地计算机中的每个本地计算机托管配置有活动参数集的机器学习模型)的计算机实现的方法,包括:将与每个本地计算机对应的训练数据输入到它们对应的机器学习模型中;生成多个局部损失,其包括至少部分地基于对应的训练数据生成针对每个机器学习模型的局部损失;生成多个局部参数梯度,其包括至少部分地基于所对应的局部损失生成针对每个机器学习模型的局部参数梯度;至少部分地基于多个局部参数梯度生成全局参数更新;以及通过至少部分地基于全局参数更新而至少更新机器学习模型对应的活动参数集,来更新托管在多个本地计算机中的每个本地计算机处的每个机器学习模型。
在各种实施例中,用于增强分布式医疗网络(例如,包括多个本地计算机的分布式医疗网络,该多个本地计算机中的每个本地计算机托管配置有活动参数集的机器学习模型)的系统,包括:数据输入模块,配置为将与每个本地计算机对应的训练数据输入到它们对应的机器学习模型中;损失生成模块,配置为通过至少部分地基于所对应的训练数据至少生成针对每个机器学习模型的局部损失来生成多个局部损失;梯度生成模块,配置为通过至少部分地基于所对应的局部损失至少生成针对每个机器学习模型的局部参数梯度来生成多个局部参数梯度;更新生成模块,配置为至少部分地基于多个局部参数梯度生成全局参数更新;以及模型更新模块,配置为通过至少部分地基于全局参数更新而至少更新机器学习模型对应的活动参数集,来更新托管在多个本地计算机中的每个本地计算机处的每个机器学习模型。
在各种实施例中,非暂时性计算机可读介质,具有存储在该非暂时性计算机可读介质上的指令,当该指令在由处理器执行时使该处理器执行一个或多个过程,该一个或多个过程包括:将与每个本地计算机对应的训练数据输入到它们对应的机器学习模型中;生成多个局部损失,其包括至少部分地基于所对应的训练数据生成针对每个机器学习模型的局部损失;生成多个局部参数梯度,其包括至少部分地基于所对应的局部损失生成针对每个机器学习模型的局部参数梯度;至少部分地基于多个局部参数梯度生成全局参数更新;以及通过至少部分地基于全局参数更新而至少更新机器学习模型对应的活动参数集,来更新托管在多个本地计算机中的每个本地计算机处的每个机器学习模型。
根据以上实施例,可以获得一个或多个益处。参照下面详细的描述和附图可以充分地领会本发明的这些益处和各种附加的目的、特征和优点。
附图说明
图1为示出了根据一些实施例的用于增强分布式医疗网络的系统的简化图;
图2为示出了根据一些实施例的用于增强集中的分布式医疗网络的方法的简化图;
图3为示出了根据一些实施例的用于增强分散的分布式医疗网络的方法的简化图;
图4为示出了根据一些实施例的计算系统的简化图;
图5为示出了根据一些实施例的神经网络的简化图;
图6为示出了根据一些实施例的分布式医疗网络的简化图。
具体实施方式
本发明的某些实施例涉及医疗数据系统。更特别地,本发明的一些实施例提供了用于增强分布式医疗网络的方法和系统。仅作为示例,本发明的一些实施例被配置为训练由多个本地医院托管的多个机器学习模型。但是将认识到,本发明具有更广泛的适用性范围。
图1为示出了根据一些实施例的用于增强分布式医疗网络的系统的简化图。该图仅为示例,其不应过度地限制权利要求的范围。本领域的普通技术人员将认识到许多变化、替换和修改。在一些示例中,系统10包括连接建立模块12、数据输入模块14、损失生成模块16、梯度生成模块18、参数集生成模块20、梯度或参数传送模块22、更新生成模块24和模型更新模块26。在某些示例中,系统10还包括更新传送模块28、超时模块30和/或压缩和加密模块32。在一些示例中,系统10配置为增强分布式医疗网络。例如,系统10配置为增强包括多个本地计算机的分布式医疗网络,其中每个本地计算机托管配置有活动参数集的机器学习模型。在一些示例中,分布式医疗网络还包括(例如,耦合到多个本地计算机的)中央计算机。在某些示例中,系统10配置为实施图2的方法S100和/或图3的方法S200。虽然已经使用选定的一组组件示出了以上内容,但是可以存在许多替换、修改和变化。例如,一些组件可以被扩展和/或组合。一些组件可以被去掉。可以将其他组件插入到以上提到的那些组件中。根据实施例,组件的布置可以与替换的其他组件相互交换。
在各种实施例中,连接建立模块12配置为在多个本地计算机和中央计算机之间建立连接。在一些示例中,连接建立模块12配置为在多个本地计算机中的每个本地计算机之间建立连接。在各种示例中,连接建立模块12配置为通过无线和/或有线连接来建立连接。在某些示例中,连接建立模块12配置为建立用于共享、传递、发送和/或传输数据的数据传递连接。在某些示例中,连接建立模块12是耦合到系统10的单独模块而不是系统10的一部分。
在各种实施例中,数据输入模块14配置为将数据输入到多个本地计算机中的每个本地计算机中。在一些示例中,数据输入模块14配置为将启动数据(priming data)和/或训练数据输入到托管在多个本地计算机中的每个本地计算机处的每个机器学习模型中。例如,数据输入模块14配置为将与每个本地计算机对应的启动数据和/或训练数据输入到它们对应的机器学习模型中。在某些示例中,数据输入模块14配置为将第一训练数据输入到托管在多个本地计算机中的第一本地计算机处的第一机器学习模型中,将第二训练数据输入到托管在多个本地计算机中的第二本地计算机处的第二机器学习模型中,……,以及将第N训练数据输入到托管在多个本地计算机中的第N本地计算机处的第N机器学习模型中。在某些示例中,训练数据包括医学图像(例如,具有对应的真实数据(ground truth)的预分析医学图像)和/或患者数据。在一些示例中,输入到每个机器学习模型中的训练数据是不同的。在某些示例中,数据输入模块14配置为将第一启动数据输入到托管在多个本地计算机中的第一本地计算机处的第一机器学习模型中,将第二启动数据输入到托管在多个本地计算机中的第二本地计算机处的第二机器学习模型中,……,以及将第N启动数据输入到托管在多个本地计算机中的第N本地计算机处的第N机器学习模型中。在某些示例中,启动数据包括医学图像(例如,具有对应的真实数据的预分析医学图像)和/或患者数据。在一些示例中,输入到每个机器学习模型中的启动数据是不同的。在各种示例中,用于每个机器学习模型的训练数据和启动数据是相同的。
在各种实施例中,损失生成模块16配置为针对托管在多个本地计算机处的每个机器学习模型生成局部损失。例如,损失生成模块16配置为通过针对托管在多个本地计算机处的每个机器学习模型至少生成局部损失来生成多个局部损失。在各种示例中,损失生成模块16配置为至少部分地基于训练数据(诸如进一步地部分地基于与训练数据对应的一个或多个真实数据)来生成局部损失。在各种示例中,损失生成模块16配置为至少部分地基于启动数据(诸如进一步地部分地基于与启动数据对应的一个或多个真实数据)来生成局部损失。
在一些示例中,梯度生成模块18配置为针对由其对应的本地计算机托管的每个机器学习模型生成局部参数梯度。例如,梯度生成模块18配置为针对由其对应的本地计算机托管的每个机器学习模型生成非零(例如,对应于变化)局部参数梯度。在各种示例中,每个非零局部参数梯度对应于神经网络的增量权重快照。在一些示例中,当反向传播到机器学习模型的一个或多个模型层时,非零局部参数梯度帮助引导(诸如在训练(例如,增强)过程期间)机器学习模型的一个或多个参数的变化。
在一些示例中,梯度生成模块18配置为针对由其对应的本地计算机托管的每个机器学习模型生成局部权重梯度。例如,梯度生成模块18配置为针对由其对应的本地计算机托管的每个机器学习模型生成非零(例如,对应于变化)局部权重梯度。在各种示例中,每个非零局部权重梯度对应于神经网络的增量权重快照。在一些示例中,当反向传播到机器学习模型的一个或多个模型层时,非零局部权重梯度帮助引导(诸如在训练(例如,增强)过程期间)机器学习模型的一个或多个参数的变化。
在一些示例中,梯度生成模块18配置为针对由其对应的本地计算机托管的每个机器学习模型生成局部偏差梯度(bias gradient)。例如,梯度生成模块18配置为针对由其对应的本地计算机托管的每个机器学习模型生成非零局部偏差梯度(例如,对应于变化)。在各种示例中,每个非零局部偏差梯度对应于神经网络的增量偏差快照。在一些示例中,当反向传播到机器学习模型的一个或多个模型层时,非零局部偏差梯度帮助引导(诸如在训练(例如,增强)过程期间)机器学习模型的一个或多个参数的变化。
在各种实施例中,参数集生成模块20配置为针对由其对应的本地计算机托管的每个机器学习模块生成局部参数集。在一些示例中,参数集生成模块20配置为针对由其对应的本地计算机托管的每个机器学习模块生成局部权重集。在一些示例中,参数集生成模块20配置为针对由其对应的本地计算机托管的每个机器学习模块生成局部偏差集。
在各种实施例中,梯度或参数传送模块22配置为将多个局部参数梯度从多个本地计算机传送到分布式医疗网络的中央计算机。例如,梯度或参数传送模块22配置为将第一局部参数梯度从第一本地计算传送到中央计算机,将第二局部参数梯度从第二本地计算机传送到中央计算机,……,以及将第N局部参数梯度从第N本地计算机传送到中央计算机。在一些示例中,梯度或参数传送模块22配置为在多个本地计算机之间传送多个局部参数梯度。例如,梯度或参数传送模块22配置为与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的局部参数梯度。例如,梯度或参数传送模块22配置为将第一局部参数梯度从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。在一些示例中,梯度或参数传送模块22配置为经由连接建立模块12建立的连接来传送多个局部参数梯度。
在各种实施例中,梯度或参数传送模块22或者系统10的单独的权重传送模块配置为将多个局部权重梯度(例如,作为多个局部参数梯度)从多个本地计算机传送到分布式医疗网络的中央计算机。例如,梯度或参数传送模块22配置为将第一局部权重梯度从第一本地计算传送到中央计算机,将第二局部权重梯度从第二本地计算机传送到中央计算机,……,以及将第N局部权重梯度从第N本地计算机传送到中央计算机。在一些示例中,梯度或参数传送模块22配置为在多个本地计算机之间传送多个局部权重梯度。例如,梯度或参数传送模块22配置为将与每个本地计算机对应的权重梯度传送到多个本地计算机中的每个其他本地计算机。例如,梯度或参数传送模块22配置为将第一局部权重梯度从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。在一些示例中,梯度或参数传送模块22配置为经由连接建立模块12建立的连接来传送多个局部权重梯度。
在各种实施例中,梯度或参数传送模块22或者系统10的单独的偏差传送模块配置为将多个局部偏差梯度(例如,作为多个局部参数梯度)从多个本地计算机传送到分布式医疗网络的中央计算机。例如,梯度或参数传送模块22配置为将第一局部偏差梯度从第一本地计算机传送到中央计算机,将第二局部偏差梯度从第二本地计算机传送到中央计算机,……,以及将第N局部偏差梯度从第N本地计算机传送到中央计算机。在一些示例中,梯度或参数传送模块22配置为在多个本地计算机之间传送多个局部偏差梯度。例如,梯度或参数传送模块22配置为与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的偏差梯度。例如,梯度或参数传送模块22配置为将第一局部偏差梯度从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。在一些示例中,梯度或参数传送模块22配置为经由连接建立模块12建立的连接来传送多个局部偏差梯度。
在各种实施例中,梯度或参数传送模块22配置为将多个局部参数集从多个本地计算机传送到分布式医疗网络的中央计算机。例如,梯度或参数传送模块22配置为将第一局部参数集从第一本地计算机传送到中央计算机,将第二局部参数集从第二本地计算机传送到中央计算机,……,以及将第N局部参数集从第N本地计算机传送到中央计算机。在一些示例中,梯度或参数传送模块22配置为在多个本地计算机之间传送多个局部参数集。例如,梯度或参数传送模块22配置为与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的局部参数集。例如,梯度或参数传送模块22配置为将第一局部参数集从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。在一些示例中,梯度或参数传送模块22配置为经由连接建立模块12建立的连接传送多个局部参数集。
在各种实施例中,梯度或参数传送模块22或者系统10的单独的权重传送模块配置为将多个局部权重集(例如,作为多个局部参数集)从多个本地计算机传送到分布式医疗网络的中央计算机。例如,梯度或参数传送模块22配置为将第一局部权重集从第一本地计算机传送到中央计算机,将第二局部权重集从第二本地计算机传送到中央计算机,……,以及将第N局部权重集从第N本地计算机传送到中央计算机。在一些示例中,梯度或参数传送模块22配置为在多个本地计算机之间传送多个局部权重集。例如,梯度或参数传送模块22配置为将与每个本地计算机对应的权重集传送到多个本地计算机中的每个其他本地计算机。例如,梯度或参数传送模块22配置为将第一局部权重集从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。在一些示例中,梯度或参数传送模块22配置为经由连接建立模块12建立的连接传送多个局部权重集。
在各种实施例中,梯度或参数传送模块22或者系统10的单独的偏差传送模块配置为将多个局部偏差集(例如,作为多个局部参数集)从多个本地计算机传送到分布式医疗网络的中央计算机。例如,梯度或参数传送模块22配置为将第一局部偏差集从第一本地计算机传送到中央计算机,将第二局部偏差集从第二本地计算机传送到中央计算机,……,以及将第N局部偏差集从第N本地计算机传送到中央计算机。在一些示例中,梯度或参数传送模块22配置为在多个本地计算机之间传送多个局部偏差集。例如,梯度或参数传送模块22配置为将与每个本地计算机对应的偏差集传送到多个本地计算机中的每个其他本地计算机。例如,梯度或参数传送模块22配置为将第一局部偏差集从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。在一些示例中,梯度或参数传送模块22配置为经由连接建立模块12建立的连接传送多个局部偏差集。
在各种实施例中,更新生成模块24配置为至少部分地基于多个局部参数梯度(例如,权重梯度和/或偏差梯度)生成全局参数更新。在某些示例中,全局参数更新对应于多个全局参数梯度。在某些示例中,多个全局参数梯度对应于多个局部参数梯度。在一些示例中,更新生成模块24配置为诸如通过对多个局部参数梯度求平均来生成多个全局参数梯度。在各种示例中,更新生成模块24配置为(例如,在中央计算机处或者在多个本地计算机中的每个本地计算机处)通过至少将多个全局参数梯度反向传播到机器学习模型的一个或多个模型层来生成全局参数更新。在某些示例中,全局参数更新包括要在先前的迭代中应用于模型的模型参数的变化。在某些示例中,全局参数更新包括在变化已经在先前的迭代中应用于模型的模型参数之后的值。
在一些示例中,更新生成模块24配置为至少部分地基于多个局部权重梯度生成全局权重更新(例如,作为全局参数更新的一部分)。例如,更新生成模块24配置为通过至少对多个局部权重梯度求平均来生成全局权重更新。在某些示例中,多个局部权重梯度中的每个局部权重梯度对应于局部损失和对应的本地计算机。例如,多个局部权重梯度中的每个局部权重梯度对应于多个本地计算机中的本地计算机。在一些示例中,权重梯度对应于在迭代训练过程期间需要应用于机器学习模型(例如,神经网络)的先前的迭代的权重的变化。在某些示例中,全局权重更新包括要在先前的迭代中应用于模型的模型权重的变化。在某些示例中,全局权重更新包括在变化已经在先前的迭代中应用于模型的权重之后的值。
在一些示例中,更新生成模块24配置为至少部分地基于多个局部偏差梯度生成全局偏差更新(例如,作为全局参数更新的一部分)。例如,更新生成模块24配置为通过至少对多个局部偏差梯度求平均来生成全局偏差更新。在某些示例中,多个局部偏差梯度中的每个局部偏差梯度对应于局部损失和对应的本地计算机。例如,多个局部偏差梯度中的每个局部偏差梯度对应于多个本地计算机中的本地计算机。在一些示例中,偏差梯度对应于在迭代训练过程期间需要应用于机器学习模型(例如,神经网络)的先前的迭代的偏差的变化。在某些示例中,全局偏差更新包括要在先前的迭代中应用于模型的模型偏差的变化。在某些示例中,全局偏差更新包括在变化已经在先前的迭代中应用于模型的偏差之后的值。
在一些示例中,更新生成模块24配置为在分布式医疗网络的中央计算机处生成全局参数更新。在一些示例中,更新生成模块24配置为在多个本地计算机中的每个本地计算机处生成全局参数更新。例如,每个本地计算机配置为例如在更新生成模块24的指令下生成全局参数更新。在各种示例中,在多个本地计算机中的每个本地计算机处生成的全局参数更新与在多个本地计算机中的其他本地计算机处生成的其它全局参数更新相同。
在各种实施例中,更新生成模块24配置为至少部分地基于多个局部参数集(例如,权重集和/或偏差集)生成全局参数更新。在某些示例中,全局参数更新对应于多个全局参数集。在某些示例中,多个全局参数集对应于多个局部参数集。在一些示例中,更新生成模块24配置为诸如通过对多个局部参数集求平均来生成多个全局参数集。
在一些示例中,更新生成模块24配置为至少部分地基于多个局部权重集生成全局权重更新(例如,作为全局参数更新的一部分)。例如,更新生成模块24配置为通过至少对多个局部权重集求平均来生成全局权重更新。在某些示例中,多个局部权重集中的每个局部权重集对应于局部损失和对应的本地计算机。例如,多个局部权重集中的每个局部权重集对应于多个本地计算机中的本地计算机。在一些示例中,权重集对应于在迭代训练过程期间需要应用于机器学习模型(例如,神经网络)的先前的迭代的权重的变化。在某些示例中,全局权重更新包括要在先前的迭代中应用于模型的模型权重的变化。在某些示例中,全局权重更新包括在变化已经在先前的迭代中应用于模型的权重之后的值。
在一些示例中,更新生成模块24配置为至少部分地基于多个局部偏差集生成全局偏差更新(例如,作为全局参数更新的一部分)。例如,更新生成模块24配置为通过至少对多个局部偏差集求平均来生成全局偏差更新。在某些示例中,多个局部偏差集中的每个局部偏差集对应于局部损失和对应的本地计算机。例如,多个局部偏差集中的每个局部偏差集对应于多个本地计算机中的本地计算机。在一些示例中,偏差集对应于在迭代训练过程期间需要应用于机器学习模型(例如,神经网络)的先前的迭代的偏差的变化。在某些示例中,全局偏差更新包括要在先前的迭代中应用于模型的模型偏差的变化。在某些示例中,全局偏差更新包括在变化已经在先前的迭代中应用于模型的偏差之后的值。
在各种实施例中,模型更新模块26配置为通过至少部分地基于全局参数更新而至少更新机器学习模型对应的活动参数集,来更新托管在多个本地计算机中的每个本地计算机处的每个机器学习模型。例如,模型更新模块26配置为通过将全局参数更新(例如,包括新的权重和/或偏差)应用于它们先前的活动参数集来更新托管在多个本地计算机中的每个本地计算机处的每个机器学习模型。
在各种实施例中,更新传送模块28配置为将全局参数更新从中央计算机传送到多个本地计算机。在一些示例中,更新传送模块28配置为将全局参数更新从中央计算机传送到多个本地计算机中的每个本地计算机。在各种实施例中,更新传送模块28配置为将全局权重更新从中央计算机传送到多个本地计算机。在一些示例中,更新传送模块28配置为将全局权重更新从中央计算机传送到多个本地计算机中的每个本地计算机。在各种实施例中,更新传送模块28配置为将全局偏差更新从中央计算机传送到多个本地计算机。在一些示例中,更新传送模块28配置为将全局偏差更新从中央计算机传送到多个本地计算机中的每个本地计算机。
在各种实施例中,超时模块30配置为在中央计算机上实施超时周期,使得中央计算机被配置为在超时周期期间拒绝接收局部参数梯度(例如,从多个本地计算机中的一个或多个)。在一些示例中,超时模块30配置为在每个本地计算机上实施超时周期,使得每个本地计算机被配置为在超时周期期间拒绝(例如,从多个本地计算机中的一个或多个)接收局部参数梯度。替代性地,在某些实施例中,超时模块30配置为在中央计算机上实施超时周期,使得中央计算机被配置为在超时周期期间(例如,从多个本地计算机中的一个或多个)仅接收局部参数梯度。在某些示例中,超时模块30配置为在每个本地计算机上实施超时周期,使得每个本地计算机被配置为在超时周期期间(例如,从多个本地计算机中的一个或多个)仅接收局部参数梯度。
在各种实施例中,压缩和加密模块32配置为,诸如在传送多个局部参数梯度之前,在多个本地计算机处压缩多个局部参数梯度,并且,诸如在传送多个局部参数梯度之后,在中央计算机处解压所压缩的多个局部参数梯度。在一些示例中,压缩和加密模块32配置为,诸如在传送多个局部参数梯度之前,在多个本地计算机处压缩多个局部参数梯度,并且,诸如在传送多个局部参数梯度之后,在多个本地计算机处解压所压缩的多个局部参数梯度。
在各种示例中,压缩和加密模块32配置为,诸如在传送多个局部权重梯度之前,在多个本地计算机处压缩多个局部权重梯度,并且,诸如在传送多个局部权重梯度之后,在中央计算机处解压所压缩的多个局部权重梯度。在一些示例中,压缩和加密模块32配置为,诸如在传送多个局部权重梯度之前,在多个本地计算机处压缩多个局部权重梯度;并且,诸如在传送多个局部权重梯度之后,在多个本地计算机处解压所压缩的多个局部权重梯度。
在各种示例中,压缩和加密模块32配置为,诸如在传送多个局部偏差梯度之前,在多个本地计算机处压缩多个局部偏差梯度,并且,诸如在传送多个局部偏差梯度之后,在中央计算机处解压所压缩的多个局部偏差梯度。在一些示例中,压缩和加密模块32配置为,诸如在传送多个局部偏差梯度之前,在多个本地计算机处压缩多个局部偏差梯度,并且,诸如在传送多个局部偏差梯度之后,在多个本地计算机处解压所压缩的多个局部偏差梯度。
在各种示例中,压缩和加密模块32配置为,诸如在传送多个局部参数梯度之前,在多个本地计算机处加密多个局部参数梯度,并且,诸如在传送多个局部参数梯度之后,在中央计算机处解密被加密的多个局部参数梯度。在一些示例中,压缩和加密模块32配置为,诸如在传送多个局部参数梯度之前,在多个本地计算机处加密多个局部参数梯度,并且,诸如在传送多个局部参数梯度之后,在多个本地计算机处解密被加密的多个局部参数梯度。
在各种示例中,压缩和加密模块32配置为,诸如在传送多个局部权重梯度之前,在多个本地计算机处加密多个局部权重梯度,并且,诸如在传送多个局部权重梯度之后,在中央计算机处解密被加密的多个局部权重梯度。在一些示例中,压缩和加密模块32配置为,诸如在传送多个局部权重梯度之前,在多个本地计算机处加密多个局部权重梯度,并且,诸如在传送多个局部权重梯度之后,在多个本地计算机处解密被加密的多个局部权重梯度。
在各种示例中,压缩和加密模块32配置为,诸如在传送多个局部偏差梯度之前,在多个本地计算机处加密多个局部偏差梯度,并且,诸如在传送多个局部偏差梯度之后,在中央计算机处解密被加密的多个局部偏差梯度。在一些示例中,压缩和加密模块32配置为,诸如在传送多个局部偏差梯度之前,在多个本地计算机处加密多个局部偏差梯度,并且,诸如在传送多个局部偏差梯度之后,在多个本地计算机处解密被加密的多个局部偏差梯度。
在各种示例中,压缩和加密模块32配置为,诸如在传送多个局部参数之前,在多个本地计算机处压缩多个局部参数,并且,诸如在传送多个局部参数之后,在中央计算机处解压所压缩的多个局部参数。在一些示例中,压缩和加密模块32配置为,诸如在传送多个局部参数之前,在多个本地计算机处压缩多个局部参数,并且,诸如在传送多个局部参数之后,在多个本地计算机处解压所压缩的多个局部参数。
在各种示例中,压缩和加密模块32配置为,诸如在传送多个局部权重之前,在多个本地计算机处压缩多个局部权重,并且,诸如在传送多个局部权重之后,在中央计算机处解压所压缩的多个局部权重。在一些示例中,压缩和加密模块32配置为,诸如在传送多个局部权重之前,在多个本地计算机处压缩多个局部权重,并且,诸如在传送多个局部权重之后,在多个本地计算机处解压所压缩的多个局部权重。
在各种示例中,压缩和加密模块32配置为,诸如在传送多个局部偏差之前,在多个本地计算机处压缩多个局部偏差,并且,诸如在传送多个局部偏差之后,在中央计算机处解压所压缩的多个局部偏差。在一些示例中,压缩和加密模块32配置为,诸如在传送多个局部偏差之前,在多个本地计算机处压缩多个局部偏差,并且,诸如在传送多个局部偏差之后,在多个本地计算机处解压所压缩的多个局部偏差。
在各种示例中,压缩和加密模块32配置为,诸如在传送多个局部参数之前,在多个本地计算机处加密多个局部参数,并且,诸如在传送多个局部参数之后,在中央计算机处解密被加密的多个局部参数。在一些示例中,压缩和加密模块32配置为,诸如在传送多个局部参数之前,在多个本地计算机处加密多个局部参数,并且,诸如在传送多个局部参数之后,在多个本地计算机处解密被加密的多个局部参数。
在各种示例中,压缩和加密模块32配置为,诸如在传送多个局部权重之前,在多个本地计算机处加密多个局部权重,并且,诸如在传送多个局部权重之后,在中央计算机处解密被加密的多个局部权重。在一些示例中,压缩和加密模块32配置为,诸如在传送多个局部权重之前,在多个本地计算机处加密多个局部权重,并且,诸如在传送多个局部权重之后,在多个本地计算机处解密被加密的多个局部权重。
在各种示例中,压缩和加密模块32配置为,诸如在传送多个局部偏差之前,在多个本地计算机处加密多个局部偏差,并且,诸如在传送多个局部偏差之后,在中央计算机处解密被加密的多个局部偏差。在一些示例中,压缩和加密模块32配置为,诸如在传送多个局部偏差之前,在多个本地计算机处加密多个局部偏差,并且,诸如在传送多个局部偏差之后,在多个本地计算机处解密被加密的多个局部偏差。
图2为示出了根据一些实施例的用于增强集中的分布式医疗网络的方法的简化图。该图仅为示例,其不应过度地限制权利要求的范围。本领域的普通技术人员将认识到许多变化、替换和修改。在各种示例中,方法S100用于增强集中的分布式医疗网络,该集中的分布式医疗网络包括中央计算机和多个本地计算机,其中多个本地计算机中的每个本地计算机托管配置有活动参数集的机器学习模型。在某些示例中,方法S100由图1的系统10实施。在一些示例中,方法S100包括在中央计算机和多个本地计算机之间建立连接的过程S102,启动每个机器学习模型的过程S104,以及更新每个机器学习模型的过程S106。虽然针对本方法已经使用选定的一组过程示出了以上内容,但是可以存在许多替换、修改和变化。例如,一些过程可以被扩展和/或组合。可以将其他过程插入到以上提到的那些过程中。一些过程可以被去掉。根据实施例,过程的顺序可以与替换的其他过程相互交换。
在各种实施例中,在中央计算机和多个本地计算机之间建立连接的过程S102包括在中央计算机和多个本地计算机之间建立无线和/或有线连接。在某些示例中,在中央计算机和多个本地计算机之间建立连接包括在中央计算机和多个本地计算机之间建立用于共享、传递、发送和/或传输数据的数据传递连接。
在各种实施例中,启动每个机器学习模型的过程S104包括将与每个本地计算机对应的启动数据输入到它们对应的机器学习模型中的过程S108,生成针对每个机器学习模型的第一局部损失的过程S110,生成针对每个机器学习模型的第一局部参数梯度和/或第一局部参数集的过程S112,将第一多个局部参数梯度和/或第一多个局部参数集从多个本地计算机传送到中央计算机的过程S114,至少部分地基于第一多个局部参数梯度和/或第一多个局部参数集生成第一全局参数更新的过程S116,将第一全局参数更新传送到多个本地计算机的过程S118,以及启动托管在每个本地计算机处的每个机器学习模型的过程S120。虽然针对过程S104已经使用选定的一组过程示出了以上内容,但是可以存在许多替换、修改和变化。例如,一些过程可以被扩展和/或组合。可以将其他过程插入到以上提到的那些过程中。一些过程可以被去掉。根据实施例,过程的顺序可以与替换的其他过程相互交换。
在各种实施例中,输入启动数据的过程S108包括将第一启动数据输入到托管在多个本地计算机中的第一本地计算机处的第一机器学习模型中,将第二启动数据输入到托管在多个本地计算机中的第二本地计算机处的第二机器学习模型中,……,以及将第N启动数据输入到托管在多个本地计算机中的第N本地计算机处的第N机器学习模型中。在一些示例中,输入到每个机器学习模型中的启动数据是不同的。在一些示例中,输入到每个机器学习模型中的启动数据是与每个本地计算机一起存在(例如,本地存储)的本地数据。
在各种实施例中,生成针对每个机器学习模型的第一局部损失的过程S110包括通过至少生成针对托管在多个本地计算机处的每个机器学习模型的第一局部损失来生成多个第一局部损失。在各种示例中,至少部分地基于启动数据(诸如进一步地部分地基于与启动数据对应的一个或多个真实数据)来生成第一局部损失。
在各种实施例中,生成针对每个机器学习模型的第一局部参数梯度和/或第一局部参数集的过程S112包括生成针对由其对应的本地计算机托管的每个机器学习模型的第一局部权重梯度。例如,生成第一局部权重梯度包括生成针对由其对应的本地计算机托管的每个机器学习模型的包括一个或多个零的第一局部权重梯度。在一些示例中,当反向传播到机器学习模型的一个或多个模型层时,包括一个或多个零的第一局部权重梯度帮助引导(诸如在启动过程期间)机器学习模型的一个或多个参数的变化。在一些示例中,生成针对每个机器学习模型的第一局部参数梯度包括生成针对由其对应的本地计算机托管的每个机器学习模型的第一局部偏差梯度。例如,生成第一局部偏差梯度包括生成针对由其对应的本地计算机托管的每个机器学习模型的第一局部偏差梯度。在一些示例中,当反向传播到机器学习模型的一个或多个模型层时,包括一个或多个零的第一局部偏差梯度帮助引导(诸如在启动过程期间)机器学习模型的一个或多个参数的变化。
在各种实施例中,生成针对每个机器学习模型的第一局部参数梯度和/或第一局部参数集的过程S112包括生成针对由其对应的本地计算机托管的每个机器学习模型的第一局部权重集。在一些示例中,生成针对每个机器学习模型的第一局部参数梯度和/或第一局部参数集的过程S112包括生成针对由其对应的本地计算机托管的每个机器学习模型的第一局部偏差集。
在各种实施例中,将第一多个局部参数梯度和/或第一多个局部参数集从多个本地计算机传送到中央计算机的过程S114包括将第一局部参数梯度从第一本地计算机传送到中央计算机,将第二局部参数梯度从第二本地计算机传送到中央计算机,……,将第N局部参数梯度从第N本地计算机传送到中央计算机。在各种示例中,传送第一多个局部参数梯度和/或第一多个局部参数集的过程S114包括将第一多个局部权重梯度从多个本地计算机传送到分布式医疗网络的中央计算机。例如,传送第一多个局部权重梯度包括将第一局部权重梯度从第一本地计算机传送到中央计算机,将第二局部权重梯度从第二本地计算机传送到中央计算机,……,将第N局部权重梯度从第N本地计算机传送到中央计算机。在各种示例中,传送第一多个局部参数梯度和/或第一多个局部参数集的过程S114包括将第一多个局部偏差梯度从多个本地计算机传送到分布式医疗网络的中央计算机。例如,传送第一多个局部偏差梯度包括将第一局部偏差梯度从第一本地计算机传送到中央计算机,将第二局部偏差梯度从第二本地计算机传送到中央计算机,……,将第N局部偏差梯度从第N本地计算机传送到中央计算机。
在各种实施例中,将第一多个局部参数梯度和/或第一多个局部参数集从多个本地计算机传送到中央计算机的过程S114包括将第一局部参数集从第一本地计算机传送到中央计算机,将第二局部参数集从第二本地计算机传送到中央计算机,……,将第N局部参数集从第N本地计算机传送到中央计算机。在各种示例中,传送第一多个局部参数梯度和/或第一多个局部参数集的过程S114包括将第一多个局部权重集从多个本地计算机传送到分布式医疗网络的中央计算机。例如,传送第一多个局部权重集包括将第一局部权重集从第一本地计算机传送到中央计算机,将第二局部权重集从第二本地计算机传送到中央计算机,……,将第N局部权重集从第N本地计算机传送到中央计算机。在各种示例中,传送第一多个局部参数梯度和/或第一多个局部参数集的过程S114包括将第一多个局部偏差集从多个本地计算机传送到分布式医疗网络的中央计算机。例如,传送第一多个局部偏差集包括将第一局部偏差集从第一本地计算机传送到中央计算机,将第二局部偏差集从第二本地计算机传送到中央计算机,……,将第N局部偏差集从第N本地计算机传送到中央计算机。
在各种实施例中,至少部分地基于第一多个局部参数梯度和/或第一多个局部参数集生成第一全局参数更新的过程S116包括诸如通过对第一多个局部参数梯度求平均来生成第一多个全局参数梯度。在某些示例中,第一全局参数更新对应于第一多个全局参数梯度。在某些示例中,第一多个全局参数梯度对应于第一多个局部参数梯度。在一些示例中,生成第一全局参数更新包括(例如,在中央计算机处)通过至少将第一多个全局参数梯度反向传播到机器学习模型的一个或多个模型层来生成第一全局参数更新。在一些示例中,生成第一全局参数更新包括在中央计算机处生成第一全局参数更新。
在一些示例中,生成第一全局参数更新的过程S116包括至少部分地基于第一多个局部权重梯度生成第一全局权重更新。例如,生成第一全局权重更新包括通过至少对第一多个局部权重梯度求平均来生成第一全局权重更新。在某些示例中,第一多个局部权重梯度中的每个第一局部权重梯度对应于第一局部损失和对应的本地计算机。例如,第一多个局部权重梯度中的每个第一局部权重梯度对应于多个本地计算机中的本地计算机。
在一些示例中,生成第一全局参数更新的过程S116包括至少部分地基于第一多个局部偏差梯度生成第一全局偏差更新。例如,生成第一全局偏差更新包括通过至少对第一多个局部偏差梯度求平均来生成第一全局偏差更新。在某些示例中,第一多个局部偏差梯度中的每个第一局部偏差梯度对应于第一局部损失和对应的本地计算机。例如,第一多个局部偏差梯度中的每个第一局部偏差梯度对应于多个本地计算机中的本地计算机。
在各种实施例中,至少部分地基于第一多个局部参数梯度和/或第一多个局部参数集生成第一全局参数更新的过程S116包括诸如通过对第一多个局部参数集求平均来生成第一多个全局参数集。在某些示例中,第一全局参数更新对应于第一多个全局参数集。在某些示例中,第一多个全局参数集对应于第一多个局部参数集。在一些示例中,生成第一全局参数更新包括在中央计算机处生成第一全局参数更新。
在一些示例中,生成第一全局参数更新的过程S116包括至少部分地基于第一多个局部权重集生成第一全局权重更新。例如,生成第一全局权重更新包括通过至少对第一多个局部权重集求平均来生成第一全局权重更新。在某些示例中,第一多个局部权重集中的每个第一局部权重集对应于第一局部损失和对应的本地计算机。例如,第一多个局部权重集中的每个第一局部权重集对应于多个本地计算机中的本地计算机。
在一些示例中,生成第一全局参数更新的过程S116包括至少部分地基于第一多个局部偏差集生成第一全局偏差更新。例如,生成第一全局偏差更新包括通过至少对第一多个局部偏差集求平均来生成第一全局偏差更新。在某些示例中,第一多个局部偏差集中的每个第一局部偏差集对应于第一局部损失和对应的本地计算机。例如,第一多个局部偏差集中的每个第一局部偏差集对应于多个本地计算机中的本地计算机。
在各种实施例中,将第一全局参数更新传送到多个本地计算机的过程S118包括将第一全局参数更新从中央计算机传送到多个本地计算机中的每个本地计算机。在各种实施例中,将第一全局参数更新传送到多个本地计算机的过程S118包括将第一全局权重更新从中央计算机传送到多个本地计算机中的每个本地计算机。在各种实施例中,将第一全局参数更新传送到多个本地计算机的过程S118包括将第一全局偏差更新从中央计算机传送到多个本地计算机中的每个本地计算机。
在各种实施例中,启动托管在每个本地计算机处的每个机器学习模型的过程S120包括通过至少部分地基于第一全局参数更新、第一全局权重更新和/或第一全局偏差更新而至少更新机器学习模型对应的活动参数集,来更新托管在多个本地计算机中的每个本地计算机处的每个机器学习模型。
在各种实施例中,更新每个机器学习模型的过程S106包括将与每个本地计算机对应的训练数据输入到它们对应的机器学习模型中的过程S122,生成针对每个机器学习模型的第二局部损失的过程S124,生成针对每个机器学习模型的第二局部参数梯度和/或第二局部参数集的过程S126,将第二多个局部参数梯度和/或第二多个局部参数集从多个本地计算机传送到中央计算机的过程S128,至少部分地基于第二多个局部参数梯度和/或第二多个局部参数集生成第二全局参数更新的过程S130,将第二全局参数更新传送到多个本地计算机的过程S132,以及更新托管在每个本地计算机处的每个机器学习模型的过程S134。虽然针对过程S106已经使用选定的一组过程示出了以上内容,但是可以存在许多替换、修改和变化。例如,一些过程可以被扩展和/或组合。可以将其他过程插入到以上提到的那些过程中。一些过程可以被去掉。根据实施例,过程的顺序可以与替换的其他过程相互交换。
在各种实施例中,输入训练数据的过程S122包括将第一训练数据输入到托管在多个本地计算机中的第一本地计算机处的第一机器学习模型中,将第二训练数据输入到托管在多个本地计算机中的第二本地计算机处的第二机器学习模型中,……,以及将第N训练数据输入到托管在多个本地计算机中的第N本地计算机处的第N机器学习模型中。在一些示例中,输入到每个机器学习模型中的训练数据是不同的。在一些示例中,输入到每个机器学习模型中的训练数据是与每个本地计算机一起存在(例如,本地存储)的本地数据。在某些示例中,训练数据与启动数据相同。
在各种实施例中,生成针对每个机器学习模型的第二局部损失的过程S124包括通过至少生成针对托管在多个本地计算机处的每个机器学习模型的第二局部损失来生成第二多个局部损失。在各种示例中,至少部分地基于训练数据(诸如进一步地部分地基于与训练数据对应的一个或多个真实数据)来生成第二局部损失。
在各种实施例中,生成针对每个机器学习模型的第二局部参数梯度和/或第二局部参数集的过程S126包括生成针对由其对应的本地计算机托管的每个机器学习模型的第二局部权重梯度。例如,生成第二局部权重梯度包括生成针对由其对应的本地计算机托管的每个机器学习模型的非零第二局部权重梯度。在一些示例中,当反向传播到机器学习模型的一个或多个模型层时,非零第二局部权重梯度帮助引导(诸如在训练过程期间)机器学习模型的一个或多个参数的变化。
在一些示例中,生成针对每个机器学习模型的第二局部参数梯度和/或第二局部参数集的过程S126包括生成针对由其对应的本地计算机托管的每个机器学习模型的第二局部偏差梯度。例如,生成第二局部偏差梯度包括生成针对由其对应的本地计算机托管的每个机器学习模型的非零第二局部偏差梯度。在一些示例中,当反向传播到机器学习模型的一个或多个模型层时,非零第二局部偏差梯度帮助引导(诸如在训练过程期间)机器学习模型的一个或多个参数的变化。
在各种实施例中,生成针对每个机器学习模型的第二局部参数梯度和/或第二局部参数集的过程S126包括生成针对由其对应的本地计算机托管的每个机器学习模型的第二局部权重集。在各种示例中,生成针对每个机器学习模型的第二局部参数梯度和/或第二局部参数集的过程S126包括生成针对由其对应的本地计算机托管的每个机器学习模型的第二局部偏差集。
在各种实施例中,将第二多个局部参数梯度和/或第二多个局部参数集从多个本地计算机传送到中央计算机的过程S128包括将第一局部参数梯度从第一本地计算机传送到中央计算机,将第二局部参数梯度从第二本地计算机传送到中央计算机,......,以及将第N局部参数梯度从第N本地计算机传送到中央计算机。
在各种示例中,传送第二多个局部参数梯度和/或第二多个局部参数集的过程S128包括将第二多个局部权重梯度从多个本地计算机传送到分布式医疗网络的中央计算机。例如,传送第二多个局部权重梯度包括将第一局部权重梯度从第一本地计算机传送到中央计算机,将第二局部权重梯度从第二本地计算机传送到中央计算机,......,以及将第N局部权重梯度从第N本地计算机传送到中央计算机。
在各种示例中,传送第二多个局部参数梯度和/或第二多个局部参数集的过程S128包括将第二多个局部偏差梯度从多个本地计算机传送到分布式医疗网络的中央计算机。例如,传送第二多个局部偏差梯度包括将第一局部偏差梯度从第一本地计算机传送到中央计算机,将第二局部偏差梯度从第二本地计算机传送到中央计算机,……,以及将第N局部偏差梯度从第N本地计算机传送到中央计算机。
在各种实施例中,将第二多个局部参数梯度和/或第二多个局部参数集从多个本地计算机传送到中央计算机的过程S128将第一局部参数集从第一本地计算机传送到中央计算机,将第二局部参数集从第二本地计算机传送到中央计算机,……,以及将第N局部参数集从第N本地计算机传送到中央计算机。
在各种示例中,传送第二多个局部参数梯度和/或第二多个局部参数集的过程S128包括将第二多个局部权重集从多个本地计算机传送到分布式医疗网络的中央计算机。例如,传送第二多个局部权重集包括将第一局部权重集从第一本地计算机传送到中央计算机,将第二局部权重集从第二本地计算机传送到中央计算机,......,以及将第N局部权重集从第N本地计算机传送到中央计算机。
在各种示例中,传送第二多个局部参数梯度和/或第二多个局部参数集的过程S128包括将第二多个局部偏差集从多个本地计算机传送到分布式医疗网络的中央计算机。例如,传送第二多个局部偏差集包括将第一局部偏差集从第一本地计算机传送到中央计算机,将第二局部偏差集从第二本地计算机传送到中央计算机,……,以及将第N局部偏差集从第N本地计算机传送到中央计算机。
在各种实施例中,至少部分地基于第二多个局部参数梯度和/或第二多个局部参数集生成第二全局参数更新的过程S130包括诸如通过对第二多个局部参数梯度求平均来生成第二多个全局参数梯度。在某些示例中,第二全局参数更新对应于第二多个全局参数梯度。在某些示例中,第二多个全局参数梯度对应于第二多个局部参数梯度。在一些示例中,生成第二全局参数更新包括(例如,在中央计算机处的)通过至少将第二多个全局参数梯度反向传播到机器学习模型的一个或多个模型层来生成第二全局参数更新。在一些示例中,生成第二全局参数更新包括在中央计算机处生成第二全局参数更新。
在一些示例中,生成第二全局参数更新的过程S130包括至少部分地基于第二多个局部权重梯度生成第二全局权重更新。例如,生成第二全局权重更新包括通过至少对第二多个局部权重梯度求平均来生成第二全局权重更新。在某些示例中,第二多个局部权重梯度中的每个第二局部权重梯度对应于第二局部损失和对应的本地计算机。例如,第二多个局部权重梯度中的每个第二局部权重梯度对应于多个本地计算机中的本地计算机。
在一些示例中,生成第二全局参数更新的过程S130包括至少部分地基于第二多个局部偏差梯度生成第二全局偏差更新。例如,生成第二全局偏差更新包括通过至少对第二多个局部偏差梯度求平均来生成第二全局偏差更新。在某些示例中,第二多个局部偏差梯度中的每个第二局部偏差梯度对应于第二局部损失和对应的本地计算机。例如,第二多个局部偏差梯度中的每个第二局部偏差梯度对应于多个本地计算机中的本地计算机。
在各种实施例中,至少部分地基于第二多个局部参数梯度和/或第二多个局部参数集生成第二全局参数更新的过程S130包括诸如通过对第二多个局部参数集求平均来生成第二多个全局参数集。在某些示例中,第二全局参数更新对应于第二多个全局参数集。在某些示例中,第二多个全局参数集对应于第二多个局部参数集。在一些示例中,生成第二全局参数更新包括在中央计算机处生成第二全局参数更新。
在一些示例中,生成第二全局参数更新的过程S130包括至少部分地基于第二多个局部权重集生成第二全局权重更新。例如,生成第二全局权重更新包括通过至少对第二多个局部权重集求平均来生成第二全局权重更新。在某些示例中,第二多个局部权重集中的每个第二局部权重集对应于第二局部损失和对应的本地计算机。例如,第二多个局部权重集中的每个第二局部权重集对应于多个本地计算机中的本地计算机。
在一些示例中,生成第二全局参数更新的过程S130包括至少部分地基于第二多个局部偏差集生成第二全局偏差更新。例如,生成第二全局偏差更新包括通过至少对第二多个局部偏差集求平均来生成第二全局偏差更新。在某些示例中,第二多个局部偏差集中的每个第二局部偏差集对应于第二局部损失和对应的本地计算机。例如,第二多个局部偏差集中的每个第二局部偏差集对应于多个本地计算机中的本地计算机。
在各种实施例中,将第二全局参数更新传送到多个本地计算机的过程S132包括将第二全局参数更新从中央计算机传送到多个本地计算机中的每个本地计算机。在各种示例中,将第二全局参数更新传送到多个本地计算机的过程S132还包括将第二全局权重更新从中央计算机传送到多个本地计算机中的每个本地计算机。在各种示例中,将第二全局参数更新传送到多个本地计算机的过程S132还包括将第二全局偏差更新从中央计算机传送到多个本地计算机中的每个本地计算机。
在各种实施例中,更新托管在每个本地计算机处的每个机器学习模型的过程S134包括通过至少部分地基于第二全局参数更新、第二全局权重更新和/或第二全局偏差更新而至少更新机器学习模型对应的活动参数集,来更新托管在多个本地计算机中的每个本地计算机处的每个机器学习模型。
在某些实施例中,更新每个机器学习模型的过程S106还包括在中央计算机上实施超时周期,使得中央计算机被配置为在超时周期期间拒绝接收局部参数梯度。替代性地,在某些实施例中,更新每个机器学习模型的过程S106还包括在中央计算机上实施超时周期,使得中央计算机被配置为在超时周期期间仅接收局部参数梯度。
在某些实施例中,更新每个机器学习模型的过程S106还包括,在传送第二多个局部参数梯度之前,在多个本地计算机处压缩第二多个局部参数梯度,并且在传送第二多个局部参数梯度之后,在中央计算机处解压所压缩的第二多个局部参数梯度。
在某些实施例中,更新每个机器学习模型的过程S106还包括,在传送第二多个局部权重梯度之前,在多个本地计算机处压缩第二多个局部权重梯度,并且在传送第二多个局部权重梯度之后,在中央计算机处解压所压缩的第二多个局部权重梯度。
在某些实施例中,更新每个机器学习模型的过程S106还包括,在传送第二多个局部偏差梯度之前,在多个本地计算机处压缩第二多个局部偏差梯度,并且在传送第二多个局部偏差梯度之后,在中央计算机处解压所压缩的第二多个局部偏差梯度。
在某些实施例中,更新每个机器学习模型的过程S106还包括,在传送第二多个局部参数梯度之前,在多个本地计算机处加密第二多个局部参数梯度,并且在传送第二多个局部参数梯度之后,在中央计算机处解密被加密的第二多个局部参数梯度。
在某些实施例中,更新每个机器学习模型的过程S106还包括,在传送第二多个局部权重梯度之前,在多个本地计算机处加密第二多个局部权重梯度,并且在传送第二多个局部权重梯度之后,在中央计算机处解密被加密的第二多个局部权重梯度。
在某些实施例中,更新每个机器学习模型的过程S106还包括,在传送第二多个局部偏差梯度之前,在多个本地计算机处加密第二多个局部偏差梯度,并且在传送第二多个局部偏差梯度之后,在中央计算机处解密被加密的第二多个局部偏差梯度。
在某些实施例中,更新每个机器学习模型的过程S106还包括在中央计算机上实施超时周期,使得中央计算机被配置为在超时周期期间拒绝接收局部参数。替代性地,在某些实施例中,更新每个机器学习模型的过程S106还包括在中央计算机上实施超时周期,使得中央计算机被配置为在超时周期期间仅接收局部参数。
在某些实施例中,更新每个机器学习模型的过程S106还包括,在传送第二多个局部参数之前,在多个本地计算机处压缩第二多个局部参数,并且在传送第二多个局部参数之后,在中央计算机处解压所压缩的第二多个局部参数。
在某些实施例中,更新每个机器学习模型的过程S106还包括,在传送第二多个局部权重之前,在多个本地计算机处压缩第二多个局部权重,并且在传送第二多个局部权重之后,在中央计算机处解压所压缩的第二多个局部权重。
在某些实施例中,更新每个机器学习模型的过程S106还包括,在传送第二多个局部偏差之前,在多个本地计算机处压缩第二多个局部偏差,并且在传送第二多个局部偏差之后,在中央计算机处解压所压缩的第二多个局部偏差。
在某些实施例中,更新每个机器学习模型的过程S106还包括,在传送第二多个局部参数之前,在多个本地计算机处加密第二多个局部参数,并且在传送第二多个局部参数之后,在中央计算机处解密被加密的第二多个局部参数。
在某些实施例中,更新每个机器学习模型的过程S106还包括,在传送第二多个局部权重之前,在多个本地计算机处加密第二多个局部权重,并且在传送第二多个局部权重之后,在中央计算机处解密被加密的第二多个局部权重。
在某些实施例中,更新每个机器学习模型的过程S106还包括,在传送第二多个局部偏差之前,在多个本地计算机处加密第二多个局部偏差,并且在传送第二多个局部偏差之后,在中央计算机处解密被加密的第二多个局部偏差。
图3为示出了根据一些实施例的用于增强分散的分布式医疗网络的方法的简化图。该图仅为示例,其不应过度地限制权利要求的范围。本领域的普通技术人员将认识到许多变化、替换和修改。在各种示例中,方法S200用于增强分散的分布式医疗网络,该分散的分布式医疗网络包括多个本地计算机,其中多个本地计算机中的每个本地计算机托管配置有活动参数集的机器学习模型。在某些示例中,方法S200由图1的系统10实施。在一些示例中,方法S200包括在多个本机计算机之间建立连接的过程S202,启动每个机器学习模型的过程S204,以及更新每个机器学习模型的过程S206。虽然针对本方法已经使用选定的一组过程示出了以上内容,但是可以存在许多替换、修改和变化。例如,一些过程可以被扩展和/或组合。可以将其他过程插入到以上提到的那些过程中。一些过程可以被去掉。根据实施例,过程的顺序可以与替换的其他过程相互交换。
在各种实施例中,在多个本机计算机之间建立连接的过程S202包括在多个本地计算机之间建立无线和/或有线连接。在某些示例中,在多个本地计算机之间建立连接包括在多个本地计算机之间建立用于共享、传递、发送和/或传输数据的数据传递连接。
在各种实施例中,启动每个机器学习模型的过程S204包括将与每个本地计算机对应的启动数据输入到它们对应的机器学习模型中的过程S208,生成针对每个机器学习模型的第一局部损失的过程S210,生成针对每个机器学习模型的第一局部参数梯度和/或第一局部参数集的过程S212,在多个本地计算机之间传送第一多个局部参数梯度和/或第一多个局部参数集的过程S214,至少部分地基于第一多个局部参数梯度和/或第一多个局部参数集生成第一全局参数更新的过程S216,以及启动托管在每个本地计算机处的每个机器学习模型的过程S218。虽然针对过程S204已经使用选定的一组过程示出了以上内容,但是可以存在许多替换、修改和变化。例如,一些过程可以被扩展和/或组合。可以将其他过程插入到以上提到的那些过程中。一些过程可以被去掉。根据实施例,过程的顺序可以与替换的其他过程相互交换。
在各种实施例中,输入启动数据的过程S208包括将第一启动数据输入到托管在多个本地计算机中的第一本地计算机处的第一机器学习模型中,将第二启动数据输入到托管在多个本地计算机中的第二本地计算机处的第二机器学习模型中,……,以及将第N启动数据输入到托管在多个本地计算机中的第N本地计算机处的第N机器学习模型中。在一些示例中,输入到每个机器学习模型中的启动数据是与每个本地计算机一起存在(例如,本地存储)的本地数据。在一些示例中,输入到每个机器学习模型中的启动数据是不同的。
在各种实施例中,生成针对每个机器学习模型的第一局部损失的过程S210包括通过至少生成针对托管在多个本地计算机处的每个机器学习模型的第一局部损失来生成多个第一局部损失。在各种示例中,至少部分地基于启动数据(诸如进一步部分地基于与启动数据对应的一个或多个真实数据)来生成第一局部损失。
在各种实施例中,生成针对每个机器学习模型的第一局部参数梯度和/或第一局部参数集的过程S212包括生成针对由其对应的本地计算机托管的每个机器学习模型的第一局部权重梯度。例如,生成第一局部权重梯度包括生成针对由其对应的本地计算机托管的每个机器学习模型的包括一个或多个零的第一局部权重梯度。在一些示例中,当反向传播到机器学习模型的一个或多个模型层时,包括一个或多个零的第一局部权重梯度帮助引导(诸如在启动过程期间)机器学习模型的一个或多个参数的变化。
在一些示例中,生成针对每个机器学习模型的第一局部参数梯度和/或第一局部参数集的过程S212包括生成针对由其对应的本地计算机托管的每个机器学习模型的第一局部偏差梯度。例如,生成第一局部偏差梯度包括生成针对由其对应的本地计算机托管的每个机器学习模型的包括一个或多个零的第一局部偏差梯度。在一些示例中,当反向传播到机器学习模型的一个或多个模型层时,包括一个或多个零的第一局部偏差梯度帮助引导(诸如在启动过程期间)机器学习模型的一个或多个参数的变化。
在各种实施例中,生成针对每个机器学习模型的第一局部参数梯度和/或第一局部参数集的过程S212包括生成针对由其对应的本地计算机托管的每个机器学习模型的第一局部权重集。在各种示例中,生成针对每个机器学习模型的第一局部参数梯度和/或第一局部参数集的过程S212包括生成针对由其对应的本地计算机托管的每个机器学习模型的第一局部偏差集。
在各种实施例中,在多个本地计算机之间传送第一多个局部参数梯度和/或第一多个局部参数集的过程S214包括与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的第一局部参数梯度。例如,传送第一多个局部参数梯度包括将第一局部参数梯度从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。
在各种实施例中,传送第一多个局部参数梯度和/或第一多个局部参数集的过程S214包括在多个本地计算机之间传送第一多个局部权重梯度,诸如包括与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的第一局部权重梯度。例如,传送第一多个局部权重梯度包括将第一局部权重梯度从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。
在各种实施例中,传送第一多个局部参数梯度的过程S214包括在多个本地计算机之间传送第一多个局部偏差梯度,诸如包括与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的第一局部偏差梯度。例如,传送第一多个局部偏差梯度包括将第一局部偏差梯度从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。
在各种实施例中,在多个本地计算机之间传送第一多个局部参数梯度和/或第一多个局部参数集的过程S214包括与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的第一局部参数集。例如,传送第一多个局部参数集包括将第一局部参数集从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。
在各种实施例中,传送第一多个局部参数梯度和/或第一多个局部参数集的过程S214包括在多个本地计算机之间传送第一多个局部权重集,诸如包括与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的第一局部权重集。例如,传送第一多个局部权重集包括将第一局部权重集从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。
在各种实施例中,传送第一多个局部参数梯度和/或第一多个局部参数集的过程S214包括在多个本地计算机之间传送第一多个局部偏差集,诸如包括与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的第一局部偏差集。例如,传送第一多个局部偏差集包括将第一局部偏差集从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。
在各种实施例中,至少部分地基于第一多个局部参数梯度和/或第一多个局部参数集生成第一全局参数更新的过程S216包括诸如通过对第一多个局部参数梯度求平均来生成第一多个全局参数梯度。在某些示例中,第一全局参数更新对应于第一多个全局参数梯度。在某些示例中,第一多个全局参数梯度对应于第一多个局部参数梯度。在一些示例中,生成第一全局参数更新包括(例如,在每个本地计算机处)通过至少将第一多个全局参数梯度反向传播到机器学习模型的一个或多个模型层来生成第一全局参数更新。在一些示例中,生成第一全局参数更新包括在每个本地计算机处生成第一全局参数更新。
在一些示例中,生成第一全局参数更新的过程S216包括至少部分地基于第一多个局部权重梯度生成第一全局权重更新。例如,生成第一全局权重更新包括通过至少对第一多个局部权重梯度求平均来生成第一全局权重更新。在某些示例中,第一多个局部权重梯度中的每个第一局部权重梯度对应于第一局部损失和对应的本地计算机。例如,第一多个局部权重梯度中的每个第一局部权重梯度对应于多个本地计算机中的本地计算机。
在一些示例中,生成第一全局参数更新的过程S216包括至少部分地基于第一多个局部偏差梯度生成第一全局偏差更新。例如,生成第一全局偏差更新包括通过至少对第一多个局部偏差梯度求平均来生成第一全局偏差更新。在某些示例中,第一多个局部偏差梯度中的每个第一局部偏差梯度对应于第一局部损失和对应的本地计算机。例如,第一多个局部偏差梯度中的每个第一局部偏差梯度对应于多个本地计算机中的本地计算机。
在各种实施例中,至少部分地基于第一多个局部参数梯度和/或第一多个局部参数集生成第一全局参数更新的过程S216包括诸如通过对第一多个局部参数集求平均来生成第一多个全局参数集。在某些示例中,第一全局参数更新对应于第一多个全局参数集。在某些示例中,第一多个全局参数集对应于第一多个局部参数集。在一些示例中,生成第一全局参数更新包括在每个本地计算机处生成第一全局参数更新。
在一些示例中,生成第一全局参数更新的过程S216包括至少部分地基于第一多个局部权重集生成第一全局权重更新。例如,生成第一全局权重更新包括通过至少对第一多个局部权重集求平均来生成第一全局权重更新。在某些示例中,第一多个局部权重集中的每个第一局部权重集对应于第一局部损失和对应的本地计算机。例如,第一多个局部权重集中的每个第一局部权重集对应于多个本地计算机中的本地计算机。
在一些示例中,生成第一全局参数更新的过程S216包括至少部分地基于第一多个局部偏差集生成第一全局偏差更新。例如,生成第一全局偏差更新包括通过至少对第一多个局部偏差集求平均来生成第一全局偏差更新。在某些示例中,第一多个局部偏差集中的每个第一局部偏差集对应于第一局部损失和对应的本地计算机。例如,第一多个局部偏差集中的每个第一局部偏差集对应于多个本地计算机中的本地计算机。
在各种实施例中,启动托管在每个本地计算机处的每个机器学习模型的过程S218包括通过至少部分地基于第一全局参数更新、第一全局权重更新和/或第一全局偏差更新而至少更新机器学习模型对应的活动参数集,来更新托管在多个本地计算机中的每个本地计算机处的每个机器学习模型。
在各种实施例中,更新每个机器学习模型的过程S206包括将与每个本地计算机对应的训练数据输入到它们对应的机器学习模型中的过程S220,生成针对每个机器学习模型的第二局部损失的过程S222,生成针对每个机器学习模型的第二局部参数梯度和/或第二局部参数集的过程S224,在多个本地计算机之间传送第二多个局部参数梯度和/或第二多个局部参数集的过程S226,至少部分地基于第二多个局部参数梯度和/或第二多个局部参数集生成第二全局参数更新的过程S228,以及更新托管在每个本地计算机处的每个机器学习模型的过程S230。虽然针对过程S206已经使用选定的一组过程示出了以上内容,但是可以存在许多替换、修改和变化。例如,一些过程可以被扩展和/或组合。可以将其他过程插入到以上提到的那些过程中。一些过程可以被去掉。根据实施例,过程的顺序可以与替换的其他过程相互交换。
在各种实施例中,输入训练数据的过程S220包括将第一训练数据输入到托管在多个本地计算机中的第一本地计算机处的第一机器学习模型中,将第二训练数据输入到托管在多个本地计算机中的第二本地计算机处的第二机器学习模型中,……,以及将第N训练数据输入到托管在多个本地计算机中的第N本地计算机处的第N机器学习模型中。在一些示例中,输入到每个机器学习模型中的训练数据是不同的。
在各种实施例中,生成针对每个机器学习模型的第二局部损失的过程S222包括通过至少生成针对托管在多个本地计算机处的每个机器学习模型的第二局部损失来生成第二多个局部损失。在各种示例中,至少部分地基于训练数据(诸如进一步地部分地基于与训练数据对应的一个或多个真实数据)来生成第二局部损失。
在各种实施例中,生成针对每个机器学习模型的第二局部参数梯度和/或第二局部参数集的过程S224包括生成针对由其对应的本地计算机托管的每个机器学习模型的第二局部权重梯度。例如,生成第二局部权重梯度包括生成针对由其对应的本地计算机托管的每个机器学习模型的非零第二局部权重梯度。在一些示例中,当反向传播到机器学习模型的一个或多个模型层时,非零第二局部权重梯度帮助引导(诸如在训练(例如,增强)过程期间)机器学习模型的一个或多个参数的变化。
在各种实施例中,生成针对每个机器学习模型的第二局部参数梯度和/或第二局部参数集的过程S224包括生成针对由其对应的本地计算机托管的每个机器学习模型的第二局部偏差梯度。例如,生成第二局部偏差梯度包括生成针对由其对应的本地计算机托管的每个机器学习模型的非零第二局部偏差梯度。在一些示例中,当反向传播到机器学习模型的一个或多个模型层时,非零第二局部偏差梯度帮助引导(诸如在训练(例如,增强)过程期间)机器学习模型的一个或多个参数的变化。
在各种实施例中,生成针对每个机器学习模型的第二局部参数梯度和/或第二局部参数集的过程S224包括生成针对由其对应的本地计算机托管的每个机器学习模型的第二局部权重集。在各种示例中,生成针对每个机器学习模型的第二局部参数梯度和/或第二局部参数集的过程S224包括生成针对由其对应的本地计算机托管的每个机器学习模型的第二局部偏差集。
在各种实施例中,在多个本地计算机之间传送第二多个局部参数梯度和/或第二多个局部参数集的过程S226包括与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的第二局部参数梯度。例如,传送第二多个局部参数梯度包括将第二局部参数梯度从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。
在各种实施例中,在多个本地计算机之间传送第二多个局部参数梯度和/或第二多个局部参数集的过程S226包括在多个本地计算机之间传送第二多个局部权重梯度,诸如包括与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的第二局部权重梯度。例如,传送第二多个局部权重梯度包括将第二局部权重梯度从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。
在各种实施例中,在多个本地计算机之间传送第二多个局部参数梯度和/或第二多个局部参数集的过程S226包括在多个本地计算机之间传送第二多个局部偏差梯度,诸如包括与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的第二局部偏差梯度。例如,传送第二多个局部偏差梯度包括将第二局部偏差梯度从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。
在各种实施例中,在多个本地计算机之间传送第二多个局部参数梯度和/或第二多个局部参数集的过程S226包括与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的第二局部参数集。例如,传送第二多个局部参数集包括将第二局部参数集从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。
在各种实施例中,在多个本地计算机之间传送第二多个局部参数梯度和/或第二多个局部参数集的过程S226包括在多个本地计算机之间传送第二多个局部权重集,诸如包括与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的第二局部权重集。例如,传送第二多个局部权重集包括将第二局部权重集从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。
在各种实施例中,在多个本地计算机之间传送第二多个局部参数梯度和/或第二多个局部参数集的过程S226包括在多个本地计算机之间传送第二多个局部偏差集,诸如包括与多个本地计算机中的所有其他本地计算机传送与每个本地计算机对应的第二局部偏差集。例如,传送第二多个局部偏差集包括将第二局部偏差集从第一本地计算机传送到第二本地计算机、第三本地计算机、……以及第N本地计算机。
在各种实施例中,至少部分地基于第二多个局部参数梯度和/或第二多个参数集生成第二全局参数更新的过程S228包括诸如通过对第二多个局部参数梯度求平均来生成第二多个全局参数梯度。在某些示例中,第二全局参数更新对应于第二多个全局参数梯度。在某些示例中,第二多个全局参数梯度对应于第二多个局部参数梯度。在一些示例中,生成第二全局参数更新包括(例如,在每个本地计算机处)通过至少将第二多个全局参数梯度反向传播到机器学习模型的一个或多个模型层来生成第二全局参数更新。在一些示例中,生成第二全局参数更新包括在每个本地计算机处生成第二全局参数更新。
在一些示例中,生成第二全局参数更新的过程S228包括至少部分地基于第二多个局部权重梯度生成第二全局权重更新。例如,生成第二全局权重更新包括通过至少对第二多个局部权重梯度求平均来生成第二全局权重更新。在某些示例中,第二多个局部权重梯度中的每个第二局部权重梯度对应于第二局部损失和对应的本地计算机。例如,第二多个局部权重梯度中的每个第二局部权重梯度对应于多个本地计算机中的本地计算机。
在一些示例中,生成第二全局参数更新的过程S228包括至少部分地基于第二多个局部偏差梯度生成第二全局偏差更新。例如,生成第二全局偏差更新包括通过至少对第二多个局部偏差梯度求平均来生成第二全局偏差更新。在某些示例中,第二多个局部偏差梯度中的每个第二局部偏差梯度对应于第二局部损失和对应的本地计算机。例如,第二多个局部偏差梯度中的每个第二局部偏差梯度对应于多个本地计算机中的本地计算机。
在各种实施例中,至少部分地基于第二多个局部参数梯度和/或第二多个局部参数集生成第二全局参数更新的过程S228包括诸如通过对第二多个局部参数集求平均来生成第二多个全局参数集。在某些示例中,第二全局参数更新对应于第二多个全局参数集。在某些示例中,第二多个全局参数集对应于第二多个局部参数集。在一些示例中,生成第二全局参数更新包括在每个本地计算机处生成第二全局参数更新。
在一些示例中,生成第二全局参数更新的过程S228包括至少部分地基于第二多个局部权重集生成第二全局权重更新。例如,生成第二全局权重更新包括通过至少对第二多个局部权重集求平均来生成第二全局权重更新。在某些示例中,第二多个局部权重集中的每个第二局部权重集对应于第二局部损失和对应的本地计算机。例如,第二多个局部权重集中的每个第二局部权重集对应于多个本地计算机中的本地计算机。
在一些示例中,生成第二全局参数更新的过程S228包括至少部分地基于第二多个局部偏差集生成第二全局偏差更新。例如,生成第二全局偏差更新包括通过至少对第二多个局部偏差集求平均来生成第二全局偏差更新。在某些示例中,第二多个局部偏差集中的每个第二局部偏差集对应于第二局部损失和对应的本地计算机。例如,第二多个局部偏差集中的每个第二局部偏差集对应于多个本地计算机中的本地计算机。
在各种实施例中,更新托管在每个本地计算机处的每个机器学习模型的过程S230包括通过至少部分地基于第二全局参数更新、第二全局权重更新和/或第二全局偏差更新而至少更新机器学习模型对应的活动参数集,来更新托管在多个本地计算机中的每个本地计算机处的每个机器学习模型。
在某些实施例中,更新每个机器学习模型的过程S206还包括在每个本地计算机上实施超时周期,使得每个本地计算机被配置为在超时周期期间拒绝接收局部参数梯度。替代性地,在某些实施例中,更新每个机器学习模型的过程S206还包括在每个本地计算机上实施超时周期,使得每个本地计算机被配置为在超时周期期间仅接收局部参数梯度。
在一些示例中,更新每个机器学习模型的过程S206还包括,在传送第二多个局部参数梯度之前,在多个本地计算机处压缩第二多个局部参数梯度,并且在传送第二多个局部参数梯度之后,在多个本地计算机处解压所压缩的第二多个局部参数梯度。
在一些示例中,更新每个机器学习模型的过程S206还包括,在传送第二多个局部权重梯度之前,在多个本地计算机处压缩第二多个局部权重梯度,并且在传送第二多个局部权重梯度之后,在多个本地计算机处解压所压缩的第二多个局部权重梯度。
在一些示例中,更新每个机器学习模型的过程S206还包括,在传送第二多个局部偏差梯度之前,在多个本地计算机处压缩第二多个局部偏差梯度,并且在传送第二多个局部偏差梯度之后,在多个本地计算机处解压所压缩的第二多个局部偏差梯度。
在一些示例中,更新每个机器学习模型的过程S206还包括,在传送第二多个局部参数梯度之前,在多个本地计算机处加密第二多个局部参数梯度,并且在传送第二多个局部参数梯度之后,在多个本地计算机处解密被加密的第二多个局部参数梯度。
在一些示例中,更新每个机器学习模型的过程S206还包括,在传送第二多个局部权重梯度之前,在多个本地计算机处加密第二多个局部权重梯度,并且在传送第二多个局部权重梯度之后,在多个本地计算机处解密被加密的第二多个局部权重梯度。
在一些示例中,更新每个机器学习模型的过程S206还包括,在传送第二多个局部偏差梯度之前,在多个本地计算机处加密第二多个局部偏差梯度,并且在传送第二多个局部偏差梯度之后,在多个本地计算机处解密被加密的第二多个局部偏差梯度。
在一些示例中,更新每个机器学习模型的过程S206还包括,在传送第二多个局部参数之前,在多个本地计算机处压缩第二多个局部参数,并且在传送第二多个局部参数之后,在多个本地计算机处解压所压缩的第二多个局部参数。
在一些示例中,更新每个机器学习模型的过程S206还包括,在传送第二多个局部权重之前,在多个本地计算机处压缩第二多个局部权重,并且在传送第二多个局部权重之后,在多个本地计算机处解压所压缩的第二多个局部权重。
在一些示例中,更新每个机器学习模型的过程S206还包括,在传送第二多个局部偏差之前,在多个本地计算机处压缩第二多个局部偏差,并且在传送第二多个局部偏差之后,在多个本地计算机处解压所压缩的第二多个局部偏差。
在一些示例中,更新每个机器学习模型的过程S206还包括,在传送第二多个局部参数之前,在多个本地计算机处加密第二多个局部参数,并且在传送第二多个局部参数之后,在多个本地计算机处解密被加密的第二多个局部参数。
在一些示例中,更新每个机器学习模型的过程S206还包括,在传送第二多个局部权重之前,在多个本地计算机处加密第二多个局部权重,并且在传送第二多个局部权重之后,在多个本地计算机处解密被加密的第二多个局部权重。
在一些示例中,更新每个机器学习模型的过程S206还包括,在传送第二多个局部偏差之前,在多个本地计算机处加密第二多个局部偏差,并且在传送第二多个局部偏差之后,在多个本地计算机处解密被加密的第二多个局部偏差。
图4为示出了根据一些实施例的计算系统的简化图。该图仅为示例,其不应过度地限制权利要求的范围。本领域的普通技术人员将认识到许多变化、替换和修改。在某些示例中,计算系统6000为通用的计算装置。在一些示例中,计算系统6000包括一个或多个处理单元6002(例如,一个或多个处理器)、一个或多个系统存储器6004、一条或多条总线6006、一个或多个输入/输出(I/O)接口6008,和/或一个或多个网络适配器6012。在某些示例中,一条或多条总线6006连接各种系统组件,其包括例如一个或多个系统存储器6004、一个或多个处理单元6002、一个或多个输入/输出(I/O)接口6008和/或一个或多个网络适配器6012。虽然针对本计算系统已经使用选定的一组组件示出了以上内容,但是可以存在许多替换、修改和变化。例如,一些组件可以被扩展和/或组合。可以将其他组件插入到以上提到的那些组件中。一些组件可以被去掉。根据实施例,组件的布置可以与替换的其他组件相互交换。
在某些示例中,计算系统6000是计算机(例如,服务器计算机,客户端计算机)、智能手机、平板电脑或可穿戴设备。在一些示例中,方法S100和/或方法S200的一些或所有过程(例如,步骤)由计算系统6000执行。在某些示例中,方法S100和/或方法S200的一些或所有过程(例如,步骤)由一个或多个代码指导的一个或多个处理单元6002执行。例如,一个或多个代码存储在一个或多个系统存储器6004(例如,一个或多个非暂时性计算机可读介质)中,并且可由计算系统6000读取(例如,可由一个或多个处理单元6002读取)。在各种示例中,一个或多个系统存储器6004包括易失性存储器形式的一个或多个计算机可读介质,诸如随机存取存储器(RAM)6014、高速缓冲存储器(cache memory)6016和/或存储系统6018(例如,软盘、CD-ROM和/或DVD-ROM)。
在一些示例中,计算系统6000的一个或多个输入/输出(I/O)接口6008配置为与一个或多个外部设备6010(例如,键盘、定点设备和/或显示器)通信。在某些示例中,计算系统6000的一个或多个网络适配器6012配置为与一个或多个网络(例如,局域网(LAN)、广域网(WAN)和/或公共网络(例如,因特网))通信。在各种示例中,利用附加的硬件模块和/或软件模块(诸如一个或多个微代码和/或一个或多个装置驱动器)与计算系统6000连接。
图5为示出了根据某些实施例的神经网络的简化图。例如,神经网络由机器学习模型中的一个或多个使用。该图仅为示例,其不应过度地限制权利要求的范围。本领域的普通技术人员将认识到许多变化、替换和修改。神经网络8000是人工神经网络。在一些示例中,神经网络8000包括输入层8002、一个或多个隐藏层8004和输出层8006。例如,一个或多个隐藏层8004包括L个神经网络层,其包括第1个神经网络层,……,第i个神经网络层,……,和第L个神经网络层,其中L是正整数并且i是大于等于1并且小于等于L的整数。虽然针对本神经网络已经使用选定的一组组件示出了以上内容,但是可以存在许多替换、修改和变化。例如,一些组件可以被扩展和/或组合。可以将其他组件插入到以上提到的那些组件中。一些组件可以被去掉。根据实施例,组件的布置可以与替换的其他组件相互交换。
在一些示例中,方法S100和/或方法S200的一些或所有过程(例如,步骤)由神经网络8000(例如,使用计算系统6000)来执行。在某些示例中,方法S100和/或方法S200的一些或所有过程(例如,步骤)由一个或多个处理单元6002执行,该一个或多个处理单元6002由实施神经网络8000的一个或多个代码指导。例如,用于神经网络8000的一个或多个代码存储在一个或多个系统存储器6004(例如,一个或多个非暂时性计算机可读介质)中,并且可由计算系统6000(诸如,由一个或多个处理单元6002)读取。
在某些示例中,神经网络8000是深度神经网络(例如,卷积神经网络)。在一些示例中,一个或多个隐藏层8004的每个神经网络层包括多个子层。作为示例,第i个神经网络层包括卷积层、激活层和池化层。例如,卷积层配置为对(例如,由输入层接收的或从前一个神经网络层接收的)输入执行特征抽取,激活层配置为对卷积层的输出应用非线性激活函数(例如,ReLU函数),并且池化层配置为压缩(例如,诸如通过执行最大池化或平均池化来降低采样)激活层的输出。作为示例,输出层8006包括一个或多个全连接层。
如以上讨论的和这里进一步分析的,图5仅为示例,其不应过度地限制权利要求的范围。本领域的普通技术人员将认识到许多变化、替换和修改。例如,神经网络8000由不是人工神经网络的算法替代。作为示例,神经网络8000由不是人工神经网络的机器学习模型替代。
图6为示出了根据一些实施例的分布式医疗网络的简化图。在某些示例中,该简化图示出了集中的分布式医疗网络,例如包括深度神经网络的网络的集中的分布式医疗网络。在某些示例中,集中的分布式医疗网络配置为共享与训练深度神经网络相关的数据。在某些示例中,集中的分布式医疗网络配置为利用跨多个不同地理位置定位(例如,存储)的数据。在某些示例中,图6的分布式医疗网络配置为由图1的系统10(诸如经由图2的方法S100)来增强。
在某些实施例中,分布式医疗网络配置为(诸如,有选择地)共享增量数据快照。例如,分布式医疗网络配置为(诸如,有选择地)共享增量权重和/或增量偏差。在某些示例中,分布式医疗网络配置为减少带宽和提高数据共享和模型(例如,神经网络)训练的速度。在某些示例中,分布式医疗网络配置为经由分布式深度学习(诸如至少部分地基于增量神经网络快照的共享)来增强。在某些示例中,分布式医疗网络配置为以同步和/或异步模式(诸如以集中的和/或分散的配置)跨不同医院(例如,跨不同医院处的不同计算机)共享一个或多个权重快照和/或一个或多个偏差快照。
在某些实施例中,分布式医疗网络配置为在多个医院处的多个计算机(例如,其中每个计算机托管诸如神经网络的机器学习模型)之间共享数据。在某些示例中,图1的系统10(诸如经由图2的方法S100和/或图3的方法S200)配置为(诸如通过使用训练数据训练托管在医院网络中的每个本地医院处的每个神经网络)来训练分布式医疗网络。在某些示例中,训练每个神经网络包括使用针对每个神经网络的本地训练数据,以及直接与其他医院(例如,在分散的配置中)或者先向中央计算机然后再向其他医院(例如,在集中的配置中)共享参数和/或梯度。
在某些实施例中,分布式医疗网络配置为通过至少共享与托管在多个医院处的多个本地计算机处的多个神经网络相对应的权重和/或偏差的一个或多个增量快照来在多个计算机之间共享数据。在某些示例中,增量快照仅对应于权重和/或偏差的变化,而不共享可能包括为零的权重和偏差(例如,对应于无变化)的所有权重。在某些示例中,在每个时期中的每次迭代之后或者在每个时期之后执行增量快照的共享。例如,在第一次迭代或第一个时期中,将包括(例如,在第一医院处的)第一计算机的非零(例如,变化)和零(例如,无变化)的所有权重和/或偏差与(例如,在其他医院处的)其他计算机共享,并且在第二次迭代或第二个时期中,仅共享非零(例如,当与第一次迭代中的神经网络参数比较时的变化)的权重和/或偏差的增量快照。在某些示例中,在(例如,在医院的)多个本地计算机之间或者在多个本地计算机和中央计算机之间共享数据包括经由云共享、广播、传送、接收和/或发送数据。在某些示例中,共享(例如,权重和/或偏差的)增量快照包括在传送到它们的指定点之前压缩和/或加密增量快照,并且在传送之后解压和/或解密所压缩的和/或加密的增量快照。
在某些实施例中,增强分布式医疗网络包括在医院的本地计算机(例如,本地服务器)上的每次迭代中给一个或多个权重和/或偏差拍快照(例如,拍增量快照),并且计算(例如,来自于最近迭代的)新快照和(例如,来自于先前迭代的)旧快照之间的差异。在某些示例中,(例如,在分散的配置中)在多个本地医院之间或者(例如,在集中的配置中)与中央计算机共享差异。在某些示例中,诸如在分散的配置(例如,在多个本地医院处耦合的多个本地计算机)中,增强分布式医疗网络包括将一个或多个非零权重快照和/或偏差快照从每个医院共享到其它医院。在某些示例中,增强分布式医疗网络包括,针对每个医院,在接收到其他医院的权重快照后,诸如至少部分地基于它们对应的原始权重和权重快照,诸如通过对权重求平均并且更新它们的本地深度神经网络,来计算它们对应的权重更新。在某些示例中,增强分布式医疗网络包括,针对每个医院,在接收到其他医院的偏差快照后,诸如至少部分地基于它们对应的原始偏差和偏差快照,诸如通过对偏差求平均并且更新它们的本地深度神经网络,来计算它们对应的偏差更新。在某些示例中,诸如在集中的配置(例如,耦合到多个本地医院处的多个本地计算机处的中央计算机)中,增强分布式医疗网络包括与中央计算机(例如,诸如云服务器的中央服务器)共享多个本地计算机(例如,本地服务器)的(例如,仅包括增量变化的)一个或多个权重快照和/或偏差快照。
在某些实施例中,增强分布式医疗网络包括,在中央计算机处,在从多个本地计算机接收到权重快照后,诸如至少部分地基于多个医院的所有原始权重和/或权重快照,诸如通过对权重求平均来计算全局权重更新,将全局权重更新传送回多个医院,以及使用全局权重更新来更新每个医院的神经网络。在某些示例中,增强分布式医疗网络包括,在中央计算机处,在从多个本地计算机接收到偏差快照后,诸如至少部分地基于多个医院的所有原始偏差和/或偏差快照,诸如通过对偏差求平均来计算全局偏差更新,将全局偏差更新传送回多个医院,以及使用全局偏差更新来更新每个医院的神经网络。
在某些实施例中,增强分布式医疗网络包括在异步工作流中训练在本地医院处的深度神经网络,诸如通过每当接收到(例如,权重和/或偏差的)一个或多个快照时至少训练本地深度神经网络,而没有等待周期,在该等待周期期间为了从其他本地医院或者从中央服务器接收(例如,权重和/或偏差的)快照而暂停训练(计算和更新神经网络参数)。
在某些实施例中,增强分布式医疗网络包括在同步工作流中训练在本地医院处的深度神经网络,诸如通过诸如在等待周期期间仅在从它们各自的医院接收到(例如,权重和/或偏差的)所有期望的快照时才至少训练本地深度神经网络,在该等待周期期间为了从其他本地医院或者从中央服务器接收(例如,权重和/或偏差的)快照而暂停训练(计算和更新神经网络参数)。
在某些实施例中,用于在集中的配置中增强分布式医疗网络的方法包括:通过至少将本地医院数据输入到托管在每个本地医院处的神经网络中来在每个医院处启动启动(例如,第一次迭代训练);诸如在第一次训练迭代之后计算针对每个神经网络的损失;至少部分地基于损失生成(例如,包括对应于无变化的零的)一个或多个权重梯度和/或(例如,包括对应于无变化的零的)一个或多个偏差梯度;将一个或多个权重梯度和/或一个或多个偏差梯度从本地计算机传送到中央服务器;可选地,在中央服务器处施加等待周期,在该等待周期期间中央服务器等待从本地医院接收一个或多个权重梯度和/或一个或多个偏差梯度;在接收到一个或多个权重梯度和/或一个或多个偏差梯度后,诸如通过对从本地计算机接收的所有的权重梯度求平均和/或对从本地计算机接收的所有的偏差梯度求平均来计算全局权重更新和/或全局偏差更新;可选地,施加超时周期,在该超时周期期间中央服务器配置为拒绝接收任何权重梯度和/或偏差梯度,诸如通过在全局权重更新和/或全局偏差更新的计算中忽略它们,或者将它们增加到队列中以用于训练过程期间的未来迭代;将全局权重更新和/或全局偏差更新从中央服务器传送(例如,广播)到本地医院;至少部分地基于全局权重更新和/或全局偏差更新,诸如通过创建副本、保存副本和应用副本来更新神经网络,来更新在本地医院处的神经网络;诸如使用用于启动(例如,第一次迭代训练)的相同的本地训练数据来行进到下一次迭代训练;诸如在下一次训练迭代之后计算针对每个神经网络的损失;至少部分地基于前一次迭代的损失、权重和/或偏差生成包括(例如,仅包括对应于变化的非零的)一个或多个权重梯度和/或(例如,仅包括对应于变化的非零的)一个或多个偏差梯度的(例如,仅包含与来自于先前迭代的值的变化相对应的非零梯度的)增量快照;可选地,压缩和/或加密增量快照;将(例如,包含一个或多个权重梯度和/或一个或多个偏差梯度的)增量快照从本地计算机传送到中央服务器;可选地,在中央服务器处施加等待周期,在该等待周期期间中央服务器等待从本地医院接收(例如,包括一个或多个权重梯度和/或一个或多个偏差梯度的)增量快照;可选地,解压和/或解密增量快照;以及将增量快照转换为(例如,包括与来自于先前迭代的无变化相对应的零和与来自于先前迭代的变化相对应的非零的)权重梯度和/或偏差梯度的完整集;在接收到一个或多个权重梯度和/或一个或多个偏差梯度后,诸如通过对从本地计算机接收的所有的权重梯度求平均和/或对从本地计算机接收的所有的偏差梯度求平均来计算全局权重更新和/或全局偏差更新;可选地,施加超时周期,在该超时周期期间中央服务器配置为拒绝接收任何权重梯度和/或偏差梯度,诸如通过在全局权重更新和/或全局偏差更新的计算中忽略它们,或者将它们增加到队列中以用于训练过程期间的未来迭代;将全局权重更新和/或全局偏差更新从中央服务器传送(例如,广播)到本地医院;至少部分地基于全局权重更新和/或全局偏差更新,诸如通过创建副本、保存副本和应用副本来更新神经网络,来更新在本地医院处的神经网络;以及重复该方法的一个或多个过程以继续迭代训练,诸如直到完成预先确定的迭代次数。
在某些实施例中,用于在分散的配置中增强分布式医疗网络的方法包括:通过至少将本地医院数据输入到托管在每个本地医院处的神经网络中来在每个医院处启动启动(例如,第一次迭代训练);诸如在第一次训练迭代之后计算针对每个神经网络的损失;至少部分地基于损失生成(例如,包括对应于无变化的零的)一个或多个权重梯度和/或(例如,包括对应于无变化的零的)一个或多个偏差梯度;将一个或多个权重梯度和/或一个或多个偏差梯度从每个本地计算机传送到分布式医疗网络中的其他本地计算机;可选地,在每个本地计算机处施加等待周期,在该等待周期期间每个本地计算机等待从其他医院接收一个或多个权重梯度和/或一个或多个偏差梯度;在接收到一个或多个权重梯度和/或一个或多个偏差梯度后,诸如通过对(例如,包括其自己的权重梯度和从其他本地计算机接收的权重梯度的)所有的权重梯度求平均和/或对(例如,包括其自己的偏差梯度和从其他本地计算机接收的偏差梯度的)所有的偏差梯度求平均来计算全局权重更新和/或全局偏差更新;可选地,施加超时周期,在该超时周期期间每个本地计算机配置为拒绝接收任何权重梯度和/或偏差梯度,诸如通过在全局权重更新和/或全局偏差更新的计算中忽略它们,或者将它们增加到队列中以用于训练过程期间的未来迭代;至少部分地基于全局权重更新和/或全局偏差更新,诸如通过创建副本、保存副本和应用副本来更新神经网络,来更新在本地医院处的神经网络;诸如使用用于启动(例如,第一次迭代训练)的相同的本地训练数据来行进到下一次迭代训练;诸如在下一次训练迭代之后计算针对每个神经网络的损失;至少部分地基于前一次迭代的损失、权重和/或偏差生成包括(例如,仅包括对应于变化的非零的)一个或多个权重梯度和/或(例如,仅包括对应于变化的非零的)一个或多个偏差梯度的(例如,仅包含与来自于先前迭代的值的变化相对应的非零梯度的)增量快照;可选地,压缩和/或加密增量快照;将(例如,包含一个或多个权重梯度和/或一个或多个偏差梯度的)增量快照从本地计算机传送到中央服务器;可选地,在每个本地计算机处施加等待周期,在该等待周期期间本地计算机等待从其他医院接收(例如,包括一个或多个权重梯度和/或一个或多个偏差梯度的)增量快照;可选地,解压和/或解密增量快照;将增量快照转换为(例如,包括与来自于先前迭代的无变化相对应的零的和与变化相对应的非零的)权重梯度和/或偏差梯度的完整集;在接收到一个或多个权重梯度和/或一个或多个偏差梯度后,诸如通过对(例如,包括其自己的权重梯度和从其他本地计算机接收到的权重梯度的)所有的权重梯度求平均和/或对(例如,包括其自己的偏差梯度和从其他本地计算机接收到的偏差梯度的)所有的偏差梯度求平均来计算全局权重更新和/或全局偏差更新;可选地,施加超时周期,在该超时周期期间每个本地计算机配置为拒绝接收任何权重梯度和/或偏差梯度,诸如通过在全局权重更新和/或全局偏差更新的计算中忽略它们,或者将它们增加到队列中以用于训练过程期间的未来迭代;至少部分地基于全局权重更新和/或全局偏差更新,诸如通过创建副本、保存副本和应用副本来更新神经网络,来更新在本地医院处的神经网络;以及重复该方法的一个或多个过程以继续迭代训练,诸如直到完成预先确定的迭代次数。
在某些实施例中,用于在集中的配置中增强分布式医疗网络的方法包括:通过至少将本地医院数据输入到托管在每个本地医院处的神经网络中来在每个医院处启动启动(例如,第一次迭代训练);诸如在第一次训练迭代之后计算针对每个神经网络的损失;至少部分地基于损失生成(例如,包括对应于无变化的零的)一个或多个权重梯度和/或(例如,包括对应于无变化的零的)一个或多个偏差梯度;至少部分地基于一个或多个权重梯度和/或一个或多个偏差梯度生成一个或多个权重梯度和/或一个或多个偏差梯度;将一个或多个权重和/或一个或多个偏差从本地计算机传送到中央服务器;可选地,在中央服务器处施加等待周期,在该等待周期期间中央服务器等待从本地医院接收一个或多个权重和/或一个或多个偏差;在接收到一个或多个权重和/或一个或多个偏差后,诸如通过对从本地计算机接收的所有的权重求平均和/或对从本地计算机接收的所有的偏差求平均来计算全局权重更新和/或全局偏差更新;可选地,施加超时周期,在该超时周期期间中央服务器配置为拒绝接收任何权重和/或偏差,诸如通过在全局权重更新和/或全局偏差更新的计算中忽略它们,或者将它们增加到队列中以用于训练过程期间的未来迭代;将全局权重更新和/或全局偏差更新从中央服务器传送(例如,广播)到本地医院;至少部分地基于全局权重更新和/或全局偏差更新,诸如通过创建副本、保存副本和应用副本来更新神经网络,来更新在本地医院处的神经网络;诸如使用用于启动(例如,第一次迭代训练)的相同的本地训练数据来行进到下一次迭代训练;诸如在下一次训练迭代之后计算针对每个神经网络的损失;至少部分地基于前一次迭代的损失、权重和/或偏差生成包括(例如,仅包括与先前迭代相比较的变化的值的)一个或多个权重和/或(例如,仅包括与先前迭代相比较的变化的值的)一个或多个偏差的(例如,仅包含与来自于先前迭代的值的变化相对应的非零权重和/或偏差的)增量快照;可选地,压缩和/或加密增量快照;将(例如,包含一个或多个权重和/或一个或多个偏差的)增量快照从本地计算机传送到中央服务器;可选地,在中央服务器处施加等待周期,在该等待周期期间中央服务器等待从本地医院接收(例如,包括一个或多个权重和/或一个或多个偏差的)增量快照;可选地,解压和/或解密增量快照;以及将增量快照转换为(例如,包括与来自于先前迭代的无变化的权重值和/或偏差值的)权重和/或偏差的完整集;在接收到一个或多个权重、一个或多个偏差、权重的完整集和/或偏差的完整集后,诸如通过对从本地计算机接收的所有的权重求平均和/或对从本地计算机接收的所有的偏差求平均来计算全局权重更新和/或全局偏差更新;可选地,施加超时周期,在该超时周期期间中央服务器配置为拒绝接收任何权重和/或偏差,诸如通过在全局权重更新和/或全局偏差更新的计算中忽略它们,或者将它们增加到队列中以用于训练过程期间的未来迭代;将全局权重更新和/或全局偏差更新从中央服务器传送(例如,广播)到本地医院;至少部分地基于全局权重更新和/或全局偏差更新,诸如通过创建副本、保存副本和应用副本来更新神经网络,来更新在本地医院处的神经网络;以及重复该方法的一个或多个过程以继续迭代训练,诸如直到完成预先确定的迭代次数。
在某些实施例中,用于在分散的配置中增强分布式医疗网络的方法包括:通过至少将本地医院数据输入到托管在每个本地医院处的神经网络中来在每个医院处启动启动(例如,第一次迭代训练);诸如在第一次训练迭代之后计算针对每个神经网络的损失;至少部分地基于损失生成(例如,包括对应于无变化的零的)一个或多个权重和/或(例如,包括对应于无变化的零的)一个或多个偏差;将一个或多个权重和/或一个或多个偏差从每个本地计算机传送到分布式医疗网络中的其他本地计算机;可选地,在每个本地计算机处施加等待周期,在该等待周期期间每个本地计算机等待从其他医院接收一个或多个权重和/或一个或多个偏差;在接收到一个或多个权重和/或一个或多个偏差后,诸如通过对(例如,包含其自己的权重和从其他本地计算机接收的权重的)所有的权重求平均和/或对(例如,包含其自己的偏差和从其他本地计算机接收的偏差的)所有的偏差求平均来计算全局权重更新和/或全局偏差更新;可选地,施加超时周期,在该超时周期期间每个本地计算机配置为拒绝接收任何权重和/或偏差,诸如通过在全局权重更新和/或全局偏差更新的计算中忽略它们,或者将它们增加到队列中以用于训练过程期间的未来迭代;至少部分地基于全局权重更新和/或全局偏差更新,诸如通过创建副本、保存副本和应用副本来更新神经网络,来更新在本地医院处的神经网络;诸如使用用于启动(例如,第一次迭代训练)的相同的本地训练数据来行进到下一次迭代训练;诸如在下一次训练迭代之后计算针对每个神经网络的损失;至少部分地基于前一次迭代的损失、权重和/或偏差生成包括(例如,仅包括与先前迭代不同的值的)一个或多个权重和/或(例如,仅包括与先前迭代不同的值的)一个或多个偏差的(例如,仅包含与来自于先前迭代的值的变化相对应的非零的)增量快照;可选地,压缩和/或加密增量快照;将(例如,包含一个或多个权重和/或一个或多个偏差的)增量快照从本地计算机传送到中央服务器;可选地,在每个本地计算机处施加等待周期,在该等待周期期间本地计算机等待从其他医院接收(例如,包括一个或多个权重和/或一个或多个偏差的)增量快照;可选地,解压和/或解密增量快照;将增量快照转换为(例如,包括与先前迭代不同的值和与先前迭代相同的值的)权重的完整集和/或(例如,包括与先前迭代不同的值和与先前迭代相同的值的)偏差的完整集;在接收到一个或多个权重和/或一个或多个偏差后,诸如通过对(例如,包括其自己的权重和从其他本地计算机接收的权重的)所有的权重求平均和/或对(例如,包括其自己的偏差和从其他本地计算机接收的偏差的)所有的偏差求平均来计算全局权重更新和/或全局偏差更新;可选地,施加超时周期,在该超时周期期间每个本地计算机配置为拒绝接收任何权重和/或偏差,诸如通过在全局权重更新和/或全局偏差更新的计算中忽略它们,或者将它们增加到队列中以用于训练过程期间的未来迭代;至少部分地基于全局权重更新和/或全局偏差更新,诸如通过创建副本、保存副本和应用副本来更新神经网络,来更新在本地医院处的神经网络;以及重复该方法的一个或多个过程以继续迭代训练,诸如直到完成预先确定的迭代次数。
在各种实施例中,用于增强分布式医疗网络(例如,包括多个本地计算机的分布式医疗网络,该多个本地计算机中的每个本地计算机托管配置有活动参数集的机器学习模型)的计算机实现的方法,包括:将与每个本地计算机对应的训练数据输入到它们对应的机器学习模型中;生成多个局部损失,其包括至少部分地基于对应的训练数据生成针对每个机器学习模型的局部损失;生成多个局部参数梯度,其包括至少部分地基于所对应的局部损失生成针对每个机器学习模型的局部参数梯度;至少部分地基于多个局部参数梯度生成全局参数更新;以及通过至少部分地基于全局参数更新而至少更新机器学习模型对应的活动参数集,来更新托管在多个本地计算机中的每个本地计算机处的每个机器学习模型。在某些示例中,该计算机实现的方法由一个或多个处理器执行。在一些示例中,该计算机实现的方法至少部分地根据图2的方法S100和/或图3的方法S200来实施。在某些示例中,该方法至少部分地由图1的系统10来实施。
在一些实施例中,局部参数梯度为局部权重梯度和/或局部偏差梯度。
在一些实施例中,生成局部参数梯度包括确定非零参数梯度。
在一些实施例中,生成全局参数更新包括对多个局部参数梯度求平均。
在一些实施例中,该方法还包括:将多个局部参数梯度从多个本地计算机传送到分布式医疗网络的中央计算机;以及将全局参数更新从中央计算机传送到多个本地计算机。在某些示例中,生成全局参数更新包括在中央计算机处生成全局参数更新。
在一些实施例中,该方法还包括:在中央计算机上实施超时周期,使得中央计算机被配置为在超时周期期间拒绝接收局部参数梯度。
在一些实施例中,该方法还包括:在传送多个局部参数梯度之前,在多个本地计算机处压缩多个局部参数梯度;并且在传送多个局部参数梯度之后,在中央计算机处解压所压缩的多个局部参数梯度。
在一些实施例中,该方法还包括:在传送多个局部参数梯度之前,在多个本地计算机处加密多个局部参数梯度,并且在传送多个局部参数梯度之后,在中央计算机处解密加密的多个局部参数梯度。
在一些实施例中,该方法还包括在多个本地计算机之间传送多个局部参数梯度。在某些示例中,生成全局参数更新包括在多个本地计算机中的每个本地计算机处生成全局参数更新。
在一些实施例中,该方法还包括在每个本地计算机上实施超时周期,使得每个本地计算机被配置为在超时周期期间和/或在超时周期之后拒绝接收局部参数梯度。
在一些实施例中,该方法还包括:在传送多个局部参数梯度之前,在多个本地计算机处压缩多个局部参数梯度,并且在传送多个局部参数梯度之后,在多个本地计算机处解压所压缩的多个局部参数梯度。
在一些实施例中,该方法还包括:在传送多个局部参数梯度之前,在多个本地计算机处加密多个局部参数梯度;并且在传送多个局部参数梯度之后,在多个本地计算机处解密加密的多个局部参数梯度。
在一些实施例中,该方法还包括:生成多个局部参数集,其包括至少部分地基于多个局部参数梯度中对应的局部参数梯度生成针对每个机器学习模型的局部参数集。在某些示例中,至少部分地基于多个局部参数梯度生成全局参数更新包括至少部分地基于多个局部参数集生成全局参数更新。
在一些实施例中,局部参数集包括局部权重集和局部偏差集中的一个。
在一些实施例中,生成全局参数更新包括对多个局部参数集求平均。
在一些实施例中,该方法还包括:将多个局部参数集从多个本地计算机传送到分布式医疗网络的中央计算机;以及将全局参数更新从中央计算机传送到多个本地计算机。在某些示例中,生成全局参数更新包括在中央计算机处生成全局参数更新。
在一些实施例中,该方法还包括:在中央计算机上实施超时周期,使得中央计算机被配置为在超时周期期间和/或在超时周期之后拒绝接收局部参数集。
在一些实施例中,该方法还包括:在传送多个局部参数集之前,在多个本地计算机处压缩多个局部参数集;并且在传送多个局部参数集之后,在中央计算机处解压所压缩的多个局部参数集。
在一些实施例中,该方法还包括:在传送多个局部参数集之前,在多个本地计算机处加密多个局部参数集;并且在传送多个局部参数集之后,在中央计算机处解密加密的多个局部参数集。
在一些实施例中,该方法还包括:在多个本地计算机之间传送多个局部参数集。在某些示例中,生成全局参数更新包括在多个本地计算机中的每个本地计算机处生成全局参数更新。
在一些实施例中,该方法还包括在每个本地计算机上实施超时周期,使得每个本地计算机被配置为在超时周期期间和/或在超时周期之后拒绝接收局部参数集。
在一些实施例中,该方法还包括:在传送多个局部参数集之前,在多个本地计算机处压缩多个局部参数集;并且在传送多个局部参数集之后,在多个本地计算机处解压所压缩的多个局部参数集。
在一些实施例中,该方法还包括:在传送多个局部参数集之前,在多个本地计算机处加密多个局部参数集;并且在传送多个局部参数集之后,在多个本地计算机处解密加密的多个局部参数集。
在各种实施例中,用于增强分布式医疗网络(例如,包括多个本地计算机的分布式医疗网络,该多个本地计算机中的每个本地计算机托管配置有活动参数集的机器学习模型)的系统包括:数据输入模块,配置为将与每个本地计算机对应的训练数据输入到它们对应的机器学习模型中;损失生成模块,配置为通过至少部分地基于所对应的训练数据至少生成针对每个机器学习模型的局部损失来生成多个局部损失;梯度生成模块,配置为通过至少部分地基于所对应的局部损失至少生成针对每个机器学习模型的局部参数梯度来生成多个局部参数梯度;更新生成模块,配置为至少部分地基于多个局部参数梯度生成全局参数更新;以及模型更新模块,配置为通过至少部分地基于全局参数更新而至少更新机器学习模型对应的活动参数集,来更新托管在多个本地计算机中的每个本地计算机处的每个机器学习模型。在一些示例中,该系统至少部分地根据图1的系统10来实施。在某些示例中,该系统配置为至少部分地执行图2的方法S100和/或图3的方法S200。
在一些实施例中,局部参数梯度为局部权重梯度和局部偏差梯度中的一个。
在一些实施例中,梯度生成模块配置为确定非零参数梯度。
在一些实施例中,更新生成模块配置为通过至少对多个局部参数梯度求平均来生成全局参数更新。
在一些实施例中,该系统还包括:局部梯度传送模块,配置为将多个局部参数梯度从多个本地计算机传送到分布式医疗网络的中央计算机;以及更新传送模块,配置为将全局参数更新从中央计算机传送到多个本地计算机。在某些示例中,更新生成模块配置为在中央计算机处生成全局参数更新。
在一些实施例中,该系统还包括超时模块,配置为在中央计算机上实施超时周期,使得中央计算机被配置为在超时周期期间和/或在超时周期之后拒绝接收局部参数梯度。
在一些实施例中,该系统还包括压缩模块,配置为:在多个本地计算机处压缩多个局部参数梯度;并且在中央计算机处解压所压缩的多个局部参数梯度。
在一些实施例中,该系统还包括加密模块,配置为:在多个本地计算机处加密多个局部参数梯度;并且在中央计算机处解密加密的多个局部参数梯度。
在一些实施例中,该系统还包括局部梯度传送模块,配置为在多个本地计算机之间传送多个局部参数梯度。在某些示例中,更新生成模块配置为在多个本地计算机中的每个本地计算机处生成全局参数更新。
在一些实施例中,该系统还包括超时模块,配置为在每个本地计算机上实施超时周期,使得每个本地计算机被配置为在超时周期期间和/或在超时周期之后拒绝接收局部参数梯度。
在一些实施例中,该系统还包括压缩模块,配置为:在多个本地计算机处压缩多个局部参数梯度;并且在多个本地计算机处解压所压缩的多个局部参数梯度。
在一些实施例中,该系统还包括加密模块,配置为:在多个本地计算机处加密多个局部参数梯度;并且在多个本地计算机处解密加密的多个局部参数梯度。
在一些实施例中,该系统还包括参数集生成模块,配置为通过至少部分地基于多个局部参数梯度中对应的局部参数梯度至少生成针对每个机器学习模型的局部参数集来生成多个局部参数集。在某些示例中,更新生成模块配置为至少部分地基于多个局部参数集生成全局参数更新。
在一些实施例中,局部参数集包括局部权重集和局部偏差集中的一个。
在一些实施例中,更新生成模块配置为通过至少对多个局部参数集求平均来生成全局参数更新。
在一些实施例中,该系统还包括:局部参数集传送模块,配置为将多个局部参数集从多个本地计算机传送到分布式医疗网络的中央计算机;以及更新传送模块,配置为将全局参数更新从中央计算机传送到多个本地计算机。在某些示例中,更新生成模块配置为在中央计算机处生成全局参数更新。
在一些实施例中,该系统还包括超时模块,配置为在中央计算机上实施超时周期,使得中央计算机被配置为在超时周期期间和/或在超时周期之后拒绝接收局部参数集。
在一些实施例中,该系统还包括压缩模块,配置为:在多个本地计算机处压缩多个局部参数集;并且在中央计算机处解压所压缩的多个局部参数集。
在一些实施例中,该系统还包括加密模块,配置为:在多个本地计算机处加密多个局部参数集;并且在中央计算机处解密加密的多个局部参数集。
在一些实施例中,该系统还包括局部参数集传送模块,配置为在多个本地计算机之间传送多个局部参数集。在某些示例中,更新生成模块配置为在多个本地计算机中的每个本地计算机处生成全局参数更新。
在一些实施例中,该系统还包括超时模块,配置为在每个本地计算机上实施超时周期,使得每个本地计算机被配置为在超时周期期间和/或在超时周期之后拒绝接收局部参数集。
在一些实施例中,该系统还包括压缩模块,配置为:在多个本地计算机处压缩多个局部参数集;并且在多个本地计算机处解压所压缩的多个局部参数集。
在一些实施例中,该系统还包括加密模块,配置为:在多个本地计算机处加密多个局部参数集;并且在多个本地计算机处解密加密的多个局部参数集。
在各种实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行一个或多个过程,该一个或多个过程包括:将与每个本地计算机对应的训练数据输入到它们对应的机器学习模型中;生成多个局部损失,其包括至少部分地基于所对应的训练数据生成针对每个机器学习模型的局部损失;生成多个局部参数梯度,其包括至少部分地基于所对应的局部损失生成针对每个机器学习模型的局部参数梯度;至少部分地基于多个局部参数梯度生成全局参数更新;以及通过至少部分地基于全局参数更新而至少更新机器学习模型对应的活动参数集,来更新托管在多个本地计算机中的每个本地计算机处的每个机器学习模型。在一些示例中,具有存储在其上的指令的非暂时性计算机可读介质根据图2的方法S100和/或图3的方法S200来实施。在某些示例中,具有存储在其上的指令的非暂时性计算机可读介质配置为至少部分地由图1的系统10(例如,终端)来实施。
在一些实施例中,局部参数梯度为局部权重梯度和/或局部偏差梯度。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:确定非零参数梯度。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:对多个局部参数梯度求平均。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:将多个局部参数梯度从多个本地计算机传送到分布式医疗网络的中央计算机;以及将全局参数更新从中央计算机传送到多个本地计算机。在某些示例中,生成全局参数更新包括在中央计算机处生成全局参数更新。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在中央计算机上实施超时周期,使得中央计算机被配置为在超时周期期间和/或在超时周期之后拒绝接收局部参数梯度。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在传送多个局部参数梯度之前,在多个本地计算机处压缩多个局部参数梯度;并且在传送多个局部参数梯度之后,在中央计算机处解压所压缩的多个局部参数梯度。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在传送多个局部参数梯度之前,在多个本地计算机处加密多个局部参数梯度,并且在传送多个局部参数梯度之后,在中央计算机处解密加密的多个局部参数梯度。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在多个本地计算机之间传送多个局部参数梯度。在某些示例中,生成全局参数更新包括在多个本地计算机中的每个本地计算机处生成全局参数更新。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在每个本地计算机上实施超时周期,使得每个本地计算机被配置为在超时周期期间和/或在超时周期之后拒绝接收局部参数梯度。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在传送多个局部参数梯度之前,在多个本地计算机处压缩多个局部参数梯度,并且在传送多个局部参数梯度之后,在多个本地计算机处解压所压缩的多个局部参数梯度。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在传送多个局部参数梯度之前,在多个本地计算机处加密多个局部参数梯度,并且在传送多个局部参数梯度之后,在多个本地计算机处解密加密的多个局部参数梯度。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:生成多个局部参数集,其包括至少部分地基于多个局部参数梯度中对应的局部参数梯度生成针对每个机器学习模型的局部参数集。在某些示例中,至少部分地基于多个局部参数梯度生成全局参数更新包括至少部分地基于多个局部参数集生成全局参数更新。
在一些实施例中,局部参数集包括局部权重集和局部偏差集中的一个。
在一些实施例中,生成全局参数更新包括对多个局部参数集求平均。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:将多个局部参数集从多个本地计算机传送到分布式医疗网络的中央计算机;以及将全局参数更新从中央计算机传送到多个本地计算机。在某些示例中,生成全局参数更新包括在中央计算机处生成全局参数更新。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在中央计算机上实施超时周期,使得中央计算机被配置为在超时周期期间和/或在超时周期之后拒绝接收局部参数集。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在传送多个局部参数集之前,在多个本地计算机处压缩多个局部参数集;并且在传送多个局部参数集之后,在中央计算机处解压所压缩的多个局部参数集。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在传送多个局部参数集之前,在多个本地计算机处加密多个局部参数集,并且在传送多个局部参数集之后,在中央计算机处解密加密的多个局部参数集。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在多个本地计算机之间传送多个局部参数集。在某些示例中,生成全局参数更新包括在多个本地计算机中的每个本地计算机处生成全局参数更新。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在每个本地计算机上实施超时周期,使得每个本地计算机被配置为在超时周期期间和/或在超时周期之后拒绝接收局部参数集。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在传送多个局部参数集之前,在多个本地计算机处压缩多个局部参数集;并且在传送多个局部参数集之后,在多个本地计算机处解压所压缩的多个局部参数集。
在一些实施例中,非暂时性计算机可读介质具有存储在该非暂时性计算机可读介质上的指令,该指令在由处理器执行时使处理器执行:在传送多个局部参数集之前,在多个本地计算机处加密多个局部参数集,并且在传送多个局部参数集之后,在多个本地计算机处解密加密的多个局部参数集。
例如,本发明的各种实施例中的一些或所有组件各自单独地和/或至少与其他组件组合地使用一个或多个软件组件、一个或多个硬件组件和/或软件组件和硬件组件的一个或多个组合来实施。在另一示例中,本发明的各种实施例中的一些或所有组件各自单独地和/或至少与其他组件组合地在一个或多个电路(诸如一个或多个模拟电路和/或一个或多个数字电路)中实施。在又一示例中,虽然上述实施例涉及特定的特征,但本发明的范围还包括具有特征的不同组合的实施例和不包括所有所描述的特征的实施例。在又一示例中,可以组合本发明的各种实施例和/或示例。
另外,本文所描述的方法和系统可以通过程序代码在许多不同类型的处理装置上实施,该程序代码包括由装置处理子系统执行的程序指令。软件程序指令可以包括使处理系统执行本文所描述的方法和操作的可操作的源代码、目标代码、机器代码或者任何其他存储数据。然而,也可以使用其他实施方式,诸如配置为执行本文所描述的方法和系统的固件或者甚至经适当设计的硬件。
系统和方法的数据(例如,关联、映射、数据输入、数据输出、中间数据结果、最终数据结果等)可以存储和实施在一个或多个不同类型的计算机实现的数据存储(诸如,不同类型的存储装置和编程构造(例如,RAM、ROM、EEPROM、闪存、平面文件、数据库、编程数据结构、编程变量、IF-THEN(或类似类型)的语句构造、应用编程接口等)中。值得注意的是,数据结构描述了供计算机程序使用的用于在数据库、程序、存储器或者其他计算机可读介质中组织和存储数据的格式。
系统和方法可以设置在许多不同类型的计算机可读介质上,该计算机可读介质包括计算机存储机制(例如,CD-ROM、磁盘、RAM、闪存、计算机的硬盘驱动器、DVD等),该计算机存储机制包含用于由处理器执行的指令(例如,软件)以完成方法的操作和实施本文所描述的系统。本文所描述的计算机组件、软件模块、功能、数据存储和数据结构可以直接地或间接地相互连接,以允许用于它们的操作所需的数据流。还值得注意的是,模块或处理器包括代码单元,该代码单元进行软件操作并且可以例如作为代码的子程序单元、或作为代码的软件功能单元、或作为对象(如在面向对象范例中)、或作为小应用程序、或在计算机脚本语言中、或作为另一类的计算机代码来实施。软件组件和/或功能可以位于单个计算机上或跨多个计算机分布,这取决于当前的情况。
计算系统可以包括客户端装置和服务器。客户端装置和服务器通常相互远离并且特别地通过通信网络进行交互。客户端装置和服务器的关系借助于运行在相应的计算机上并且相互具有客户端装置-服务器关系的计算机程序而产生。
本说明书包含针对特定实施例的许多细节。在本说明书中所描述的在单独的实施例情况下的某些特征也可以在单个实施例中组合实施。相反地,在单个实施例的情况下所描述的各种特征也可以在多个实施例中单独地或者以任何合适的子组合的形式来实施。此外,虽然以上可以将特征描述成以某些组合的形式起作用,但是来自于组合中的一个或多个特征在某些情况下可以从组合中去掉,并且组合可以例如针对子组合或子组合的变体。
同样地,虽然操作在附图中以特定顺序描绘,但是不应当理解为需要以所示出的特定顺序或以相继顺序执行这些操作,或者不应当理解为需要执行所有图示的操以达到可期望的结果。在某些情况下,多任务和平行处理可能是有利的。此外,在以上所描述的实施例中各种系统组件的分离不应当理解为在所有的实施例中都需要这样的分离,并且应当理解的是,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中。
虽然已经描述了本发明的具体实施例,但本领域技术人员将理解,存在与所描述实施例等同的其他实施例。因此,应当理解的是,本发明不受具体示出的实施例限制。

Claims (19)

1.用于增强分布式医疗网络的计算机实现的方法,其特征在于,所述分布式医疗网络包括多个本地计算机,所述多个本地计算机中的每个本地计算机托管配置有活动参数集的机器学习模型,所述方法包括:
将与每个本地计算机对应的训练数据输入到它们对应的机器学习模型中;
生成多个局部损失,其包括至少部分地基于所对应的训练数据生成针对每个机器学习模型的局部损失;
生成多个局部参数梯度,其包括至少部分地基于所对应的局部损失生成针对每个机器学习模型的局部参数梯度;
在所述多个本地计算机之间传送所述多个局部参数梯度;
至少部分地基于所述多个局部参数梯度生成全局参数更新;其中,所述生成全局参数更新包括在所述多个本地计算机的每个本地计算机处生成所述全局参数更新;以及
通过至少部分地基于所述全局参数更新而至少更新机器学习模型对应的活动参数集,来更新托管在所述多个本地计算机中的每个本地计算机处的每个机器学习模型。
2.根据权利要求1所述的计算机实现的方法,其特征在于,所述局部参数梯度为局部权重梯度和局部偏差梯度中的一个。
3.根据权利要求1所述的计算机实现的方法,其特征在于,所述生成多个局部参数梯度包括确定非零参数梯度。
4.根据权利要求1所述的计算机实现的方法,其特征在于,所述生成全局参数更新包括对所述多个局部参数梯度求平均。
5.根据权利要求1所述的计算机实现的方法,其特征在于,还包括:
将所述多个局部参数梯度从所述多个本地计算机传送到所述分布式医疗网络的中央计算机;以及
将所述全局参数更新从所述中央计算机传送到所述多个本地计算机;
其中,所述生成全局参数更新包括在所述中央计算机处生成所述全局参数更新。
6.根据权利要求5所述的计算机实现的方法,其特征在于,还包括:
在所述中央计算机上实施超时周期,使得所述中央计算机被配置为在所述超时周期之后拒绝接收局部参数梯度。
7.根据权利要求5所述的计算机实现的方法,其特征在于,还包括:
在传送所述多个局部参数梯度之前,在所述多个本地计算机处压缩和加密所述多个局部参数梯度;以及
在传送所述多个局部参数梯度之后,在所述中央计算机处解密和解压所压缩的多个局部参数梯度。
8.根据权利要求1所述的计算机实现的方法,其特征在于,还包括:
在每个本地计算机上实施超时周期,使得每个本地计算机被配置为在所述超时周期之后拒绝接收局部参数梯度。
9.根据权利要求1所述的计算机实现的方法,其特征在于,还包括:
在传送所述多个局部参数梯度之前,在所述多个本地计算机处压缩和加密所述多个局部参数梯度;以及
在传送所述多个局部参数梯度之后,在所述多个本地计算机处解密和解压所压缩的多个局部参数梯度。
10.根据权利要求1所述的计算机实现的方法,其特征在于,还包括:
生成多个局部参数集,其包括至少部分地基于所述多个局部参数梯度中对应的局部参数梯度来生成针对每个机器学习模型的局部参数集;
其中,所述至少部分地基于所述多个局部参数梯度生成全局参数更新包括至少部分地基于所述多个局部参数集生成所述全局参数更新。
11.根据权利要求10所述的计算机实现的方法,其特征在于,所述局部参数集包括局部权重集和局部偏差集中的一个。
12.根据权利要求10所述的计算机实现的方法,其特征在于,所述生成所述全局参数更新包括对所述多个局部参数集求平均。
13.根据权利要求1所述的计算机实现的方法,其特征在于,还包括:
将多个局部参数集从所述多个本地计算机传送到所述分布式医疗网络的中央计算机;以及
将所述全局参数更新从所述中央计算机传送到所述多个本地计算机;
其中,所述生成全局参数更新包括在所述中央计算机处生成所述全局参数更新。
14.根据权利要求13所述的计算机实现的方法,其特征在于,还包括:
在所述中央计算机上实施超时周期,使得所述中央计算机被配置为在所述超时周期之后拒绝接收局部参数集。
15.根据权利要求13所述的计算机实现的方法,其特征在于,还包括:
在传送所述多个局部参数集之前,在所述多个本地计算机处压缩和加密所述多个局部参数集;以及
在传送所述多个局部参数集之后,在所述中央计算机处解密和解压所压缩的多个局部参数集。
16.根据权利要求1所述的计算机实现的方法,其特征在于,还包括:
在所述多个本地计算机之间传送所述多个局部参数集;
其中,所述生成全局参数更新包括在所述多个本地计算机中的每个本地计算机处生成所述全局参数更新。
17.根据权利要求16所述的计算机实现的方法,其特征在于,还包括:
在传送所述多个局部参数集之前,在所述多个本地计算机处压缩和加密所述多个局部参数集;以及
在传送所述多个局部参数集之后,在所述多个本地计算机处解密和解压所压缩的多个局部参数集。
18.用于增强分布式医疗网络的系统,其特征在于,所述分布式医疗网络包括多个本地计算机,所述多个本地计算机中的每个本地计算机托管配置有活动参数集的机器学习模型,所述系统包括:
数据输入模块,配置为将与每个本地计算机对应的训练数据输入到它们对应的机器学习模型中;
损失生成模块,配置为通过至少部分地基于所对应的训练数据至少生成针对每个机器学习模型的局部损失来生成多个局部损失;
梯度生成模块,配置为通过至少部分地基于所对应的局部损失至少生成针对每个机器学习模型的局部参数梯度来生成多个局部参数梯度;
梯度或参数传送模块,用于在所述多个本地计算机之间传送所述多个局部参数梯度;
更新生成模块,配置为至少部分地基于所述多个局部参数梯度生成全局参数更新;其中,所述生成全局参数更新包括在所述多个本地计算机的每个本地计算机处生成所述全局参数更新;以及
模型更新模块,配置为通过至少部分地基于所述全局参数更新而至少更新机器学习模型对应的活动参数集,来更新托管在所述多个本地计算机中的每个本地计算机处的每个机器学习模型。
19.非暂时性计算机可读介质,其特征在于,具有存储在所述非暂时性计算机可读介质上的指令,所述指令在由处理器执行时使所述处理器执行一个或多个过程,所述一个或多个过程包括:
将与每个本地计算机对应的训练数据输入到它们对应的机器学习模型中;
生成多个局部损失,其包括至少部分地基于所对应的训练数据生成针对每个机器学习模型的局部损失;
生成多个局部参数梯度,其包括至少部分地基于所对应的局部损失生成针对每个机器学习模型的局部参数梯度;
在所述多个本地计算机之间传送所述多个局部参数梯度;
至少部分地基于所述多个局部参数梯度生成全局参数更新;其中,所述生成全局参数更新包括在所述多个本地计算机的每个本地计算机处生成所述全局参数更新;以及
通过至少部分地基于所述全局参数更新而至少更新机器学习模型对应的活动参数集,来更新托管在所述多个本地计算机中的每个本地计算机处的每个机器学习模型。
CN201911419591.5A 2019-11-25 2019-12-31 用于增强分布式医疗网络的系统和方法 Active CN111191796B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/694,298 US11379727B2 (en) 2019-11-25 2019-11-25 Systems and methods for enhancing a distributed medical network
US16/694,298 2019-11-25

Publications (2)

Publication Number Publication Date
CN111191796A CN111191796A (zh) 2020-05-22
CN111191796B true CN111191796B (zh) 2024-03-22

Family

ID=70707956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911419591.5A Active CN111191796B (zh) 2019-11-25 2019-12-31 用于增强分布式医疗网络的系统和方法

Country Status (2)

Country Link
US (1) US11379727B2 (zh)
CN (1) CN111191796B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11948352B2 (en) * 2020-03-26 2024-04-02 Amazon Technologies, Inc. Speculative training using partial gradients update
US11586917B2 (en) * 2020-04-29 2023-02-21 International Business Machines Corporation Leveraging simple model predictions for enhancing computational performance
CN111756602B (zh) * 2020-06-29 2022-09-27 上海商汤智能科技有限公司 神经网络模型训练中的通信超时检测方法和相关产品
US11195080B1 (en) 2021-03-29 2021-12-07 SambaNova Systems, Inc. Lossless tiling in convolution networks—tiling configuration
US11232360B1 (en) * 2021-03-29 2022-01-25 SambaNova Systems, Inc. Lossless tiling in convolution networks—weight gradient calculation
US11250061B1 (en) 2021-03-29 2022-02-15 SambaNova Systems, Inc. Lossless tiling in convolution networks—read-modify-write in backward pass
US11263170B1 (en) 2021-03-29 2022-03-01 SambaNova Systems, Inc. Lossless tiling in convolution networks—padding before tiling, location-based tiling, and zeroing-out
US11227207B1 (en) 2021-03-29 2022-01-18 SambaNova Systems, Inc. Lossless tiling in convolution networks—section boundaries
CN113271339B (zh) * 2021-04-25 2022-03-18 复旦大学 一种用户偏好未知的边缘基站缓存部署方法
CN113143286B (zh) * 2021-04-30 2023-06-20 广州大学 基于分布式学习的心电信号识别方法、系统、装置及介质
CN113627185A (zh) * 2021-07-29 2021-11-09 重庆邮电大学 一种用于肝癌病理文本命名的实体识别方法
WO2023197100A1 (en) * 2022-04-11 2023-10-19 Qualcomm Incorporated Loss reporting for distributed training of a machine learning model

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1469574A (zh) * 2002-05-20 2004-01-21 �ձ�������ʽ���� Cdma系统中的网络接入控制技术
CN1658567A (zh) * 2005-02-21 2005-08-24 华东师范大学 基于互联网的协作绘图方法
CN101776994A (zh) * 2009-01-13 2010-07-14 迪斯尼实业公司 用于Flash应用程序的具有分布式对象的集成硬件平台的系统和方法
CN103049330A (zh) * 2012-12-05 2013-04-17 大连理工大学 一种托管型分布式任务调度方法和系统
CN103563297A (zh) * 2011-01-08 2014-02-05 吉布流公司 交互信息、寻路和消息标定设备、系统和方法
CN105074735A (zh) * 2013-02-05 2015-11-18 思科技术公司 通过在多个学习机器之间共享信息来加速学习
CN105765479A (zh) * 2013-11-08 2016-07-13 微软技术许可有限责任公司 用于行为预测和分类的分层统计模型
CN107852588A (zh) * 2014-07-25 2018-03-27 通用电气公司 用于有源rfid识别和位置跟踪的无线桥硬件系统
CN108122032A (zh) * 2016-11-29 2018-06-05 华为技术有限公司 一种神经网络模型训练方法、装置、芯片和系统
CN109102075A (zh) * 2018-07-26 2018-12-28 联想(北京)有限公司 一种分布式训练中的梯度更新方法及相关设备
CN109716346A (zh) * 2016-07-18 2019-05-03 河谷生物组学有限责任公司 分布式机器学习系统、装置和方法
CN109754060A (zh) * 2017-11-06 2019-05-14 阿里巴巴集团控股有限公司 一种神经网络机器学习模型的训练方法及装置
CN110084378A (zh) * 2019-05-07 2019-08-02 南京大学 一种基于本地学习策略的分布式机器学习方法
CN110245743A (zh) * 2019-05-23 2019-09-17 中山大学 一种异步分布式深度学习训练方法、装置及系统
CN110268423A (zh) * 2016-08-19 2019-09-20 莫维迪乌斯有限公司 用于深度学习模型的分布式训练的系统和方法
CN110263921A (zh) * 2019-06-28 2019-09-20 深圳前海微众银行股份有限公司 一种联邦学习模型的训练方法及装置
CN110287031A (zh) * 2019-07-01 2019-09-27 南京大学 一种减少分布式机器学习通信开销的方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698366B2 (en) * 2004-02-12 2010-04-13 Avaya, Inc. Method and apparatus for facilitating the transportation of medical images on a communication network
US7958225B2 (en) * 2004-02-12 2011-06-07 Avaya Inc. Method and apparatus for monitoring the transportation of medical images on a communication network
US9928379B1 (en) * 2008-09-08 2018-03-27 Steven Miles Hoffer Methods using mediation software for rapid health care support over a secured wireless network; methods of composition; and computer program products therefor
US10474951B2 (en) * 2015-10-23 2019-11-12 Nec Corporation Memory efficient scalable deep learning with model parallelization
CN110140364B (zh) * 2016-12-31 2022-04-05 通用电气公司 实时定位平台信标协议系统和方法
US20180295466A1 (en) * 2017-04-06 2018-10-11 General Electric Company Healthcare asset beacon
KR102197247B1 (ko) * 2017-06-01 2020-12-31 한국전자통신연구원 파라미터 서버 및 그것에 의해 수행되는 분산 딥러닝 파라미터 공유 방법
US20190005200A1 (en) * 2017-06-28 2019-01-03 General Electric Company Methods and systems for generating a patient digital twin
US11182411B2 (en) * 2018-09-28 2021-11-23 Palo Alto Research Center Incorporated Combined data driven and knowledge driven analytics
US10818386B2 (en) * 2018-11-21 2020-10-27 Enlitic, Inc. Multi-label heat map generating system
US10963518B2 (en) * 2019-02-22 2021-03-30 General Electric Company Knowledge-driven federated big data query and analytics platform
US10997187B2 (en) * 2019-02-22 2021-05-04 General Electric Company Knowledge-driven federated big data query and analytics platform
US11681923B2 (en) * 2019-04-19 2023-06-20 Samsung Electronics Co., Ltd. Multi-model structures for classification and intent determination

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1469574A (zh) * 2002-05-20 2004-01-21 �ձ�������ʽ���� Cdma系统中的网络接入控制技术
CN1658567A (zh) * 2005-02-21 2005-08-24 华东师范大学 基于互联网的协作绘图方法
CN101776994A (zh) * 2009-01-13 2010-07-14 迪斯尼实业公司 用于Flash应用程序的具有分布式对象的集成硬件平台的系统和方法
CN103563297A (zh) * 2011-01-08 2014-02-05 吉布流公司 交互信息、寻路和消息标定设备、系统和方法
CN103049330A (zh) * 2012-12-05 2013-04-17 大连理工大学 一种托管型分布式任务调度方法和系统
CN105074735A (zh) * 2013-02-05 2015-11-18 思科技术公司 通过在多个学习机器之间共享信息来加速学习
CN105765479A (zh) * 2013-11-08 2016-07-13 微软技术许可有限责任公司 用于行为预测和分类的分层统计模型
CN107852588A (zh) * 2014-07-25 2018-03-27 通用电气公司 用于有源rfid识别和位置跟踪的无线桥硬件系统
CN109716346A (zh) * 2016-07-18 2019-05-03 河谷生物组学有限责任公司 分布式机器学习系统、装置和方法
CN110268423A (zh) * 2016-08-19 2019-09-20 莫维迪乌斯有限公司 用于深度学习模型的分布式训练的系统和方法
CN108122032A (zh) * 2016-11-29 2018-06-05 华为技术有限公司 一种神经网络模型训练方法、装置、芯片和系统
CN109754060A (zh) * 2017-11-06 2019-05-14 阿里巴巴集团控股有限公司 一种神经网络机器学习模型的训练方法及装置
CN109102075A (zh) * 2018-07-26 2018-12-28 联想(北京)有限公司 一种分布式训练中的梯度更新方法及相关设备
CN110084378A (zh) * 2019-05-07 2019-08-02 南京大学 一种基于本地学习策略的分布式机器学习方法
CN110245743A (zh) * 2019-05-23 2019-09-17 中山大学 一种异步分布式深度学习训练方法、装置及系统
CN110263921A (zh) * 2019-06-28 2019-09-20 深圳前海微众银行股份有限公司 一种联邦学习模型的训练方法及装置
CN110287031A (zh) * 2019-07-01 2019-09-27 南京大学 一种减少分布式机器学习通信开销的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Zhongyang Zheng 等.SpeeDO:Parallelizing Stochastic Gradient Descent for Deep Convolutional Neural Network.《NIPS Workshop on Machine Learning in Computational Biology》.2016,第1-6页. *
王雅慧等.基于近似牛顿法的分布式卷积神经网络训练.《计算机科学》.2019,第46卷(第7期),第180-185页. *

Also Published As

Publication number Publication date
US20210158167A1 (en) 2021-05-27
CN111191796A (zh) 2020-05-22
US11379727B2 (en) 2022-07-05

Similar Documents

Publication Publication Date Title
CN111191796B (zh) 用于增强分布式医疗网络的系统和方法
EP3559874B1 (en) Event-driven blockchain workflow processing
CN110874484A (zh) 基于神经网络和联邦学习的数据处理方法和系统
US11531932B2 (en) Systems and methods for compression and distribution of machine learning models
US8078749B2 (en) Synchronization of multidimensional data in a multimaster synchronization environment with prediction
CN104919423A (zh) 对等软件更新
US20170286485A1 (en) High Performance Query Processing and Data Analytics
CN104317749B (zh) 信息写入方法和装置
CN109690491B (zh) 执行远程命令
US20210399879A1 (en) Arithmetic for Secure Multi-Party Computation with Modular Integers
CN111340247A (zh) 纵向联邦学习系统优化方法、设备及可读存储介质
US10776721B1 (en) Accelerating configuration of machine-learning models
CN116134448A (zh) 使用局部敏感散列的联合机器学习
EP3769230B1 (en) Taking snapshots of blockchain data
US11743238B2 (en) Systems and methods for blind vertical learning
CN114328432A (zh) 一种大数据联邦学习处理方法及系统
Varghese et al. Acceleration-as-a-service: Exploiting virtualised GPUs for a financial application
US11943277B2 (en) Conversion system, method and program
US11842260B2 (en) Incremental and decentralized model pruning in federated machine learning
US20220261697A1 (en) Federated learning platform and methods for using same
Gao et al. Fs-real: A real-world cross-device federated learning platform
WO2023038949A1 (en) Systems and methods for blind multimodal learning
CN111880864B (zh) 基于http的模型调用方法、系统、计算机设备和存储介质
US10713153B1 (en) Method and system for testing an extended pattern using an automatic pattern testing engine
US20240070518A1 (en) Smart communication in federated learning for transient and resource-constrained mobile edge devices

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