CN117296064A - 计算环境中的可解释人工智能 - Google Patents
计算环境中的可解释人工智能 Download PDFInfo
- Publication number
- CN117296064A CN117296064A CN202280026232.7A CN202280026232A CN117296064A CN 117296064 A CN117296064 A CN 117296064A CN 202280026232 A CN202280026232 A CN 202280026232A CN 117296064 A CN117296064 A CN 117296064A
- Authority
- CN
- China
- Prior art keywords
- model
- feature
- data
- machine learning
- generating
- 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
- 238000013473 artificial intelligence Methods 0.000 title description 4
- 238000010801 machine learning Methods 0.000 claims abstract description 140
- 238000000034 method Methods 0.000 claims abstract description 115
- 238000012549 training Methods 0.000 claims abstract description 76
- 230000008569 process Effects 0.000 claims abstract description 55
- 230000004044 response Effects 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims description 67
- 230000006870 function Effects 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 16
- 230000001364 causal effect Effects 0.000 claims description 6
- 238000010200 validation analysis Methods 0.000 claims description 3
- 239000012634 fragment Substances 0.000 description 55
- 230000015654 memory Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000013145 classification model Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000003066 decision tree Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000004931 aggregating effect Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 229910003460 diamond Inorganic materials 0.000 description 2
- 239000010432 diamond Substances 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 241000022852 Letis Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/045—Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- 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
- 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
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Machine Translation (AREA)
Abstract
本公开涉及一种查询驱动的机器学习平台,其用于生成特征属性和用于解释机器学习模型的输入和输出之间的所述关系的其他数据。所述平台能够接收用于选择数据,训练机器学习模型并且为所述模型生成模型解释数据的查询语句。所述平台能够响应于处理所选数据的请求来按比例分发用于生成所述模型解释数据的处理,包括具有各种不同特征值的多个记录。用户设备和所述机器学习平台之间的所述界面能够跨各种不同的机器学习模型来精简不同模型可解释性方法的部署。
Description
相关申请的交叉引用
本申请是于2021年6月22日提交的美国专利申请No.17/354,392的继续申请,该申请的公开内容通过引用并入本文。
背景技术
机器学习是人工智能领域,其中数学模型使用训练数据训练以执行定义的任务。模型的数据输入能够包括一个或多个特征值。特征是输入数据的特点,并且特征值是给定输入的特征的特定值。机器学习模型能够使用标记的训练数据并且根据监督学习技术训练。训练数据的每个训练示例利用模型正被训练以预测的输出(诸如预测分类或值)来标记。通过基于输入的标签与由模型为相同输入生成的预测输出之间的差异来更新权重,模型能够被训练以执行特定任务,诸如分类或回归。
可解释AI(“XAI”)是一类人工智能技术,用于解释为什么模型响应于接收到特定输入而生成特定模型输出。特征属性是使用XAI并且测量输入数据中的特定特征值对模型的模型输出值的相对“重要性”生成的分数。
发明内容
本公开涉及一种查询驱动的机器学习平台,其用于生成特征属性和用于解释机器学习模型的输入和输出之间的关系的其他数据。该平台能够接收用于选择数据、训练机器学习模型并且为模型生成模型解释数据的查询语句。该平台能够响应于处理所选数据的请求来按比例分发用于生成模型解释数据的处理,包括具有各种不同特征值的多个记录。用户设备和机器学习平台之间的界面能够跨各种不同的机器学习模型来精简不同模型可解释性方法的部署。
本公开的各方面提供了一种用于生成特征属性和其他模型解释数据的查询驱动计算平台。本文中描述的计算平台能够维护输入数据和模型数据的表,并且能够接收选择存储在平台上的输入和模型数据的查询语句。查询语句能够包括指定不同XAI过程的变化的参数,这些XAI过程被实现为模型可解释性函数并且在平台上可用于生成模型解释数据。模型解释数据能够被用于解释和/或表征模型输入和输出数据之间的关系。由平台接收到的查询语句语法是模型不可知的,从而使平台易于访问以托管数据并且提供查询以生成模型解释数据,而不需要平台上实现的各种模型可解释性函数的专门知识。如本文中提供的,该平台能够通过集成数据选择和处理以创建可解释模型的界面来促进模型调试、特征工程、数据收集和操作员决策。通过模型解释数据的可用性,平台驱动的模型能够以较少的“黑盒”方式操作,而不牺牲用户可访问性或平台上可用的面向用户特征的深度。
此外,该平台是可缩放的。根据本公开的各方面,该平台能够实现在执行接收到的查询语句所需的持续时间内维护本地服务器的处理碎片(shard)。本地服务器能够根据各种不同的指定模型可解释性函数处理传入数据,这些模型可解释性函数能够是用户选择的,或者能够基于作为输入接收到的机器学习模型的类型自动提供。该平台能够以分布式和并行的方式提供查询响应,即使所选数据由可能具有数百万特征值的许多表行组成。
本公开的一个方面涉及一种系统,其包括:一个或多个存储器设备;以及一个或多个处理器,其被配置为:接收使用一个或多个查询语句选择的输入数据,该一个或多个查询语句指定用于生成与输入数据的一个或多个特征值相对应的特征属性的一个或多个参数;通过机器学习模型处理输入数据以生成模型输出;以及使用至少模型输出和一个或多个查询语句的一个或多个参数为输入数据生成特征属性。
本公开的另一方面涉及一种由一个或多个处理器执行的计算机实现的方法,该方法包括:由一个或多个处理器,接收使用一个或多个查询语句选择的输入数据,该一个或多个查询语句指定用于生成与输入数据的一个或多个特征值相对应的特征属性的一个或多个参数;由一个或多个处理器,通过机器学习模型处理输入数据以生成模型输出;以及由一个或多个处理器并且使用至少模型输出和一个或多个查询语句的一个或多个参数为输入数据生成特征属性。
本公开的另一方面涉及利用指令编码的一个或多个非暂时性计算机可读存储介质,在由一个或多个处理器执行时,该指令使一个或多个处理器执行操作,该操作包括:接收使用一个或多个查询语句选择的输入数据,该一个或多个查询语句指定用于生成与输入数据的一个或多个特征值相对应的特征属性的一个或多个参数;通过机器学习模型处理输入数据以生成模型输出;以及使用至少模型输出和一个或多个查询语句的一个或多个参数为输入数据生成特征属性。
前述和其他方面能够可选地包括以下特征中的一个或多个。
输入数据的相应特征的特征属性对应于测量将输入值的相对变化与输出值的相对变化相关的因果关系的程度的值。
一个或多个处理器是分布式设备的网络的一部分,并且其中在生成特征属性时,一个或多个处理器还被配置为:在网络的分布式设备上启动本地服务器;并且使用本地服务器生成特征属性。
一个或多个参数指定一个或多个模型可解释性函数,并且其中在使用本地服务器生成特征属性时,一个或多个处理器还被配置为:使用一个或多个模型可解释性函数中的每个模型可解释性函数来处理输入数据的相应部分,以生成特征属性。
在通过机器学习模型处理输入数据时,一个或多个处理器初始化第一过程;并且其中一个或多个处理器还被配置为从第一过程启动子过程以启动本地服务器并且生成特征属性。
一个或多个查询语句是一个或多个第一查询语句,并且特征属性是第一特征属性;并且其中一个或多个处理器还被配置为:接收一个或多个第二查询语句;从一个或多个第二查询语句确定一个或多个第二查询语句包括用于生成第二特征属性的一个或多个第二参数;以及响应于确定一个或多个第二查询语句包括用于生成第二特征属性的一个或多个第二参数,从第一过程启动子过程以启动本地服务器并且生成第二特征属性。
输入数据包括一个或多个输入,每个输入对应于存储在使用一个或多个查询语句选择的一个或多个存储器设备上的数据库的行。
输入数据是用于训练机器学习模型的训练数据或验证数据。
一个或多个处理器还被配置为训练机器学习模型,并且其中一个或多个查询语句选择用于通过训练后的机器学习模型进行处理以生成一个或多个模型预测的数据。
特征属性是第一特征属性;并且其中一个或多个处理器还被配置为:生成用于训练机器学习模型的训练数据的第二特征属性;为训练后的模型生成全局特征属性,其中在生成全局特征属性时,一个或多个处理器被配置为聚合第二特征属性;以及在一个或多个存储器设备中存储全局特征属性。
在生成第一特征属性时,一个或多个处理器被配置为接收存储的全局特征属性的至少一部分。
一个或多个处理器还被配置为输出特征属性,以在耦合至一个或多个处理器的显示设备上显示。
一个或多个查询语句是一个或多个结构化查询语言(SQL)语句。
附图说明
图1是根据本公开的各方面的示例机器学习平台的框图。
图2是实现机器学习平台的示例计算环境的框图。
图3是根据本公开的各方面的处理碎片的框图。
图4是用于使用示例机器学习平台生成特征属性的示例过程的流程图。
图5是用于使用特征属性和示例机器学习平台训练机器学习模型的示例过程的流程图。
图6是用于使用全局解释数据和示例机器学习平台训练机器学习模型的示例过程的流程图。
图7是用于为机器学习模型生成全局解释数据的示例过程的流程图。
具体实施方式
概述:
本公开涉及一种查询驱动的机器学习平台,用于生成特征属性和用于说明机器学习模型的输入和输出之间的关系的其他数据。机器学习平台被配置为与一个或多个设备接口连接,并且接收用于选择要由托管在平台上的机器学习模型处理的数据的查询语句。机器学习平台能够接收和执行各种不同类型的查询语句,例如结构化查询语言(SQL)语句或机器学习平台特有的其他查询语言。
机器学习平台能够接收一个或多个查询语句,该查询语句使机器学习平台选择存储在平台上的一个或多个数据库的表中维护的数据行,并且通过机器学习模型处理这些数据行。另外,平台能够通过一个或多个查询语句接收用于生成模型解释数据的参数。模型解释数据能够包括局部和全局解释。解释能够是至少部分地表征模型的输出与用于生成模型的输入数据或模型本身之间的关系的任何数据。局部可解释性方法能够包括分析输入数据的单独行。局部解释是针对每个输入的,例如针对训练数据的每个训练示例,或者针对在推断时提供给模型的数据的每个单独输入。全局解释整体上表征模型,并且能够通过聚合局部解释来获得。
模型解释数据能够包括输入数据的不同特征的特征属性。单独输入或训练示例的特征属性能够对应于将输入值的相对变化与输出值的相对改变相关的“因果关系”程度的度量。机器学习平台能够实现用于生成特征属性数据的各种不同模型解释过程中的任何一个。与模型输入和输出数据相关的特征属性能够在全局或局部级别上自动生成,或者响应于在选择要处理的输入数据的查询语句中提供的参数生成。该平台能够在模型训练时生成特征属性,并且存储数据以供未来选择。
该平台提供了统一的界面,以用于选择输入数据并且接收模型解释数据,而不是需要复杂的输入来编排复杂的数据处理管道,该数据处理管道可能包括用于接收数据、训练模型并且为模型和/或接收到的数据生成模型解释的若干步长,从而使平台易于访问以托管数据并且提供查询以处理数据,而不需要不同平台提供的模型可解释性操作的专门知识。
通过查询驱动的界面,平台能够例如向用户设备提供对各种最先进的模型可解释性方法的访问,以用于直接比较和反馈。在本文中描述的各种不同类型的全局和局部解释中可用的反馈能够被用于迭代对在平台上训练的模型的后续修改。例如,模型解释数据能够由平台提供给用户,以评估是否需要对模型或数据进行例如调试或修改,以符合关于模型应该如何相对于接收到的输入生成输出预测的预定目标。模型解释数据还能够揭示输入数据中的主要或次要因果关系的来源。该平台有助于在可解释性方法之间进行比较,至少因为查询语法驱动的界面允许快速修改通过一个或多个查询语句可用的参数或输入数据源。
如本文中描述的,平台能够将生成模型解释数据的操作性能分发在多个处理碎片上。每个处理碎片能够被实现为处理从接收到的查询语句选择的至少一部分数据以进行处理。每个处理碎片都能够启动和维护本地服务器,以根据需要处置生成模型解释。本地服务器能够维护一个或多个解释器,该解释器被配置为根据指定的方法和参数来处理传入的输入和模型数据,并且能够被维护在存储器中,直到平台已经完成对接收到的查询语句的来源(例如用户设备)的服务。
示例系统
图1是根据本公开的各方面的示例机器学习平台100的框图。平台100能够包括通过网络彼此通信以及与一个或多个用户设备通信的服务器设备。在一些示例中,平台100能够被实现预处理引擎110、训练引擎120、解释引擎130、评估引擎140和存储设备150。平台100还能够实现一个或多个处理碎片135,以用于分发参照图3更详细地描述的模型解释数据的计算。不应将被配置用于执行不同操作的不同平台组件的分离理解为需要这些组件分离。所描述的组件、模块、程序和引擎能够被集成在一起作为实现平台100的单个系统,或者是多个系统的一部分。
查询语句指定对数据的请求,例如模型预测和/或模型预测和模型解释。作为请求数据的一部分,查询语句选择输入和模型数据以及可选地指定平台应该如何训练模型、生成模型的预测和/或生成模型的模型解释数据的一个或多个参数。平台100能够接收选择存储在存储设备150上的表中的数据行的一个或多个查询语句以及指定用于处理数据的模型类型的参数。平台100能够被配置为通过网络接收查询语句,例如如本文中参照图2描述的,并且解析查询语句以确定请求的性质。
平台100能够实现许多不同的机器学习模型,平台100能够在从存储在一个或多个存储设备150上的数据推断时训练和处理数据。由平台100实现的示例机器学习模型能够包括线性模型,例如线性回归模型、逻辑回归模型;神经网络,包括深度神经网络、递归神经网络(RNN)、长短期记忆(LSTM)网络、自动编码器等;决策树;增强树模型,例如用于回归和/或分类;以及具有相同或不同架构的模型的集合,例如基于树的模型和神经网络的集合。能够由平台100实现的示例机器学习技术能够包括k均值聚类、矩阵分解和主成分分析。平台100能够维护用于生成和训练模型的函数库以及一个或多个模型可解释性函数,例如包括这里描述的模型可解释性函数。在一些示例中,平台被配置为导入用于执行在平台100外训练的模型的数据。
平台100能够实现用于训练模型的各种不同学习方法中的任何一种,该模型可以通过训练引擎120来实现。示例学习方法包括用于根据有监督、无监督或半监督方法训练机器学习模型的任何过程,其包括用于训练本文中描述的任何类型的模型的过程。
平台100能够生成、接收和存储机器学习模型作为一个或多个模型文件和可选元数据,这些模型文件和可选元数据以各种不同格式中的任何一种可用,诸如JSON。模型文件能够包括平台100能够处理的用于执行模型预测和模型解释的代码,如本文中描述的。在一些示例中,模型数据将机器学习模型表示为通过边缘连接的节点的示图。每个节点能够对应于负责处理数据的模型的一些部分,例如神经网络的上下文中的神经元。每个边缘能够表示到一个节点以及从一个节点到另一节点的数据流,例如神经网络的上下文中的层输入和输出。
平台100的预处理引擎110能够被配置用于预处理从存储设备150选择的数据。例如,预处理能够包括数据归一化和格式化,以使所选数据成为适合由训练引擎120处理的形式。预处理引擎110还能够被配置用于根据各种不同方法中的任何一种进行特征选择/制造,和/或将特征去除或添加到输入数据。用于特征选择和/或制造的参数能够从用户输入中接收,例如用于在训练模型之前预处理训练数据。预处理引擎110能够对类别特征进行编码,例如使用独热编码、伪编码和/或目标编码等。在一些示例中,预处理引擎100能够向接收到的机器学习模型添加嵌入层。
训练引擎120能够被配置为接收使用一个或多个查询语句选择的训练数据,并且使用训练数据训练模型。由平台100接收的查询语句能够包括指定要使用训练引擎120训练的机器学习模型的类型的参数以及用于训练模型的超参数值,例如学习率、迭代次数等。查询语句的示例语法在本文中相对于图4至5提供。
解释引擎130能够被配置用于响应于在平台100上接收到的查询语句来生成预测和/或模型解释。如参照图3更详细地描述的,解释引擎130能够实现一个或多个处理碎片135,它被配置为从接收到的输入数据的至少多部分生成预测和模型解释。解释引擎130能够分发从接收到的查询语句选择的输入数据的部分以分发处理。通过这种方式,解释引擎130能够通过将输入数据分发在多个处理碎片上来缩放以处置更大的请求,例如所选输入数据中的数百万个数据点。
解释引擎130能够被配置为基于由接收到的输入指定的机器学习模型的类型来生成不同的模型解释数据,例如作为一个或多个查询语句。模型解释数据能够包括特征属性,如本文中描述的,解释引擎130能够生成不同粒度级别的特征属性。解释引擎130能够根据计算的基线分数来生成特征属性,该基线分数充当比较不同特征对模型输出的影响的基础。
针对线性回归和/或逻辑回归模型,解释引擎130能够被配置为基于给定特征的t统计量的绝对值来生成特征属性。t统计量是利用其标准误差缩放的特征的估计权重。
针对决策树,在一些示例中,解释引擎130能够基于每个特征如何对模型内的增强决策树的构造做出贡献的度量来生成特征属性。特征越多地被用于在树中做出关键决策,解释引擎130就越能对该特征在输入变化和输出变化之间的因果关系进行评级。解释引擎130能够为数据集中的每个特征显式地计算特征属性,并且输出根据值排列的那些属性,例如从最高到最低。单个决策树的特征属性能够通过每个特征分割点提高决策树的性能度量的量来计算、通过节点负责的观察次数进行加权。
解释引擎130还能够根据一个或多个模型不可知方法来处理输入数据和机器学习模型,其中模型的架构与所应用的模型可解释性方法无关。示例方法包括置换特征重要性、部分依赖图、沙普利值、SHAP(沙普利加性解释)、KernelSHAP、TreeSHAP和积分梯度。解释引擎130能够被配置为取决于解释引擎130是生成局部解释还是全局解释来使用一些方法而不是其他方法。例如,解释引擎130可以使用置换特征重要性和部分依赖图来生成全局解释,并且使用沙普利值、SHAP和积分梯度来生成局部和全局解释两者。
解释引擎130还能够实现一个或多个机器学习模型,该机器学习模型被训练为生成局部和/或全局解释。
解释引擎130能够以各种不同的方式生成全局解释数据。例如,针对回归模型,整个处理数据集的特征属性的平均值能够被计算,作为全局解释数据的一部分。针对分类模型,解释引擎130能够计算每类和每个输入或训练示例的特征属性,并且然后通过计算属性的平均绝对值来聚合特征属性。
作为另一示例,代替平均绝对值,解释引擎130能够计算所有特征属性的均方根。使用均方根的一个优点是具有中心数值特征的线性模型的局部和全局解释数据之间的一致性。对这些数值特征和这种类型的线性模型的全局解释是模型权重的绝对值。这种关系能够为分析模型的局部和全局解释之间的关系提供附加的直觉。针对特征X,令特征值xi是机器学习模型的输入i的值。还令是输入数据中的特征X的平均值,并且σx是特征X的标准偏差。令wx是在例如由平台100训练模型之后模型中的特征X的标准化权重。输入i的特征X的局部属性能够被表示为fi,并且如下计算:
解释引擎130能够聚合输入数据中的N个输入的局部属性,以例如如下生成特征X的全局属性:
解释引擎130能够生成用于增强树模型的全局解释。在一个示例中,解释引擎130能够在局部解释(例如特征属性)上聚合SHAP值。在其他示例中,解释引擎130能够使用基于基尼指数的特征重要性来生成全局解释。
针对分类模型,解释引擎130能够在模型级别和/或类级别上生成全局解释。模型级别的解释能够测量机器学习模型在对输入进行分类时被训练使用的所有类中特征的输入和输出变化之间的重要性或因果关系。类级别的解释能够测量特征对特定类的重要性。解释引擎130能够被配置为接收输入,例如作为在接收到的查询语句中指定的一个或多个参数,其指定是否在模型级别和/或类级别上生成输出。
例如,当操作以生成模型级别的解释时,解释引擎130能够聚合为输入数据集生成的特征属性,例如用于训练机器学习模型的训练数据。作为另一示例,当操作以生成类级别的解释时,解释引擎130能够被配置为聚合输入数据集内的输入的特征属性,这些输入被机器学习模型预测为属于特定类。
针对至少一些类型的模型,例如增强树,解释引擎130能够生成特征属性作为多个指标。示例指标包括权重、增益和覆盖。特征的权重值能够测量特征在树分割中出现的频率。增益值是从包括特定特征的分割中获得的平均信息。解释引擎130能够通过将特征权重与增益值相乘来计算总增益。覆盖值是受包括该特征的分割影响的示例的平均数量的度量。解释引擎130能够通过将特征权重与覆盖值相乘来计算总覆盖。
解释引擎130被配置为生成被编码为向量的类别特征的特征级别和/或类别级别的属性,以生成局部解释。类别级别的属性是对输入数据点或训练示例的类别特征进行编码的向量中的每个元素的属性。特征级别的属性通常是特征的属性。在一些情况下,类别级别的属性能够有助于确定具体类别相对于模型预测的重要性。解释引擎130能够接收一个或多个参数,该参数指定是生成类别级别的属性还是特征级别的属性,和/或被预定为自动生成一种或两种类型的属性。在一些示例中,当类别特征的基数高时,类别名称未被标记并且被提供作为解释的一部分,和/或当模型已经用嵌入层扩充时,可以使用特征级别的属性而不是类别级别的属性。
解释引擎130能够通过映射每个类别特征中的所有类别并且对每个特征的相应类别属性求和来生成类别特征的特征级别的属性。解释引擎130能够维护类别名称和为每个类别生成的对应属性之间的映射。
在一些示例中,解释引擎130实现生成局部或全局可解释性的近似方法,诸如采样沙普利方法。近似方法可以被用于减少提供模型解释所需的计算资源。在解释引擎130实现近似方法的示例中,解释引擎130能够接收近似误差,例如作为预定值或通过用户输入接收,该近似误差表示总属性分数和特征属性加上基线分数之间的差异的公差。近似误差能够被设置为准确性和计算资源之间的权衡-近似误差越高,准确性越低,但解释引擎130能够更快地生成模型解释数据,例如在时钟周期中。另一方面,为了更准确的特征属性,能够将近似误差设置得更低。
解释引擎130能够响应于不同的参数来设置近似误差,这些参数能够取决于正在处理的机器学习模型的类型而变化。例如,针对积分梯度,解释引擎能够对网络中的输出相对于输入的梯度求和。近似误差能够通过增加积分近似中的积分步长数量而减少。
积分梯度能够具有以下特性,即,特征属性加和为输入分数和基线分数之间的预测差异。近似误差能够是输入分数和基线分数之间的预测差异的特征属性的总和与近似特征属性的总和之间的相对偏差。解释引擎130能够通过增加或减少置换的路径数量来调整所有可能的特征置换的计算。在一些示例中,解释引擎130可以接收输入以调整积分步长的数量和/或路径的数量。
解释引擎130能够验证是否满足用于生成特定类型的模型解释的特定条件。例如,在应用积分梯度方法之前,解释引擎130能够验证模型的输入相对于其输出是否是可微分的。
解释引擎130被配置为生成用于生成特征属性的基线分数。特征的基线分数和对应的特征属性之间的差异能够是特征的值对模型生成的预测结果有多大影响的度量。基线分数的值能够例如取决于机器学习模型和/或特定特征的类型(例如类别或数值)而变化。解释引擎130能够被配置为接收不同特征的基线分数,例如作为一个或多个查询语句的一部分。在其他示例中,解释引擎130能够自动生成基线分数。
例如,针对线性模型、神经网络和一些模型集合,解释引擎130能够生成数值特征基线分数作为整个训练数据的特征值的平均值。解释引擎130能够对类别特征进行编码,并且将其基线分数设置为空值(NULL)。
响应于接收到查询语句,评估引擎140能够接收模型预测和模型解释并且将其提供给用户设备。评估引擎140能够根据各种不同格式中的任何一种生成用于渲染模型预测和/或模型解释的数据,例如作为文本、示图、图表等。评估引擎140能够附加地处理模型预测和模型解释,例如计算累积SHAP值、特征属性的一阶和/或二阶导数等,并且除了模型预测和模型解释之外或者作为其替代输出这些计算。在一些示例中,评估引擎140被配置为对模型解释中的特征属性进行排序,例如通过相对于模型输出从最高到最低的重要性的相对分数。在一些示例中,评估引擎140能够自动选择解释模型预测的某个预定阈值(例如80%)的顶部特征属性。
评估引擎140能够实现图形用户界面,例如作为一个或多个网页、作为安装在用户设备上的应用等,用于呈现和接收来自用户设备的数据。响应于提供模型预测和模型解释,评估引擎140能够接收附加的查询语句,例如用于再训练模型或者用于根据与先前指定的方法或参数不同的方法或参数生成模型解释数据。评估引擎140能够将模型预测和模型解释提供给仪表板或应用,例如在与平台100通信的设备上运行并且依赖于模型解释数据和/或模型预测数据以用于自己的下游处理的应用。
通过评估引擎140提供的用户界面,平台100能够有助于响应于提供模型解释数据的调试和特征制造,至少因为平台能够接收查询语句,这些查询语句可以被容易地修改以置换模型的训练或生成解释数据的结果。换句话说,平台的查询驱动界面允许对各种不同因素中的任何一个进行动态改变,例如选择用于处理的数据、训练或处理的模型和/或为生成模型解释数据而执行的操作。与平台接收用户提供的软件或其他类型的输入的其他方法相反(如果受到修改,则这些方法可能容易出错),这些改变能够在没有用于修改现有处理管道的大量用户输入的情况下进行。
图2是用于实现机器学习平台100的示例环境200的框图。平台100能够被实现在一个或多个设备上,该一个或多个设备在一个或多个位置具有一个或多个处理器,诸如在服务器计算设备215中。要理解的是,机器学习平台100能够被实现在多个服务器计算设备上。用户计算设备212和服务器计算设备215能够通过网络260被通信地耦合至一个或多个存储设备150。(多个)存储设备230能够是易失性和非易失性存储器的组合,并且能够位于与计算设备212、215相同或不同的物理位置。例如,(多个)存储设备150能够包括能够存储信息的任何类型的非暂时性计算机可读介质,诸如硬盘驱动器、固态驱动器、磁带驱动器、光学存储装置、存储卡、ROM、RAM、DVD、CD-ROM、可写和只读存储器。
服务器计算设备215能够包括一个或多个处理器213和存储器214。存储器214能够存储可由(多个)处理器213访问的信息,包括能够由(多个)处理器213执行的指令221。存储器214还可能够包括能够由(多个)处理器213检索、操作或存储的数据223。存储器214能够是能够存储可由(多个)处理器213访问的信息的一种类型的非暂时性计算机可读介质,诸如易失性和非易失性存储器。(多个)处理器513能够包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)、现场可编程门阵列(FPGA)和/或专用集成电路(ASIC),诸如张量处理单元(TPU)。
指令221能够包括一个或多个指令,当由(多个)处理器213执行时,该指令使一个或多个处理器执行由指令定义的动作。指令221能够以目标代码格式存储以通过(多个)处理器213直接处理,或者以其他格式存储,包括可解释脚本或者独立源代码模块的集合,它根据需要进行解释或者预先编译。与本公开的各方面一致,指令221能够包括用于实现平台100的引擎110至140和处理碎片135的指令。平台100能够使用(多个)处理器213和/或使用远离服务器计算设备215的其他处理器来执行。
数据223能够根据指令221由(多个)处理器213检索、存储或修改。数据223能够被存储在计算机寄存器、关系数据库或非关系数据库中,作为具有多个不同字段和记录的表,或者作为JSON、YAML、proto或XML文档。数据223也能够以计算机可读格式来格式化,诸如但不限于二进制值、ASCII或Unicode。此外,数据223能够包括足以标识相关信息的信息,诸如数字、描述性文本、专有代码、指针、对存储在其他存储器(包括其他网络位置)中的数据的引用或者由函数用于计算相关数据的信息。
用户计算设备212也能够类似于服务器计算设备215进行配置,用户计算设备具有一个或多个处理器216、存储器217、指令218和数据219。用户计算设备212还能够包括用户输出226和用户输入224。用户输入224能够包括用于接收来自用户的输入的任何适当的机构或技术,诸如键盘、鼠标、机械致动器、软致动器、触摸屏、麦克风和传感器。
服务器计算设备215能够被配置为向用户计算设备212传输数据,并且用户计算设备212能够被配置成在被实现为用户输出226的一部分的显示器上显示接收到的数据的至少一部分。用户输出226还能够被用于显示用户计算设备212和服务器计算设备215之间的界面。用户输出226能够替代地或附加地包括一个或多个扬声器、换能器或其他音频输出、触觉界面或其他触觉反馈,它向用户计算设备212的用户提供非视觉和非听觉信息。
尽管图2将处理器213、216和存储器214、217图示为在计算设备215、212内,但本说明书中描述的组件(包括处理器213、218和存储器214、217)能够包括多个处理器和存储器,这些处理器和存储器能够在不同的物理位置操作,而不在同一计算设备内。例如,一些指令221、218和数据223、219能够被存储在可移动SD卡上,而其他指令和数据能够被存储在只读计算机芯片内。一些或全部指令和数据能够被存储在物理上远离处理器213、216但仍可由处理器213、216访问的位置。类似地,处理器213、216能够包括能够执行并发和/或顺序操作的处理器的集合。计算设备215、212能够分别包括提供定时信息的一个或多个内部时钟,该定时信息能够被用于计算设备515、512运行的操作和程序的时间测量。
服务器计算设备215被配置为接收处理来自用户计算设备212的数据的请求。例如,平台100能够通过公开平台服务的各种用户界面和/或API向用户提供各种服务。一个或多个服务能够是机器学习框架或工具集合,其用于根据指定的任务和训练数据生成神经网络或其他机器学习模型。其他服务能够包括训练、评估和生成一个或多个机器学习模型的模型解释。用户计算设备212可以接收和传输指定要被分配用于执行这些服务中的一些或全部的目标计算资源的数据,这些服务例如能够被实现为引擎110至140的一部分。
设备212、215可能能够通过网络260进行直接和间接通信。设备215、212能够建立监听套接口,该监听套接口可以接受用于发送和接收信息的发起连接。网络260本身能够包括各种配置和协议,包括互联网、万维网、内联网、虚拟私有网络、广域网、本地网络和使用一个或多个公司专有的通信协议的私有网络。网络260能够支持各种短距离和长距离连接。短距离和长距离连接可以在不同的带宽上进行,诸如2.402GHz至2.480GHz(通常与标准相关联)、2.4GHz和5GHz(通常与/>通信协议相关联);或者利用各种通信标准(诸如用于无线宽带通信的/>标准)进行。另外或替代地,网络260还能够支持设备212、215之间的有线连接,包括通过各种类型的以太网连接。
尽管图2中示出了用户计算设备212,但是要理解的是,本公开的各方面能够根据计算设备的各种不同配置和数量来实现,包括在顺序或并行处理的范例中,或者通过多个分布式设备的网络来实现。在一些实施方式中,本公开的各方面能够在单个设备及其任何组合上被执行。
图3是根据本公开的各方面的处理碎片300的框图。处理碎片300能够包括碎片表310、碎片驱动器引擎320、碎片解释引擎330、预测引擎340和机器学习(ML)库350。处理碎片300能够是作为解释引擎130的一部分实现的一个或多个处理碎片的一部分。如本文中描述的,处理碎片300的组件能够跨多个过程来实现。该上下文中的过程能够指用于使用计算资源和数据来执行代码的数据、代码和计算资源,例如处理器核心、易失性存储器等。处理碎片300能够接收从解释引擎130接收到的一个或多个查询语句选择的输入数据的至少一部分,并且根据默认或接收到的参数来处理输入数据作为接收到的查询语句的一部分。平台100能够配置用于分发用于生成模型解释的输入数据的一个或多个处理碎片。
碎片驱动器引擎320能够被配置为检索从一个或多个查询语句选择的数据的一部分以进行处理,例如以仅生成模型预测或生成模型预测和模型解释数据。碎片表310能够包括存储在一个或多个存储设备上的一个或多个表,并且还包括根据接收到的查询语句选择用于处理的输入数据的至少一部分。碎片表310还能够包括表,由处理碎片300从其中检索和加载用于训练后的机器学习模型的元数据。碎片驱动器引擎320能够将查询语句中指定的数据和参数发送到预测引擎340。碎片驱动器引擎320能够从预测引擎340接收模型预测和模型解释(后者由预测引擎340从碎片解释引擎330获得)。
处理碎片300例如从碎片表310将模型加载到存储器中。该模型能够被加载一次并且重复使用多次,例如用于对不同输入数据生成预测、和/或用于对不同输入数据生成模型解释数据,或者用于对相同的输入数据但根据不同的XAI方法生成模型解释数据。为了允许分别使用预测引擎340和碎片解释引擎330来执行模型预测和解释的多个执行,处理碎片300能够启动作为本地服务器360的一部分的碎片解释引擎330,本地服务器360被托管在与处理碎片300相同的一个或多个物理服务器上。碎片解释引擎330和预测引擎340通过一个或多个远程程序调用进行通信,尽管“远程”服务器是本地服务器360。碎片驱动器引擎320和预测引擎能够通过过程间通信进行通信。
碎片解释引擎330和机器学习库350通过本地服务器360的分离允许引擎330和库350与处理碎片300的其他组件(例如预测引擎340和碎片驱动器引擎320)之间的独立开发。碎片解释引擎330和库350能够独立于预测引擎340例如在不同的时间和/或以不同的编程语言进行开发。
如本文中描述的,碎片解释引擎330能够由处理碎片300针对用于模型解释的每个接收到的查询加载到存储器中,并且能够保持卸载,直到平台100接收到指定对模型解释数据的请求的查询语句,如本文中描述的。例如,当处置查询以在没有模型解释的情况下执行模型预测时,处理碎片300不将碎片解释引擎330保持加载在存储器中。通过仅在需要处置涉及模型解释的查询语句时才要求将碎片解释引擎330加载在存储器中来减少平台100的存储器消耗。
预测引擎340能够被配置为从一个或多个接收到的查询语句中指定的表中访问指派给处理碎片300的输入数据的部分,并且接收用于训练模型的模型数据,通过该训练模型处理输入数据。预测引擎340能够根据接收到的机器学习模型生成对接收到的输入数据的输出预测。预测引擎340能够接收用户提供的代码以执行训练后的机器学习模型。预测引擎340能够根据各种不同格式中的任何一种生成输出预测。例如,预测引擎340能够直接输出通过回归模型处理的输入数据的概率,或者预测引擎340能够以变换的格式输出预测,诸如从logits(log-odds)到分类模型的模型输出中预测的每类的概率。
预测引擎340被配置为执行定义训练后的机器学习模型的用户代码。作为执行用户代码以生成模型预测的一部分,处理碎片300能够在沙盒过程中执行预测引擎340,以消除运行用户代码时的潜在安全问题。这些类型的模型能够包括未在平台100上训练但在其他地方训练并且导入到平台100中的模型。
ML库350能够包括一个或多个库函数,其用于使用预测引擎340处理加载的机器学习模型,和/或用于使用碎片解释引擎330生成模型解释。如本文中描述的,ML库350由本地服务器360加载并且在子过程内执行,如本文中描述的。
预测引擎340能够将输出预测传递给碎片解释引擎330,并且碎片解释引擎330能够被配置为将输出预测处理为概率或logits。在一些示例中,预测引擎340以两种格式发送输出预测,而在其他示例中,例如响应于预定的或用户提供的参数,预测引擎330以一种格式自动发送输出预测。在其他示例中,碎片解释引擎330使用任一格式的输出预测来生成模型解释数据,并且平台100能够被配置为响应于用户输入来呈现与特定格式相对应的模型解释数据。
碎片解释引擎330能够在本地服务器360上启动,并且被配置为在相对于用于执行预测引擎340的主过程的子过程中运行。通过将碎片解释引擎330作为子过程运行,处理碎片300能够被用于有效地服务于仅通过平台上的机器学习模型处理输入数据的请求,并且当接收到对该模型生成解释数据的请求时仅启动碎片解释引擎330的本地服务器360。
本地服务器360能够被配置为每当查询语句由处理碎片300接收时启动以生成模型解释数据,并且持续存在于存储器中,直到所有接收到的输入数据被处理。碎片驱动器引擎320能够至少基于由平台接收到的查询语句是否指定用于生成模型解释数据的参数来确定是否启动本地服务器360。
在一些示例中,本地服务器360能够作为子过程的一部分启动,该子过程本身是执行碎片驱动器引擎320的过程的子过程。例如,本地服务器360能够作为执行预测引擎340的过程的子过程的一部分来启动。处理碎片300能够响应于接收到用于生成模型解释数据的请求来使子过程开始启动本地服务器360。
另外,通过使用多个处理碎片,平台100能够有助于提供请求以生成类级别的解释,例如通过将每类的模型预测划分为相应的一个或多个处理碎片。
为了检索模型数据,碎片解释引擎330能够接收由碎片驱动器引擎以串行格式检索的模型数据,例如使用协议缓冲器。模型数据能够根据需要由碎片解释引擎330和/或碎片驱动器引擎310进行编码或解码,以将模型数据改变为适合由碎片解释引擎330处理的格式。一旦接收到,碎片解释引擎330能够将模型存储为一个或多个存储器映射文件(“memfiles”),从而允许碎片解释引擎330访问模型数据,同时避免维护模型数据的多个本地副本可能引起的清理、所有权、隐私和安全问题。
在一些示例中,模型数据可以被存储在平台100的一个或多个存储设备上的多个位置。在这些示例中,在检索模型数据时,碎片解释引擎330被配置为检索存储在多个位置的模型数据的单独片段,并且在如本文中描述的那样处理模型之前以正确的顺序重构这些片段。
碎片解释引擎330能够执行一个或多个解释器335A至335N。在图3中,碎片解释引擎330被示出为包括两个解释器A、N 335A、N,尽管在其他示例中,碎片解释引擎330能够包括更少或更多的解释器。解释器可以被实现在软件和/或硬件中,并且被配置为处理机器学习模型和输入数据以生成局部或全局解释,例如如本文中参照图1和解释引擎130描述的。碎片解释引擎330能够接收模型数据,并且从模型数据和对应参数,生成每个解释器,并且对接收到的输入数据生成模型解释数据。
每个解释器被配置为根据作为一个或多个查询语句的一部分接收到的参数来处理输入数据和机器学习模型以生成解释。解释器335A至335N和输入机器学习模型能够被缓存在存储器中。在一些示例中,两个解释器可以实现相同的XAI方法,但是具有不同的参数,例如实现积分梯度的两个解释器,但是具有不同数量的积分步长。
示例方法
图4是用于使用示例机器学习平台生成特征属性的示例过程400的流程图。
根据框410,平台接收输入数据,该输入数据使用一个或多个查询语句选择并且指定用于生成特征属性的一个或多个参数。
根据框420,平台通过机器学习模型处理输入数据以生成模型输出。机器学习模型能够响应于接收到一个或多个查询语句来训练。在一些示例中,机器学习模型在接收到一个或多个查询语句之前被训练,并且与训练、验证和/或评估数据相反,输入数据对应于用于通过模型进行处理的新数据。在平台响应于一个或多个查询语句训练模型的其他示例中,用于生成模型解释的输入数据能够包括用于训练模型的训练数据。
用于训练机器学习模型的示例查询语句在下面参照表1示出。
1 | CREATE OR REPLACE MODEL dataset.boosted_tree |
2 | OPTIONS(model_type=’BOOSTED_TREE_CLASSIFIER’,...”)AS |
3 | SELECT*FROM dataset.input_table |
表1
在表1的第1行,查询语句指定从由名称dataset.boosted_tree指定的模型数据创建新模型或替换现有模型。在第2行,查询语句能够包括许多选项,例如以指定模型类型,诸如由选项BOOSETED_TREE_CLASSIFER表示的增强树分类模型。其他选项也可用,例如以指定其他类型的模型,或为所选模型的架构设置参数,例如深度神经网络的层数,或网络中使用的层或激活函数的类型等。在第3行,查询语句从名为dataset.input_table的数据集中选择所有数据。dataset.input_table的记录能够包括平台从其中生成特征属性的输入数据,如下所述。
根据框430,平台使用至少模型输出和一个或多个参数为输入数据生成特征属性。在一些示例中,平台100接收查询语句,该查询语句使平台100处理输入数据以从训练后的机器学习模型生成预测,以及生成解释数据。示例语句将参照下面示出的表2描述。
1 | SELECT*FROM ML.EXPLAIN(MODEL dataset.boosted_tree, |
2 | TABLE dataset.predict_input) |
表2
在表2的第1行,查询语句从函数ML.EXPLAIN中选择所有记录,该函数接收名为dataset.boosted_tree的模型和名为dataset.predict_input的表(第2行)。该表是输入数据,并且平台执行表2中的查询语句的结果能够包括通过处理输入生成的模型预测以及模型解释。
表3示出了用于生成机器学习模型的局部解释的示例查询语句。
1 | SELECT*FROM ML.EXPLAIN(MODEL my_table.my_model, |
2 | TABLE table_name|(query_statement) |
3 | {STRUCT(3AS top_k_features)}); |
表3
表3的第1至3行的示例查询语句是SELECT语句,它调用名为ML.EXPLAIN的表值函数。表值函数是返回数据作为表的函数。查询语句从函数的输出选择所有结果,该函数受三个参数的约束。在第1行,从表my_table中指定名为my_model的模型。在第2行,下一参数是名为table_name的表或标识为query_statement的查询语句,该查询语句包括与训练模型时相同的列的名称和类型。在第3行,最后一个参数是指定选项top_k_features的数据结构。在一些示例中,一些或全部参数是可选的。平台100能够接收用于配置如何生成从函数ML.EXPLAIN输出的数据的多个不同选项。
选项top_k_features指定其属性被返回的特征数量。返回的特征能够根据其特征属性的绝对值进行返回排序。当没有提供数量时,能够预定返回的默认数量的顶部特征,例如被设置为前5个特征。平台100能够接收任何整数值,最高达到输入数据中的特征的最大数量,例如以便在试图对仅包括九个特征的输入数据中的前十个特征进行排名时不会出错。
其他选项是可能的,单独地或彼此组合。另一选项是top_k_classes,根据它们相应的出现概率返回前k个类,作为机器学习模型对输入数据的输出。该值能够被预定,例如被设置为1或者模型被配置为分类的可能类的总数。平台100能够在利用该选项执行函数ML.EXPLAIN之前检查机器学习模型是分类模型,以避免引发异常。
另一选项是设置阈值。阈值能够被用于获得实现二进制分类的模型的预测标签。如果top_k_classes被设置为1,则特征属性输出对应于预测的类。默认的预定值能够是例如0.5,并且输入的范围能够是例如0和1之间的实数。平台100能够在利用该选项执行函数ML.EXPLAIN之前检查机器学习模型是二进制分类模型,以避免引发异常。
另一选项是explain_method,其用于指定机器学习模型的解释方法。平台100能够检查所选explain_method与所选机器学习模型兼容。每个模型都能够具有默认的解释方法。
其他选项包括具体模型和/或具体解释方法的选项。例如,一个选项能够是sample_shapley_num_path,其指定将采样沙普利方法应用于模型时的路径数量。默认值能够等于输入数据中的特征总数。另一示例是integrated_gradient_num_steps,其指定在积分梯度方法中应用的步长数量。默认值能够是例如五十步长。
在另一示例中,表4示出了用于生成模型的全局解释的示例查询语句。
表4
在表4中,函数ML.GLOBAL_EXPLAIN具有两个参数。第1行的第一参数是机器学习模型my_table.my_model。第二参数是具有选项class_level_explain的数据结构。如本文中描述的,平台100能够生成类级别的解释、模型级别的解释和特征级别的解释,它们能够通过一个或多个提供的选项被指定。
如本文中描述的,平台100能够输出解释、预测标签和/或输入数据列。示例回归输出相对于表6至8示出。
表6
表6示出了输入数据的示例行。表6包括一个类别特征(“职业”)和三个数值特征(“年龄”、“教育程度(年)”、“工作小时(周)”)。模型的输出能够是例如给定模型输入的预测收入或预测工作满意度。
针对回归模型,平台100能够输出表7至8中的示例。
表7
表7示出了表6中的第一输入的7.3的预测标签。除了特征属性之外,平台100还能够输出输入数据以及预测标签。表7还示出了基线属性(3.0)、总属性(7.3)和近似误差。
表8
表8示出了表6中的第二输入的3.2的预测标签。针对分类模型,针对预测的模型输出中的每类,平台能够输出表7至8中的表。还能够为局部解释、全局解释以及模型级别的属性、类级别的属性、特征级别的属性和类别级别的属性返回分离或组合的表。
图5和6是用于生成特征属性并且将其提供给请求用户设备或查询语句的其他源的示例过程的流程图。如本文中描述的,根据由平台生成的解释,该平台有助于对机器学习模型和/或通过该模型处理的数据进行迭代修改。图5至6的过程500和600以及本文中描述的其他过程能够被多次执行,例如作为平台和请求用户设备之间的交互的一部分。
图5是用于使用局部特征属性和示例机器学习平台训练机器学习模型的示例过程500的流程图。
根据框510,平台接收从一个或多个第一查询语句选择的训练数据。一个或多个第一查询语句还能够指定模型架构和一个或多个训练参数值,例如超参数,诸如用于训练模型的学习率。
根据框520,平台使用接收到的训练数据训练在一个或多个第一查询语句中指定的机器学习模型。该平台能够根据一个或多个第一查询语句中的参数值来训练机器学习模型。
根据框530,平台从一个或多个第二查询语句接收输入数据。输入数据能够是训练数据本身,例如用于生成全局解释数据。输入数据能够是使用一个或多个第二查询语句选择的新数据。针对训练后的模型,平台能够接收输入数据,以用于使用该模型生成新的预测。在一些示例中,代替接收分离的查询语句并且在接收一个或多个第二查询语句之前训练模型,平台能够接收查询语句,该查询语句使平台训练模型并且从模型接收数据,并且使平台通过模型处理输入数据以生成预测。
根据框540,该平台提供来自训练后的机器学习模型的输出预测和与输出预测相对应的特征属性。该平台能够生成本文中参照图1至3描述的特征属性。生成的特征属性的至少一部分能够被存储为与模型相对应的元数据。如参照图7更详细地描述的,平台能够检索先前生成的特征属性,并且将特征属性提供给请求用户设备。
根据菱形框550,平台确定是否接收到对机器学习模型进行再训练的输入。接收到的输入能够从用户设备提供,其指定使用一个或多个第一查询语句选择的附加训练数据和/或相同训练数据。接收到的输入能够包括指定用于训练模型的修改的参数值的查询语句,例如响应于提供输出预测和特征属性而接收到的查询语句。例如,响应于对所提供的特征属性的分析,平台的用户能够通过附加的查询语句来指定更新的训练参数值。
根据框520,如果平台确定它接收到输入(“是”),那么平台使用接收到的输入对模型进行再训练。在一些示例中,除了对模型进行再训练或作为其替代,平台能够基于接收到的输入来执行一个或多个模型可解释性函数。如果平台确定它尚未接收到输入(“否”),那么过程500结束。
图6是用于使用全局解释数据和示例机器学习平台训练机器学习模型的示例过程600的流程图。
根据框610,平台接收从一个或多个第一查询语句选择的训练数据。
根据框620,平台使用接收到的训练数据训练在一个或多个第一查询语句中指定的机器学习模型。
根据框630,平台接收用于生成训练后的模型的全局解释的一个或多个参数。在一些示例中,如果在一个或多个第一查询语句中没有指定参数值,则平台能够生成具有预定义参数值的全局解释,例如基于正在训练的模型的类型。
根据框640,平台基于一个或多个参数生成全局解释。例如,能够提供全局解释,同时确认模型已经根据一个或多个参数被训练。平台能够响应于接收到选择用于训练模型的数据的一个或多个查询语句而自动生成全局解释。全局解释能够被存储作为训练模型的元数据的一部分。
在一些示例中,代替训练数据,平台能够从验证或测试数据(从训练数据中分离出来)生成全局解释数据,并且用于验证和/或测试机器学习模型。在一些示例中,解释引擎能够从输入数据(从接收到的查询语句选择)进行采样,而不是为每个训练示例或单独数据点生成特征属性。
根据菱形框650,平台确定是否接收到对模型进行再训练的输入。平台能够接收用于再训练模型的输入,其类似于接收本文中参照图5描述的输入。
图7是用于为机器学习模型生成全局解释数据的示例过程700的流程图。
根据框710,平台训练机器学习模型。该平台能够响应于接收到的参数值来训练机器学习模型,如本文中参照图1描述的。
根据框720,平台从用于训练机器学习模型的训练数据中生成特征属性。该平台能够使用本文中参照图1描述的各种方法中的任何一种来生成特征属性。
根据框730,平台从特征属性生成全局解释数据。如本文中参照图1描述的,该平台能够使用用于聚合特征属性的各种聚合方法中的任何一种来生成机器学习模型的全局解释。
根据框740,平台存储全局解释数据。根据框740,存储的全局解释数据能够稍后由平台接收到的一个或多个查询语句来选择。如本文中参照图3描述的,平台能够训练模型并且自动生成模型的全局解释。如果平台对模型进行再训练,那么在一些示例中,平台还能够为更新的模型生成更新的全局解释数据。因为选择训练数据来训练模型,所以平台能够利用可用数据也生成模型的全局解释。全局解释能够被存储在易失性和/或非易失性存储器中。
根据框750,平台响应于一个或多个查询语句检索全局解释数据。因为全局解释数据是作为训练模型的一部分生成和存储的,所以全局解释数据能够由平台检索,以用于响应一个或多个查询语句,例如通过访问存储器中存储全局解释的(多个)位置。如本文中参照图1和5描述的,在一些示例中,全局解释能够被存储在模型的元数据中。
如本文中描述的,本公开的各方面提供了生成模型解释作为训练模型的一部分和/或通过用于执行机器学习任务的机器学习模型处理输入数据。
例如,机器学习模型的输入能够是图像和/或视频的形式。机器学习模型能够被配置为提取、标识和生成特征,作为处理给定输入的一部分,例如作为计算机视觉任务的一部分。被训练以执行这种类型的机器学习任务的机器学习模型能够被训练以从不同的潜在分类集合生成输出分类。另外或替代地,能够训练机器学习模型以输出与图像或视频中标识的对象属于某类的估计概率相对应的分数。
作为另一示例,机器学习模型的输入能够是与特定格式相对应的数据文件,例如HTML文件、文字处理文档或者从其他类型的数据获得的格式化元数据(诸如图像文件的元数据)。在该上下文中,机器学习任务能够是关于接收到的输入进行分类、评分或以其他方式预测一些特点。例如,能够训练机器学习模型来预测接收到的输入包括与特定主题相关的文本的概率。此外作为执行特定任务的一部分,机器学习模型能够被训练以生成文本预测,例如作为在文档被编写时自动完成文档中的文本的工具的一部分。机器学习模型也能够被训练用于预测输入文档中的文本到目标语言的转化,例如在编写消息时。
其他类型的输入文档能够是与互连设备网络的特点相关的数据。这些输入文档能够包括活动日志以及关于不同计算设备访问潜在敏感数据的不同源的访问权限的记录。可以训练机器学习模型来处理这些和其他类型的文档,以预测网络正在进行的和未来的安全漏洞。例如,能够训练机器学习模型来预测恶意行为者对网络的入侵。
作为另一示例,机器学习模型的输入能够是音频输入,包括流式传输音频、预先记录的音频以及作为视频或其他源或媒体的一部分的音频。音频上下文中的机器学习任务能够包括语音识别,包括将语音与其他标识的音频源隔离和/或将标识的语音的特点增强为更容易听到。机器学习模型能够被训练以预测输入语音到目标语言的准确转化,例如实时地作为转化工具的一部分。
除了数据输入,包括本文中描述的各种类型的数据,还可以训练机器学习模型来处理与给定输入相对应的特征。图像/视频上下文中的机器学习任务能够是对图像或视频的内容进行分类,例如针对不同的人、地点或事物的存在。机器学习模型能够被训练以提取和选择相关特征进行处理,以生成给定输入的输出,并且还能够被训练以基于输入数据的各种特点之间的学习关系来生成新特征。
本公开的各方面能够被实现在数字电路、计算机可读存储介质中,作为一个或多个计算机程序,或前述的一个或多个的组合。计算机可读存储介质能够是非暂时性的,例如作为可由云计算平台执行并且存储在有形存储设备上的一个或多个指令。
在本说明书中,短语“被配置为”被用于与计算机系统、硬件或者计算机程序、引擎或模块的一部分相关的不同上下文。当系统据说被配置为执行一个或多个操作时,这意味着系统具有安装在系统上的适当的软件、固件和/或硬件,当该软件、固件和/或硬件在操作中时使系统执行一个或多个操作。当一些硬件据说被配置为执行一个或多个操作时,这意味着该硬件包括一个或多个电路,该电路在操作中时接收输入,并且根据输入以及对应于一个或多个操作生成输出。当计算机程序、引擎或模块据说被配置为执行一个或多个操作时,这意味着计算机程序包括一个或多个程序指令,当由一个或多个计算机执行时,该程序指令使一个或多个计算机执行一个或多个操作。
虽然附图中示出和权利要求中列举的操作以特定顺序示出,但要理解的是,这些操作能够以与所示不同的顺序执行,并且一些操作能够被省略、执行多次和/或与其他操作并行执行。
除非另有规定,否则前述替代示例不是互斥的,而是可以以各种组合实施以实现唯一的优点。由于上面讨论的特征的这些和其他变化以及组合能够在不脱离由权利要求定义的主题的情况下利用,示例的前述描述应该通过图示而不是通过限制由权利要求定义的主题来进行。另外,本文中描述的示例的提供以及用短语表达为“诸如”、“包括”等的条款不应被解释为将权利要求的主题限制于具体示例;相反,示例不旨在仅图示许多可能实施方式中的一个实施方式。此外,不同附图中的相同附图标记能够标识相同或类似的元件。
Claims (20)
1.一种系统,包括:
一个或多个存储器设备,以及
一个或多个处理器,所述一个或多个处理器被配置为:
接收使用一个或多个查询语句选择的输入数据,所述一个或多个查询语句指定用于生成与所述输入数据的一个或多个特征值相对应的特征属性的一个或多个参数;
通过机器学习模型处理所述输入数据以生成模型输出;以及
使用至少所述模型输出和所述一个或多个查询语句的所述一个或多个参数,为所述输入数据生成所述特征属性。
2.根据权利要求1所述的系统,其中,所述输入数据的相应特征的特征属性对应于测量将所述输入值的相对变化与所述输出值的相对变化相关的所述特征的因果关系的程度的值。
3.根据权利要求1所述的系统,
其中,所述一个或多个处理器是分布式设备的网络的一部分,并且
其中,在生成所述特征属性时,所述一个或多个处理器还被配置为:
在所述网络的分布式设备上启动本地服务器;以及
使用所述本地服务器生成所述特征属性。
4.根据权利要求3所述的系统,其中,所述一个或多个参数指定一个或多个模型可解释性函数,并且其中在使用所述本地服务器生成所述特征属性时,所述一个或多个处理器还被配置为:
使用所述一个或多个模型可解释性函数中的每个模型可解释性函数来处理所述输入数据的相应部分,以生成所述特征属性。
5.根据权利要求3所述的系统,
其中,在通过所述机器学习模型处理所述输入数据时,所述一个或多个处理器初始化第一过程;并且
其中,所述一个或多个处理器还被配置为从所述第一过程启动子过程以启动所述本地服务器并且生成所述特征属性。
6.根据权利要求5所述的系统,
其中,所述一个或多个查询语句是一个或多个第一查询语句,并且所述特征属性是第一特征属性;并且
其中,所述一个或多个处理器还被配置为:
接收一个或多个第二查询语句;
从所述一个或多个第二查询语句确定所述一个或多个第二查询语句包括用于生成第二特征属性的一个或多个第二参数;以及
响应于所述一个或多个第二查询语句包括用于生成所述第二特征属性的所述一个或多个第二参数的所述确定,从所述第一过程启动所述子过程以启动所述本地服务器,并且生成所述第二特征属性。
7.根据权利要求1所述的系统,其中,所述输入数据包括一个或多个输入,每个输入对应于存储在使用所述一个或多个查询语句选择的所述一个或多个存储器设备上的数据库的行。
8.根据权利要求1所述的系统,其中,所述输入数据是用于训练所述机器学习模型的训练数据或验证数据。
9.根据权利要求1所述的系统,
其中,所述一个或多个处理器还被配置为训练所述机器学习模型,并且
其中,所述一个或多个查询语句选择用于通过训练后的机器学习模型处理以生成一个或多个模型预测的数据。
10.根据权利要求1所述的系统,
其中,所述特征属性是第一特征属性;并且
其中,所述一个或多个处理器还被配置为:
为用于训练所述机器学习模型的训练数据生成第二特征属性;
为训练后的模型生成全局特征属性,其中,在生成所述全局特征属性时,所述一个或多个处理器被配置为聚合所述第二特征属性;以及
将所述全局特征属性存储在所述一个或多个存储器设备中。
11.根据权利要求10所述的系统,
其中,在生成所述第一特征属性时,所述一个或多个处理器被配置为接收所存储的全局特征属性的至少一部分。
12.根据权利要求1所述的系统,其中,所述一个或多个处理器还被配置为输出所述特征属性,以用于在耦合至所述一个或多个处理器的显示设备上显示。
13.根据权利要求1所述的系统,其中,所述一个或多个查询语句是一个或多个结构化查询语言(SQL)语句。
14.一种计算机实现的方法,包括:
由一个或多个处理器接收使用一个或多个查询语句选择的输入数据,所述一个或多个查询语句指定用于生成与所述输入数据的一个或多个特征值相对应的特征属性的一个或多个参数;
由所述一个或多个处理器通过机器学习模型处理所述输入数据以生成模型输出;以及
由所述一个或多个处理器并且使用至少所述模型输出和所述一个或多个查询语句的所述一个或多个参数,为所述输入数据生成所述特征属性。
15.根据权利要求14所述的方法,其中,所述输入数据的相应特征的特征属性对应于测量将所述输入值的相对变化与所述输出值的相对变化相关的所述特征的因果关系的程度的值。
16.根据权利要求14所述的方法,
其中,所述方法还包括训练所述机器学习模型,并且
其中,所述一个或多个查询语句选择用于通过训练后的机器学习模型处理以生成一个或多个模型预测的数据。
17.根据权利要求14所述的方法,
其中,所述特征属性是第一特征属性;并且
其中,所述方法还包括:
为用于训练所述机器学习模型的训练数据生成第二特征属性;
为训练后的模型生成全局特征属性,其中,在生成所述全局特征属性时,所述一个或多个处理器被配置为聚合所述第二特征属性;以及
将所述全局特征属性存储在所述一个或多个存储器设备中。
18.根据权利要求17所述的方法,
其中,生成所述第一特征属性包括接收所存储的全局特征属性的至少一部分。
19.一个或多个利用指令编码的非暂时性计算机可读存储介质,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:
接收使用一个或多个查询语句选择的输入数据,所述一个或多个查询语句指定用于生成与所述输入数据的一个或多个特征值相对应的特征属性的一个或多个参数;
通过机器学习模型处理所述输入数据以生成模型输出;以及
使用至少所述模型输出和所述一个或多个查询语句的所述一个或多个参数,为所述输入数据生成所述特征属性。
20.根据权利要求19所述的计算机可读存储介质,其中,所述输入数据的相应特征的特征属性对应于测量所述相应特征在生成所述模型输出时具有的重要性的程度的值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/354,392 US20220405623A1 (en) | 2021-06-22 | 2021-06-22 | Explainable artificial intelligence in computing environment |
US17/354,392 | 2021-06-22 | ||
PCT/US2022/033822 WO2022271528A1 (en) | 2021-06-22 | 2022-06-16 | Explainable artificial intelligence in computing environment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117296064A true CN117296064A (zh) | 2023-12-26 |
Family
ID=82547138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280026232.7A Pending CN117296064A (zh) | 2021-06-22 | 2022-06-16 | 计算环境中的可解释人工智能 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220405623A1 (zh) |
EP (1) | EP4302244A1 (zh) |
CN (1) | CN117296064A (zh) |
WO (1) | WO2022271528A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11914709B2 (en) * | 2021-07-20 | 2024-02-27 | Bank Of America Corporation | Hybrid machine learning and knowledge graph approach for estimating and mitigating the spread of malicious software |
-
2021
- 2021-06-22 US US17/354,392 patent/US20220405623A1/en active Pending
-
2022
- 2022-06-16 CN CN202280026232.7A patent/CN117296064A/zh active Pending
- 2022-06-16 EP EP22741638.5A patent/EP4302244A1/en active Pending
- 2022-06-16 WO PCT/US2022/033822 patent/WO2022271528A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP4302244A1 (en) | 2024-01-10 |
WO2022271528A1 (en) | 2022-12-29 |
US20220405623A1 (en) | 2022-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3467723B1 (en) | Machine learning based network model construction method and apparatus | |
US11816544B2 (en) | Composite machine learning system for label prediction and training data collection | |
US11604896B2 (en) | Systems and methods to improve data clustering using a meta-clustering model | |
US11113479B2 (en) | Utilizing a gated self-attention memory network model for predicting a candidate answer match to a query | |
CN110569322A (zh) | 地址信息解析方法、装置、系统及数据获取方法 | |
US20210004539A1 (en) | Systems and methods for constructing an artificially diverse corpus of training data samples for training a contextually-biased model for a machine learning-based dialogue system | |
CN110674636B (zh) | 一种用电行为分析方法 | |
US20220100963A1 (en) | Event extraction from documents with co-reference | |
EP4006909B1 (en) | Method, apparatus and device for quality control and storage medium | |
US11645500B2 (en) | Method and system for enhancing training data and improving performance for neural network models | |
US20220100772A1 (en) | Context-sensitive linking of entities to private databases | |
US11669428B2 (en) | Detection of matching datasets using encode values | |
CN117296064A (zh) | 计算环境中的可解释人工智能 | |
WO2022072237A1 (en) | Lifecycle management for customized natural language processing | |
CN116721713B (zh) | 一种面向化学结构式识别的数据集构建方法和装置 | |
JP2023552048A (ja) | ハードウェアアクセラレータのためのニューラルアーキテクチャスケーリング | |
CN112685374B (zh) | 日志分类方法、装置及电子设备 | |
US10685281B2 (en) | Automated predictive modeling and framework | |
RU2715024C1 (ru) | Способ отладки обученной рекуррентной нейронной сети | |
CN116703659A (zh) | 一种应用于工程咨询的数据处理方法、装置及电子设备 | |
EP4064038B1 (en) | Automated generation and integration of an optimized regular expression | |
US11556514B2 (en) | Semantic data type classification in rectangular datasets | |
US11829735B2 (en) | Artificial intelligence (AI) framework to identify object-relational mapping issues in real-time | |
US20230018525A1 (en) | Artificial Intelligence (AI) Framework to Identify Object-Relational Mapping Issues in Real-Time | |
US20230367303A1 (en) | Automated intelligence facilitation of routing operations |
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 |