CN112580815A - 用于可扩展和去中心化增量机器学习的方法和系统 - Google Patents
用于可扩展和去中心化增量机器学习的方法和系统 Download PDFInfo
- Publication number
- CN112580815A CN112580815A CN202011017716.4A CN202011017716A CN112580815A CN 112580815 A CN112580815 A CN 112580815A CN 202011017716 A CN202011017716 A CN 202011017716A CN 112580815 A CN112580815 A CN 112580815A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- client
- unit
- learning model
- incremental
- 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.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 862
- 238000000034 method Methods 0.000 title claims abstract description 187
- 238000012549 training Methods 0.000 claims description 184
- 238000004422 calculation algorithm Methods 0.000 claims description 158
- 238000002790 cross-validation Methods 0.000 claims description 69
- 235000006011 Bixa Nutrition 0.000 claims description 66
- 241000934840 Bixa Species 0.000 claims description 66
- 238000003860 storage Methods 0.000 claims description 49
- 238000012545 processing Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 description 41
- 230000008569 process Effects 0.000 description 36
- 238000010200 validation analysis Methods 0.000 description 29
- 230000008901 benefit Effects 0.000 description 25
- 238000012544 monitoring process Methods 0.000 description 20
- 238000013528 artificial neural network Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 18
- 238000011156 evaluation Methods 0.000 description 13
- 238000003066 decision tree Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 10
- 238000007781 pre-processing Methods 0.000 description 9
- 230000006978 adaptation Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 230000015556 catabolic process Effects 0.000 description 7
- 238000006731 degradation reaction Methods 0.000 description 7
- 230000003042 antagnostic effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000002059 diagnostic imaging Methods 0.000 description 6
- 230000007170 pathology Effects 0.000 description 6
- 238000007637 random forest analysis Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 101100191225 Arabidopsis thaliana PPL1 gene Proteins 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000009533 lab test Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000002068 genetic effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000003064 k means clustering Methods 0.000 description 3
- 238000012417 linear regression Methods 0.000 description 3
- 238000007477 logistic regression Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 206010039073 rheumatoid arthritis Diseases 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 101100408787 Arabidopsis thaliana PNSL1 gene Proteins 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000002526 effect on cardiovascular system Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000002600 positron emission tomography Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 208000024891 symptom Diseases 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 206010058467 Lung neoplasm malignant Diseases 0.000 description 1
- 238000002583 angiography Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000003920 cognitive function Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000004195 computer-aided diagnosis Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000009916 joint effect Effects 0.000 description 1
- 230000003902 lesion Effects 0.000 description 1
- 201000005202 lung cancer Diseases 0.000 description 1
- 208000020816 lung neoplasm Diseases 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000004393 prognosis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000002560 therapeutic procedure Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Abstract
本公开内容涉及用于可扩展和去中心化增量机器学习的方法和系统。公开了用于客户端特定的联合学习的计算机实现的方法,其适于应用于包括中央服务器单元和多个客户端单元的系统,其中,客户端单元分别位于不同的本地站点处并且分别包括受数据隐私法规约束的本地数据。该方法包括以下步骤:向客户端单元中的一个或更多个提供工具集,其被配置成使得能够在一个或更多个客户端单元处从工具集导出多种不同的机器学习模型。该方法还包括以下步骤:从一个或更多个客户端单元接收一个或更多个机器学习模型,一个或更多个机器学习模型分别由客户端单元从工具集中导出并基于相应的本地数据训练;以及将一个或更多个机器学习模型存储在中央服务器单元中。
Description
技术领域
本发明涉及以如下方式向本地站点提供机器学习模型的手段和/或方法,该方式保护本地站点的数据隐私并且仍然能够使机器学习模型灵活地适配特定的本地情况。
背景技术
机器学习方法和算法被广泛应用于从数据生成洞察力和/或(预测性)计算模型。通常,数据被引入处理单元(例如,云),该处理单元可以运行此类方法和算法来训练模型或生成洞察力。在这方面,事实证明机器学习方法在各种应用领域都非常通用。例如,机器学习方法用于支持自动驾驶决策。同样,对于通过自动系统处理生理测量来提供医学诊断也依靠机器学习方法。
然而,由于数据隐私法规,通常无法将数据引入可以执行机器学习方法和算法但其所有权与数据的所有权不同的外部处理单元。通常,在这种情况下,数据要始终位于数据所有者处。在许多情况下,该情形发生在其中患者相关数据的内在敏感性引起重要的患者隐私问题的医疗保健业务中。
解决该问题的一种方法是实施分布式或联合学习方案。这里,可以基于许多客户端单元报告的使用情况来改进托管在中央服务器单元处的中央机器学习模型。从而,易于训练、可运行且可部署的中央机器学习模型被分发至客户端单元并在本地执行。每个客户端单元可以随机地、定期地或按命令向中央服务器单元发送本地更新。本地更新可以基于由客户端单元收集的本地数据来概述机器学习模型的本地改变。中央服务器单元可以使用本地更新来改进机器学习模型。进而,中央服务器单元则可以下载经修改的机器学习模型,该经修改的机器学习模型基于客户端单元报告的实际使用情况来实施学习修改。这使客户端单元能够协作地学习并改进共享的机器学习模型,而它们的本地的且潜在的隐私数据不会被分发至客户端单元外部。
然而,这种方法的缺点是它建立在一个被分发至所有客户端单元的统一的共享的机器学习模型上。尽管通过客户端单元的联合行动不断进行优化,但是按照定义,机器学习模型是根据一个特定应用被定制的。对于许多应用(例如,智能手机中的语音模式识别)来说,这可能没有问题,因为机器学习模型的应用领域通常很狭窄且定义明确。在这些情况下,本地更新仅涉及到共享的机器学习模型的微调,而机器学习模型的基本构建块基本上没有受到影响。然而,对于其他应用领域而言,需求的配置文件可能大不相同。尤其是,这适用于医疗保健行业。这里,本地数据通常由患者数据例如医学图像、病理数据、实验室测试结果等组成,这些数据固有地因站点而异。同样,机器学习模型必须完成的任务因站点而异。另外,机器学习模型需要处理的信息也可能根据应用领域而显著不同,例如,与便于在CT图像中检测病变的机器学习模型相比,用于计算机辅助诊断风湿性关节炎的机器学习模型可能需要完全不同的方法。在这样的情况下,很少有对于所有数据集和任务都最适合的机器学习模型。由此,由于没有足够的余地来根据本地需求定制共享的机器学习模型,因此通过联合学习优化的共享的机器学习模型可能在某些站点上表现不佳。
发明内容
因此,本申请的目的是提供使得能够以如下方式向本地站点提供机器学习模型的手段和/或方法,该方式保护本地站点的数据隐私并且仍然能够使机器学习模型灵活地适配特定的本地情况。
该目的通过根据本申请的用于客户端特定的联合学习的方法、相应的系统、相应的计算机程序产品和计算机可读存储介质以及用于本地交叉验证机器学习模型的方法来解决。替选实施方式是本申请的目的,并在下面列出。
在下文中,关于要求保护的设备以及关于要求保护的方法描述了根据本发明的技术方案。本文中描述的特征、优点或替选实施方式可以同样地分配给其他要求保护的目的,反之亦然。换言之,针对本发明方法的权利要求可以通过关于设备描述或要求保护的特征来改进。在这种情况下,该方法的功能特征例如由设备的目的单元或元件实施。
根据一个方面,提供了一种用于包括中央服务器单元和多个客户端单元的系统中的客户端特定的联合学习的计算机实现的方法。客户端单元分别位于不同的本地站点处并且分别包括本地数据。该方法包括若干步骤。第一步骤涉及向客户端单元中的一个或更多个客户端单元提供工具集。该工具集被配置成使得可以在一个或更多个客户端单元处使用该工具集本地创建多种不同类型的机器学习模型。另一步骤涉及从一个或更多个客户端单元接收一个或更多个机器学习模型,所述一个或更多个机器学习模型分别由客户端单元使用工具集创建并且基于本地数据训练。另一步骤涉及将一个或更多个机器学习模型存储在中央服务器单元中。
换言之,不是将本地数据引入中央服务器单元来开发相应的机器学习模型,而是通过下载合适的工具集的方式将用于本地开发(创建)机器学习模型的手段(即算法、计算机实现的方法)引入本地站点。然后将所得到的模型上传至中央服务器单元,在中央服务器单元中,上传的机器学习模型基本上按原样存储在中央服务器单元处(特别地,它们没有集成到主机器学习模型或共享机器学习模型中)。由于中央服务器单元为多个客户端单元提供服务,这将导致在中央服务器单元处存储多个不同的机器学习模型(具有不同的原始站点)。因此,本发明的构思是将机器学习模型的管理与生成、训练和更新的实际过程本地分开。虽然系统中的机器学习模型的管理,即存档、分发、监测、决策触发模型初始化、部署和更新都由中央服务器单元集中控制,但是此类涉及本地数据的所有步骤(即创建、训练和更新)都在客户端单元处本地进行。
中央服务器单元可以特别地涉及网络服务器。此外,中央服务器单元可以是云服务器或本地服务器。客户端单元可以特别地涉及本地站点处的包括一个或更多个计算单元的本地计算机网络。本地站点可以例如涉及医疗环境或设施例如医院、实验室、诊所、大学或上述一个或更多个的协会。通常,中央服务器单元位于本地站点外部,并从外部为一个或更多个本地站点提供服务。
本地数据可以涉及一个或更多个患者的医学数据。例如,本地数据可以包括实验室测试结果和/或源于由一种或更多种医学成像设施(例如,计算机断层扫描装置、磁共振系统、血管造影(或C型臂X射线)系统、正电子发射断层扫描系统等及其任何组合)生成的病理成像和/或医学成像数据的病理数据。此外,本地数据可以包括与患者有关的补充信息,例如诊断报告、有关实施的治疗的信息、有关症状和治疗反应的信息、健康进展等信息,这些信息可以通过例如电子病历(EMR)来提供。本地数据可以本地存储在客户端单元的一个或更多个数据库中。数据库可以是医院信息系统(HIS)、放射科信息系统(RIS)、临床信息系统(CIS)、实验室信息系统(LIS)和/或心血管信息系统(CVIS)、图片存档和通信系统(PACS)等的一部分。可以从这些数据库本地访问本地数据以训练机器学习模型和部署后稍后会定期使用机器学习模型。训练数据的本地访问,特别是本地数据到机器学习模型的交付,可以由客户端单元管理或控制。通常,不能从本地站点的外部访问本地数据。特别地,中央服务器单元无法访问本地数据。本地数据可以受数据隐私法规的约束,数据隐私法规会禁止本地数据离开本地站点。本地数据尤其可以包括可以使用其来训练、验证和测试机器学习模型的数据集。数据集可以包括输入数据和相关联的输出数据,这些数据可以用于在监督学习中评估机器学习模型的性能。输出数据可以是与输入数据对应的验证结果。输出数据可以由人基于输入数据生成和/或验证。对于无监督学习,则不需要输出数据。此外,本地数据可以包括用于训练、验证和测试的数据集之外的数据,这些数据将由容易常训练和部署的机器学习模型在常规使用期间进行处理。
工具集被配置成使得可以从工具集导出多种不同类型的机器学习模型可能意味着该工具集提供计算机实现的方法、计算机程序产品、计算机程序元素、算法、计算机代码序列等(随后也称为“构建块”),使得可以基于本地数据初始化和训练可训练模型。为此,工具集可以包括很多未训练和可训练的机器学习算法。可以基于机器学习算法之一或基于两种或多种机器学习算法的组合来创建机器学习模型。根据实施方式,本身可以向客户端单元提供未训练和可训练的机器学习算法。因此,提供用作用于机器学习算法的“容器”并且可选地包括其他辅助算法或“工具”的工具集是可选的。
工具集可以可选地包括用于将容易训练的机器学习模型上传至中央服务器单元并监测所部署的机器学习模型的性能(例如,通过生成性能日志的方式)的功能。因此,工具集可以包括用于实现这样的训练、用于评估机器学习模型的性能(例如,通过生成性能日志的方式)、用于适当地转换机器学习模型的本地数据、用于一个或更多个本地数据预处理步骤、用于编译或解释计算机代码、在本地安装和执行计算机程序等的计算机实现的方法和算法、可执行的计算机代码、计算机实现的例程。换言之,该工具集为本地站点引入使他们能够基于本地训练数据“重新”,即,无需从已经运行和/或受过训练的机器开始来创建机器学习模型的能力。此外,工具集可以被配置成向本地站点提供计算机实现的手段,以使得能够(增量地)训练和更新已经存在的机器学习模型并进行连续的性能监测(例如,通过生成性能日志的方式)。工具集的另一个说法可以是流水线或机器学习流水线。
向客户端单元提供工具集可以包括由中央服务器单元将工具集下载至客户端单元。替选地,可以通过将其从便携式存储设备(例如,存储棒或指定的在线储存库(例如中央服务器单元外部的云存储部))本地安装在客户端单元上来将工具集提供至客户端单元。
机器学习模型是已经训练好的模型,其适合根据学习的任务处理数据。相比之下,工具集中包括的机器学习算法在它们还需要训练的意义上是未训练且可训练的。因此,工具集本身和所包括的构建块没有被配置成在没有由相应客户端单元在本地站点处进行训练的情况下处理本地数据并完成给定任务。
可以使用工具集(或根据机器学习算法)创建的不同类型的机器学习模型可以涉及结构和/或功能和/或拓扑不同的类型或种类或变体的机器学习模型。因此,不同类型可以依赖于不同的结构或架构。例如,神经网络可以包括层结构,而随机森林方案则包括决策树结构。此外,能够使用未训练的机器学习算法(本身包括在工具集中或被提供至客户端单元)创建的机器学习模型可以满足不同的功能。尽管一些可以配置成通过处理图像数据进行特征学习,但其他一些可以被配置成对数据进行分类或提供数值预测。此外,机器学习模型在学习过程方面可能有所不同。例如,一种类型的机器学习模型可以通过监督学习使用标记的数据对来推断功能。示例包括各种神经网络、决策树或贝叶斯网络。从工具集导出的其他类型的机器学习网络可以支持其中在没有预先存在的标签的情况下在数据集中发现先前未知的模式的无监督学习或半监督学习。示例包括深度信任网络、层次聚类或k均值。在机器学习范式方面,第三类型的机器学习模型与支持强化学习的模型有关,该模型与模型在环境中应如何采取行动以使一些累积奖励最大化的概念的有关。示例包括Q学习或学习分类器系统。此外,机器学习模型针对在训练过程中优化不同的指标而可能有所不同。例如,通常对于决策树和基于树的方法,这些指标可以包括信息增益、基尼杂质、增益比或准确度。
通常,机器学习模型可以看作是将输入数据映射到输出数据,从而在本地站点处完成特定的学习任务。可以从工具集中创建的机器学习模型(机器学习算法)可以基于一个或更多个神经网络(例如,深度神经网络、递归神经网络、卷积神经网络、卷积深度神经网络、对抗网络、深度对抗网络和/或生成对抗网络等)和/或其他算法(包括贝叶斯网络、决策树、随机森林计划、支持向量机、线性或逻辑回归模型、梯度平均、k均值聚类、Q学习、遗传算法)和/或相关规则或其他合适的模型以及上述的任意组合。也可以使用术语“神经网”代替术语“神经网络”。由机器学习模型生成的输出数据可以取决于机器学习模型的一个或更多个参数。通常,机器学习模型可以包括多个参数,例如,参数可以涉及深度嵌入在机器学习模型中的参数,例如人工神经网络中的权重。此外,参数可以涉及控制模型的整体行为和训练的“上级”参数(通常表示为“超参数”)。超参数可以是实数值(例如学习率、决策边界的宽度)、整数值(例如层数)、二进制(例如,是否使用提早停止)或分类(例如,选择优化程序)。此类超参数的一个示例是决策树或随机森林中的参数“树深度”,该参数控制在达到低训练误差和低测试误差之间的权衡。此外,这些参数可以与组合形成机器学习模型的基本的可训练算法的类型和数量有关。机器学习模型的一个或更多个参数可以通过训练来确定和/或调整。在整个申请中使用的术语“机器学习模型”涉及已经进行训练的机器学习模型,即,其参数已经通过训练被确定和/或调整。相比之下,可训练的功能或算法或模型,即一个或更多个参数尚未调整的功能或算法,通常将不被称为机器学习模型。可以在训练期间从一个或更多个可训练的功能或算法生成机器学习模型。在这方面,可以在训练时组合一个或更多个可训练算法,以形成机器学习模型。
在训练过程中对机器学习模型的一个或更多个参数的确定和/或调整可以在重新基于工具集(机器学习功能)初始创建机器学习模型的过程中进行。还可以在稍后对已经训练的机器学习模型进行训练的过程中,例如在重新训练或增量机器学习过程中进行。经训练的机器学习模型的其他术语可以是经训练的映射规范、具有经训练参数的映射规范、具有经训练的参数的功能、基于人工智能的算法、机器学习算法。
通常,训练可以基于由作为本地数据的一部分的训练输入数据和相关联的训练输出数据组成的对。随后,本地数据的这一部分也可以被表示为本地训练数据。可训练模型被应用于训练输入数据以创建模型输出数据。特别地,可以基于模型输出数据与训练输出数据的比较进行确定和/或调整。在训练输入数据和训练输出数据是本地数据的一部分的情况下,在本地站点处本地进行训练。在训练(性能评估和部署)之后,机器学习模型可以根据训练的目的处理新的看不见的本地数据,以在本地生成输出数据。从而,训练可以被视为隐式限定应用领域和/或机器学习模型必须完成的任务。
存储的步骤可以看作是如下步骤:将机器学习模型存档到中央服务器单元的适当储存库或数据库中,使得可以从储存库中检索机器学习模型以供进一步使用。可以根据它们的应用领域或原始的本地站点/客户端单元来存储机器学习模型。储存库或数据库可以包括多个不同的机器学习模型。
根据第一方面的步骤优选地发生在“服务器侧”,即在中央服务器单元处,或者至少由中央服务器单元启动。它们可以由在客户端单元处发生的相应的“客户端侧”步骤来补充。这些客户端步骤可以包括:由客户端单元接收工具集,该工具集被配置成使得可以从该工具集(机器学习算法)导出多种不同类型的机器学习模型;由客户端单元基于客户端单元的本地数据和工具集导出和训练机器学习模型或多个模型;由客户端单元将机器学习模型上传至中央服务器单元。
从工具集导出和训练机器学习模型的步骤也可以被表示为机器学习模型的学习阶段或创建机器学习模型(从工具集从头开始)。
在这方面,创建和训练的步骤可以包括从工具集中选择构建块或构建块的组合以构建可训练的模型;对其进行训练以生成机器学习模型;以及评估它们对本地数据表现如何。这可以涉及多个候选机器学习模型,并基于本地(训练)数据进行比较,以决定最佳的最终机器学习模型。为此,可以使用交叉验证方案,根据该方案,将本地训练数据划分成对多个互补的子集或组。对一个子集(称为训练集或训练组)进行训练,对另一子集(称为测试集或组)进行测试。为减少变化性,可以使用本地训练数据的不同划分来执行多轮交叉验证,并且可以将验证结果在不同划分上进行组合(例如求平均)以估计机器学习模型的预测性能。如果需要优化其他超参数,则可以应用嵌套的交叉验证方案。基本上,这些方案依赖于(1)调整超参数并选择最佳超参数的内部交叉验证,以及(2)用于评估使用由内部交叉验证选择的优化超参数训练的模型的外部交叉验证。在客户端单元处本地进行此类交叉验证方案的例程和算法也可以包括在工具集中。
训练本身可以基于监督训练、半监督训练、无监督训练、强化学习和/或主动学习。此外,可以使用表示学习(替选术语为“特征学习”)。可以通过若干步骤的训练来迭代地调整所训练的功能中的参数。在工具集中也可以包括用于在客户端单元处本地将这些方法本地付诸实践的相应构建块。
通常,客户端单元处的训练基于本地数据,其中本地数据可以包括本地训练数据,本地训练数据又包括训练输入数据和相关联的训练输出数据。因此训练可以包括(由客户端单元)基于输入训练数据和输出训练数据训练可训练模型和/或机器学习模型。具体地,这可以包括基于可训练模型和/或机器学习模型以及训练输入数据(通过将可训练模型和/或机器学习模型应用于训练输入数据)来确定模型输出数据,并(由客户端单元)基于模型输出数据与输出训练数据的比较来调整可训练模型和/或机器学习模型。
值得注意的是,客户端侧步骤可以与服务器侧步骤选择性地组合。所得方法还定义了根据本发明的方面。
总而言之,上述步骤协同地有助于提供一种有效的用于根据多个本地站点的特定需求为多个本地站点提供服务的机器学习过程。由此,该方法将根据本地站点的需求生成专门定制的机器学习模型的能力与所保证的本地站点处的本地数据的数据隐私相结合。具体地,向本地站点提供工具集(或若干未训练的和可训练的机器学习算法)向能够本地组装并且重新训练机器学习模型的本地站点引入了基础算法,以及可选的其他计算机实现的方法。这具有随后的机器学习模型特别适合于本地站点的直接后果。在这种情况下,应用领域或换言之机器学习模型必须完成的任务可以完全由本地站点定义(或者由训练过程表示为显性或隐性要求)。通过为多个站点提供服务,该概念自动产生了多种不同类型的机器学习模型,这使得该方法非常通用,并且适用于机器学习中的许多不同问题。与联合学习的其他方法相比明显的是,后者依赖于易于训练的主机器学习模型,该模型被分发到仅适用于新本地数据的本地站点。与此同时,本地训练(通过首先将工具集提供至本地站点)可以避免将本地数据上传至中央设施的情况。因此,该方法适用于出于隐私原因本地数据绝不可以离开站点的环境。值得注意的是,在中央服务器单元上协同接收机器学习模型的步骤也有助于方法的多样性,因为这能够在中央服务器单元存储机器学习模型以供稍后使用。与其他方法相比,从本地站点接收的机器学习模型没有集成到主模型中,而是“按原样”存储。由于该方法服务于多个站点,每个站点都生成不同的机器学习模型,这将逐渐导致建立根据特定任务训练的机器学习模型的储存库或库的构建。
根据实施方式,该方法还计算以下步骤:从客户端单元中的一个或更多个客户端单元接收配置数据,并(在将其提供至客户端单元中的一个或更多个客户端单元之前)根据该配置数据来配置工具集(或提供至客户端单元的若干机器学习算法)。
配置数据可能涉及一个或更多个本地站点和/或一个或更多个客户端单元寻求机器学习模型的应用领域,涉及在本地站点处生成机器学习模型的本地限制(例如计算限制或成本限制),涉及关于相应的本地元数据的信息(例如,数据格式、类型、变量和数据量),涉及是否需要除机器学习算法之外的其他功能(例如进行训练,验证和测试)等。接收的步骤可以通过由相应的一个或更多个客户端单元生成配置数据和/或将配置数据传送到中央服务器单元(例如,通过上传的方式)来补充。
因此,相应地将本地站点的配置数据转发到客户端单元并定制工具集(或提供至客户端单元的若干机器学习算法)具有以下好处:可以根据本地站点的本地配置预先选择提供至客户端单元的功能和算法。因此,在创建和训练机器学习模型后,必须验证和测试较少数量的算法和方法的组合。这节省了计算成本,并且可以在更短的时间内产生更好的结果。
根据实施方式,接收的步骤包括接收与一个或更多个机器学习模型对应的关联信息。
关联信息通常可以和与机器学习模型相关联的元数据有关,例如原始本地站点、特定的应用领域、模型使用的变量、有关模型创建的信息(例如训练,验证和测试状态)、模型训练的日期、时间和持续时间、用于训练的数据大小、有关在训练期间发生的潜在警告和问题的信息、以及在训练和部署机器学习模型期间可能记录的其他信息。在客户端单元方面,该步骤可以通过生成关联信息和/或将关联信息传达至中央服务器单元(例如,通过上传)来补充。关联信息可以被附加和/或包括在机器学习模型中和/或以单独的文件的形式被提供。
转发与机器学习模型对应的关联信息具有以下好处:可以在中央服务器单元更专门地管理机器学习模型以进行存档和以后使用。在这方面,存储的步骤可以包括将关联信息与相应的机器学习模型一起存储或存储在单独的储存库中(在中央服务器单元处)。
根据实施方式,接收的步骤可以包括给机器学习模型分配明确的标识符。在此基础上,存储的步骤可以包括基于唯一标识符来存储机器学习模型。
唯一标识符可以是登录号,也可以是任何其他合适的电子标识符,借助它们可以在中央服务器单元内明确标识相应的机器学习模型。优选地,唯一标识符还指示相应机器学习模型的原始站点(关于以下两方面,从头开始的原始生成以及对现有机器学习模型的进一步重新训练、优化和增量学习)。
唯一标识符的分配有利于在中央服务器单元处管理机器学习模型、进行存档和以后使用。优选地,任何关联信息都被分配了相同的唯一标识符,从而明确地将关联信息与相应的机器学习模型联系起来。
根据实施方式,从客户端单元接收的机器学习模型包括增量机器学习模型,量机器学习模型的学习可以通过增量机器学习来继续。
与普通的机器学习模型相比,增量机器学习模型被配置成使得可以继续其训练。相应的过程被称为增量学习或增量机器学习。支持增量学习的能力需要特定类别的机器学习模型——增量机器学习模型。这是因为普通的机器学习模型在训练过程中不可逆地锻炼至最佳配置。因此,如果提供新的训练数据,它们需要进行完全的重新训练。在重新训练此类机器学习模型时,“忘记”了之前在其他训练数据上获取的知识。相比之下,增量机器学习模型能够逐步适配新数据而无需进行完整的重新训练。换言之,此类增量机器学习模型保留了以前获得的知识并能够采用新的知识。若干可训练的功能、算法和/或模型内在地支持增量学习,而其他的可训练的功能、算法和/或模型可以适配以促进增量学习。增量可训练的算法、方法和模型的例子包括决策树、若干人工神经网络、随机梯度下降或朴素贝叶斯。因此,增量机器学习模型基于支持增量学习的可训练的功能、算法和/或模型(通过工具集提供,或直接作为机器学习算法的一部分),这些功能、算法和/或模型以保持增量学习能力的方式进行组合和训练。
除非另有说明,否则表述(增量)机器学习模型应与“机器学习模型和/或增量机器学习模型”相关。同样,除非另有说明,否则提及“机器学习模型”也不应解释为与不支持增量机器学习的“普通”机器学习模型有关,而是旨在同时解决机器学习模型和增量机器学习模型二者。
因此,增量机器学习模型非常适合在创建阶段之后进行学习,从而可以适配不断变化的本地数据,甚至使其能够在不同的站点之间使用。由于其增量学习能力,在其可以从多个单独的训练课程和多个站点中汇总知识的情况下,增量机器学习模型变成“可扩展”。这具有以下好处:在创建阶段之后的增量机器学习模型通常需要较少的训练数据来获得合理的结果。这使得它们适用于本地(训练)数据稀缺的站点。值得注意的是,使用增量机器学习模型(如果不分布在各个站点上)也将是有益的。由于它们具有继续训练的能力,因此在模型更新期间,当新的本地训练数据可用时,必须处理小得多的数据大小(与需要使用旧的和新的本地训练数据二者进行全面重新训练的普通机器学习模型相比)。这导致快得多且计算上没那么昂贵的训练。此外,由于在训练过程中获得的“知识”仅抽象地反映在增量机器学习模型的参数中,脱离了特定的本地训练数据,因此增量机器学习模型提供了一种在数据传输受到严格限制的联合学习环境中传递知识的方法。换言之,增量机器学习模型可以实现增量跨站点学习。因此,增量机器学习模型能够获得在相应应用领域中出现的范围更广泛的模式。
根据实施方式,工具集包括多种不同类型的未训练和可训练的机器学习算法。
“未训练和可训练的机器学习算法”(简称机器学习算法)涉及可训练的功能、模型、计算机实现的方法和算法,其可以用于组装(或创建或导出或生成或产生)机器学习模型(增量机器学习模型)。组装可以涉及从工具集中创建(候选)可训练模型并训练可训练机器学习算法,因此,可训练基础机器学习算法可以被视为(增量)机器学习模型的构建块。(增量)机器学习模型可以基于这些构建模块中的一个或更多个。重要的是,可训练的机器学习算法未经训练,因此在未将其组装成模型并进行适当的训练的情况下不适合处理本地数据。提供不同类型的可训练机器学习算法可能意味着提供概念上不同的可训练机器学习算法和/或基于相同的概念但略有改编/变化的机器学习算法。类似地,不同的可训练机器学习算法可以具有不同或相似的应用领域。在这方面,不同的可训练机器学习算法可以包括例如具有不同的决策边界的机器学习算法。具体地,可训练机器学习算法可以包括(或可以基于)一个或更多个可训练神经网络(例如,深度神经网络、递归神经网络、卷积神经网络、卷积深度神经网络、对抗网络、深度对抗网络和/或生成对抗网络等)和/或其他可训练算法,包括贝叶斯网络、决策树、随机森林方案、线性或逻辑回归模型、梯度平均、k均值聚类、Q学习、遗传算法和/或关联规则或其他合适的可训练算法。
提供多种不同的可训练的机器学习算法具有以下好处:客户端单元可以根据相应站点的特定需求在本地组装多个不同类型的(增量)机器学习模型。这使得该方法非常通用并且适用于多个不同的问题。
根据实施方式,未训练的和可训练的机器学习算法被配置(选择)成使得排除在训练期间存储或记录本地数据的一部分(并将它们合并到模型中)的机器学习算法。
若干机器学习算法都依赖于将本地数据的一部分本身合并到易于训练的机器学习模型中。k近邻算法或支持向量机就是这种情况,通过从工具集中排除此类算法(或下载至本地站点)还可以改善本地数据的数据隐私。
根据实施方式,一旦新的机器学习算法变得可用,工具集(以及由此提供至客户端单元的机器学习算法)可以不定期地更新。这具有以下好处:提供至本地客户端单元的用于本地创建机器学习模型的工具可以保持最新。
根据实施方式,可训练的机器学习算法可以由中央服务器单元基于由客户端单元中的一个或更多个客户端单元提供的任何配置数据来预先选择。预先选择具有以下优点:在客户端单元的机器学习模型的学习阶段中必须考虑较少的数量的可训练的机器学习算法,这样可以节省计算时间和成本。
根据实施方式,该方法还包括从中央服务器单元向客户端单元下载跨站点机器学习模型,该跨站点机器学习模型已经在与其被下载至的站点不同的站点处被训练。
通过在客户端单元处接收跨站点机器学习模型,可以在客户端单元侧对这一步骤进行补充。随后可以部署跨站点机器学习模型,测试其性能以生成相应的性能日志和/或基于跨站点机器学习模型已下载至的客户端单元的本地数据进行更新。在这方面,更新可以涉及对机器学习模型的完整(重新)训练和/或通过增量学习继续训练(如果可以)和/或调整或调节跨站点机器学习模型的(超)参数。更新可以基于包括在本地数据中的本地训练数据。此外,更新可以包括:除训练之外,(增量)机器学习模型的任何其他调整,例如数据预处理步骤的调整,或(增量)机器学习模型对本地架构的任何结构调整。
可选地,将本地更新的跨站点机器学习模型上传至中央服务器单元(进一步可选地,包括与更新的跨站点机器学习模型有关的任何关联信息),在该中心服务器单元处如前所述被接收和存档。
跨站点机器学习模型的下载使得能够利用系统共享的知识,同时遵守任何数据隐私法规。这是因为此类跨站点部署使得可以依赖已被证明对相似任务或对于不同站点的相同任务有用的模型。这减轻了本地客户端单元重新创建自己的模型的负担——如果本地数据稀少或本地约束对计算能力或可用时间帧施加限制,则可能会很困难。为了进一步提高这方面的好处,跨站点机器学习模型可以是增量机器学习模型。由于它们具有进一步训练的能力,因此可以从各个站点积累知识,同时通过简单地继续他们对可用本地数据的训练可以更好地适配本地站点。这使增量机器学习模型可以采集在处理问题的情况下出现的范围更广的模式。在任何情况下,可选的将更新的跨站点(增量)机器学习模型上传回中央服务器单元是有益的,因为能够在中央服务器单元使用的增量机器学习的“库”进一步增加,从而扩展了整个系统的共享知识。
根据实施方式,下载的步骤可以与基于关于本地站点的另外的信息来选择(增量)机器学习模型以供中央服务器单元下载的步骤结合。另外的信息可以包括配置数据或有关机器学习模型必须在相应的本地站点(相应的本地客户端单元)处满足的本地要求的任何其他指示。这些要求可能与预期的应用领域或机器学习模型必须本地满足的一个或更多个任务有关,但是也与诸如本地服务器或网络架构的结构要求有关。选择的步骤可以包括基于另外的信息查询机器学习模型的档案(例如,数据库或模型储存库),并检索与另外的信息匹配的(增量)机器学习模型。这可能意味着至少另外的信息的与本地站点有关的部分以及至少中央服务器单元处可用信息的与存储(增量)机器学习模型的部分是匹配的。换言之,匹配的步骤识别本地站点(客户端单元)与(增量)机器学习模型的需求之间的一致性或兼容性指标。优选地,匹配的步骤识别用于多个(增量)机器学习模型的多个一致性指标。
所有这一切具有以下好处:可以有选择地选择适当的模型,使其最适合相应的本地站点,从而提高了兼容性和性能。
根据实施方式,下载的步骤可以通过将适当的工具集和/或多个机器学习算法同时下载(至同一本地站点)以及上述重新创建(增量)机器学习模型来补充。
这具有以下好处:可以在本地获得另外的(增量)机器学习模型,该模型特定于站点,并且可以在性能方面与下载的模型进行比较。这样做,该方法可以为对于每个本地站点选择当前最佳(增量)机器学习模型提供更多的余地。值得注意的是,在机器学习中,通常没有“一刀切”的解决方案。因此,某些站点的特定性可能导致站点特定的模型甚至比增量学习的跨站点更好地工作。此外,如果如上所述将新创建的(增量)机器学习模型上传至中央服务器单元,在中央服务器单元处接收和由中央服务器单元存档,则关于系统的(增量)机器学习模型的知识数据库还可以增加。如果(增量)机器学习模型在客户端单元或本地站点处“本地可用”或“可用”,则可能意味着它当前已在本地部署和/或存储,例如供以后使用或比较。
根据实施方式,该方法还包括如下步骤:从客户端单元中的一个或更多个客户端单元接收一个或更多个更新的机器学习模型,该更新的机器学习模型是由客户端单元基于客户端单元相应的本地数据本地更新的机器学习模型,并且将更新的机器学习模型存储在中央服务器单元中。
在客户端侧,即在客户端单元处,该步骤由基于相应的本地数据本地更新机器学习模型的步骤来补充。
机器学习模型可以包括增量机器学习模型。更新可以涉及对(增量)机器学习模型的完整(重新)训练和/或涉及通过增量机器学习继续对增量机器学习模型的训练和/或对相应(增量)机器学习模型的(超)参数进行调节或调整。可以基于本地数据中包括的本地训练数据进行更新。此外,更新可以包括除了训练以外的对(增量)机器学习模型的任何其他适配,例如数据预处理步骤的适配或(增量)机器学习模型对客户端单元本地架构的任何结构适配。
将更新的(增量的)机器学习模型上传回至中央服务器单元是有益的,因为进一步增加了中央服务器单元可使用的(增量的)机器学习模型的“库”,从而扩大了整个系统的共享知识。
可选地,例如,如果本地数据被更新或者如果检测到机器学习模型的性能下降,则可以由中央服务器单元触发(或者换言之,控制或启动)客户端单元处的机器学习模型的本地更新(由客户端单元或中央服务器单元)。
这具有以下好处:可以在例如检测到性能下降时集中管理并自动启动模型更新。因此,不需要启动昂贵的定期调度模型更新,因为它们在需要时启动。在这方面,中央服务器单元还可以被配置成暗示用于性能下降的预定义的绝对和/或相对阈值,其可以例如基于相应站点的配置数据来设置。
替选地或另外,客户端单元可以主动启动更新的步骤,例如,如果相应的本地数据被更新。
根据实施方式,该方法可以还包括以下步骤:将一个或更多个更新的机器学习模型分发至使用相应的一个或更多个更新的机器学习模型的预更新版本的客户端单元。换言之,这包括将更新的机器学习模型下载至使用相应的一个或更多个更新的机器学习模型的先前版本的所有客户端单元。
这具有以下好处:可以使用同一系列的其他(增量)机器学习模型将在一个站点上本地制造的(增量)机器学习模型系列的改进反馈至其他站点。在这种情况下,分布式更新(增量)机器学习模型可以在性能方面与当前使用的模型进行比较,并且可以被决定要部署哪种模型。
根据实施方式,该方法还包括以下步骤:在处理相应的一个或更多个相应的本地数据时,由中央服务器单元监测(或评估)客户端单元处的(增量)机器学习模型的性能。
在客户端侧,该步骤可以由以下步骤补充:由相应的客户端单元向中央服务器单元报告客户端单元当前可用的一个或更多个(增量)机器学习模型的性能。
在中央服务器单元处集中监测(增量)机器学习模型的性能具有以下好处:可以在整个系统的模型性能方面应用客观的测量,此外,这使得可以及早检测任何性能下降并启动适当的对策。
根据实施方式,该方法还包括以下步骤:由中央服务器单元确定是否要在客户端单元中的相应的一个客户端单元处部署相应的当前可用的(增量)机器学习模型中的一个,其中,确定的步骤可选地基于上述监测(评估)当前可用的(增量的)机器学习模型中的相应一个的性能的步骤。
在客户端侧,此步骤可以通过部署相应的(增量)机器学习模型中的一个的步骤来补充。“已部署”或“部署”可能意味着(增量)机器学习模型针对本地(训练)数据被训练之后现在定期应用于本地数据。因此,本地数据用作为(增量)机器学习模型的输入数据,然后根据学习的任务将此输入数据映射到输出数据。
通过将决策外包以部署至中央服务器单元,可以使决策目标化。虽然本地客户端单元只能看到本地可用的那些(增量)机器学习模型,但是中央服务器单元已访问更多信息。因此,可以基于来自具有相似本地数据和/或相似应用领域的本地站点的比较结果来确定是否部署给定模型。
根据实施方式,该方法还包括如下步骤:由中央服务器单元触发是否要更新在客户端单元中的相应的一个客户端单元处的当前可用的(增量)机器学习模型中的相应一个,其中,触发的步骤可选地基于上述监测(评估)相应的当前可用(增量)机器学习模型中的一个的性能的步骤。
在客户端侧,这可以通过前面提到和解释的更新的步骤来补充。
这具有以下好处:可以在例如检测到性能下降时集中管理并自动启动模型更新,因此,不需要昂贵的定期调度模型更新,因为它们在需要时启动。
根据实施方式,该方法还包括如下步骤:从客户端单元中的一个或更多个客户端单元接收在一个或更多个客户端单元本地生成的一个或更多个性能日志,每个性能日志分别指示相应的机器学习模型对相应的本地数据表现如何,以及在中央服务器单元处基于相应的一个或更多个性能日志评估相应的机器学习模型的性能。
在客户端侧,这些步骤由如下步骤进行补充:由客户端单元对于在客户端单元处本地可用的(增量)机器学习模型中的一个或更多个生成性能日志,该性能日志指示本地可用(增量)机器学习模型中的一个或更多个对客户端单元的本地数据表现如何。
可选地,性能日志的生成可以由中央服务器单元触发(或者换言之,启动或控制)。这可以基于事件来完成(例如,在从另外的本地站点收到更新的(增量)机器学习模型时或在通知本地数据更新时)和/或以固定间隔进行。替选地或另外,性能日志的生成也可以由客户端单元本身启动。
例如,可以通过适用于(增量)机器学习模型的合适的性能评估方案来生成性能日志。在这种评估方案中测量的性能指标的一个示例是ROC曲线下面积(AUC),其通常用于评估二进制分类模型,其他示例依赖于用于生成数字输出的模型的均方误差的计算。如上所述,交叉验证方案(例如嵌套交叉验证)也可以用于生成具有具体的、与任务相关的性能指标的性能日志。
基于性能日志,可以很容易地检测到性能下降,并可以启动适当的对策。由于通过中央服务器单元进行了中央性能评估,因此仅在必要时以及在对已部署的(增量)机器学习模型进行任何昂贵且经常不必要的定期维护操作时才进一步启动此类测量。
根据实施方式,上述评估的步骤包括:基于性能日志确定是否将机器学习模型中的一个或更多个部署在相应的客户端单元处,并且可选地,启动相应的部署;和/或基于性能日志确定是否由相应的客户端单元本地更新机器学习模型中的一个或更多个,以生成相应的更新的机器学习模型,并可选地启动相应的更新,和/或基于性能日志确定是否将一个或更多个机器学习模型从中央服务器单元下载至一个或更多个客户端单元,和/或基于性能日志比较在相应的客户端单元处可用的多个机器学习模型,和/或基于性能日志确定相应的客户端单元处的本地数据的值。
值得注意的是,以上步骤发生在服务器侧,即由中央服务器单元执行。它们可以在客户端侧通过上述部署、接收和更新的步骤(由相应的客户端单元执行)进行补充。
如前所述,关于模型更新、进一步的模型下载和模型部署的中央决策具有以下优势:在使用该方法后可以向本地站点提供全面服务。此外,这些任务的集中化使所做出的决定更加客观并且使得能够有效地管理多个不同的(增量)机器学习模型并将其分发到多个本地站点。这样做时,可以在参与的本地站点之间共享有关处理本地数据的知识,同时本地数据本身将始终保留在站点中。
此外,这使得能够将在给定站点处本地可用的(增量)机器学习模型彼此进行比较,从而确保选择当前性能最佳的(增量)机器学习模型进行部署。而目前表现不佳的(增量)机器学习模型可能会被保留,以供以后挑战已部署的(增量)机器学习模型。该概念也称为“冠军挑战者概念”。
此外,中央性能监测带来的优势是,可以根据潜在的性能改进引入针对本地(训练)数据值的客观测量,在这方面,“值”可以解释为计算值和商业值。关于后者,本地站点经常要求支付数据访问权的价格。然而,这个价格是否合理通常是(人类)决策者的直觉问题。此外,在使用之前对本地数据的全面调查受到数据隐私法规的阻碍,例如,禁止将本地数据进行复制以供检查。在这方面,该方法允许如下方式:根据该方法,可以在系统通过将其上传至中央服务器单元而采用相应的(增量)机器学习模型之前评估(增量)机器学习模型的潜在性能提高。由于数据访问权的价格通常只有在上传(增量)机器学习模型后才到期,因此这使得可以重新协商或避免上传相应的(增量)机器学习模型并完全支付规定的价格。
根据实施方式,工具集还包括用于由客户端单元基于相应的本地数据生成一个或更多个性能日志的算法,该性能日志分别指示相应的机器学习模型对相应的本地数据表现如何。替选地,这些算法也可以被提供至工具集之外的客户端单元(就像机器学习算法一样)。
用于生成性能日志的算法可以涉及能够在客户端单元处本地生成性能日志的计算机实现的方法、计算机程序产品、计算机程序元素、算法、计算机代码序列等。
在这种情况下,应该注意的是,性能日志的生成通常需要非标准的过程,这些过程需要适配特定的(增量)机器学习模型、本地站点以及手头的可用数据。此外,训练、验证和测试通常在专用验证方案方面是相互联系的。在这里,不能总是假定默认情况下客户端单元能够制定适当的性能日志。通过借助于工具集的方式向客户端单元提供相应的过程和算法,客户端单元将自动启用以适当地量化模型性能,从而促进将多个本地站点无缝集成到系统中。
根据实施方式,针对增量机器学习模型的性能日志的生成包括以下步骤:将本地数据划分成多个组;在组之间执行一个或更多个交叉验证操作,以获得指示增量机器学习模型对相应的本地数据表现如何的性能日志,其中,交叉验证操作包括通过增量机器学习对增量机器学习模型进行连续的进一步训练。
换言之,组是本地数据的分区或一部分。每个组包括本地数据的一个或更多个单独的数据集。
该实施方式解决了这样的问题:用于训练和性能评估的已知方法,例如上述的交叉验证和嵌套交叉验证方案,不适合增量机器学习模型——或至少不能发挥增量机器学习模型的全部潜力。这是因为交叉验证中的每次迭代通常都需要对所考虑的候选机器学习模型进行完全重新训练。只要本地(训练)数据量足够大,这是可以接受的。然而,如果本地数据稀少或者如果增量机器学习模型将被部署在多个本地站点之间——如根据本发明的多个实施方式的情况,则这种过程可能会成为一个更严重的问题。这是因为,在传统的交叉验证的每个实例中,由于完全重新训练,机器学习模型“忘记了”先前获得的知识。通过实现支持正在考虑的增量机器学习模型的连续增量学习的交叉验证方案,可以解决此问题。
具体地,执行的步骤还可以包括:通过使用组的第一子集进一步训练增量机器学习模型来确定增量机器学习模型的一个或更多个优化的超参数;通过使用组的与组的第一子集不同的第二子集上的一个或更多个优化超参数测试所得到的增量机器学习模型来记录部分性能日志;以及对于组中的第一子集和第二子集的一个或更多个排列重复确定和生成的步骤,其中,增量机器学习模型是逐个排列地连续地进行进一步训练,与每个排列相关联的部分性能日志被记录,并且基于部分性能日志生成性能日志。可选地,可以对部分性能日志进行求平均以生成性能日志。
“子集”通常可以包括一个或更多个组,其中,第一子集优选地包括两个或更多个组。换言之,一个或更多个组可以被映射到子集。第一子集和第二子集一起可以包括本地数据的所有组或仅组的一部分。“排列”可以被认为是组到第一子集和第二子集的重新布置/重新分配。换言之,排列在组到第一子集和第二子集的映射中是不同的,其中,在这方面,初始映射可以被视为第一排列。例如,如果本地数据被划分为五个组S、D、F、G和H,则可以通过将组S和D映射到第一子集并且将组F映射到第二子集来形成第一排列。随后的排列可以包括将组D和F映射到第一子集,以及将组G映射到第二子集,依此类推。特别地,一个或更多个排列可以包括所有可能的排列(重新布置)而无需重复。这具有以下优点:最大数量的数据组合被采样,这增加了模型性能和性能估计的准确度二者。由于针对第一子集执行了超参数优化,换言之,针对第一子集进行了寻找最佳超参数的训练和验证。为此,组中的在第一子集中的一个组可以用作训练组,而一个组可以用作验证组。针对第二子集执行用于估计因而产生的模型的性能的测试(因此可以将其视为提供测试组)。确定一个或更多个优化超参数的步骤优选地不涉及对第一子集中的组进行排列,而是依赖于在重复的步骤中确定的排列。
通过上述步骤,可以考虑增量机器学习模型的超参数,其通常可以提高所得结果(更新的增量机器学习模型)的性能。由于对分开的组执行超参数调整和性能评估,因此获得了关于增量机器学习模型的性能的无偏差即保守估计。值得注意的是,提出的排列方案不同于嵌套交叉验证中使用的传统方案,传统方案通常依赖于内部交叉验证循环和外部交叉验证循环,每个循环都需要组的排列。换言之,这导致两倍排列。通过依靠增量机器学习模型继续训练的能力,这可以通过滚动验证来取消和替换,滚动验证可以更快并且仍然可以产生比得上的结果。
如前所述,(增量)机器学习模型的性能评估和训练通常是相互关联的。这具有以下效果:若干已知的(交叉)验证方案会创建(增量)机器学习模型,并同时创建有关其性能的指示。从技术上讲,这是由于以下事实:无论如何需要对模型性能进行评估来为(增量)机器学习模型选择最佳版本。对于上述实施方式来说,同样适用于交叉验证方案,该方案特别适合于增量机器学习模型。由于根据上述步骤进行连续训练增量机器学习模型,因此在该过程结束时,将生成更新的增量机器学习模型,该模型与生成的性能日志对应。
根据实施方式,该方法还包括以下步骤:从客户端单元中的至少一个客户端单元接收在客户端单元处本地生成的配置文件,该配置文件与在客户端单元处可用的(增量)机器学习模型对应,每个配置文件分别指示相应的(增量)机器学习模型的本地配置,以及将配置文件存储在中央服务器单元。
在客户端侧,该步骤可以由以下步骤补充:由客户端单元生成与在客户端单元处本地可用的(增量)机器学习模型对应的配置文件,以及可选地将配置文件传送至中央服务器单元。
配置文件可以包括与相应的(增量)机器学习模型有关的关联信息。配置文件可以包括有关将本地数据馈送到(增量)机器学习模型所需的预处理步骤的信息。此外,该配置可以包括关于(增量)机器学习模型的(超)参数的信息。此外,配置文件可以例如以(增量)机器学习模型所使用的变量列表的形式包括变量名。
将配置文件与(增量)机器学习模型一起转发和存档可以更轻松地将(增量)机器学习模型重新分发到不同的站点。例如,借助于变量名,例如通过生成变量对应表可以将要下载的(增量)机器学习模型容易地映射到新的站点。
根据一个方面,提供了一种用于包括多个客户端单元的系统中的本地交叉验证增量机器学习模型的方法,其中,客户端单元分别位于不同的本地站点处并且分别包括本地数据。因此,增量机器学习模型是其学习可以通过增量机器学习来继续的机器学习模型。该方法包括多个步骤。步骤之一涉及向客户端单元中的一个或更多个客户端单元提供增量机器学习模型。另一步骤涉及在一个或更多个客户端单元处将本地数据划分成多个组。另一步骤涉及在组之间执行一个或更多个交叉验证操作以获得更新的增量机器学习模型和相关联的性能日志,该性能日志指示更新的增量机器学习模型对一个或更多个客户端单元的相应的本地数据表现如何,其中,交叉验证操作涉及对增量机器学习模型的连续进一步训练。
如上所述,通过实施支持对增量机器学习模型的连续增量学习的交叉验证方案,当根据新的本地数据适配(进一步训练)增量机器学习模型时,可以保留通过先前训练的方式已经包括在增量机器学习模型中的知识。同时,可以根据相关联的性能日志生成对模型性能的有意义的估计。
如所提到的,提供的步骤可以涉及例如将增量机器学习模型从中央服务器单元的中央储存库下载至一个或更多个本地站点。此外,增量机器学习模型的特征可以在于,它们已经在不同于(其现在已经被提供/下载至的)一个或更多个站点的站点进行了训练。
根据实施方式,在组之间执行一个或更多个交叉验证操作的步骤还包括:通过使用组的第一子集进一步训练增量机器学习模型来确定增量机器学习模型的优化超参数集;通过针对与组的第一子集不同的组的第二子集使用优化超参数集测试所得到的增量机器学习模型来记录部分性能日志;以及对于组中的第一子集和第二子集的排列重复确定和生成的步骤,其中,逐个排列地连续地进一步训练增量机器学习模型,以生成更新的机器学习模型,记录与每个排列相关联的部分性能日志,并且基于记录的部分性能日志来生成性能日志。
以上步骤可以被视为与该方法的外部循环有关。优选地,确定优化超参数的步骤是不对组的第一子集中的组进行进一步排列。
如所提及的,以上实施方式允许对增量机器学习模型的超参数调整,这改善了所得到的(更新的)增量机器学习模型的性能。
具体地,确定优化超参数集的步骤可以包括:对于增量机器学习模型的超参数集的第一值集,通过增量机器学习针对组的第一子集的第一组进一步训练增量机器学习模型;确定所得到的增量机器学习模型针对第一子集的不同于第一组的第二组的性能;针对第一组和第二组重复进一步训练和确定超参数集的其他值集的超参数性能的步骤;以及基于超参数性能确定超参数集的优化值集,以生成相应的优化超参数集。
确定优化超参数集中包括的步骤可以被认为是用于本地交叉验证增量机器学习模型的方法的内部循环。由于进一步训练和确定超参数性能的步骤的重复同样基于“第一组”和“第二组”,因此在该内部循环中不会发生进一步的排列。超参数集可以包括一个或更多个超参数。
换言之,提供了一种用于增量机器学习模型的交叉验证方法,其训练可以通过增量机器学习来继续,该方法包括以下步骤:提供用于执行交叉验证的数据;将数据划分成多个组;定义外部交叉验证循环和与外部交叉验证循环嵌套的内部交叉验证循环,以对于外部循环的每次迭代,执行内部循环的多次迭代;在外部循环的每次迭代中,从多个组中选择第一组、不同于第一组的第二组以及不同于第一组和第二组的第三组,使得第一组、第二组和第三组在外部循环的迭代中在组之间排列;在外部循环的每次迭代中,基于内部循环的多次迭代,确定增量学习机器模型的优化超参数集,内部循环的每次迭代使用第一组通过增量机器学习进一步训练增量机器学习模型,以及使用第二组验证相应结果;以及使用第三组指示具有优化超参数的相应增量机器学习模型的性能。
根据一个方面,提供了一种用于包括多个客户端单元和中央服务器单元的系统中的客户端特定的联合学习的计算机实现的方法。客户端单元分别位于不同的本地站点处,并且分别包括本地数据。该方法包括多个步骤。一个步骤涉及通过至少一个客户端单元来接收工具集,该工具集被配置成使得可以从该工具集导出多种不同类型的机器学习模型。另一步骤涉及由至少一个客户端单元基于其本地数据和工具集来导出和训练机器学习模型。另一步骤涉及由至少一个客户端单元将机器学习模型传送至中央服务器单元。
根据一个方面,提供了一种用于包括中央服务器单元和多个客户端单元的系统中的客户端特定的联合学习的计算机实现的方法。客户端单元分别位于不同的本地站点处,并且分别包括本地数据。该方法包括若干步骤。第一步骤涉及向一个或更多个客户端单元提供工具集,该工具集被配置成使得可以从该工具集导出多种不同类型的机器学习模型。另一步骤涉及在一个或更多个客户端单元处接收工具集。另一步骤涉及在一个或更多个客户端单元处基于工具集和相应的本地数据来生成一个或更多个机器学习模型。另一步骤涉及由一个或更多个客户端单元将一个或更多个生成的机器学习模型上传至中央服务器单元。另一步骤涉及将上传的机器学习模型存储在中央服务器单元中。
根据一个方面,提供了一种用于包括多个客户端单元的系统中的客户端特定的联合学习的中央服务器单元。因此,客户端单元分别位于不同的本地站点处。此外,本地数据分别存储在客户端单元处。中央服务器单元包括接口单元、计算单元和存储单元。接口单元被配置成与客户端单元通信。计算单元被配置成经由接口单元向客户端单元提供工具集,该工具集被配置成使得可以从工具集导出多种不同类型的机器学习模型。计算单元还被配置成经由接口单元从客户端单元接收机器学习模型,所述机器学习模型分别由客户端单元从工具集导出并基于本地数据训练,以及将接收到的机器学习模型存储在存储单元中。
计算单元可以被实现为数据处理系统或数据处理系统的一部分。这样的数据处理系统可以例如包括云计算系统、计算机网络、计算机、工作站等。计算单元可以包括硬件和/或软件。硬件可以是例如处理器系统、存储器系统及其组合。硬件可以由软件配置和/或由软件操作。通常,计算单元的所有单元、子单元或模块可以至少临时地例如经由网络连接或相应的接口彼此进行数据交换。因此,计算单元的各个子单元可以定位成彼此分开。
接口单元可以被配置成通过一个或更多个连接或总线进行通信。接口单元可以通过网关或与网络(例如以太网端口或WLAN接口)的其他连接来实现。该网络可以被实现为局域网(LAN)例如内联网、以太网或广域网(WAN),例如因特网。该网络可以包括不同网络类型的组合。根据实施方式,网络连接也可以是无线的。
存储单元可以被实现为云存储。替选地,该存储单元可以被实现为本地存储或扩展存储。该存储单元可以包括多个单独的储存库和/或数据库。
根据实施方式,中央服务器单元适于实现根据本发明的方面的用于包括多个客户端单元的系统中的客户端特定的联合学习的方法。计算单元可以包括控制单元,该控制单元被配置成控制经由接口单元将(增量)机器学习模型和/或工具集下载至客户端单元。控制单元还可以被配置成经由接口单元从客户端单元接收机器学习模型,并且将接收到的机器学习模型存档(或存储)在存储单元中。控制单元还可以被配置成控制工具集和(增量)机器学习模型到客户端单元的下载和/或处理从客户端单元上传的任何数据(即(增量)机器学习模型、配置文件和/或性能日志),例如用于将数据存储或存档在存储单元中。控制单元还可以被配置成根据如上所述的方法步骤中的一个或更多个从存储单元查询和检索数据(即(增量)机器学习模型、配置文件和/或性能日志)。
计算单元还可以包括性能监测单元,该性能监测单元被配置成监测和/或评估本地站点处的(增量)机器学习模型的性能。为此,性能监测单元可以被配置成评估针对在本地站点处部署和/或以其他方式可用的(增量)机器学习模型所接收的性能日志。基于性能监测和/或评估,性能监测单元还可以被配置成触发一个或更多个(增量)机器学习模型在一个或更多个本地站点处的更新和/或触发将一个或更多个(增量)机器学习模型从存储单元下载和/或部署到本地站点中的一个或更多个。此外,性能监测单元可以被配置成应用前述的冠军挑战者概念。
根据实施方式,中央服务器单元可以包括监督模块,该监督模块被配置成允许用户查看、监督、干预和/或适配在中央服务器单元处执行的计算机实现的方法步骤(和/或监督中央服务器单元的计算单元)。监督模块可以包括一个或更多个用户接口。用户接口可以由一个或更多个显示设备和输入单元来实现,例如以一个或更多个计算机工作场所、工作站、PC、膝上型计算机或平板计算机及其任何组合的形式。
提供用于由用户监督计算单元的监督模块具有以下优点:用户可以容易地遵循和干预由中央服务器单元执行的任何步骤。例如,监督模块可以被配置成使得用户可以手动地适配从存储器单元下载至客户端单元的(增量的)机器学习模型,以确保(增量)机器学习模型能够在本地站点处执行。为此,可以给用户机会来改变变量名和/或适配(增量)机器学习模型的其他功能。此外,监督模块可以被配置成向用户提供机会来查看性能日志并基于此来确定给定(增量)机器学习模型的部署或一个或更多个本地站点处的本地数据的值。在这方面,还可以向用户提供监督模块否决计算单元自动生成的决策的权利。
根据实施方式,存储单元存储分别在不同本地站点处生成和训练的多个不同(增量)机器学习模型(或包括存储分别在不同本地站点处生成和训练的多个不同(增量)机器学习模型的储存库)。
换言之,中央服务器单元因此包括(增量)机器学习模型的存档,该存档可以由指定的模型储存库来实现。这样的存档可以看作是知识数据库,它以易于训练的(增量)机器学习模型的形式,在许多不同的本地客户端单元的异构环境中,积累了有关评估大量不同本地数据集的知识。这具有以下好处:如有必要,可以将多个(增量)机器学习模型保持为可部署在本地站点处。在这方面,存储单元可以配置成使得根据特定特征(例如应用领域、兼容的本地数据的类型、本地系统要求、模型性能、货币值、部署和训练历史等)对(增量)机器学习模型进行存档。这使得如果需要找到满足用于下载和/或将其部署到本地站点中的一个或更多个的要求的特征的(增量)机器学习模型,则可以基于该特征容易地从存储单元查询和检索(增量)机器学习模型。从这个意义上讲,下载的步骤可以包括以下步骤:确定需求;必须在一个或更多个客户端单元上满足(增量)机器学习模型;基于需求通过将需求与存储在存储单元中的(增量)机器学习模型的特性进行匹配来从存储单元中检索一个或更多个(增量)机器学习模型。
根据实施方式,存储单元包括(维护)工具集的构建块的存档。这些构建块可以是用于实现机器学习模型本身的训练、用于评估机器学习模型的性能(例如,通过生成性能日志的方式)、用于适当地转换机器学习模型的本地数据、用于一个或更多个本地数据预处理步骤、用于编译计算机代码、本地安装和执行计算机程序等的多种不同的可训练机器学习算法和/或计算机实现的方法和算法、可执行的计算机代码、计算机实现的例程。存档可以由指定的储存库(在本申请的框架中也称为算法储存库)实现。
根据实施方式,计算单元还被配置成基于存档来组装(或配置)工具集(例如,通过例如基于从客户端单元所接收的配置数据来查询用于组装工具集的适合的构建块的存档)。替选地,它可以配置成选择功能和算法,以将其提供(下载)至客户端单元,而无需将它们正式集成到工具集中。
根据另一方面,本发明涉及一种客户端单元,其包括被配置成与中央服务器单元、本地存储单元和客户端计算单元通信的客户端接口单元。从而,本地存储单元被配置成存储本地数据。客户端计算单元被配置成经由客户端接口单元从中央服务器单元接收多种机器学习算法,以基于本地数据和多种机器学习算法来开发和训练机器学习模型,并经由客户端接口单元将机器学习模型上传至中央服务器单元。
根据另一方面,本发明涉及一种系统,其包括中央服务器单元和分别位于不同本地站点处的一个或更多个客户端单元。中央服务器单元包括接口单元、计算单元和存储单元。一个或更多个客户端单元分别包括客户端接口单元、本地存储单元和客户端计算单元。接口单元被配置成经由相应的客户端接口单元与一个或更多个客户端单元通信。客户端接口单元分别被配置成经由接口单元与中央服务器单元通信。从而,相应的本地存储单元被配置成分别存储本地数据。计算单元被配置成经由接口单元向客户端单元提供一个或更多个工具集,这些工具集分别被配置成使得可以从这些工具集导出多种不同类型的机器学习模型。相应的客户端计算单元被配置成经由相应的客户端接口单元接收工具集,并且基于一个或更多个工具集和相应的本地数据来生成机器学习模型。相应的客户端计算单元还被配置成经由客户端接口单元将相应的机器学习模型上传至中央服务器单元。计算单元还被配置成经由接口单元从客户端单元接收机器学习模型,并且将接收到的机器学习模型存储在存储单元中。
根据另一方面,本发明涉及一种计算机程序产品,其包括程序元素,当所述程序元素被加载到用于客户端特定的联合学习的系统的计算单元的存储器中时,所述程序元素使计算单元执行根据上述方法的步骤。
根据另一方面,本发明涉及一种计算机可读介质,其上存储有程序元素,所述程序元素能够由用于客户端特定的联合学习的系统的计算单元读取和执行,以在当程序元素由计算单元执行时执行本发明方法的步骤。
通过计算机程序产品和/或计算机可读介质实现本发明具有以下优点:可以通过软件更新容易地采用已经存在的提供系统,以便如本发明所建议的那样工作。
该计算机程序产品可以是例如计算机程序,或者可以包括与计算机程序本身相邻的另一个元素。该另一元素可以是硬件,例如其上存储有计算机程序的存储设备、用于使用计算机程序等的硬件密钥、和/或软件,例如用于使用计算机程序的文档或软件密钥。该计算机程序产品还可以包括开发材料、运行时系统和/或数据库或库。该计算机程序产品可以分布在若干计算机实例之间。
附图说明
根据下面将关于附图详细描述的说明和实施方式,上述发明的特性、特征和优点以及实现它们的方式将变得更加清楚和易于理解。以下描述不将本发明限制于所包括的实施方式。在不同的附图中,相同的部件或零件可以用相同的附图标记来标记。通常,这些附图未按比例绘制。在下文中:
图1描绘了根据实施方式的用于客户端特定的联合学习的系统;
图2A描绘了示出根据实施方式的用于客户端特定的联合学习的方法的流程图;
图2B以图形方式示出了中央服务器单元与客户端单元之间的相应交互;
图3A描绘了示出根据实施方式的用于客户端特定的联合学习的方法的流程图;
图3B以图形方式示出了中央服务器单元与客户端单元之间的相应交互;
图4A描绘了示出根据实施方式的用于客户端特定的联合学习的第一方法的流程图;
图4B以图形方式示出了中央服务器单元与客户端单元之间的相应交互;
图5A描绘了根据本发明的用于客户端特定的联合学习的系统中的增量机器学习模型的交叉验证方法;以及
图5B以图形方式示出了在执行交叉验证方法时如何分割本地数据的示例。
具体实施方式
图1描绘了用于客户端特定的联合学习的示例系统1,其能够在包括多个本地站点XA、…、XN的环境中创建、训练、更新、分发、监测并且通常管理多个机器学习模型A、B、Ai、Bi、BixA、Ai*、A2、…。系统1适于执行根据一个或更多个实施方式例如如参照图2至图5进一步描述的方法。
系统1包括中央服务器单元100和分别位于不同本地站点XA、…、XN的多个客户端单元300。中央服务器单元100和客户端单元300经由网络200对接。中央服务器单元100通常被配置成控制、协调和操纵系统1中的联合学习过程。联合学习过程可以包括创建、训练、更新、分发、部署、监测和通常管理客户端单元300处的机器学习模型A、B、Ai、Bi、BixA、Ai*、A2等。本地站点XA、…、XN可以例如涉及临床或医疗环境,例如医院或医院集团、实验室、医学影像中心、诊所或医务室。
机器学习模型可以被视为模仿将人类与其他人类思维相关联的认知功能。在系统1中,这样的功能可以涉及医学诊断、预后预测、医学图像数据中的发现的生成、例如关于取向或界标检测的医学图像的注释、医学报告的生成等。通过根据一种或更多种基本的可训练的机器学习算法生成机器学习模型并基于站点XA、…、XN处的本地数据D(A)、D(B)训练机器学习模型,可以使机器学习模型实现这些功能。因此,机器学习模型能够适应新情况,并且能够检测和推断模式,从而在本地站点XA、…、XN处完成给定的任务。
中央服务器单元100例如可以是网络服务器。此外,中央服务器单元100可以是云服务器或本地服务器。中央服务器单元100可以使用任何适当的计算设备来实现。中央服务器单元100可以具有计算单元110和存储单元120。
计算单元110可以包括一个或更多个处理器和工作存储器。一个或更多个处理器可以包括例如一个或更多个中央处理单元(CPU)、图形处理单元(GPU)和/或其他处理设备。计算单元110还可以包括微控制器或集成电路。替选地,计算单元110可以包括真实或虚拟的计算机组,例如所谓的“集群”或“云”。工作存储器可以包括一种或更多种计算机可读介质,例如用于临时加载数据(例如,来自存储器单元的数据或从客户端单元300上传的数据)的RAM。工作存储器还可以存储能够被一个或更多个处理器访问的信息,包括可以由一个或更多个处理器执行的指令。指令可以包括用于以下的指令:实现将工具集和/或机器学习算法和/或机器学习模型下载至客户端单元300、查看在相应站点XA、…、XN处可用的机器学习模型的性能、存档上传的机器学习模型、和/或启动机器学习模型的本地更新。中央服务器单元100可以使用一个服务器设备或多个服务器设备来实现。在使用多个服务器设备的实现方式中,这样的多个设备可以根据并行计算架构、顺序计算架构或其组合来操作。中央服务器单元100还可以包括通过网络200与客户端单元300进行通信的接口单元(未示出)。接口单元可以包括用于与一个或更多个网络对接的任何合适的部件,包括例如发射机、接收机、端口、控制器、天线或其他合适的部件。
存储单元120可以被实现为云存储。替选地,存储单元120可以被实现为中央服务器单元100的位置内的本地或扩展存储。存储单元120可以包括一个或更多个存储设备。可以在存储单元120中配置多个储存库或数据库。一个可以是模型储存库121,其被配置成存储或存档多个机器学习模型A、B、Ai、Bi、BixA、Ai*、A2、…。可以通过适当地转换机器学习模型的数据结构或对象状态将机器学习模型变成可存储的格式(此过程称为“序列化”)。例如,在这方面,Python编程语言提供了“pickle”标准库模块。替选地,可以将机器学习模型以DLL文件的形式存档。
此外,模型储存库121可以被配置成存储每个机器学习模型的关联信息。关联信息通常可以涉及与相应模型有关的元数据。这样的元数据可以例如包括相应模型的预期用途或应用领域、相应模型的起源(即,在哪个站点生成和/或训练模型)、系统或数据需求等。换言之,模型储存库121因此可以被认为是如下库,在该库中存档有多个机器学习模型,并且可以根据它们的应用领域、性能、来源等(或,更笼统地,根据其特性)从该库检索机器学习模型。
另外的关联信息可以与各个站点XA、…、XN上存档的机器学习模型的性能指标有关。优选地以性能日志PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)、PL(Ai*)、PL(A2)、…的形式存储该关联信息。因此,对于每个机器学习模型,可以存在一个或更多个性能日志PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)、PL(Ai*)、PL(A2)、…,它们同样存档在模型储存库121中。此外,关联信息可以包括配置文件CF(A)、CF(B)、CF(Ai)、CF(Bi)、CF(BixA)、CF(Ai*)、CF(A2)、…,其指示例如使本地数据D(A)、D(B)与相应的机器学习模型兼容所需的预处理步骤或在机器学习模型的(本地)验证时所识别的相应机器学习模型的最佳(超)参数。像性能日志PL(A)、PL(B)、PL(Ai)、…一样,配置文件CF(A)、CF(B)、CF(Ai)、CF(Bi)、CF(BixA)、CF(Ai*)、CF(A2)、…可以与相应的机器学习模型一起存储在模型储存库121中。此外,关联信息可以与其他日志文件有关,这些其他日志文件包括模型训练、验证和测试状态信息,例如模型训练的日期、时间和持续时间、用于训练的数据大小、有关潜在警告和在训练过程中发生的问题的信息以及潜在的其他日志信息。关联信息可以作为元数据直接附加或添加到机器学习模型文件中。此外,如上所述,关联信息可以与机器学习模型一起存储在模型储存库121中。另外或替选地,任何关联信息例如配置文件CF(A)、CF(B)、CF(Ai)、CF(Bi)、CF(BixA)、CF(Ai*)、CF(A2)、…或性能日志PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)、PL(Ai*)、PL(A2)、…可以与机器学习模型分开存储在指定的储存库中。通常,可以使用唯一的(电子)标识符(例如登录号、机器学习模型ID等)将机器学习模型与其相应的关联信息联系起来。总而言之,关联信息由此可以看作是概述模型储存库121中的相应的机器学习模型的特性。
存储单元120内的另一个储存库可以与算法储存库122有关,该算法储存库122用于存储可以用于在本地站点XA、…、XN处(重新)创建(或组装)机器学习模型的可训练的机器学习算法、可执行计算机代码、例程、方法和其他构建块(之后也称为“工具”)。像机器学习模型一样,可以通过序列化将这些条目转换成可存储格式。然而,与机器学习模型不同,这些工具与经训练或学习的模型不相关。相反,可以将这些工具进行组合以形成一个或更多个“工具集”TS或流水线,这些工具集或流水线被配置成使用本地站点XA、…、XN处的计算能力和本地数据D(A)、D(B)在本地站点XA、…、XN处本地生成/组装一个或更多个机器学习模型。因此,工具集TS被配置成使得它们包括用于使本地站点XA、…、XN能够基于本地数据D(A)、D(B)组装机器学习模型的所有组件。工具集TS可以包括存储在储存库122中的工具的全部或仅子集。此外,可以根据要生成的模型的设想的应用领域和站点XA、…、XN处的本地数据的类型来修改或完善工具集TS。例如,用于开发用于诊断类风湿性关节炎的机器学习模型的工具集TS很可能来自用于从医学图像数据检测肺癌或根据组合的图像和实验室数据预测治疗反应的工具集TS。工具集TS可以基于(本地客户端的)请求由中央服务器单元100配置。此外,可以使预配置的工具集TS在储存库122中保持可用。这样的预配置的工具集可以根据应用领域、本地客户端处的本地数据和其他基本条件来预配置,并且可以相应地被选择以下载至本地站点XA、…、XN。根据一个实施方式,可以用新的机器学习算法来更新算法储存库122及其工具集TS。更新可以由中央服务器单元100自动执行,或者可以在中央服务器单元100处在用户监督下半自动地执行。
值得注意的是,术语“工具集”不应被解释为限制本公开内容。它仅指示被提供至客户端单元300使它们能够本地创建不同类型的机器学习模型的功能和算法的集合。然而,可选地,工具集可以仅包括多个机器学习算法或机器学习算法集。因此,向客户端单元300提供工具集TS的步骤包括向客户端单元提供多个机器学习算法或机器学习算法集,从这些多个机器学习算法或机器学习算法集中可以创建多种不同类型的机器学习模型。
存储在算法储存库122中的可训练机器学习算法可以包括主要配置用于对数据进行分类和/或用于生成数值预测和/或对数据进行聚类的模块。具体地,算法可以包括(或可以基于)一个或更多个神经网络(例如,深度神经网络、递归神经网络、卷积神经网络、卷积深度神经网络、对抗网络、深度对抗网络和/或生成对抗网络等)和/或其他算法,包括贝叶斯网络、决策树、随机森林方案、线性或逻辑回归模型、梯度平均、k均值聚类、Qlearning、遗传算法和/或关联规则或其他合适的模型。根据实施方式,优选的是不以可以重建敏感信息的方式来存储本地数据(例如,k近邻算法就是这种情况)的机器学习模型。根据实施方式,可训练的机器学习算法可以具有不同的决策边界(在分类的情况下)、不同的回归线或在其他关键设计参数上可以不同。根据实施方式,每个工具集TS包括多个不同的可训练机器学习算法,每个算法具有不同的关键参数,因此具有不同的优点和缺点。例如,这可能涉及在一个工具集TS中提供多个不同的可训练机器学习算法,每个算法具有不同的决策边界。
计算单元110可以包括子单元111至113,子单元111至113被配置成执行、启动、控制和/或监督站点特定的联合学习过程,例如从储存库下载和部署工具集TS/机器学习算法和机器学习模型,和/或对部署的机器学习模型的性能监测。
子单元111可以被认为是控制单元。因此,其被配置成:控制工具集TS和机器学习模型到客户端单元300的下载,处理从客户端单元300上传的数据(即,机器学习模型以及相应的配置文件CF(A)、CF(B)、CF(Ai)、CF(Bi)、CF(BixA)、CF(Ai*)、CF(A2)、…和性能日志PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)、PL(Ai*)、PL(A2)、…),根据下面结合图2至图4阐述的方法步骤中的一个或更多个来控制与储存库121、122的数据交换(通过数据的存档以及查询和检索的方式)。根据实施方式,子单元111被配置成从本地站点XA、…、XN接收如下信息:例如,与在相应站点XA、…、XN处可用的本地数据的类型和数量有关的信息、与应用领域或要通过预期的机器学习模型解决的基本问题有关的信息、与本地系统架构有关的信息、与本地系统约束有关的信息等。例如,本地站点XA、…、XN之一可能会传达其具有与风湿性关节炎相关的一定数量的本地数据集,并且正在寻找一种机器学习模型来诊断这种疾病。它还可以传达可用的计算能力和预期的预算。简而言之,可以将此类信息指定为相应本地站点XA、…、XN(或与此相关的相应客户端单元300)的配置数据,并以需求目录的形式从本质上概述每个本地站点XA、…、XN对机器学习模型的本地需求。基于该配置数据,子单元112还可以被配置成向中央服务器单元100注册本地站点XA、…、XN,并且从储存库121、122选择和/或配置适当的工具集和/或机器学习算法和/或机器学习模型以下载至站点XA、…、XN。就这一点而言,为了选择和/或配置工具集TS和/或机器学习算法和/或机器学习模型以供下载,子单元111还可以被配置成基于配置数据查询模型储存库121和/或算法储存库122,并检索与配置数据匹配的适当的机器学习模型和/或工具和/或工具集。这可能意味着机器学习模型和/或工具和/或工具集的配置数据的至少一部分和存储特性的至少一部分是匹配的。这可能涉及识别配置数据之间的一致性或兼容性指标,从而一方面识别本地站点XA、…、XN的要求,并且另一方面识别机器学习模型和/或机器学习算法和/或工具集的特性以及能力。如将在下面进一步说明的,子单元111还可以被配置成估计给定站点的本地数据的值,以进一步改进系统的机器学习模型库。
子单元112可以被配置为性能监测单元。子单元112被配置成评估从本地XA、…、XN接收到的相应的机器学习模型的性能日志PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)、PL(Ai*)、PL(A2)、…。子单元112还可以被配置成在此基础上触发对部署的机器学习模型的更新。此外,子单元112可以被配置成基于这样的性能监测动作来触发将一个或更多个机器学习模型从模型储存库121下载并部署到一个或更多个站点XA、…、XN。此外,子单元112可以被配置成在监测客户端单元300处可用的多个机器学习模型的性能时应用冠军挑战者方案。就这一点而言,子单元112可以被配置成获取可用的机器学习模型的相应的性能日志PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)、PL(Ai*)、PL(A2)、…,以从性能日志PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)、PL(Ai*)、PL(A2)、…提取有关估计的模型性能并进行比较。表现最佳的机器学习模型被表示为“冠军”,并且将标志发送至客户端单元300以部署该特定的机器学习模型。其他表现不佳的机器学习模型称为“挑战者”,将在下一次挑战当前的冠军。子单元112可以被配置成以规则的时间间隔启动性能检查。替选地或另外,子单元112可以被配置成在接收到新的性能日志PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)、PL(Ai*)、PL(A2),…之后启动性能检查,或每当子单元112从客户端单元300接收到已部署的机器学习模型和/或本地数据D(A)、D(B)已更新的通知时启动性能检查。
子单元113是监督模块。子单元113可以被配置成允许一个或更多个用户监督和/或控制用于实现站点特定的联合学习的步骤。为此,子单元113可以被配置成以一个或更多个显示设备和输入单元的形式,例如以一个或更多个计算机工作场所、工作站、PC、膝上型计算机或平板计算机及其任何组合的形式,提供一个或更多个用户界面。子单元113可以被配置成运行图形用户界面,该图形用户界面允许用户遵循联合学习过程并且在需要时通过调整来进行干预。例如,如果(由用户或子单元113)认为必要,则用户可以手动决定将哪个工具集TS和/或机器学习模型下载至哪个站点XA、…、XN。此外,子单元113可以被配置成允许用户手动将工具集TS和/或机器学习模型适配相应本地站点XA、…、XN处的特定环境。例如,用户可以使变量名称和/或目录同步。更进一步,子单元113可以被配置成一旦可用,就允许用户手动更新算法储存库122,并由此以新的机器学习算法来更新工具集。值得注意的是,子单元113还可被配置成自动或半自动地执行前述步骤。
不同的子单元111至113的指定将通过示例的方式来解释,而不是限制本公开内容。因此,子单元111至113可以被集成以形成一个单个处理单元,或者可以由被配置成执行在计算单元110的处理器等上运行的相应方法步骤的计算机代码段来实现。每个子单元111至113可以单独地连接至系统1的需要数据交换以执行方法步骤的其他子单元和/或其他部件。例如,子单元111可以连接至模型储存库121和/或算法储存库122。其他子单元112、113也是如此。
中央服务器单元100可以通过网络200与一个或更多个客户端单元300交换信息。任何数量的客户端单元300可以通过网络200连接至中央服务器单元100。
客户端单元300中的每一个包括客户端计算单元310和本地存储单元320。本地存储单元320可以被实现为能够经由相应的客户端单元300访问的云存储。替选地,本地存储单元可以被实现为在相应客户端单元300的位置内的本地存储或扩展存储。本地存储单元320可以包括其中存储了本地数据D(A)、D(B)的一个或更多个本地数据库。
本地数据D(A)、D(B)可以包括例如与临床或医学问题有关的多个数据集。作为示例,数据集可以涉及实验室测试结果和/或病理数据和/或医学成像数据及其任何组合。本地数据D(A)、D(B)可以涉及一个或更多个患者的医学数据。例如,本地数据可以包括实验室测试结果和/或源于由一种或更多种医学成像设施(例如计算机断层扫描设备、磁共振系统、血管造影术(或C臂X射线)系统、正电子发射断层扫描系统等或它们的任何组合)产生的病理成像和/或医学成像数据的病理数据。本地数据D(A)、D(B)可以在相应的本地站点XA、XB、…处生成。此外,本地数据D(A)、D(B)可以包括与患者有关的补充信息,例如诊断报告、关于注射治疗的信息、关于症状和治疗反应的信息、健康进展等。这样的信息可以例如通过电子病历(EMR)来提供。本地数据可以本地存储在客户端单元300的一个或更多个数据库中。数据库可以是医院信息系统(HIS)、放射科信息系统(RIS)、临床信息系统(CIS)、实验室信息系统(LIS)和/或心血管信息系统(CVIS)、图片存档和通信系统(PACS)等的一部分。从这些数据库中,可以在本地访问本地数据,以训练机器学习模型,并在部署后稍后定期使用机器学习模型。训练数据的本地访问,尤其是本地数据D(A)、D(B)到机器学习模型的传递可以由客户端计算单元310管理或控制。特别地,本地数据D(A)、D(B)不能从外部访问,因为本地数据D(A)、D(B)可能受数据隐私法规的约束,该法规可能禁止本地数据离开本地站点。为此,客户端单元300和/或本地存储单元320可以被配置成使得不能从外部访问本地存储单元320。
本地数据D(A)、D(B)还可以包括训练数据集,利用训练数据集可以训练机器学习模型。训练数据集可以包括训练输入数据和相关联的训练输出数据,训练输出数据可以用于评估训练期间机器学习模型的性能。输出训练数据可以与对应于输入训练数据的验证结果有关。输出训练数据可以由人基于输入训练数据来生成和/或验证。此外,本地数据D(A)、D(B)可以包括训练数据集之外的输入数据,该输入数据将在常规使用期间由易于训练和部署的机器学习模型进行处理。
本地数据库320可以连续地或每天或每周地更新,或者一般而言,只要有新的测试结果可用就可以更新。
客户端计算单元310可以是任何合适类型的计算设备,例如通用计算机、专用计算机、膝上型计算机、本地服务器系统或其他合适的计算设备。客户端计算单元310可以包括一个或更多个处理器和存储器。一个或更多个处理器可以包括例如一个或更多个中央处理单元(CPU)、图形处理单元(GPU)和/或其他处理设备。存储器可以包括一种或更多种计算机可读介质,并且可以存储能够由一个或更多个处理器访问的信息,包括可以由一个或更多个处理器执行的指令。指令可以包括用于实现以下的指令:机器学习模型的本地创建和训练、性能日志PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)、PL(Ai*)、PL(A2)、…的生成和/或配置文件CF(A)、CF(B)、CF(Ai)、CF(Bi)、CF(BixA)、CF(Ai*)、CF(A2)、…的生成。像中央服务器单元100一样,客户端单元300可以包括网络接口(作为接口单元的一部分),该网络接口用于通过网络200与诸如中央服务器单元100的一个或更多个远程计算设备进行通信。网络接口可以包括与一个或更多个网络对接的任何适当的部件,例如,发射机、接收机、端口、控制器、天线或其他合适的部件。
客户端计算单元310通常被配置成与中央服务器单元100通信。这包括向中央服务器单元100传送配置数据,例如本地数据D(A)、D(B)的类型和数量、预期机器学习模型的应用领域、预期机器学习模型的性能和/或准确度要求。此外,与中央服务器单元100的通信可以包括接收从中央服务器单元100下载的工具集TS和机器学习模型,以及将机器学习模型、性能日志PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)、PL(Ai*)、PL(A2)、…和/或配置文件CF(A)、CF(B)、CF(Ai)、CF(Bi)、CF(BixA)、CF(Ai*)、CF(A2)、…上传至中央服务器单元100。
客户端计算单元310可以包括用于从工具集或一般地提供至客户端计算单元的机器学习模型中组装候选可训练模型的模块,该模型可以随后被训练以形成机器学习模型。根据实施方式,从工具集或所提供的机器学习算法创建模型可以涉及选择一个或更多个可训练的机器学习算法,并将它们组装到候选可训练模型(然后对其进行训练和评估)。对可训练机器学习算法的选择可以基于本地数据D(A)、D(B)。此外,可以考虑对当前问题的描述以及应用领域。例如,如果已经很清楚预期机器学习模型必须对本地数据D(A)、D(B)进行分类,则客户端计算单元可以专注于那些特别适合这种任务的算法。
此外,客户端计算单元310可以包括用于基于本地数据D(A)来训练机器学习模型的模块。在这方面,可以训练新组装的候选可训练模型。此外,客户端计算单元可以被配置成对于已经训练的机器学习模型(已经在相同或不同站点处被训练)继续训练。在没有看到任何其他站点XA、XB、…的情况下在特定站点处从工具集TS新生成的机器学习模型被指定附图标记A或B。已经在第一站点A生成并且在第二站点B处重新训练的机器学习模型随后被表示为AxB、BxA、BixA、AxBxB等。通常,可以通过训练来调整机器学习模型的参数。原则上,用于训练机器学习模型的任何已知方法都可以由客户端计算单元应用,例如监督学习或非监督学习、半监督学习、强化学习、主动学习、特征学习等。如将在下面进一步详细描述的,根据一些实施方式,增量学习可以用于继续对已经训练的模型的训练。根据实施方式,用于训练的方法可以以工具集TS内的算法的形式被引入本地站点XA、XB、…。
另外,根据一些实施方式,客户端计算单元310可以包括用于生成性能日志PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)、PL(Ai*)、PL(A2)、…的模块,这些日志指示机器学习模型如何对本地数据D(A)执行。这里,客户端计算单元310可以使用任何已知的性能指标,例如ROC曲线下面积(AUC)。作为另一示例,客户端计算单元可以被配置成对于生成性能日志PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)、PL(Ai*)、PL(A2)、…应用(嵌套)交叉验证方案。然而,如将结合图5进一步详细描述的,可以使用特别适合于跨站点增量学习的另一方案。根据实施方式,用于生成性能日志PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)、PL(Ai*)、PL(A2)、…的方法可以以工具集TS内的算法的形式被引入本地站点XA、XB、…。
此外,客户端计算单元可以包括用于生成与相应的机器学习模型相关联的配置文件CF(A)、CF(B)、CF(Ai)、CF(Bi)、CF(BixA)、CF(Ai*)、CF(A2)、…的模块。例如,配置文件CF(A)、CF(B)、CF(Ai)、CF(Bi)、CF(BixA)、CF(Ai*)、CF(A2)、…可以包括将本地数据D(A)、D(B)馈入机器学习模型所需的预处理步骤的指示。此外,配置文件可以包括本地变量名称和与站点XA、…、XN的本地环境有关的其他信息,例如本地目录、数据结构等。
根据一些实施方式,为了确保不能从机器学习模型、性能日志或配置文件中导出或推断出任何隐私敏感信息,客户端计算单元310可以在训练或生成数据日志时添加一种或更多种加密技术、随机噪声技术和/或其他安全技术,以隐藏任何可推断的信息。
如所提及的,系统1的各个部件可以至少临时地彼此连接,以经由网络200进行数据传输和/或交换。网络200可以是任何类型的通信网络,例如,本地网(例如,内联网)或广域网(例如,互联网、蜂窝网络)或其某种组合。网络200还可以包括无线网络部件。网络200还可以包括中央服务器单元100与客户端单元300之间的直接连接。通常,中央服务器单元100与客户端单元300之间的通信可以通过使用任何类型的有线和/或无线连接、使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)编码或格式(例如HTML)和/或保护方案(例如,VPN、HTTPS、SSL)经由网络接口(形成接口单元)来进行。
下面,在图2至图5中示出了描述根据一些实施方式的方法步骤的流程图。这些流程图同样表示用于以一个或更多个计算机程序的形式实现方法步骤的示例硬件逻辑或机器可读指令。程序可以以存储在非暂态计算机可读存储介质(例如CD-ROM、软盘、硬盘驱动器、DVD、蓝光磁盘或与处理器关联的存储器)上的软件来实现。整个程序和/或其部分可以替选地由除处理器之外的设备执行和/或以固件或专用硬件来实施。此外,尽管参照图2至图5所示的流程图描述了示例性方法,但是也可以从随后的公开内容中得出其他方法。例如,可以改变方法步骤的执行顺序,和/或可以改变或消除所描述的方法步骤中的一些。此外,可以将如图2至5所示的各个方法步骤进行组合。
图2A描绘了根据实施方式的用于实现站点特定的联合学习过程的方法步骤的基本顺序。图2A左侧所示的步骤由中央服务器单元100执行(即,中央服务器单元100被配置成执行这些步骤),而右侧所示的步骤由客户端单元执行300(即,客户端单元300分别被配置成执行这些步骤)。图2B示出了中央服务器单元100与客户端单元300之间的相应的信息交换。
根据第一可选步骤C5,站点XA、XB、…(客户端单元300)可以(向中央服务器单元100)传送加入由中央服务器单元100管理的联合学习方案的请求。请求可以包括相应本地站点XA、XB、…的上述配置数据,这些配置数据包括关于存储在本地站点XA、XB、…处的本地数据的类型和数量、应用领域等的信息。
第二步骤S10涉及从中央服务器单元100向客户端单元300中的一个或更多个下载合适的工具集TS(或机器学习算法集)。然后在随后的步骤C10中在客户端单元300处接收工具集TS(或机器学习算法集)。在这方面,中央服务器单元100可以基于配置数据和关于客户端单元300可用的其他信息以及预期机器学习模型的预期用途来选择或编译适当的工具集TS(或机器学习算法集)以供下载。在这方面,中央服务器单元100可以继续到存储在算法储存库122中的一个或更多个预配置的工具集(或机器学习算法集),或者从存储在算法储存库122中的各个算法中制作适当的工具集TS(或机器学习算法集)。如果没有信息可用于选择适当的工具集,则中央服务器单元100可以被配置成将涵盖通用应用领域的标准工具集(或机器学习算法集)下载至客户端单元300。又作为另外的替选,工具集TS(或机器学习算法集)也可以不同于通过下载的方式被提供至客户端单元300。例如,工具集TS(或机器学习算法集)可能由于先前的下载已经存在于站点XA、…、XN中。此外,可以通过从不同于中央服务器单元100的其他来源下载/安装工具集TS来将其提供至客户端单元300。例如,这可能涉及使用第三方提供商的储存库(例如,包括开源可训练机器学习算法)。
使用工具集TS(或机器学习算法集),在步骤C20中由客户端单元300至少在本地站点XA、XB、…处(重新)生成并训练新的机器学习模型。随后的机器学习模型通常取决于预期的应用领域、站点XA、XB、…处的计算环境,当然还取决于本地数据D(A)、D(B)。机器学习模型的生成或创建可能涉及以下步骤:从工具集中或机器学习算法集中选择适当的构建块;进行训练、验证和测试。如上所述,在这方面可以应用任何已知方法,例如适当的交叉验证方案。
在步骤C21中,由相应的客户端单元300为机器学习模型A、B生成性能日志PL(A)、PL(B)。性能日志指示给定机器学习模型A、B的例如关于机器学习模型A、B的准确度的性能。可以通过在本地测试集上测量机器学习模型A、B的性能来生成性能日志PL(A)、PL(B)以作为本地数据D(A)、D(B)的一部分。在这方面,可以使用任何适当的性能指标来生成性能日志PL(A)、PL(B)。一个示例是在二进制分类任务中经常使用的ROC曲线下面积(AUC)。此外,性能日志的初始模型开发、训练和生成可以相互关联。例如,可以通过嵌套的交叉验证方案对机器学习模型进行训练、验证并同时测试,该方案可以提供机器学习模型的性能(与从工具集TS或机器学习算法集派生的其他机器学习模型相比)的指示。交叉验证是一种常用的统计模型评估技术,用于评估模型如何推广到新的或“看不见的”数据(即未被用于生成或训练模型的数据)。通常可以执行一轮或更多轮或迭代的交叉验证,在每次验证中本地数据D(A)、D(B)被分成训练子集和测试子集(通常使用随机选择)。使用训练子集对机器学习模型进行训练,并使用测试子集评估机器学习模型的预测的质量(例如,可以获得基于预测测试集值的误差的质量指标)。然后,可以通过各种方式汇总从不同的交叉验证迭代中获得的模型质量的指标(例如,可以获取质量指标的平均值和/或置信区间),以得出机器学习模型的最终质量指标,最终质量指标则被反映在性能日志中。通常,机器学习模型的训练涉及模型的上级参数的调整(通常表示为“超参数”)。这种超参数的一个示例是决策树和随机森林中的参数“树深度”,该参数控制在实现低训练误差和低测试误差之间进行权衡。如果在普通的交叉验证中,该测试既用于选择超参数的值,又用于评估模型,则性能评估会偏向于乐观。解决此问题的一种方法是使用嵌套交叉验证,该方法基本上包括(1)调整参数并选择最佳模型的内部交叉验证,以及(2)用于评估由内部交叉验证选择的模型的外部交叉验证。
当在步骤C20中生成并训练机器学习模型A、B后,在步骤C22中由客户端单元300生成配置文件CF(A)、CF(B)。如上所述,配置文件CF(A)、CF(B)表示针对相应站点XA、XB开发和训练的机器学习模型A、B的配置。配置文件CF(A)、CF(B)可以反映站点XA、XB处的本地计算环境,并且例如可以包括将本地数据D(A)、D(B)馈入机器学习模型A、B中必不可少的预处理步骤。
值得注意的是,在这种情况下,每个站点可能已经生成多于一个的机器学习模型A、B。例如,客户端单元300可以组装和训练可以依赖于稍微不同的基本可训练算法的多个机器学习模型。此外,如果已经使用增量机器学习以及不支持增量机器学习的其他机器学习模型A组装和训练了一个增量机器学习模型Ai,则可能会产生多于一个的机器学习模型。下面结合图3和图4进一步阐明增量机器学习的原理。
在步骤C30中由客户端单元300将机器学习模型A、B以及任何关联信息(例如配置文件CF(A)、CF(B)和性能日志PL(A)、PL(B))上传至中央服务器单元100,并且在步骤S20中在中央服务器单元100处接收机器学习模型A、B以及任何关联信息(例如配置文件CF(A)、CF(B)和性能日志PL(A)、PL(B))。一旦接收,中央服务器单元100可以对由此上传的数据进行处理并且将机器学习模型A、B与相关的性能日志PL(A)、PL(B)和配置文件CF(A)、CF(B)一起存档在相应的模型储存库121中。在这方面,中央服务器单元100可以向机器学习模型A、B、性能日志PL(A)、PL(B)和配置文件CF(A)、CF(B)分配适当的电子标识符,使得性能日志PL(A)、PL(B)和配置文件CF(A)、CF(B)明确与相应的机器学习模型A、B有关。根据实施方式,机器学习模型A、B和关联信息以易于搜索的格式被存档,以便在需要时可以轻松地从储存库中检索。为此,中央服务器单元100可以使用机器学习模型的上述特性来组织模型储存库121。
在步骤S40中,可以由中央服务器单元100使用相应的性能日志PL(A)、PL(B)来评估机器学习模型A、B的性能。如果在此基础上认为性能令人满意,则中央服务器单元100可以决定在相应的本地站点XA、XB处部署相应的机器学习模型A、B。然后,将部署机器学习模型的决定发送至相应的客户端单元300,随后在该客户端单元中部署(步骤C40)模型。替选地,可以由客户端单元300在站点XA、XB处本地做出部署机器学习模型的决定。该本地决定同样可以基于相应的性能日志PL(A)、PL(B)。作为另一替选,一旦可以容易地训练相应的机器学习模型A、B,则部署可以自动发生。
一旦在现场开发和部署,机器学习模型将被永久自动监测。为此,在客户端单元300处生成另外的性能日志PL(A)、PL(B)(步骤C21),并且将其上传至中央服务器单元100(步骤C30)。性能日志PL(A)、PL(B)可以按预定间隔定期生成和上传。替选地或另外,每当更新本地数据D(A)、D(B)时,可以自动触发另外的性能日志PL(A)、PL(B)的生成。客户端单元300将另外的性能日志PL(A)、PL(B)上传(步骤C30)至中央服务器单元100,另外的性能日志PL(A)、PL(B)在中央服务器单元100处被接收并且可选地被存档在例如模型储存库121中(步骤S20和S30)。像以前一样,进行存档,使得另外的性能日志PL(A)、PL(B)可以明确地与基础的机器学习模型相关(例如,通过使用适当的电子标识符)。随后,中央服务器单元100可以使用所发送的另外的性能日志PL(A)、PL(B)来继续监测当前部署在给定站点XA、XB处的相应机器学习模型的性能。一旦在此基础上检测到性能下降,例如,当机器学习模型的准确度下降到低于预定阈值(例如,根据使用情况降低5%或10%)时,就可以触发模型更新的机制(即,模型重新训练、验证和测试)(结合下面的图3单独处理更新过程)。触发新训练过程的另一个原因是当新的有前途的机器学习算法在工具集中可用时。
作为命令模型更新的替选,中央服务器单元100可以决定从模型储存库下载另一模型到给定的客户端单元300,以便替换或挑战发现表现不佳的机器学习模型(步骤S50)。为此,中央服务器单元100可以被配置成基于所考虑的本地站点XA、XB的配置数据(例如,应用领域以及与所考虑的站点相关的其他确定因素)以及存储的机器学习模型A、B、Ai、AxB、…的存储特性,查询模型储存库121以获得合适的机器学习模型。在这方面,要下载的机器学习模型A、B、Ai、AxB、…可能与先前在所考虑的站点XA进行过训练和/或部署的机器学习模型A、Ai、…或源自不同的站点XB、…的“跨站点”模型B、AxB、…有关。在步骤C50中,在站点XA、XB处接收下载的机器学习模型Ai、B、AxB、…。在下一步骤C51中,使机器学习模型Ai、B、AxB、…适配新站点。步骤C51中的适配可以仅包括在机器学习模型与本地站点XA、XB之间的映射变量名称。然而,步骤C51中的适配也可以等同于调整机器学习模型的模型参数,包括对下载的机器学习模型进行部分或全部重新训练。随后,如上所述(步骤S21和S22),生成相应的性能日志PL(Ai)、PL(B)、PL(AxB)和配置文件CF(Ai)、CF(B)、CF(AxB)。在步骤C30中,将性能日志PL(Ai)、PL(B)、PL(AxB)和配置文件CF(Ai)、CF(B)、CF(AxB)上传至中央服务器单元100,在中央服务器单元100处接收该信息(步骤S20),并且可选地将其与相应的下载的机器学习模型Ai、B、AxB相关联地存储(步骤S30)。然后,由中央服务器单元100使用性能日志PL(Ai)、PL(B)、PL(AxB)来评估下载的机器学习模型Ai、B、AxB针对本地数据D(A)的性能(步骤S40)。如果在此基础上认为下载的机器学习模型Ai、B、AxB的性能足够,则中央服务器单元100可以决定在站点XA处部署机器学习模型Ai、B、AxB中的相应一个,并相应地在步骤C40中触发模型的部署,从而替换先前使用的机器学习模型A。如果机器学习模型Ai、B、AxB的性能不足,则中央服务器单元100可以基于本地数据D(A)触发对相应站点XA上的所有机器学习模型A、Ai、B、AxB的重新训练(或者,如果可能,则更新),下载另外的机器学习模型,或者干脆决定坚持使用站点XA的原始机器学习模型A。
以上过程可以由中央服务器单元100启动和控制。然而,根据实施方式,这些系统和方法可以为客户端单元提供查看和批准由中央服务器单元100决定的动作的能力。这可以包括:客户端单元300可以拒绝模型更新或下载。
根据以上所述,在一个站点处可以使用多于一个的机器学习模型A、Ai、B、AxB、…。这使得可以应用所谓的冠军挑战者概念来评估在给定站点可用的机器学习模型A、Ai、B、AxB、…的性能,并决定将部署哪个可用的机器学习模型A、Ai、B、AxB、…。具体地,在步骤S40中,可以对可用的机器学习模型A、Ai、B、AxB、…的性能进行比较,并且最好的一个成为“冠军”并得到部署,而其他的则是将在下次性能评估和/或模型或数据更新时挑战“冠军”的“挑战者”。
如图2B所示,上述构思,即步骤S10至S50和步骤C5至C40,不仅适用于一个站点XA,而且可以推广到两个站点XA、XB,或者任意数量的站点XA、XB、…、XN。在每个站点XA、XB处,使用本地数据D(A)、D(B)和上述相同的可扩展步骤、方法和算法来训练站点特定的模型A、B。此后,仅经训练的机器学习模型A、B、…及其相应的配置文件CF(A)、CF(B)、以及性能日志PL(A)、PL(B)、…被发送回中央服务器单元100并被存档。这样做,在中央服务器单元100上生成了机器学习模型A、B、…的库。
为了进一步受益于系统在站点XA、XB、…之间交换机器学习模型的能力,当在站点XA、XB、…处本地生成和训练机器学习模型时,可以应用增量学习方案(步骤S20i,参照图3A)。基本上,增量学习产生了能够逐渐适配新数据而无需进行完整的重新训练的机器学习模型。换言之,这样的增量机器学习模型Ai、Bi保留了先前获得的知识,并且能够采用新知识。因此,增量机器学习模型Ai、Bi非常适合在创建阶段以外进行学习,从而能够适配站点XA、XB、…处不断变化的数据源和本地环境,并产生通常称为“可扩展”的机器学习模型。这不同于传统的机器学习模型A、B,其训练阶段不可逆转地完成。因此,传统的机器学习模型A、B无法连续集成新信息,结果是本地数据D(A)和D(B)的更新可能需要完全重新训练,甚至需要重新构建新模型。增量机器学习模型以在相应的附图标记中带有“i”(例如,Ai、Bi)来表征。
许多传统的机器学习算法固有地支持增量学习。可以调整其他算法以促进增量学习。增量算法的示例包括决策树、若干人工神经网络、随机梯度下降或朴素贝叶斯。
图3A和图3B描绘了根据实施方式的针对站点特定的机器学习可以如何实现增量学习的示例。因此,重点在于在客户端单元300一侧执行的方法步骤。在中央服务器单元100执行的补充了客户端单元300处的步骤的方法步骤与结合图2A、图2B所述的步骤(即,步骤S10、S20、S30、S40、S50)相同或相似。
根据实施方式,客户端单元300通常可以初始化或创建、训练、验证和测试两种机器学习模型:传统的机器学习模型,其训练不可逆地完成;以及增量机器学习模型,其可以被进一步训练。这在图2A中示出。可以随后或同时生成传统的机器学习模型和增量机器学习模型。此外,可以生成任何数量的增量机器学习模型或传统机器学习模型。同样,该方法可以被适配成使得在站点XA处仅生成增量机器学习模型或传统机器学习模型。
基于工具集TS(或机器学习算法集),站点XA处的客户端单元300可以基于不能被进一步训练的本地数据D(A)重新生成(即创建、训练、验证和测试)机器学习模型A(步骤C20)。如上所述,工具集TS(或机器学习算法集)可能已被选择性地下载至站点,或者可能已经存在于站点XA。如前所述,步骤C20可以伴随有生成相应的性能日志PL(A)(步骤C21)和配置文件(步骤C22)的步骤,随后可以将相应的性能日志PL和配置文件与机器学习模型一起上传至中央服务器单元100(步骤C30)。
此外,客户端单元300适于同样基于本地数据D(A)来生成(即,开发、训练、验证和测试)增量机器学习模型Ai(步骤C20i)。为此,客户端单元300可以依赖于工具集TS(或机器学习算法集)并从中选择支持增量学习的基本算法,或者可以向客户端单元300提供被配置用于得到增量机器学习模型的专用工具集TS(或专用机器学习算法集)。增量机器学习模型的生成通常可以涉及与其他机器学习模型的生成相同的过程。像在其他机器学习模型的情况下一样,针对增量机器学习模型Ai生成性能日志PL(Ai)和配置文件CF(Ai),并将其上传至中央服务器单元100(步骤C30)。
然后,如结合图2A所说明的那样,基于上传的性能日志PL(A)、PL(Ai),中央服务器单元100则可以决定将由此生成的机器学习模型A、Ai中的哪一个部署在站点处。特别地,这可能涉及使用冠军挑战者方法。
当本地数据D(A)已经被更新和/或中央服务器单元100启动了模型更新时,增量机器学习模型与非增量机器学习模型之间的一个区别就发挥了作用。数据更新可以被设想为用新数据Dnew(A)来增强以前已知的数据Dold(A)。虽然可以仅使用新数据Dnew(A)来继续增量机器学习模型Ai的训练(步骤C20i)(以形成更新的增量机器学习模型Ai*),但是对于不能为增量学习模型的机器学习模型,这是不可能的。如图3A所示,这方面的一个选择是基于工具集TS(或机器学习算法集)并使用完整的数据集Dold(A)+Dnew(A)生成全新的机器学习模型A2(步骤C20)。图2A中未示出的另一种选择是完全重新训练机器学习模型A,这同样会导致产生已经忘记先前训练中的知识的“新”机器学习模型。在任何情况下,由此创建的所有机器学习模型即更新的增量机器学习模型Ai*、新机器学习模型A2和重新训练的机器学习模型都与相应的性能日志PL(A2)、PL(Ai*)和配置文件CF(A2)、CF(Ai*)一起被上传至中央服务器单元100(步骤C30)。
可以将使用经典机器学习的站点特定的机器学习模型A、A2和可扩展的跨站点增量机器学习模型Ai、Ai*的生成与上述冠军挑战者方法进行协同组合。因此,对可用的机器学习模型A、A2、Ai、Ai*的性能进行比较,最好的模型成为“冠军”并被部署,而其他模型成为将在下一次数据更新时挑战冠军的“挑战者”。具体地,在训练机器学习模型A(或A2)和增量机器学习模型Ai(或Ai*)之后,将机器学习模型及其关联的配置文件CF(A)、CF(A2)、CF(Ai)、CF(Ai*)和性能日志CF(A)、CF(A2)、CF(Ai)、CF(Ai*)的副本上传至中央服务器单元100并存储在相应的储存库中。然后,性能监测模块将获取相应的性能日志CF(A)、CF(A2)、CF(Ai)、CF(Ai*),提取有关估计的模型性能的信息并对其进行比较。针对本地数据Dold(A)+Dnew(A)的测试集(或在交叉验证中)表现最好的模型被表示为“冠军”,并且将标志发送至站点XA以在实践中部署该特定模型。其他表现不佳的模型被称为“挑战者”,并将在下一次挑战当前冠军。
如果考虑具有不同数据所有者的多个站点XA、XB,则增量机器学习框架将变得更加通用。如上所述,中央服务器单元100还可以在机器学习模型的原始站点以外的站点下载和部署机器学习模型(参见图2A中的步骤S50)。如果在这方面使用了增量机器学习模型,则尽管它们可能是在不同的站点XB处创建的,也可以在“新”站点XA上继续其训练。该原理在图4A和图4B中示出。
在下文中,假定已经在站点XB上创建了增量机器学习模型Bi,并且已将其上传至中央服务器单元100的模型储存库121中并保存在其中。然后,例如,如果站点XA的需求简档(即,站点XA的配置数据)匹配增量机器学习模型Bi的特性(例如,能够从配置文件、性能日志以及与增量机器学习模型Bi相关的其他元数据得到),则中央服务器单元100可以选择将其下载至站点XA(步骤S50)。作为增量机器学习模型,可以在站点XA的客户端单元300接收到时基于站点XA的本地数据D(A)继续Bi的训练(步骤C20i)。此过程将生成由模型BixA表示的站点XA和XB通用的增量机器学习模型。同时,可以基于工具集TS(或机器学习算法集)并使用如前所述的站点XA的本地数据D(A)重新在站点XA上训练站点特定的(增量)机器学习模型A或Ai。因此,可以训练站点特定的机器学习模型和跨站点(增量)机器学习模型二者。值得注意的是,站点特定的(增量)机器学习模型的生成是可选的,并且可以省略。在任何情况下,随后将由此生成的所有(增量)机器学习模型与相应的性能日志PL(A)、PL(Ai)、PL(BixA)和配置文件CF(A)、CF(B)、CF(BixA)一起上传至中央服务器单元100(步骤C30)。在中央服务器单元100中,随后将上传的机器学习模型A、Ai、BixA和性能日志PL(A)、PL(Ai)、PL(BixA)以及配置文件CF(A)、CF(B)、CF(BixA)存储在上述相应的储存库中。
本身来说,该原理可以与结合图3A和图3B描述的增量模型更新结合。如果新数据在站点XA上变得可用,则可以由中央服务器单元100的性能监测模块启动模型更新过程(参见图2A,步骤S40)。这会触发继续基于适当的工具集TS和相应的本地数据D(A)对增量机器学习模型Ai、BixA的训练,对无法进行增量学习的机器学习模型A的重新训练,和/或新的站点特定的机器学习模型A2的重新生成。
在这方面,根据实施方式,建议如果在系统1中某些其他站点XA变得可用并且跨站点增量机器学习模型BixA在该站点XA上被进一步训练,则将在以前已经训练过增量机器学习模型BixA的先前版本(Bi)的所有站点XB处启动模型更新。因此,如果跨站点增量机器学习模型BixA由于新站点XA的本地数据D(A)而得到改进,则该改进将自动进行测试,并有可能部署在之前使用该增量机器学习模型的所有站点XB上。
为了简化跨站点机器学习模型的部署和增量机器学习模型的进一步训练,根据实施方式,可以由中央服务器单元300执行兼容性检查。例如,该兼容性检查可以基于相应站点的配置数据。具体地,这可能涉及检查机器学习模型的配置文件中定义的技术先决条件是否与相应站点的配置数据匹配。这样,可以检查模型所使用的特征在新站点上是否可用,类标签的数量和类型是否相同等。
如前所述,机器学习模型的跨站点部署同样需要在新站点XA处验证和测试机器学习模型,以评估它们是否适合部署。然而,这带来了问题,用于训练和性能评估的已知方法例如上述嵌套交叉验证方案不能容易地应用于这种情况。这是因为传统上交叉验证中的每次迭代都会导致其训练已不可逆转地完成的模型实现。如果将机器学习模型引入新站点XA,则交叉验证方案的新应用将因此在新站点XA处针对本地数据D(A)完全重新训练这些机器学习模型。换言之,这意味着跨站点的机器学习模型将因此“忘记”在其先前部署站点采用的知识。这是无效的,并且可能导致性能差的机器学习模型,特别是例如在缺少新的本地数据D(A)的情况下。
为了仍然评估新站点XA上已下载的(增量)机器学习模型B、Bi的性能,可以将站点XA处可用的完整本地数据D(A)视为测试数据(不执行训练)。通过计算预测并将其与实际值进行比较,可以使用一些适当的性能指标(例如ROC曲线下面积(AUC))生成性能日志,然后可以在此基础上评估模型性能。如果(增量)机器学习模型B、Bi针对本地数据D(A)的性能对应于所需的预定级别,则可以在站点XA上部署和使用(增量)机器学习模型B、Bi。如果不是,则可以将不同的机器学习模型下载至站点A,和/或可以在站点XA处重新生成新的机器学习模型,和/或可以进行重新训练。
然而,发明人认识到,增量机器学习模型Bi的使用在利用这些模型的增量机器学习能力的方面提供了附加的选择。在图5A和图5B中示出了相应的工作流程和方法。
起点是例如在结合图4A和图4B说明的情况下,在站点XA处将增量机器学习模型Bi提供至客户端单元300。在该示例中,增量机器学习模型Bi是在不同于现在下载至的站点XA的站点XB处生成的跨站点增量机器学习模型(下载的增量机器学习模型Bi也可以称为“初始”或“新下载的”增量机器学习模型)。因此,在站点XA处,增量机器学习模型Bi现在受到从未见过的新本地数据D(A)的影响。因此,需要基于站点XA处的数据D(A)来更新新下载的增量机器学习模型Bi,并且需要估算站点XA的增量机器学习模型的预期性能(即,需要生成性能日志PL(Bi))。尽管该示例基于以下假设:通过从中央服务器单元100下载的方式接收了初始增量机器学习模型Bi,但是应当注意,以下方法同样适用于已经在站点处生成并且现在需要根据更新的本地数据D(A)进行更新的增量机器学习模型Ai。
在任何情况下,作为第一步M10,将包括在D(A)中的全部可用的本地训练数据划分成期望的组(fold)。在图5B中,示出了五组以用于说明。然而,分区可以产生任意数量的组。通常,就像最新的交叉验证方案一样,会生成四组到十组。在对本地数据D(A)进行分区时,可选地选择组,使得属于单个患者的所有数据始终仅在组中的一个中,并且不在整个组中分布。这样可以减少组之间的串扰并限制任何潜在的偏差,从而改进总体效果。
如图5A和图5B所示,该方法经过多次N次迭代I1、I2、…、IN。在每次迭代中,组TR1、TR2、TR3、…(或组子集)用于进一步训练增量机器学习模型,另一组VA1、VA2、VA3、…(或组子集)用于验证,又一组TE1、TE2、TE3、…(或组子集)用于测试增量机器学习模型Bi。对于每次迭代、训练组、验证组和测试组会如图5B所示在组之间进行排列。在第一次迭代中,组TR1是训练组,组VA1是验证组,组TE1是测试组。在第二次迭代中,组TR2是训练组,组VA2是验证组,组TE2是测试组,依此类推。因此,换言之,每次迭代对应于本地数据D(A)上的训练组、验证组和测试组的排列P1、P2、P3。在图5B中,示出了三个排列P1、P2、P3作为示例。然而,通常,排列至少与组一样多,因此每个组可以用作训练组。
每次迭代包括确定增量机器学习模型Bi的优化超参数的步骤(步骤M20),并在此基础上记录部分性能日志PPL1、PPL2、PPL3、…(步骤M30)。在步骤M20和M30的第一次迭代中,使用第一排列P1,在第二次迭代中使用P2,依此类推。步骤M40是重复步骤。
步骤M20包括控制超参数优化的细节的子步骤M21至M25。为了便于参考,假定增量机器学习模型Bi具有一个需要优化的超参数。超参数可以采用若干潜在值。在步骤M21中,对于超参数的第一潜在值,针对训练组TR1进一步训练初始增量机器学习模型Bi。随后,在子步骤M22中,针对单独的验证组VA1测量因而产生的增量机器学习模型(超参数被设置成第一值)的性能。然后重复子步骤M21和M22,以进一步优化超参数的其他潜在值。重复的步骤被指定为步骤M23。在已经扫描了超参数的所有潜在值并记录了相应的模型性能之后,在子步骤M24中基于各个模型性能的比较来选择用于超参数的最优值。然后,针对组TR1训练该迭代的最终机器学习模型Bi,其中超参数被设置为最优值(子步骤M25)。通常,增量机器学习模型将不仅具有一个超参数,而且具有多个超参数。为了确定多个超参数的最优值集,必须针对所有可能的参数组合执行子步骤M21和M22,每次都测量模型性能。子步骤M21至M25可以被视为限定了所提出的交叉验证方案的内部循环。内部循环的训练组和验证组可以被指定为组的第一子集(其包括(至少)两个组:训练组和验证组)。
由于已经找到最佳超参数,并且针对第一排列P1(迭代)已经完成增量机器学习模型的训练,因此可以在步骤M30中评估到目前为止获得的增量机器学习模型的性能。为此,针对测试组TE1测试所得到的增量机器学习模型,并生成相应的部分性能日志PPL1。部分性能日志PPL1指示增量更新的增量机器学习模型在第一次迭代后对站点XA处的本地数据D(A)表现如何。
接下来,在下一次迭代中以不同的排列P2重复步骤M20和M30。相应的重复步骤在图5A中用M40表示。在第二次迭代中,针对训练组TR2对增量机器学习模型进行进一步训练,使用验证组VA2优化其超参数(子步骤M21至M25),最后通过针对测试组TE2对其进行测试来在部分性能日志PPL2方面获得其性能(步骤M30)。随后,在后续迭代中执行相同的步骤,每次迭代具有训练组、验证组和测试组的不同排列。步骤M20、M30和M40可以被认为是限定了所提出的交叉验证方案的外部循环。外部循环的测试组可以被指定为组的第二子集(尽管其可以仅包括一个组)。
由于基于互连的内部循环和外部循环,因此,所提出的交叉验证方案依赖于两个嵌套循环。与通常的嵌套交叉验证方案的一个不同之处在于以下事实:对于外部循环的每次迭代,仅存在组的一个排列。相比之下,通常的嵌套交叉验证对于外部循环的每次迭代基于内部循环的组的单独的全排列。通过依赖于增量机器学习模型继续训练的能力,就更快并且仍然可以产生比得上的结果的滚动验证而言,这可以用一组排列来代替。
一旦遍历了所有迭代(排列),就可以通过针对最后一次迭代中尚未用于训练的那些组(即,最后一次迭代的测试组和验证组(在图5B中给出的示例中,这将是TE3组和VA3组))进一步训练由此更新的增量机器学习模型来结束对由此更新的增量机器学习模型的训练(步骤M50)。因而产生的更新的增量机器学习模型BixA通常是被报告回中央服务器单元100(即,上传至中央服务器单元100)的机器学习模型。所获得的相应的超参数可以(与其他合适的元数据和/或所需的预处理步骤一起)被记录在配置文件CF(BixA)中。
对于在步骤M60中生成与更新的增量机器学习模型BixA相应的性能日志,将对针对不同排列P1、P2、P3、…在不同迭代中测得的部分性能日志PPL1、…、PPLN进行求平均。另外,可以计算该平均值的标准偏差。可以将平均模型性能作为性能日志PL(BixA)报告给中央服务器单元100。
值得注意的是,平均模型性能值及其标准偏差是针对未来数据的预期模型性能的保守估计——尤其是如果针对在上一次迭代中没有用于训练的组对最终增量机器学习模型BixA(报告了估计的性能值)进行了多次训练(参见步骤M50)。在这种情况下,针对多于性能估计中使用的数据的数据训练增量机器学习模型BixA,并且通常可以假定其性能好于估计的性能。如果属于单个患者的所有数据仅属于三个集合(训练、验证或测试)之一,则估计值甚至更为保守(因为这排除了更新模型时的任何系统性偏差)。
只要有意义,在不限制或扩展本发明的范围的情况下,可以将各个实施方式或其各个方面和特征彼此组合或交换。在适用的情况下,关于本发明的一个实施方式描述的优点也有利于本发明的其他实施方式。
下面的要点也是本公开内容的一部分:
要点1.一种用于包括中央服务器单元和多个客户端单元的系统中的客户端特定的联合学习的计算机实现的方法,其中,所述客户端单元分别位于不同的本地站点处并且分别包括本地数据,所述方法包括以下步骤:
向所述客户端单元中的至少一个客户端单元提供工具集,所述工具集被配置成使得能够在所述至少一个客户端单元处使用所述工具集本地创建多种不同类型的机器学习模型;
从所述至少一个客户端单元接收一个或更多个机器学习模型,所述一个或更多个机器学习模型分别由所述至少一个客户端单元使用所述工具集创建并且基于相应的本地数据训练;以及
将所述一个或更多个机器学习模型存储在所述中央服务器单元中。
要点2.根据要点1所述的方法,还包括以下步骤:
从所述客户端单元中的至少一个客户端单元接收一个或更多个更新的增量机器学习模型,所述更新的增量机器学习模型是由所述至少一个客户端单元基于以下而本地更新的机器学习模型:针对所述至少一个客户端单元的相应的本地数据通过增量机器学习进一步训练所述一个或更多个增量机器学习模型;以及
将所述一个或更多个更新的机器学习模型存储在所述中央服务器单元中。
要点3.根据要点1或2所述的方法,还包括以下步骤:
从所述中央服务器单元向所述至少一个客户端单元下载一个或更多个跨站点增量机器学习模型,所述跨站点增量机器学习模型已经分别在与其被下载至的所述至少一个客户端单元不同的客户端单元处被训练,并且所述跨站点增量机器学习模型的学习能够通过增量机器学习来继续。
要点4.根据前述要点中的任一要点所述的方法,还包括以下步骤:
向所述客户端单元中的至少一个客户端单元提供增量机器学习模型,所述增量机器学习模型的学习可以通过增量机器学习来继续;
将所述至少一个客户端单元的本地数据划分成多个组;
在所述组之间对所述增量机器学习模型执行一个或更多个交叉验证操作,以获取更新的增量机器学习模型和相关联的性能日志,所述相关联的性能日志指示更新的增量机器学习模型分别对所述至少一个客户端单元的相应的本地数据表现如何,其中,所述交叉验证操作涉及通过增量机器学习对所述增量机器学习模型进行连续的进一步训练。
要点5.根据要点4所述的方法,其中,执行的步骤还包括:
通过使用所述组的第一子集通过增量机器学习对所述增量机器学习模型进行进一步训练来确定所述增量机器学习模型的优化超参数集(即一个或更多个);
通过使用所述优化超参数集针对所述组的与所述第一子集不同的第二子集测试所得到的增量机器学习模型来生成部分性能日志;
对于所述组中的所述第一子集和所述第二子集的排列重复确定和生成的步骤,其中,通过增量机器学习逐个排列地连续进一步训练所述增量机器学习模型,以生成更新的增量机器学习模型,并且对于每个排列,生成另外的部分性能日志;以及
基于所述部分性能日志生成所述性能日志。
要点6.根据要点5所述的方法,其中,确定优化超参数集的步骤包括:
通过增量机器学习,针对组的所述第一子集的第一组进一步训练所述增量机器学习模型以得到所述增量机器学习模型的超参数集的第一值集;
确定所得到的增量机器学习模型针对所述第一子集的不同于所述第一组的第二组的超参数性能;
重复进一步训练和确定所述超参数集的其他值集针对所述第一组和所述第二组的超参数性能的步骤;以及
基于所述超参数性能确定所述超参数集的优化值集,以生成相应的优化超参数集。
要点7.根据要点5或6所述的方法,其中,生成所述性能日志的步骤包括对所述部分性能日志进行求平均。
要点8.一种用于包括中央服务器单元和多个客户端单元的系统中的客户端特定的联合学习的计算机实现的方法,所述客户端单元各自包括本地数据,所述方法包括以下步骤:
由所述客户端单元中的至少一个客户端单元接收工具集,所述工具集被配置成使得能够使用所述工具集创建多种不同类型的机器学习模型;
由所述至少一个客户端单元使用所述工具集创建一个或更多个机器学习模型并基于所述至少一个客户端单元的相应的本地数据训练所述一个或更多个机器学习模型;以及
由所述至少一个客户端单元将所述一个或更多个机器学习模型上传至所述中央服务器单元。
要点9.根据要点8所述的方法,还具有以下步骤:由所述客户端单元中的至少一个客户端单元从所述中央服务器单元接收一个或更多个机器学习模型。
要点10.根据要点8或9所述的方法,还具有以下步骤:
由所述客户端单元中的至少一个客户端单元基于所述至少一个客户端单元处的相应的本地数据来更新一个或更多个机器学习模型,以生成一个或更多个更新的机器学习模型;以及
由所述至少一个客户端单元将所述一个或更多个更新的机器学习模型上传至所述中央服务器单元。
要点11.根据要点8或9所述的方法,还具有以下步骤:
由所述客户端单元中的至少一个客户端单元基于所述至少一个客户端单元处的相应的本地数据通过增量机器学习对一个或更多个增量机器学习模型进行进一步训练,以生成一个或更多个更新的增量机器学习模型;以及
由所述至少一个客户端单元将所述一个或更多个更新的增量机器学习模型上传至所述中央服务器单元。
要点12.根据前述要点中的任一要点所述的方法,其中,所述工具集还包括用于在所述客户端单元处生成性能日志的算法,所述性能日志分别指示所述机器学习模型中的相应的机器学习模型对相应的本地数据表现如何。
要点13.根据前述要点中的任一要点所述的方法,其中,所述工具集被配置成使得能够从所述客户端单元处的所述工具集导出至少一个增量机器学习模型。
要点14.根据前述要点中的任一要点所述的方法,其中,所述工具集包括具有不同决策边界的多个未训练且可训练的机器学习算法。
要点15.根据前述要点中的任一要点所述的方法,还具有以下步骤:
从所述客户端单元中的至少一个客户端单元接收配置数据;以及
根据所述配置数据配置所述工具集。
要点16.根据要点15所述的方法,还具有以下步骤:
基于所述配置数据为所述工具集预先选择一种或更多种未训练且可训练的机器学习算法。
要点17.根据前述要点中的任一要点所述的方法,还具有以下步骤:
从所述客户端单元中的至少一个客户端单元接收配置数据;以及
基于所述配置数据,选择存储在所述中央服务器单元中的机器学习模型,以下载至所述至少一个客户端单元。
要点18.根据前述要点中的任一要点所述的方法,其中,从所述至少一个客户端单元接收一个或更多个机器学习模型的步骤包括:接收与所述一个或更多个机器学习模型对应的关联信息。
要点19.根据前述要点中的任一要点所述的方法,其中,从所述至少一个客户端单元接收一个或更多个机器学习模型的步骤包括分别向所述一个或更多个机器学习模型分配唯一标识符。
要点20.根据要点19所述的方法,其中,存储的步骤包括:基于所述唯一标识符来存储所述一个或更多个机器学习模型。
要点21.根据前述要点中的任一要点所述的方法,其中,所述工具集包括用于在所述客户端单元处执行相应的客户端单元处可用的所述一个或更多个机器学习模型的交叉验证过程特别是嵌套的交叉验证过程或根据第要点22至24中的任一要点所述的交叉验证过程的算法。
要点22.一种用于包括多个客户端单元的系统中的本地交叉验证增量机器学习模型的方法,其中,所述客户端单元分别位于不同的本地站点处并且分别包括本地数据,并且其中,增量机器学习模型是其学习能够通过增量机器学习来继续的机器学习模型,所述方法包括以下步骤:
向所述客户端单元中的至少一个客户端单元提供初始增量机器学习模型;
将所述至少一个客户端单元的本地数据划分成多个组;以及
在组之间执行一个或更多个交叉验证操作以获得更新的增量机器学习模型和相关联的性能日志,所述性能日志指示所述更新的增量机器学习模型对所述相应的本地数据表现如何,其中,所述交叉验证操作涉及通过增量机器学习对增量机器学习模型进行连续的进一步训练。
要点23.根据要点22所述的方法,其中,执行的步骤还包括:
通过使用所述组的第一子集通过增量机器学习进一步训练所述增量机器学习模型来确定所述增量机器学习模型的优化超参数集,优选地不对所述第一子集中的组进行排列;
通过针对所述组的与所述第一子集不同的第二子集使用所述优化超参数集测试所得到的增量机器学习模型来生成部分性能日志;
对于所述组中的所述第一子集和所述第二子集的排列重复确定和生成的步骤,其中,通过增量机器学习逐个排列地连续地进一步训练所述增量机器学习模型,以生成更新的增量机器学习模型,并且对于每个排列,生成另外的部分性能日志;以及
基于所述部分性能日志生成性能日志。
要点24.根据要点23所述的方法,其中,确定所述优化超参数集的步骤包括:
对于所述增量机器学习模型的超参数集的第一值集,通过增量机器学习针对所述组的第一子集的第一组进一步训练所述增量机器学习模型;
确定所得到的增量机器学习模型针对所述第一子集的不同于所述第一组的第二组的超参数性能;
重复针对第一组和所述第二组进一步训练和确定对于所述超参数集的另外的值集的超参数性能的步骤;以及
基于所述超参数性能确定所述超参数集的优化值集,以生成相应的优化超参数集。
要点25.一种用于包括多个客户端单元的系统中的客户端特定的联合学习的中央服务器单元,其中,所述客户端单元分别位于不同的本地站点处并且分别包括本地数据,所述中央服务器单元包括:
接口单元,其被配置成与所述客户端单元通信;
计算单元;以及
储存库;
所述计算单元被配置成:
经由所述接口单元向所述客户端单元提供工具集,所述工具集被配置成使得能够从所述工具集导出多种不同类型的机器学习模型;
经由所述接口单元从所述客户端单元接收机器学习模型,所述机器学习模型分别由所述客户端单元从所述工具集导出并且基于所述本地数据训练;
将所接收到的机器学习模型存储在所述储存库中。
要点26.根据要点25所述的中央服务器单元,还包括数据库,在所述数据库中存储有多个未训练且可训练的机器学习算法,其中,所述计算单元还被配置成基于存储在所述数据库中的所述多个机器学习算法来组装所述工具集。
要点27.一种用于包括中央服务器单元和多个客户端单元的系统中的客户端特定的联合学习的计算机实现的方法,其中,所述客户端单元分别位于不同的本地站点处并且分别包括本地数据,所述方法包括以下步骤:
向所述客户端单元中的至少一个客户端单元提供一组(或若干)不同类型的未训练且可训练的机器学习算法,所述算法能够使用机器学习方法利用本地数据进行训练,使得能够从所述机器学习算法创建多个不同类型的机器学习模型;
从所述至少一个客户端单元接收一个或更多个机器学习模型,所述一个或更多个机器学习模型分别由所述至少一个客户端单元从所述机器学习算法创建并基于相应的本地数据训练;以及
将所述一个或更多个机器学习模型存储在所述中央服务器单元中。
要点28.根据要点27所述的方法,还具有以下步骤:
向所述客户端单元中的至少一个客户端单元提供用于生成性能日志的算法,所述性能日志分别指示所述相应的机器学习模型之一对所述相应的本地数据表现如何。
要点29.根据要点27或28所述的方法,其中,所述机器学习算法集被配置成使得能够在所述客户端单元处从中创建至少一个增量机器学习模型,优选地不同类型的增量机器学习模型。
要点30.根据要点27至29所述的方法,其中,所述机器学习算法包括分别具有不同决策边界的多个机器学习算法。
要点31.根据要点27至30所述的方法,还具有以下步骤:
从所述客户端单元中的至少一个客户端单元接收配置数据;以及
根据所述配置数据完善(或选择)所述机器学习算法集。
要点32.一种用于增量机器学习模型的交叉验证方法,所述增量机器学习模型的训练可以通过增量机器学习来继续,所述方法包括以下步骤:
提供用于执行交叉验证的数据;
将所述数据划分成多个组;
定义外部交叉验证循环和与所述外部交叉验证循环嵌套的内部交叉验证循环,使得对于外部循环的每次迭代,执行内部循环的多次迭代;
在所述外部循环的每次迭代中,从所述多个组中选择第一组、不同于所述第一组的第二组以及不同于所述第一组和所述第二组的第三组,使得所述第一组、所述第二组和所述第三组在所述外部循环的迭代中在组之间排列;
在所述外部循环的每次迭代中:
基于所述内部循环的多次迭代,确定所述增量学习机器模型的优化超参数集,其中,所述内部循环的每次迭代使用所述第一组通过增量机器学习进一步训练所述增量机器学习模型,以及使用所述第二组验证所述进一步训练的增量机器学习模型,以确定所述优化超参数集;以及
使用所述第三组指示具有优化超参数的所述相应增量机器学习模型的性能。
Claims (15)
1.一种用于包括中央服务器单元(100)和多个客户端单元(300)的系统中的客户端特定的联合学习的计算机实现的方法,其中,所述客户端单元(300)分别位于不同的本地站点(XA,XB)处并且分别包括本地数据(D(A),D(B)),所述方法包括以下步骤:
向所述客户端单元(300)中的一个或更多个客户端单元(300)提供(S10)工具集(TS),所述工具集(TS)被配置成使得能够在所述一个或更多个客户端单元(300)处从所述工具集(TS)创建多种不同类型的机器学习模型(A,B,Ai,Bi);
从所述一个或更多个客户端单元(300)接收(S20)一个或更多个机器学习模型(A,Ai,B,Bi),所述一个或更多个机器学习模型(A,Ai,B,Bi)分别由所述客户端单元(300)从所述工具集(TS)创建并且基于相应的本地数据(D(A),D(B))训练;以及
将所述一个或更多个机器学习模型(A,Ai,B,Bi)存储(S30)在所述中央服务器单元(100)中。
2.根据权利要求1所述的方法,其中,从所述一个或更多个客户端单元(300)接收的所述一个或更多个机器学习模型(A,Ai,B,Bi)包括一个或更多个增量机器学习模型(Ai,Bi),所述增量机器学习模型(Ai,Bi)的学习能够通过增量机器学习来继续。
3.根据前述权利要求中的任一项所述的方法,其中,所述工具集(TS)包括多个不同的未训练且可训练的机器学习算法,所述机器学习算法能够使用机器学习方法利用本地数据来训练。
4.根据前述权利要求中的任一项所述的方法,还包括以下步骤:
从所述中央服务器单元(100)将一个或更多个跨站点机器学习模型(B,Bi,BixA)下载(S50)至所述客户端单元(300)中的一个或更多个客户端单元(300),所述跨站点机器学习模型(B,Bi,BixA)已经在与其被下载至的所述一个或更多个客户端单元(300)不同的客户端单元(300)处被创建。
5.根据前述权利要求中的任一项所述的方法,还包括以下步骤:
从所述客户端单元(300)中的一个或更多个客户端单元(300)接收(S20)一个或更多个更新的机器学习模型(Ai*,BixA),所述更新的机器学习模型(Ai*,BixA)是由所述一个或更多个客户端单元(300)基于所述一个或更多个客户端单元(300)的相应的本地数据(D(A),D(B))而本地更新的机器学习模型;以及
将所述一个或更多个更新的机器学习模型(Ai*,BixA)存储(S30)在所述中央服务器单元(300)中。
6.根据权利要求5所述的方法,还包括以下步骤:
将所述一个或更多个更新的机器学习模型(Ai*,BixA)下载(S50)至使用相应的一个或更多个更新的机器学习模型(Ai*,BixA)的先前版本的所有客户端单元(300)。
7.根据前述权利要求中的任一项所述的方法,还包括以下步骤:
在所述中央服务器单元(100)处评估(S40)在处理相应的一个或更多个客户端单元(300)的相应的本地数据(D(A),D(B))时所述机器学习模型(A,B,Ai,Bi,Ai*,BixA)中的一个或更多个的性能。
8.根据前述权利要求中的任一项所述的方法,还包括以下步骤:
从所述客户端单元(300)中的至少一个客户端单元(300)接收(S20)一个或更多个性能日志(PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA)),其中,
在相应的客户端单元(300)处本地生成所述一个或更多个性能日志(PL(A)、PL(B)、PL(Ai)、PL(Bi)),
所述一个或更多个性能日志(PL(A)、PL(B)、PL(Ai)、PL(Bi))中的每个性能日志(PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA))对应于在相应的客户端单元(300)处可用的机器学习模型(A,B,Ai,Bi,BixA);以及
所述一个或更多个性能日志(PL(A)、PL(B))中的每个性能日志(PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA))分别指示相应的机器学习模型(A,B,Ai,Bi,BixA)对相应的客户端单元(300)的本地数据(D(A),D(B))表现如何;以及
其中,所述方法还包括以下步骤:
在所述中央服务器单元(100)处基于所接收的相应的一个或更多个性能日志(PL(A)、PL(B)、PL(Ai)、PL(Bi)、PL(BixA))评估(S40)所述一个或更多个机器学习模型(A,B,Ai,Bi,BixA)的性能。
9.根据权利要求7或8所述的方法,还包括以下步骤中的至少一个步骤:
基于评估的步骤,确定在相应的客户端单元(300)处是否本地部署机器学习模型(A,B,Ai,Bi,BixA);和/或
基于评估的步骤,确定在相应的客户端单元(300)处是否本地更新所述机器学习模型(A,B,Ai,Bi,BixA)中的一个或更多个,以生成相应的更新的机器学习模型(Ai*),并启动相应的更新;和/或
基于评估的步骤,确定是否将一个或更多个跨站点机器学习模型(A,B,Ai,Bi,BixA)从所述中央服务器单元下载至所述客户端单元(300)中的一个或更多个客户端单元(300),所述跨站点机器学习模型已经在与其被下载至的所述一个或更多个客户端单元(300)不同的客户端单元(300)处被训练;和/或
基于评估的步骤,对在客户端单元(300)处可用的多个机器学习模型(A,B,Ai,Bi,BixA)进行比较;和/或
基于评估的步骤,确定所述客户端单元(300)中的一个或更多个客户端单元(300)的本地数据(D(A),D(B))的值。
10.根据前述权利要求中的任一项所述的方法,还包括以下步骤:
向所述客户端单元(300)中的至少一个客户端单元(300)提供(S50,C50)增量机器学习模型(Ai,Bi),所述增量机器学习模型(Ai,Bi)的学习可以通过增量机器学习来继续;
将所述至少一个客户端单元(300)的本地数据(D(A),D(B))划分(M10)成多个组;以及
在所述组之间对所述增量机器学习模型(Ai,Bi)执行(M20,M30,M40)一个或更多个交叉验证操作,以获得(M50,M60)更新的增量机器学习模型(Ai*,Bi*,BixA)和相关联的性能日志(PL(Ai*),PL(Bi*),PL(BixA)),所述相关联的性能日志(PL(Ai*),PL(Bi*),PL(BixA))指示所述更新的增量机器学习模型(Ai*,Bi*,BixA)对所述至少一个客户端单元(300)的本地数据(D(A),D(B))表现如何,其中,所述交叉验证操作涉及通过增量机器学习对所述增量机器学习模型(Ai,Bi)进行连续的进一步训练。
11.根据前述权利要求中的任一项所述的方法,还包括以下步骤:
从所述客户端单元(300)中的一个或更多个客户端单元(300)接收(S20)在所述一个或更多个客户端单元(300)处本地生成的一个或更多个配置文件(CF(A),CF(B),CF(Ai),CF(Bi),CF(BixA)),每个配置文件(CF(A),CF(B),CF(Ai),CF(Bi),CF(BixA))分别指示相应的机器学习模型(A,B,Ai,Bi,BixA)在相应的客户端单元处的本地配置;以及
将所述一个或更多个配置文件(CF(A),CF(B),CF(Ai),CF(Bi),CF(BixA))存储(S30)在所述中央服务器单元(100)处。
12.一种用于包括多个客户端单元(300)的系统中的客户端特定的联合学习的中央服务器单元(100),其中,所述客户端单元(300)分别位于不同的本地站点(XA,XB)处并且分别包括本地数据(D(A),D(B)),
所述中央服务器单元(100)包括:
接口单元,其被被配置成与所述客户端单元(300)通信;
计算单元(110);以及
存储单元(120、121、122);
所述计算单元(110)被配置成:
经由所述接口单元向至少一个客户端单元(300)提供工具集(TS),所述工具集(TS)被配置成使得能够在所述客户端单元(300)处使用所述工具集(TS)创建多种不同类型的机器学习模型;
经由所述接口单元从所述至少一个客户端单元(300)接收一个或更多个机器学习模型(A,Ai,B,Bi),所述一个或更多个机器学习模型(A,Ai,B,Bi)分别由所述至少一个客户端单元(300)使用所述工具集(TS)创建并且基于所述本地数据(D(A),D(B))训练;以及
将所接收的一个或更多个机器学习模型(A,Ai,B,Bi)存储在所述存储单元(120、121)中。
13.根据权利要求12所述的中央服务器单元,其中,所述存储单元(120、121)包括来自不同客户端单元(300)的多种不同类型的机器学习模型。
14.一种计算机程序产品,其包括程序元素,当所述程序元素被加载到用于客户端特定的联合学习的系统的计算单元的存储器中时,所述程序元素促使所述计算单元执行根据权利要求1至11中的任一项所述的方法的步骤。
15.一种计算机可读介质,其上存储有程序元素,所述程序元素能够由用于客户端特定的联合学习的系统的计算单元读取和执行,以在所述程序元素由所述计算单元执行时执行根据权利要求1至11中的任一项所述的方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19200147.7 | 2019-09-27 | ||
EP19200147.7A EP3798934A1 (en) | 2019-09-27 | 2019-09-27 | Method and system for scalable and decentralized incremental machine learning which protects data privacy |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112580815A true CN112580815A (zh) | 2021-03-30 |
Family
ID=68084629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011017716.4A Pending CN112580815A (zh) | 2019-09-27 | 2020-09-24 | 用于可扩展和去中心化增量机器学习的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210097439A1 (zh) |
EP (1) | EP3798934A1 (zh) |
CN (1) | CN112580815A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569947A (zh) * | 2021-07-27 | 2021-10-29 | 合肥阳光智维科技有限公司 | 电弧检测方法和系统 |
TWI822290B (zh) * | 2021-12-21 | 2023-11-11 | 美商萬國商業機器公司 | 相關於用於訓練機器學習模型之聯合學習之電腦實施方法、電腦系統及電腦程式產品 |
WO2024046283A1 (zh) * | 2022-08-30 | 2024-03-07 | 华为技术有限公司 | 任务调度方法、模型生成方法、以及电子设备 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11544625B2 (en) * | 2020-02-03 | 2023-01-03 | Microsoft Technology Licensing, Llc | Computing system for training, deploying, executing, and updating machine learning models |
WO2022076855A1 (en) * | 2020-10-09 | 2022-04-14 | AquaSys LLC | Anonymous training of a learning model |
CN113807538B (zh) * | 2021-04-09 | 2024-02-06 | 京东科技控股股份有限公司 | 联邦学习方法、装置、电子设备及存储介质 |
WO2022261477A1 (en) * | 2021-06-11 | 2022-12-15 | Iterate Studio, Inc. | Data pipeline and access across multiple machine learned models |
EP4113535A1 (en) | 2021-06-29 | 2023-01-04 | Siemens Healthcare GmbH | Remote monitoring methods and systems for monitoring patients suffering from chronical inflammatory diseases |
JP7291177B2 (ja) * | 2021-07-12 | 2023-06-14 | ヤフー株式会社 | 端末装置、情報処理方法及び情報処理プログラム |
CN113672352A (zh) * | 2021-08-23 | 2021-11-19 | 支付宝(杭州)信息技术有限公司 | 一种基于容器部署联邦学习任务的方法及装置 |
CN115827337A (zh) * | 2021-09-10 | 2023-03-21 | 华为技术有限公司 | 一种模型测试方法及装置 |
CN114401079B (zh) * | 2022-03-25 | 2022-06-14 | 腾讯科技(深圳)有限公司 | 多方联合信息价值计算方法、相关设备及存储介质 |
CN114863169B (zh) * | 2022-04-27 | 2023-05-02 | 电子科技大学 | 一种结合并行集成学习和联邦学习的图像分类方法 |
CN115017548B (zh) * | 2022-08-04 | 2022-11-08 | 湖南工商大学 | 数据定价方法、装置及相关设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2545121A1 (en) * | 2005-04-28 | 2006-10-28 | General Electric Company | Method and system for performing multi-objective predictive modeling, monitoring, and update for an asset |
US20150193697A1 (en) * | 2014-01-06 | 2015-07-09 | Cisco Technology, Inc. | Cross-validation of a learning machine model across network devices |
US20150332165A1 (en) * | 2014-05-14 | 2015-11-19 | Cisco Technology, Inc. | Hierarchical hybrid batch-incremental learning |
CN107871160A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 通信高效联合学习 |
US20180314981A1 (en) * | 2017-04-28 | 2018-11-01 | Cisco Technology, Inc. | Data sovereignty compliant machine learning |
WO2018218155A1 (en) * | 2017-05-26 | 2018-11-29 | Google Llc | Machine-learned model system |
KR101929965B1 (ko) * | 2017-11-01 | 2018-12-17 | 가천대학교 산학협력단 | Relm과 pca 특징을 이용한 구조적 mri 영상 기반의 치매 진단 방법 및 그 장치 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10558924B2 (en) * | 2014-05-23 | 2020-02-11 | DataRobot, Inc. | Systems for second-order predictive data analytics, and related methods and apparatus |
US11823067B2 (en) * | 2017-06-27 | 2023-11-21 | Hcl Technologies Limited | System and method for tuning and deploying an analytical model over a target eco-system |
US11244242B2 (en) * | 2018-09-07 | 2022-02-08 | Intel Corporation | Technologies for distributing gradient descent computation in a heterogeneous multi-access edge computing (MEC) networks |
US20200265301A1 (en) * | 2019-02-15 | 2020-08-20 | Microsoft Technology Licensing, Llc | Incremental training of machine learning tools |
-
2019
- 2019-09-27 EP EP19200147.7A patent/EP3798934A1/en active Pending
-
2020
- 2020-09-17 US US17/023,458 patent/US20210097439A1/en active Pending
- 2020-09-24 CN CN202011017716.4A patent/CN112580815A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2545121A1 (en) * | 2005-04-28 | 2006-10-28 | General Electric Company | Method and system for performing multi-objective predictive modeling, monitoring, and update for an asset |
US20150193697A1 (en) * | 2014-01-06 | 2015-07-09 | Cisco Technology, Inc. | Cross-validation of a learning machine model across network devices |
US20150332165A1 (en) * | 2014-05-14 | 2015-11-19 | Cisco Technology, Inc. | Hierarchical hybrid batch-incremental learning |
CN107871160A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 通信高效联合学习 |
US20180314981A1 (en) * | 2017-04-28 | 2018-11-01 | Cisco Technology, Inc. | Data sovereignty compliant machine learning |
WO2018218155A1 (en) * | 2017-05-26 | 2018-11-29 | Google Llc | Machine-learned model system |
KR101929965B1 (ko) * | 2017-11-01 | 2018-12-17 | 가천대학교 산학협력단 | Relm과 pca 특징을 이용한 구조적 mri 영상 기반의 치매 진단 방법 및 그 장치 |
Non-Patent Citations (1)
Title |
---|
"Incremental Machine Learning with Holographic Neural Theory for ATD/ATR", 2006 9TH INTERNATIONAL CONFERENCE ON INFORMATION FUSION FUSION一2006 9TH INTERNATIONAL CONFERENCE ON INFORMATION FUSION, FUSION 2006 INST. OF ELEC. AND ELEC. ENG., pages 1 - 8 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569947A (zh) * | 2021-07-27 | 2021-10-29 | 合肥阳光智维科技有限公司 | 电弧检测方法和系统 |
TWI822290B (zh) * | 2021-12-21 | 2023-11-11 | 美商萬國商業機器公司 | 相關於用於訓練機器學習模型之聯合學習之電腦實施方法、電腦系統及電腦程式產品 |
WO2024046283A1 (zh) * | 2022-08-30 | 2024-03-07 | 华为技术有限公司 | 任务调度方法、模型生成方法、以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20210097439A1 (en) | 2021-04-01 |
EP3798934A1 (en) | 2021-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112580815A (zh) | 用于可扩展和去中心化增量机器学习的方法和系统 | |
Barricelli et al. | Human digital twin for fitness management | |
US10438354B2 (en) | Deep learning medical systems and methods for medical procedures | |
US10628943B2 (en) | Deep learning medical systems and methods for image acquisition | |
JP6626224B2 (ja) | センサデータを使用して、ターゲットシステムの機能性をモデル化することによってターゲットシステムにおける制御を支援すること | |
US11507822B2 (en) | Scalable artificial intelligence model generation systems and methods for healthcare | |
US20180144244A1 (en) | Distributed clinical workflow training of deep learning neural networks | |
US20220414464A1 (en) | Method and server for federated machine learning | |
US10650928B1 (en) | Computer network architecture for a pipeline of models for healthcare outcomes with machine learning and artificial intelligence | |
US11003988B2 (en) | Hardware system design improvement using deep learning algorithms | |
CN111126574B (zh) | 基于内镜图像对机器学习模型进行训练的方法、装置和存储介质 | |
US9875142B2 (en) | System and method for efficient task scheduling in heterogeneous, distributed compute infrastructures via pervasive diagnosis | |
US20200160207A1 (en) | Automated model update based on model deterioration | |
EP3599616A1 (en) | System and method for providing a medical data structure for a patient | |
Alexandridis et al. | A medical diagnostic tool based on radial basis function classifiers and evolutionary simulated annealing | |
WO2020046261A1 (en) | Systematic prognostic analysis with dynamic causal model | |
DK1534122T3 (en) | MEDICAL DECISION SUPPORTING SYSTEMS USING GENEPRESSION AND CLINICAL INFORMATION, AND METHOD OF USE | |
US20160364545A1 (en) | Expansion And Contraction Around Physiological Time-Series Trajectory For Current And Future Patient Condition Determination | |
JP2017504087A (ja) | コンピュータ化された臨床診断支援のための階層的自己学習システム | |
JP2018032394A (ja) | 階層データに基づくデバイス制御 | |
US20200327379A1 (en) | Fastestimator healthcare ai framework | |
Zhou et al. | Estimating uncertainty intervals from collaborating networks | |
CN112116999A (zh) | 用于提供用于处理医学数据的聚合算法的方法和用于处理医学数据的方法 | |
WO2021059604A1 (ja) | 機械学習システムおよび方法、統合サーバ、情報処理装置、プログラムならびに推論モデルの作成方法 | |
EP4160488A1 (en) | Adaptive aggregation for federated learning |
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 |