使用分布式分类账提供可解释的机器学习模型结果的制作方法
未命名
08-17
阅读:93
评论:0
使用分布式分类账提供可解释的机器学习模型结果
背景技术:
1.本公开总体上涉及提供可解释的机器学习模型结果。本公开具体涉及在机器学习模型的成熟期间提供可解释的机器学习模型结果。
2.机器正在变得智能化。这些机器通过无形接口(能够以自然语言与人类通信的认知设备)并且还通过有形接口(机器人或其他有形接口)以智能的方式为人类服务。认知接口具有机器智能并且具有处理输入数据的能力并且还能够从资源获得附加信息以用于与其他设备通信的更适当的处理。
3.现代复杂的人工智能(ai)技术(如深度学习和基因算法)是自然不透明的。ai系统主动依赖于训练语料库并且从其学习以更自然的方式判断。这种正在进行的学习基于更多相关联的学习和历史而逐日地改善ai系统的性能。有时,ai系统由于机器学习(ml)模型的复杂性而学习不期望的分类路径。这些不期望的分类路径导致ai结果的可解释性问题。
4.对于黑盒型ml模型,利益相关者不能解释为什么ai得出特定决定。因此,几乎没有数据证明ai系统生成的信息和结果是合理的。可解释的ai(xai)是指人工智能技术(ai)的应用中的方法和技术,使得模型的结果可以由人类专家解释和理解。xai提供了ml模型结果的可解读性和可解释性。xai模型生成许多元数据来提供必要的解释和证据(可以手动验证)以向终端用户提供ml模型结果中的期望置信水平。xai给出解释每个输入因子如何贡献于模型预测的最终结果的分数。这支持“安全ai”概念,通过该概念,人类可以看到在ai ml模型内决定什么。不提供这种解释的ml模型可能不适用于商业关键决策。
5.在典型的ml模型中,生成输出或输出集合的主要贡献者是用于训练模型的语料库。当模型处理数据时,其生成结果并将与结果相关联的元数据映射器对象附加到训练语料库。这些元数据映射器对象包括在第一组输出的生成期间导出的信息。随着ml模型学习得更多,它变得更成熟,因为元数据回填到作为当前和先前运行的副产品生成的训练语料库。
6.ml模型的逐日成熟影响由使用ml模型的进化索引导出的ml模型生成的输出。因此,同一输入数据集可以基于ml模型的成熟在不同时间生成不同输出。此外,由于正在成熟的模型的改变,在一段时间之后可能不存在追溯地验证或解释来自ml模型的输出的手段。
7.作为示例,不存在能够验证和解释一旦ml模型已经成熟并且改变其状态则来自ml模型的先前结果如何满足反歧视规章的机制。ml模型的动态状态基于模型的训练语料库的演进而改变。因此,当未以适当方式保存ml模型决策时,在时间过去之后没有办法对这些决策进行审核。进一步,在相当长的时间段之后无法执行多重验证。存在保存ml模型的中间结果作为测试验证证明的一部分的机制,但是在存在使用公共训练语料库的多个ml模型的情况下,模型结果和训练语料库集合的大小变得不可管理,其中多个ml模型各自生成多个中间结果数据。
技术实现要素:
8.以下呈现发明内容以提供对本公开的一个或多个实施例的基本理解。本发明内容
并不旨在标识关键或重要元素或者划定特定实施例的任何范围或权利要求的任何范围。其唯一的目的是以简化的形式呈现概念,作为稍后呈现的具体实施方式的序言。在本文所描述的一个或多个实施例中,装置、系统、计算机实现的方法、装置和/或计算机程序产品使得能够提供可解释的和可再现的机器学习模型结果。
9.通过接收用于机器学习模型的输入数据来提供可再现的机器学习模型结果;使用所述机器学习模型来处理所述输入数据;产生初始结果;将第一块添加到分布式分类账,所述块包括所述输入数据、所述初始结果、ml模型数据结构和到所述ml模型的训练数据的链接,其中,所述训练数据驻留在先前的分布式分类账块中;以及提供包括所述初始结果的输出,本发明的各方面公开了与提供可再现机器学习模型结果相关联的方法、系统和计算机可读介质。该方法提供了ml模型变革的分布式不可变跟踪,并且能够审核和验证过去的ml模型结果。
10.通过接收用于机器学习模型的输入数据,使用该机器学习模型来处理该输入数据,产生初始结果,将第一块添加到分布式分类账,所述块包括所述输入数据、所述初始结果、ml模型数据结构和到所述ml模型的训练数据的链接,其中所述训练数据驻留在先前分布式分类账块中,接收与所述输入数据有关的结果验证请求,从所述第一块检索所述输入数据和ml模型数据结构,使用所述ml模型数据结构处理所述输入数据,产生验证结果,并提供包括所述初始结果和所述验证结果的输出,本发明的各方面公开了与提供可再现机器学习模型结果相关联的方法、系统和计算机可读介质。该方法提供了ml模型变革的分布式不可变跟踪,并且能够审核和验证过去的ml模型结果。
11.通过接收用于机器学习模型的输入数据来提供可再现的机器学习模型结果,使用该机器学习模型来处理该输入数据,产生初始结果,确定与所述初始结果相关联的ml模型解释,将第一块添加到分布式分类账,所述块包括所述输入数据,所述初始结果,所述ml模型解释、ml模型数据结构以及到用于所述ml模型的训练数据的链接,其中所述训练数据驻留在先前的分布式分类账块中,并且提供包括所述初始结果和所述ml模型解释的输出,本发明的各方面公开了与提供可再现机器学习模型结果相关联的方法、系统和计算机可读介质。该方法提供了ml模型变革的分布式不可变跟踪,并且能够解释、审核和验证过去的ml模型结果。
12.通过接收针对机器学习模型的输入数据来提供可再现的机器学习模型结果,使用该机器学习模型来处理该输入数据,产生初始结果,将第一块添加到分布式分类账,所述块包括所述输入数据、所述初始结果、ml模型数据结构和到所述ml模型的训练数据的链接,其中所述训练数据驻留在先前的分布式分类账块中,提供包括所述初始结果的输出,使用所述输入数据和结果更新所述ml模型,产生新ml模型版本,以及将第二块添加到所述分布式分类账,其中所述第二块包括与所述新ml模型版本、所述输入数据、所述初始结果、所述ml模型数据结构关联的标签,以及到先前版本ml模型的训练数据的链接,本发明的各方面公开了与提供可再现机器学习模型结果相关联的方法、系统和计算机可读介质。该方法提供了ml模型变革的分布式不可变跟踪,并且能够审核和验证过去的ml模型结果。
附图说明
13.结合附图,通过对本公开的一些实施例的更详细描述,本公开的上述和其他目的、
特征和优点将变得更加明显,其中,在本公开的实施例中相同的参考标号通常指代相同的部件。
14.图1提供了根据本发明的实施例的计算环境的示意图。
15.图2提供了描绘根据本发明的实施例的操作序列的流程图。
16.图3提供了根据本发明的实施例的数据流的示意图。
17.图4描绘了根据本发明的实施例的云计算环境。
18.图5描绘了根据本发明的实施例的抽象模型层。
具体实施方式
19.将参考附图更详细地描述一些实施例,在附图中展示了本公开的实施例。然而,本公开可以以各种方式实施,并且因此不应被解释为局限于本文中公开的实施方式。
20.所公开的实施例解决了机器学习模型结果的可解释性和再现性的问题。实施例使得能够重新生成在模型的早期实现期间产生的结果,并且提供验证基于时间的ml模型输出的机制。所公开的实施例包括作为中间组件之一的区块链分类账。在从诸如与ml模型相关联的静态和动态计算平台的不同实体接收输入数据之后,所公开的实施例在区块链分类账上创建块并且生成与分类账中的现有块的适当链接。所公开的实施例包括借助于区块链分类账的生产者-消费者架构,其中参与ml模型计算的实体是区块链利益相关者。
21.在为给定的问题集合和输入信息计算ml模型输出时,实现方式中的生产者引擎在分布式分类账上创建块并且用生产信号来更新ml模型。响应于此,ml模型中实现的消费者守护进程机制从分类账收集相关联的训练语料库数据、或先前的ml模型版本和节点权重,并且训练的ml模型被应用于输入数据。消费者对参与计算的相应利益相关者具有清楚的理解。与分类账和ml模型相关联的消费者守护进程将中间结果写入到分类账。许多ml模型实现面向通过的架构,其中多个中间数据结构被生成并发布到分类账。
22.在实施例中,ml模型创建针对中间结果的在分类账架构上的块,标记所有参与者相关方,并且保存与当前ml版本相关联的数据和与当前输入相关联的输出。当输入的利益相关者数据被直接写入到分类账以用于消费者处理时,训练语料库数据是从ml模型的先前运行期间创建的现有块中收集的。在获取训练语料库时,ml模型收集标记或数据位置链接(加标签数据)以及实际训练语料库数据集。所公开的实施例创建新ml模型版本数据结构,并且在保留对象中较旧的链接的同时更新ml模型历史。到较老的训练语料库标记的链接的这种保留给予标记语料库反向可追溯性,使得能够在必要或请求时重新创建ml模型。
23.当任何ml模型需要在成熟指数改变之后进行验证时,所公开的实施例利用再现性的特殊标记(flag),该标记在ml模型的消费者实例处激活认知系统的再现性。ml模型处的消费者守护程序在分类账上选择加标签的训练语料库数据并且相应地遍历相关联的基于时间的利益相关者输入数据。一旦收集了该输入数据,所公开的实施例通过遍历分类账标记数据结构并基于先前运行的执行时间跟踪链接来提取训练语料库。消费者/用户和生产者守护程序指的是所公开的方法的实用程序部分。这些实用程序部分分别为消费者/用户和生产者执行所公开的方法活动。这些步骤包括生成/签署与输入和输出相关联的分类账条目,生成/签署包括相关分类账条目的块,请求输出验证以及检索和使用执行验证/审核所必需的ml模型组件。
24.可以使用用于输出原始结果的完全相同的训练语料库和ml模型数据结构来验证ml模型结果、分类账中的审计踪迹和ml模型的解释。在来自数据模型的报告/输出的每个置信水平下,所公开的方法调用解释模块。该模块在区块链上创建块以更新模型的当前状态以及相关联的解释。在提供决策/输出之后,为决策创建使用的所有数据源的审计跟踪、使用的ml模型的数据结构、ml模型训练语料库以及中途置信度解释等。所公开的方法使用智能合同或手动控制来连续校正模型并创建此类调整的审计跟踪。
25.在实施例中,系统的一个或多个组件可以采用硬件和/或软件来解决本质上高度技术的问题(例如,使用经训练的机器学习模型来处理输入数据,将块添加到分布式分类账,该块包括输入数据、机器学习模型数据结构、中间模型结果、模型解释、以及对分布式分类账中的训练语料库位置进行建模的标签,提供模型处理结果等)。这些解决方案不是抽象的,并且由于例如便于可再现和可解释的机器学习模型结果所需的处理能力,这些解决方案不能作为人类的一组精神行为来执行。进一步,所执行的处理中的一些可以由专用计算机执行,以用于执行与可解释的和可再现的机器学习模型结果相关的定义的任务。例如,可以采用专用计算机来执行与可再现和可解释的机器学习模型结果相关的任务,所述可再现和可解释的机器学习模型结果对参与的利益相关者等可跨越分布式分类账而访问到。
26.在实施例中,用于ai数据管理和解释性的方法接收输入数据。输入数据涉及经训练的机器学习模型的预期使用,例如基于模型的当前节点权重和输入数据的处理的通过-失败分类。用户输入数据作为链接用户、数据和生产者的数字签名的分类账条目。分类账条目包括用户的数字签名以及用户和生产商的公钥。在实施例中,生产者接收来自用户的输入数据。在该实施例中,生产者创建分类账条目并对分类账条目进行签名。
27.分类账条目包括输入数据、用户的公钥、生产商的公钥和生产商的数字签名。分类账条目可以包括用户、生产者或用户和生产者二者的标识数据。该方法使用经训练的模型来处理输入数据并且产生结果——诸如输入数据的通过或失败分类。作为示例,简单线性回归模型接收作为输入提供的数据集,并且生成包括输入记录的属性的输出。来自模型的输入数据和输出被一起捕获作为提交的分类账条目,所述分类账条目由区块链用户一致验证,并且随后被添加到区块链的新块。在将所提交的分类账条目添加到分类账之前,使用数字签名和可用公钥对所提交的分类账条目进行基于共识的认证,并且区块链保持分类账的完整性。
28.在确定输入数据的结果之后,该方法为分布式分类账创建新块,如区块链。该区块链可以是私有的区块链分类账,其中参与者的身份彼此已知,或更公共的分布式分类账,其中参与者的身份被屏蔽。可以使用开源hyperledger或ethereum区块链脚本平台或其他区块链平台来创建区块链。(注意:术语“hyperledger”和“ethereum”可以受制于全世界的不同司法管辖区中的商标权,并且本文仅用于参考由标记适当命名的产品或服务来使用到这样的商标权可能存在的程度。)
29.每个参与者具有标识(id)、公钥-私钥对、和数字签名。参与者的数字签名可基于公-私密钥对。id可包括参与者的公钥。id和数字签名的组合可用于认证任何交易。在实施例中,每个交易携带交易id、发起方id和发起方的数字签名,该数字签名使用发起方的私钥和交易id来编码。然后,发起方id或发起方公钥可用于从认证交易来源的数字签名中解密交易id。
30.公钥-私钥对的使用使参与者能够对使用数字签名制作和签名的分类账的条目进行验证,如由用户签名的输入数据分类账条目和由生产者签名的ml模型结果条目。条目可在不知道发起方的身份的情况下被验证。在实施例中,每个块的大小是预定的。当达到预定大小限制时,创建结合先前块的散列的新块。在该实施例中,该方法在处理期间利用每个结果创建新块。该方法针对每个中间结果创建块以及针对处理的最终结果创建块。
31.在一个实施例中,该方法为每个中间结果创建分类账条目,并且在确定最终结果之后创建新块。所创建的块包括用户的标识、中间和/或最终结果、以及用于实现结果的机器学习模型的版本或数据结构——如用于模型的节点权重的当前矩阵。该块还包括一个或多个标签。每个标签提供关于用作用于机器学习模型的当前版本的训练语料库的数据的位置的信息。标签指向其中存储训练语料库数据的分布式分类账的先前块。该块还包括链接当前结果的利益相关者的一个或多个分类账条目,诸如提供输入数据的用户实体和持有ml模型并将确定的结果用于涉及用户实体的决策的生产者实体。分类账条目包括智能合同条目。智能合同使得用户和生产者中的每一个能够使用机器学习模型的适当版本来验证和再现结果。在实施例中,智能合同进一步使得能够使用从分类账的先前块检索的标记的训练语料库数据来重建或重新训练机器学习模型。智能合同可以包括生成先前结果的验证必须满足的条件。此类条件可包括来自生产者和用户中的每一者的协定以产生验证结果。
32.在实施例中,该方法至少针对该最终结果并且在一些实施例中针对每个中间ml模型结果以及该最终结果生成xai解释。该方法使用xai方法产生xai解释。xai解释提供关于相对于确定结果的每条输入数据的相对权重的信息,由此解释每条输入数据对结果具有的效果。例如,对于包括n个数据点的输入数据集合,xai解释指示n个数据点中的每数据点对结果是否积极或消极地贡献,对于过去结果,每个数据点是否添加到从确定减损的过去结果的确定。xai解释进一步包括来自最高加权和对最低加权最有影响力和最低影响力的n个数据点的集合的相对加权。在该实施例中,该方法进一步包括在为结果创建的块中的xai解释数据。
33.在实施例中,每个创建的块包括从该分类账的所有先前块得到的散列值。在该实施例中,该方法使用诸如sha-256之类的散列函数来从先前块生成散列值。在该实施例中,使用生产者的基于私钥的数字签名来对块进行签名。块的一致验证通过用户和其他参与者使用产生者的公钥验证数字签名而发生。
34.在实施例中,该方法提供用户和生产者所确定的结果作为输出。该方法还可以为用户和生产者提供存储他们的结果确定交易的分类账条目和块的指示。
35.随着时间的推移,并且跨越大量结果的生成,数据结构(如ml模型节点权重)演变。该方法添加输入数据和确定结果的每个组合以扩展模型的训练语料库。随着训练语料库的扩展,模型数据结构演进,并且模型的新版本被创建。在实施例中,该方法用包括模型版本号和相关数据结构的分类账条目的创建块来存储每个新版本。条目还包括用于得出新数据结构的扩展的训练语料库的标签。
36.在ml模型数据结构的演进或成熟之后,该方法向区块链添加存储训练语料库和ml模型数据结构的演进的适当分类账条目和块。该添加之后,用户、生产者或其他利益相关者可寻求再现和验证先前结果。随着模型版本和数据结构已经演进,再现先前的结果需要使用最初使用的模型版本而不是当前版本。由于通过相关分类账条目与期望结果相关联的利
益相关者,用户、生产者或其他相关联的利益相关者可以请求对结果的验证和再现。发出请求的利益相关者提交用他们的数字签名签名的请求。在实施例中,该方法使用利益相关者的公钥来验证请求的数字签名。
37.在验证签名之后,该方法从区块链的块中检索与验证请求相关的数据。该方法从适当的块中检索相关的用户输入数据、模型版本和数据结构、训练语料库链接、原始中间和最终结果以及相关的xai解释,以便完成验证请求。完成验证请求包括使用ml模型数据结构重新处理输入数据,产生验证中间和最终结果。然后,该方法将原始和验证中间与最终结果进行比较。在实施例中,该方法进一步比较原始和验证xai解释。原始和验证结果以及xai解释应当与使用原始、ml版本和数据结构来处理原始输入数据的方法相同。该方法向验证请求者提供原始和验证结果。
38.在实施例中,该方法根据所检索的模型数据结构使用该模型来处理所检索的输入数据,并且验证所检索的ml模型确定相同的(多个)结果和(多个)相同解释。在实施例中,该方法进一步使用标签检索训练语料库数据。在该实施例中,该方法使用检索的训练语料库重新创建ml模型以验证训练语料库产生与检索的模型版本相关联的检索的ml模型数据结构。该方法将所请求的结果验证的输出提供给验证的请求者。在实施例中,该方法创建分类账条目,所述分类账条目记录用于验证的请求和相关联的输出以及验证的结果-重复的结果,或不重复的验证失败的结果。在实施例中,该方法向与结果相关联的所有利益相关者提供对验证请求的通知以及所请求的验证的输出。在这个实施例中,所有方法步骤都被存储在合并到下一个新块中的相关联的分类账条目中。
39.所公开的实施例使得能够对ml模型结果进行审计、验证和复制,作为满足与使用ml模型用于做出通过-失败决定或其他用途相关的监管要求的手段。所公开的实施例提供用于通过ml模型数据结构确定初始结果的ml模型的副本,提供使用原始数据语料库重建ml模型数据结构以验证训练的手段,并且提供对模型决策的xai解释以满足关于ml模型透明度的监管要求。
40.在实施例中,生产者可以手动地干预模型结果的确定,例如将模型确定从失败转移到通过。这样的干预需要来自生产者的用于干预的适当数字签名。本文实施例中,所述方法使用产生者的公钥验证数字签名,作出所请求改变且跟踪手动干预及其对模型的数据结构的影响。该方法在记录了结果的手动干预和改变的分类账条目中将该效果存储为模型的新版本。该方法创建捕获与干预相关联的分类账条目的新块。该方法将标签添加到手动结果作为模型的该版本以及所有后续版本的训练语料库的一部分。在实施例中,该方法将标签添加到与干预相关联的分类账条目。
41.在实施例中,该方法使用手动干预结果和相关联的输入数据来重新训练ml模型,从而产生ml模型的修改版本和相关联的修改数据结构。该方法标记新ml版本,并且存储新版本、数据结构和训练语料库,包括有效地标记的输入数据-输入数据和手动干预结果。该方法生成新分类账条目和相关的新块,该新块包括新版本、输入数据、手动干预结果标签、版本标签、手动干预的指示等。生产者对新块进行签名,并且基于签名提交该新块以用于一致性验证。
42.在一个实施例中,该方法包括用于所述方法利益相关者提供输入数据、提交审计或验证请求并且从所述模型接收输出数据的一个或多个应用程序接口(api)。api将利益相
关者链接到分类账和使用模型和训练语料库建立的状态机。api为用户输入数据和生产者直接/手动干预数据提供路径到状态机。api提供了用于生成存储模型结果的新分类账条目和新块以及标记先前块中的模型训练语料库数据位置的装置。api进一步使得能够生成将利益相关者链接到其共同结果的分类账条目智能合同。
43.图1提供了与实践所公开的发明相关联的示范性网络资源的示意图。本发明可以在处理指令流的任何公开的元件的处理器中实践。如图所示,联网的客户端设备110无线地连接到服务器子系统102。客户端设备104经由网络114无线地连接到服务器子系统102。客户端设备104和110包括与公开的实施例相关联的应用程序接口(未示出)以及执行程序的足够的计算资源(处理器、存储器、网络通信硬件)。
44.在实施例中,客户端设备104和110包括与所公开的系统和方法相关联的用户和生产者。用户和生产者经由网络114连接以提供输入数据,使用ml模型生成结果并且向区块链创建、验证和添加块。
45.如图1所示,服务器子系统102包括服务器计算机150。图1示出了根据本发明实施例的联网计算机系统1000内的服务器计算机150的部件的框图。应当理解,图1仅提供一个实现方式的图示并且不暗示关于其中可以实现不同实施例的环境的任何限制。可以对所描绘的环境做出许多修改。
46.服务器计算机150可以包括处理器154、存储器158、持久性存储器170、通信单元152、输入/输出(i/o)接口156和通信结构140。通信结构140提供高速缓存器162、存储器158、持久性存储器170、通信单元152和输入/输出(i/o)接口156之间的通信。通信结构140可用设计用于在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其他硬件组件之间传递数据和/或控制信息的任何架构来实现。例如,通信结构140可用一个或多个总线实现。
47.存储器158和持久性存储装置170是计算机可读存储介质。在该实施例中,存储器158包括随机存取存储器(ram)160。通常,存储器158可包括任何合适的易失性或非易失性计算机可读存储介质。高速缓存器162是快速存储器,其通过保存来自存储器158的最近访问的数据和最近访问的数据附近的数据来增强处理器154的性能。
48.将用于实施本发明的各实施例的程序指令和数据(例如,数据管理和xai程序175)存储在持久性存储器170中以供服务器计算机150的相应处理器154中的一个或多个经由高速缓存器162执行和/或访问。在该实施例中,永久性贮存器170包括磁性硬盘驱动器。作为磁硬盘驱动器的替代或补充,永久性贮存器170可包括固态硬盘驱动器、半导体存储设备、只读存储器(rom)、可擦可编程只读存储器(eprom)、闪存、或能够存储程序指令或数字信息的任何其他计算机可读存储介质。
49.持久性存储器170所使用的介质还可以是可移除的。例如,可移动硬盘驱动器可以用于持久性存储器170。其他示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便转移到另计算机可读存储介质(其也是持久性存储器170的一部分)上。
50.在这些示例中,通信单元152提供与其他数据处理系统或设备的通信,包括客户端计算设备104和110的资源。在这些示例中,通信单元152包括一个或多个网络接口卡。通信单元152可通过使用物理和无线通信链路中的任一者或两者提供通信。软件分发程序以及用于实现本发明的其他程序和数据可以通过通信单元152下载到服务器计算机150的永久
性存储器170中。
51.i/o接口156允许与可以连接至服务器计算机150的其他设备进行数据的输入和输出。例如,i/o接口156可提供至外部设备190(诸如键盘、小键盘、触摸屏、麦克风、数码相机和/或一些其他合适的输入设备)的连接。(一个或多个)外部设备190还可包括便携式计算机可读存储介质,诸如例如拇指驱动器、便携式光盘或磁盘、以及存储卡。用于实践本发明的实施例的软件和数据(例如,服务器计算机150上的数据管理和xai程序175)可存储在这种便携式计算机可读存储介质上并且可经由i/o接口156加载到持久性存储器170上。i/o接口156还连接到显示器180。
52.显示器180提供用于向用户显示数据的机构并且可以是例如计算机监视器。显示器180还可用作触摸屏,诸如平板计算机的显示器。
53.图2提供了流程图200,示出了与本公开的实践相关联的示范性活动。在程序启动之后,在框210,xai数据管理程序175接收输入数据。输入数据可以通过api从诸如用户或生产商之类的利益相关者传递到程序。输入数据可以作为由数据提供者数字签名的并且包括用于所有利益相关者的公钥的分类账条目被传递到相关联的交易。
54.在框220,xai数据管理程序175的方法使用经训练的ml模型来处理来自分类账条目的输入数据。ml模型包括在模型的训练期间使用数据的训练语料库得出的数据结构。ml模型包括模型版本指示符。处理输入数据产生与输入数据相关联的一个或多个结果,诸如与用户和生产者之间的底层交易相关联的一个或多个通过-失败结果。结果可以包括针对最终结果的xai解释以及在ml模型对输入数据的处理期间生成的任何中间结果。xai解释使人类能够理解并解释作为模型输出而提供的结果。在实施例中,xai结果包括用于确定结果的输入数据的相对权重。
55.在框230,xai数据管理程序175的方法将分类账条目添加到分布式分类账。分类账条目包括对处理事件的利益相关者的标识以及阐述利益相关者访问结果或请求对结果的审计或其他验证所必需的条件的智能合同条款。附加分类账条目包括包含输入数据的发源分类账条目,以及包含ml模型版本指示符、ml模型数据结构和标签的条目,所述标签标识ml模型的底层训练语料库和训练语料库数据所在的分布式分类账区块链的块。所述方法进一步产生用于所述区块链的新块。新块包括新分类账条目以及区块链的先前块的散列。生产者使用使用生产者的私钥得出的数字签名来对新块进行签名。该方法在由利益相关者对块进行一致验证之后添加新块。利益相关者使用生产者的公钥来验证新块以验证新块的数字签名。
56.该方法将输入数据和相关联的结果添加到ml模型的训练语料库,并且使用经修改的训练语料库重新训练ml模型。所述方法记录ml模型的新版本和ml模型数据结构的新版本,并且将所述附加训练语料库数据标记为整个训练语料库的一部分。
57.在框240,xai数据管理程序175的方法除了提供对这些结果的xai解释之外还提供包括直接通过-失败类型结果的处理结果。该方法可以向在始发分类账条目中标识的用户、生产者和其他利益相关者的任何组合提供结果。
58.在框250,xai数据管理程序175的方法接收对与先前的结果或输入数据相关联的验证或审计的请求。该请求满足请求在输入数据的分类账条目智能合同中阐述的验证的要求。该方法验证验证请求者的签名,并继续完成验证或审计请求。
59.在框260,xai数据管理程序175的方法从先前添加的块的相关分类账(或多个)条目中检索输入数据、原始结果、xai解释、ml模型版本和相关联的ml数据结构、以及ml模型版本训练数据集位置标签。在框270,该方法基于所检索的数据结构使用ml版本处理输入数据并且确定新的中间和最终结果以及针对那些新结果的xai解释。
60.在框280,该方法向确认的请求者并且在一些情况下向交易的所有其他利益相关者提供包括原始结果和xai解释、以及新结果和xai解释的验证的结果。提供原始和新结果使得验证请求者能够比较两组结果。提供用于原始和新结果的xai解释结果使得能够审计用于确定结果的输入数据的加权。
61.图3提供了根据本发明的实施例的数据流的示意性图解300。如图所示,输入数据作为数字签名的分类账条目325从用户302流向生产者306到分布式分类账状态机320。图1的xai数据管理程序175的方法将分类账条目325传递到ml模型330。ml模型330处理分类账条目325输入数据并返回包括输入数据的分类(诸如通过或失败)的结果,以及返回用于所有中间和最终ml模型结果的xai解释。输出结果以及与输出相关联的利益相关者(用户302、生产者306等)之间的链接与结果的xai解释一起被记录在分类账条目327中。智能合同分类账条目329阐述了利益相关者对结果和解释的访问的条件,以及用于请求利益相关者对结果的验证或审计的条件。ml模型330通过api将结果和xai解释作为输出提供给包括用户302和生产者306的交易利益相关者。
62.xai数据管理程序175的方法为分布式分类账区块链创建新块340并且使用生产者的数字签名对该新块进行签名。新块包括原始分类账条目、结果分类账条目、ml模型数据结构和版本标签、以及智能合同分类账条目。新块被添加到区块链,并且使用生产者的公钥由区块链利益相关者的一致来验证。
63.xai数据管理程序175的方法将输入数据和相关联的结果附加到训练语料库,并且使用附加的训练语料库数据集训练/生成具有经修改的数据结构的新模型版本。生成指示新版本、修订的ml模型数据结构和附加训练集标签的分类账条目,并且创建存储这些分类账条目的另一新块350。如验证先前结果所需要的,模型330读取块340和350中捕捉的块分类账条目325、327和329。
64.所公开的实施例的实现方式可以利用本地或网络计算资源。在实施例中,本地资源连接到边缘云或云资源,以利用通过这种连接可用的附加计算资源。
65.应当理解,尽管本公开包括关于云计算的详细描述,但本文所叙述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
66.云计算是一种服务交付模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以用最小的管理努力或与所述服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
67.特征如下:
68.按需自助服务:云消费者可以根据需要自动地单方面配置计算能力,如服务器时间和网络存储,而不需要与服务的提供商进行人为交互。
69.广泛的网络访问:能力可通过网络获得并且通过促进异构瘦客户机平台或厚客户
机平台(例如,移动电话、膝上计算机、和pda)使用的标准机制访问。
70.资源池:提供者的计算资源被池化以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需要动态地分配和重新分配。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
71.快速弹性:可以快速和弹性地提供能力(在一些情况下,自动地)以快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
72.测量服务:云系统通过在适合于服务类型(例如,存储、处理、带宽、和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
73.服务模型如下:
74.软件即服务(saas):提供给消费者的能力是使用在云基础设施上运行的提供商的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
75.平台即服务(paas):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用程序部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
76.基础设施即服务(iaas):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,该软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
77.部署模型如下:
78.私有云:云基础设施仅针对组织操作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
79.社区云:云基础设施由若干组织共享并且支持已经共享关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
80.公共云:使云基础架构对公众或大型行业群体可用,并且由出售云服务的组织拥有。
81.混合云:云基础设施是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
82.云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
83.现在参见图4,描绘了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如
个人数字助理(pda)或蜂窝电话54a、台式计算机54b、膝上型计算机54c和/或汽车计算机系统54n。节点10可彼此通信。在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合,它们可以物理地或虚拟地分组(未示出)。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图4中所示的计算设备54a-n的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
84.现在参见图5,示出了由云计算环境50(图4)提供的一组功能抽象层。应事先理解,图5中所示的组件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如所描述,提供以下层和对应功能:
85.硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于risc(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
86.虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
87.在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(sla)规划和履行85提供根据sla预期未来需求的云计算资源的预安排和采购。
88.工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;事务处理95;以及数据管理和xai程序175。
89.本发明可以是在任何可能的技术细节集成水平下的系统、方法、和/或计算机程序产品。本发明可以在处理指令流的任何系统(单个或并行)中有益地实践。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
90.计算机可读存储介质可以是可以保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质或计算机可读存储装置本身不应被解释为暂时性信号,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例
如,穿过光纤电缆的光脉冲)或通过电线传输的电信号。
91.本文所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载至相应的计算/处理装置或者下载至外部计算机或外部存储装置。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
92.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如smalltalk、c++等)和过程程序设计语言(诸如“c”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
93.本文参照根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的多个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
94.这些计算机可读程序指令可以被提供给通用计算机、专用计算机、或其他可编程数据处理装置的处理器以产生机器,这样使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读存储介质可以指引计算机、可编程数据处理装置、和/或其他设备以特定方式工作,使得具有共同存储在其中的指令的计算机可读存储介质包括包含实现流程图和/或框图的或多个框中所指定的功能/动作的各方面的指令的制品。
95.这些计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置、或其他设备上,以便使得在该计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实现的过程,从而使得在该计算机、其他可编程装置、或其他设备上执行的指令实现流程图和/或框图的或多个框中所指定的功能/动作。
96.附图中的流程图和框图展示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用
执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
97.说明书中对“一个实施例”、“实施例”、“举例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但每个实施例可以不必包括该特定特征、结构或特性。此外,这样的短语不一定指相同的实施方式。进一步,当结合实施例描述特定特征、结构或特性时,认为结合其他实施例(无论是否明确描述)影响这样的特征、结构或特性在本领域技术人员的知识范围内。
98.本文使用的术语仅是出于描述特定实施例的目的,并且不旨在限制本发明。如本文所使用的,除非上下文另有明确指示,否则单数形式“一个”、“一种”和“该”旨在也包括复数形式。还应当理解,当在本说明书中使用术语“包括(comprises)”和/或“包含(comprising)”时,其指定所述特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组合的存在或添加。
99.已经出于说明的目的呈现了本发明的各个实施例的描述,但这些描述并非旨在是详尽的或限于所公开的实施例。在不背离本发明的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。本文所使用的术语被选择来最好地解释实施例的原理、实际应用、或优于市场中所发现的技术的技术改进、或使得本领域普通技术人员能够理解本文所公开的实施例。
技术特征:
1.一种用于提供可再现机器学习(ml)模型结果的计算机实现的方法,所述方法包括:由一个或多个计算机处理器接收用于ml模型的输入数据;由所述一个或多个计算机处理器使用所述ml模型处理所述输入数据,产生初始结果;由所述一个或多个计算机处理器将第一块添加到分布式分类账,所述第一块包括所述输入数据、所述初始结果、ml模型数据结构、以及到用于所述ml模型的训练数据的链接,其中所述训练数据驻留在先前的分布式分类账块中;以及由所述一个或多个计算机处理器提供包括所述初始结果的输出。2.根据权利要求1所述的计算机实现的方法,进一步包括:由所述一个或多个计算机处理器接收与所述输入数据相关的结果验证请求;由所述一个或多个计算机处理器从所述第一块检索所述输入数据、所述初始结果和所述ml模型数据结构;由所述一个或多个计算机处理器使用所述ml模型数据结构处理所述输入数据,产生验证结果;以及由所述一个或多个计算机处理器提供所述初始结果和所述验证结果作为输出。3.根据权利要求2所述的计算机实施的方法,进一步包括:由所述一个或多个计算机处理器提供ml模型解释作为输出。4.根据权利要求1所述的计算机实现的方法,进一步包括:由所述一个或多个计算机处理器提供ml模型解释作为输出;以及其中,所述第一块进一步包括所述ml模型解释。5.根据权利要求1所述的计算机实现的方法,其中,所述第一块进一步包括ml模型版本标签。6.根据权利要求1所述的计算机实现的方法,进一步包括:由所述一个或多个计算机处理器使用所述输入数据和结果更新所述ml模型,产生新ml模型版本;以及由所述一个或多个计算机处理器将第二块添加到所述分布式分类账,其中所述第二块包括与所述新ml模型版本相关联的标签、所述输入数据、所述初始结果、新ml模型数据结构以及到先前版本ml模型的训练数据的链接。7.根据权利要求1所述的计算机实现的方法,进一步包括由所述一个或多个计算机处理器通过分布式分类账条目链接所述第一块和与所述输入数据相关联的用户,其中,所述分布式分类账条目使得所述用户能够请求对所述初始结果的验证。8.一种用于提供可再现机器学习(ml)模型结果的计算机程序产品,所述计算机程序产品包括一个或多个计算机可读存储设备以及在所述一个或多个计算机可读存储设备上共同存储的程序指令,所述存储的程序指令包括:用于接收ml模型的输入数据的程序指令;用于使用所述ml模型处理所述输入数据,产生初始结果的程序指令;用于将第一块添加到分布式分类账的程序指令,所述第一块包括所述输入数据、所述初始结果、ml模型数据结构以及到用于所述ml模型的训练数据的链接,其中所述训练数据驻留在先前的分布式分类账块中;以及用于提供包括所述初始结果的输出的程序指令。
9.根据权利要求8所述的计算机程序产品,所述存储的程序指令进一步包括:用于接收与所述输入数据相关的结果验证请求的程序指令;用于从所述第一块检索所述输入数据、所述初始结果和所述ml模型数据结构的程序指令;用于使用所述ml模型处理所述输入数据,产生验证结果的程序指令;以及用于提供所述初始结果和所述验证结果作为输出的程序指令。10.根据权利要求9所述的计算机程序产品,所述存储的程序指令进一步包括:用于提供ml模型解释作为输出的程序指令。11.根据权利要求8所述的计算机程序产品,所述存储的程序指令进一步包括:用于提供ml模型解释作为输出的程序指令;以及其中,所述第一块进一步包括所述ml模型解释。12.根据权利要求8所述的计算机程序产品,其中,所述第一块进一步包括ml模型版本标签。13.根据权利要求8所述的计算机程序产品,所述存储的程序指令进一步包括:用于使用所述输入数据和结果更新所述ml模型,产生新ml模型版本的程序指令;以及用于将第二块添加到所述分布式分类账的程序指令,其中所述第二块包括所述新ml模型版本、所述输入数据、所述初始结果、新ml模型数据结构以及到先前版本ml模型的训练数据的链接。14.根据权利要求8所述的计算机程序产品,所述存储的程序指令进一步包括用于通过分布式分类账条目链接所述第一块和与所述输入数据相关联的用户的程序指令,其中所述分布式分类账条目使得所述用户能够请求对所述初始结果的验证。15.一种用于提供可再现机器学习(ml)模型结果的计算机系统,所述计算机系统包括:一个或多个计算机处理器;一个或多个计算机可读存储设备;以及在所述一个或多个计算机可读存储设备上存储的用于由所述一个或多个计算机处理器执行的程序指令,所述存储的程序指令包括:用于接收ml模型的输入数据的程序指令;用于使用所述ml模型处理所述输入数据,产生初始结果的程序指令;用于将第一块添加到分布式分类账的程序指令,所述第一块包括所述输入数据、所述初始结果、ml模型数据结构以及到用于所述ml模型的训练数据的链接,其中所述训练数据驻留在先前的分布式分类账块中;以及用于提供包括所述初始结果的输出的程序指令。16.根据权利要求15所述的计算机系统,所述存储的程序指令进一步包括:用于接收与所述输入数据相关的结果验证请求的程序指令;用于从所述第一块检索所述输入数据、所述初始结果和所述ml模型数据结构的程序指令;用于使用所述ml模型处理所述输入数据,产生验证结果的程序指令;以及用于提供所述初始结果和所述验证结果作为输出的程序指令。17.根据权利要求16所述的计算机系统,所述存储的程序指令进一步包括:
用于提供ml模型解释作为输出的程序指令。18.根据权利要求15所述的计算机系统,所述存储的程序指令进一步包括:用于提供ml模型解释作为输出的程序指令;以及其中,所述第一块进一步包括所述ml模型解释。19.根据权利要求15所述的计算机系统,所述存储的程序指令进一步包括:用于使用所述输入数据和结果更新所述ml模型,产生新ml模型版本的程序指令;以及用于将第二块添加到所述分布式分类账的程序指令,其中所述第二块包括所述新ml模型版本、所述输入数据、所述初始结果、新ml模型数据结构以及到先前版本ml模型的训练数据的链接。20.根据权利要求15所述的计算机系统,所述存储的程序指令进一步包括用于通过分布式分类账条目链接所述第一块和与所述输入数据相关联的用户的程序指令,其中所述分布式分类账条目使得所述用户能够请求对所述初始结果的验证。
技术总结
通过接收机器学习(ML)模型的输入数据、使用ML模型处理输入数据、产生初始结果、向分布式账本添加第一块来提供可再现的机器学习模型结果,该块包括输入数据、初始结果、ML模型数据结构和到ML模型的训练数据的链接,其中所述训练数据驻留在先前的分布式账本块中,并且提供包括初始结果的输出。供包括初始结果的输出。供包括初始结果的输出。
技术研发人员:G
受保护的技术使用者:国际商业机器公司
技术研发日:2021.11.16
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:治疗肺纤维化的方法和组合物与流程 下一篇:组件放置系统和其操作方法与流程
