经由原型因子分解改进深度神经网络的制作方法

文档序号:30176540发布日期:2022-05-26 12:02阅读:77来源:国知局
经由原型因子分解改进深度神经网络的制作方法
经由原型因子分解改进深度神经网络
1.相关申请的交叉引用本技术要求于2020年10月30日提交的美国临时申请第63/108,192号的权益,该美国临时申请的全部公开内容通过引用并入本文。
技术领域
2.本公开一般涉及图像分类的系统和方法,以及基于所得到的分类的操作。


背景技术:

3.典型的深度神经网络是复杂的黑盒模型,并且其决策过程即使对于有经验的机器学习(ml)从业者而言也是难以理解的。因此,尽管在许多具有挑战性的ml任务中具有最先进的性能,但它们在任务关键场景中的使用可能会受到限制。此外,近年来,深度神经网络(dnn)因其在许多具有挑战性的机器学习任务中的先进性能而越来越多地被用于各种应用领域。然而,它们的可解释性的缺乏可能会导致可信任性和公平性问题,并且也使得模型诊断成为一项困难的任务。


技术实现要素:

4.一个实施例可以包括优化深度神经网络的方法,所述方法可以包括接收图像集,经由深度神经网络分析图像,选择深度神经网络的内部层,提取在内部层的神经元激活,经由矩阵因子分解算法对神经元激活进行因子分解以选择原型并为所选原型中的每个生成权重,利用所选原型和所选原型的权重替换内部层的神经元激活,接收第二图像集,使用所选原型和所选原型的权重,经由深度神经网络对第二图像集进行分类,显示第二图像集、所选原型和所选原型的权重,显示由深度神经网络分析的第二图像集的预测结果和基准真值,基于预测结果和基准真值提供错误图像;标识与错误图像相关联的所选原型的错误原型;对错误图像的错误原型的错误权重进行评级。以及基于错误原型是评级在顶部的错误权重之一,输出新的图像类。
附图说明
5.图1图示了经由深度神经网络和使用矩阵因子分解算法对神经元激活进行因子分解的代理模型进行图像分类的流程图。
6.图2a-2l是图像补片和图像补片的最高权重原型的图示。
7.图3a-3l是源图像示例图像内突出显示的原型的图示,所述源图像示例图像在原型上具有高权重。
8.图4a-4l是时间序列数据相对于时间的幅度的图形表示。
9.图5a是针对cnn-1d ecg分类的准确度相对于原型数量的图形表示。
10.图5b是针对vgg19 maxpool3和maxpool5层上的cifar-10的准确度相对于原型数量的图形表示。
11.图6是具有原型和样本问题的图像的图示。
12.图7是图示cifar-10上针对不同类别和用户的平均对准分数的分布以及vgg模型的结果的箱图。
13.图8a是用于ecg数据的cnn-1d模型架构的流程图。
14.图8b是用于cifar-10的vgg19模型架构的流程图。
15.图8c是用于cifar-10的resnet50模型架构的流程图。
16.图9是用于查看模型预测和基准真值之间的差异、标识错误预测、查看与错误图像相关联的原型以及调整原型和原型权重的图形用户界面的图示。
17.图10是用于对在fashion-mnist上针对错误预测的实例训练的resnet18的原型进行因子分解的图形用户界面的图示。
18.图11是被配置为控制载具的控制系统的示意图。
19.图12是被配置为控制制造机器的控制系统的示意图。
20.图13是被配置为控制电动工具的控制系统的示意图。
21.图14是被配置为控制自动化个人助理的控制系统的示意图。
22.图15是被配置为控制监控系统的控制系统的示意图。
23.图16是被配置为控制医学成像系统的控制系统的示意图。
24.图17是对深层神经网络中神经元激活进行因子分解的矩阵因子分解算法的流程图。
具体实施方式
25.根据需要,本文公开了本发明的详细实施例;然而,应当理解,所公开的实施例仅仅是本发明的示例,本发明可以以不同且替代的形式体现。各图不一定是成比例的;一些特征可能被放大或缩小以示出特定组件的细节。因此,本文公开的具体结构和功能细节不应被解释为是限制性的,而是仅仅是作为用于教导本领域技术人员以各种方式采用本发明的代表性基础。
26.术语“基本上”在本文中可以用来描述公开的或要求保护的实施例。术语“基本上”可以修改本公开中所公开或所要求保护的值或相对特性。在这种情况下,“基本上”可以表示它修改的值或相对特性在所述值或相对特性的0%、0.1%、0.5%、1%、2%、3%、4%、5%或10%之内。
27.在本公开中提出了一种系统和方法,用于授权用户利用事后归因协议来解释和优化dnn。公开了一种可解释的矩阵因子分解技术(protofac),其将预先训练的dnn中任何所选层处的潜在表示分解为加权原型的集合,加权原型是从原始数据(例如,图像补片、小形状(shapelet))提取的少量样本。使用因子分解的权重和原型,可以通过替换神经网络中的对应层来制作用于解释的代理模型。该系统可以标识protofac的多个期望特性,包括真实性、可解释性、简单性,并相应地提出优化目标和训练过程。该方法是模型无关的,并且可以被应用于具有不同架构的dnn。它通过提供原型作为由用于决策的模型使用的浓缩证据集,超越了基于每个样本特征的解释。该系统可以将protofac应用于解释用于各种ml任务的预训练的dnn,所述ml任务包括心电图的时间序列分类和图像分类。结果示出,protofac能够提取有意义的原型来解释模型的决策,同时真实地反映模型的操作。该系统也可以通过
amazon mechanical turk(mturk)评估人类可解释性,从而示出protofac能够产生可解释且用户友好的解释。
28.尽管用于该技术和系统的图像被图示为视觉图像和时间序列数据,但是该方法和系统也可以应用于其他时间序列数据,诸如其他时间序列信号,诸如语音、声音、压力、流量,或者可以将图像呈现为时间序列的其他时间序列数据。同样,该技术和系统的输入可以包括传感器,诸如电荷耦合器件(ccd)、视频、雷达、lidar、超声波、运动、麦克风、应变仪、热成像、压力或其他类型的传感器。
29.深度神经网络(dnn)已经在包括图像、时间序列和许多其他任务的各种机器学习(ml)任务中示出了有希望的结果。然而,鉴于其架构的复杂性和高维内部状态,解释这些模型极具挑战性。在许多真实世界用例中——尤其是在医学、金融等高风险的任务关键情况下——对这种模型的解释的缺乏使得它们不太可信或不太适合使用。
30.为了解决这一挑战,已经开发了各种方法来获得对预训练的黑盒dnn模型的事后归因解释。使用事后归因解释技术,系统可以更好地理解模型,而不会导致对模型的改变并且因此具有降低预测准确度的风险。这种方法的示例包括计算特征属性或使用可解释的代理(例如线性回归)来局部逼近模型的决策边界。然而,大多数技术仅提供每个实例或局部的解释,并且难以从整体上理解模型的行为。为了获得dnn的全局解释,现有方法利用激活最大化方法解释由中间层处的每个神经元捕获的表示,或者提取与模型输出高度相关的概念。ml模型开发人员可以将这些技术用于验证和调试目的。
31.在本公开中,该系统可以引入protofac,一种可解释的矩阵因子分解技术,其利用原型学习来从dnn中间层处的激活矩阵中提取用户友好的解释。一个目标可以是获得原型集,以从整体上解释模型的行为,所述原型集具有针对每个输入的对应权重集。原型学习基于案例推理的形式,其中模型依赖于与当前案例类似的先前示例来执行预测或分类。这是我们日常生活中频繁使用的推理过程。例如,律师可以引用来自旧审判的示例来解释当前审判的程序,并且医生可以依靠来自过去患者的症状记录来为新的患者执行诊断。尽管许多dnn已经将原型学习用于内置可解释性,但是一个目标可以是通过使用因子分解的权重和原型向量来构建解释代理/代理模型以模拟原始模型的行为,从而将该思想用于dnn的事后归因的全局解释:在所选的层处重构激活矩阵,并将其馈送到下游网络,以再现原始模型的预测。
32.该系统可以包括所提出的技术的许多期望特性(例如,需求):真实性。对dnn的可靠和值得信赖的解释应当通过忠实地表示网络的操作而对底层模型具有高保真度。为此,该方法不仅应当模拟底层模型的输出,而且还要利用原型向量的加权组合准确地重构中间层中的潜在激活矩阵。
33.可解释性。为了获得可解释的矩阵因子分解结果,该技术应当包括非负约束,以确保原型的加性组合,而不是减性组合。除此之外,每个原型应当对应于数据中的现实示例,以便是人类可理解的。
34.简单性。正如奥卡姆剃刀原理所述,只要有可能,就应当采用最简单的解释。这里的意思是对模型预测结果的解释应当使用数量尽可能少的原型。
35.模型无关。我们的目标是开发一种通用的方法,其适用于具有不同架构的dnn,以便它对于未来出现的模型是灵活的。
36.该系统公开了一种用于矩阵因子分解的新颖学习目标,该学习目标考虑了上述准则,以获得用于模型解释的原型集及其对应的权重。训练过程使用梯度下降,并迭代地将原型投影到现实数据样本或数据样本片段(例如,时间序列中的图像补片、n-gram和小形状)。
37.对包括心电图(ecg)上的时间序列分类和图像分类在内的宽范围ml任务的各种预训练dnn进行实验可以是有益的,从而证明所提出方法的普遍适用性。对于每个实验,可以示出代理模型相对于由原始模型生成的预言预测和基准真值标签这两者的准确度。为了评估学习到的原型的可转移性,实验可以采用保留(holdout)数据集,冻结先前学习到的原型,仅训练权重并报告结果。报告案例研究和可视化由算法标识的原型可以是有益的。protofac进一步与使用frobenious损失作为质量度量的非负矩阵因子分解技术进行比较。实验示出,该算法产生相当的、并且有时更好的因子分解结果。为了评估结果的人类可解释性,经由amazon mechanical turk(mturk)进行众包定量用户研究可以是有益的。在研究中,受试者可能被要求通过从候选原型集中进行选择来解释给定实例的分类结果。结果示出,protofac能够选择与用户直觉或常识对准的原型进行模型解释。进行各种实验来研究超参数设置(例如原型k的数量)和dnn中不同层的选择的影响也可以是有益的。对结果的描述可以在下面讨论。
38.protofac,可解释的矩阵因子分解技术,其利用原型学习来获得所训练的dnn的事后归因的、模型无关的解释。对公开可用的时间序列和图像数据的实验结果示出,该技术忠实地反映了原始模型的行为,并成功地检索到有意义的原型来解释模型行为。众包定量用户研究的结果示出该技术在提取人类可解释原型以解释复杂dnn方面的有效性。
39.该算法被设计成帮助使复杂的ml模型可解释。为了实现这一点,存在两个主要的替代方案:(1)使用固有的可解释模型,或者(2)使用事后归因的分析方法来分析所训练的dnn模型,以使它们可解释。更进一步地,过去在事后归因模型解释方面的努力可以归类为局部和全局解释技术。局部解释技术示出了模型与每个数据实例相关的推理过程。全局解释技术目的在于在整体上提供对模型行为的理解,并分析在训练之后采集了哪些知识。
40.本质上可解释的模型。诸如决策树、基于规则的模型、加性模型、稀疏线性模型等之类的模型被认为是内在可解释的。与dnn不同,这些模型提供可由用户直接检查和解释的内部组件,例如探测决策树中的各个分支,或者可视化线性模型中的特征权重。虽然这些方法为ml系统的推理过程提供了深刻的解释,但本质上可解释的方法通常依赖于更简单的模型,与最先进的dnn相比,这可能会损害预测性能。最近,许多dnn架构也合并有可解释的组件,诸如用于内在可解释性的注意力模块或原型层。然而,这样的模型可能需要在可解释性和就预测准确度而言的模型性能之间执行权衡。
41.事后归因局部解释。局部解释方法示出了与每个数据实例相关的预训练模型的推理过程。解释模型的最流行的事后归因方法之一是计算和可视化特征属性。可以通过稍微扰动每个实例的输入特征来计算特征属性,以验证dnn模型的预测响应如何相应地变化。它也可以通过神经网络的反向传播来计算。另一种流行的局部解释方法是对实例附近的特征空间进行采样,以组成附加的训练集。该训练集用于构建可解释的局部代理模型,该模型模拟原始模型的行为。使用该方法,原始模型的预测可以通过更容易检验的可解释模型(例如线性回归)来解释。然而,局部解释方法被证明是不一致的,因为解释仅对于特定的数据实例或其邻居为真,而不是对于数据中的所有项为真。更进一步地,它可能对来自相同的类标
签的两个数据项产生截然不同的解释。它也可能遭受对抗性的干扰和确认偏差的影响。除此之外,事后归因局部解释方法要求用户手动检验每个数据样本,以检查模型的行为,而不是示出模型的整体行为。
42.全局解释技术旨在提供模型行为的概述,而不是关注单个实例或局部输入区域。对于dnn,一组特定的全局模型解释技术聚焦于理解由神经网络通过激活最大化技术学习的潜在表示,该激活最大化技术计算能够最大限度地激活神经网络中的中间层中的每个单独神经元的输入。另一方面,基于概念的解释通过示出人类可理解的相关概念来示出模型如何进行全局预测。例如,可解释基础分解(ibd)技术通过示出人类可解释的相关概念来解释图像分类模型。特别是,概念激活向量(cav)由kim等人讨论,作为框架来解释dnn中的潜在表示。该技术已经被示出为通过使用其中可获得人类注释的概念的数据的有监督方法或者通过用于直接从训练数据中检索相关概念的无监督技术(即聚类)来实现。
43.我们的方法简化并可视化了dnn任何层的潜在空间的原本复杂的表示。该系统可以对期望的层的激活矩阵进行因子分解,以找到k个原型及其对于每个输入实例的相应权重。使用该事后归因的分析协议,系统可以探测现有模型并解释其推理过程。该系统可以通过使我们的方法能够与各种dnn架构一起工作以用于图像、时间序列和文本数据分析来将其设计成是模型和数据无关的。
44.图1。protofac使用代理模型,该代理模型利用原型的加权组合(即w
×
h)替换神经网络中任何所选层l的激活矩阵a
l
。为了真实地反映模型操作,目标是利用最小的无解释残差(即)重构激活矩阵,并尽可能地模拟原始模型的预测。为了更好的可解释性,系统可以将h中的原型向量hj约束为层l的真实数据样本或数据样本片段的潜在表示。
45.图1图示了经由深度神经网络110和代理模型112的图像分类100的流程图,代理模型112使用矩阵因子分解算法来对神经元激活进行因子分解。输入数据102由控制器接收,输入数据102可以是文本数据(例如,对应的原型是n-gram)、图像数据(例如,对应的原型是图像补片)或时间序列数据(对应的原型是小形状或wavelet)。
46.在步骤104中,控制器将输入(例如图像、文本、时间序列)馈送到神经网络,直到所选的层l。
47.在步骤106中,控制器获得层l处的神经元激活矩阵,并对神经元激活矩阵进行因子分解以获得原型向量集及其相关联的权重。
48.在步骤108中,控制器将神经元激活馈送到预言模型中的l之后的下游层,并且从代理模型中的加权原型中重构神经元激活。
49.更具体地,如图1所图示的,该系统可以包括protofac以建立代理模型来解释任何用户指定层l处的原始dnn激活矩阵,该激活矩阵被标示为a
l
。假设层l处的潜在表示是m维的固定长度向量,并且输入实例的总数为n,则a
l
将是n
ꢀ×ꢀ
m矩阵,其中每一行表示层l处的输入实例的潜在激活。protofac分解以获得,其中k是原型的数量,这是一个需要被指定的超参数。中的每一行是原型向量,并且中的每一行是权重向量,用于组合k个原型并恢复的原始激活向量。为了使原型向量可解释,在protofac中,系统可以将它们约束为层l处的真实
数据样本或数据样本片段的潜在表示,例如图像补片、小形状(即时间序列中的片段)或文本数据中的n-gram。
50.在图1中,表示原始网络中层l之后的下游部分,并且表示上游部分,该上游部分取得任何输入并在层l处输出潜在表示。使用层l处的原始潜在表示,对的预测是,这也可以称为预言预测。代理模型使用恢复的激活w
ꢀ×ꢀ
h作为l之后下游层的输入,以获得的新的预测集,该预测集应当与原始模型的预言预测高度相似。
51.优化目标:优化目标可以基于上面列出的对dnn的事后归因解释的需求。
52.真实性。protofac利用通过原型向量的加权组合获得的所恢复的激活矩阵来替换原始模型的激活矩阵,并将其馈送给下游网络。与原始网络相比,该步骤可以产生类似的预测。为了忠实地反映原始模型的行为,定义了以下两个损失项:因子分解残差的frobenius范数:其中表示所有输入实例,f是所训练的预言模型,并且l是所选择的因子分解层。如果利用层l处的原型的加权组合替换原始激活矩阵,则目标是最小化未解释的残差。
53.交叉熵损失比较预言模型和解释代理的预测,使用二元分类作为示例:其中是输入实例上的预言预测,并且是代理模型对预言标签的预测概率,其经由通过向下馈送重构的激活获得。
54.非负性。系统可以找到仅具有非负条目的矩阵w,以仅允许原型的加性组合。w中的每一行可以相加为1.0,使得原型的权重可以在不同的输入实例之间直接比较。
55.稀疏性和集中性可以是这样的系统和方法的一个因素。为了确保用户不会被所示出的原型所淹没,系统可以寻求找到能够精确重构激活矩阵的较少但良好的原型。为了鼓励权重分布针对每个输入仅集中在几个原型处,系统可以添加集中性损失项:其中是长度为的标准基向量。仅中的第j项等于1.0,并且其他所有项都等于零。损失函数鼓励权重集中在任何一个原型上。请注意,这是一个软约束,并且不像k-means那样强制执行严格的聚类边界。
56.整体目标。该系统可以将上面讨论的损失项和约束组合在一起,以形成以下优化目标:
其中,,并且。
57.protofac算法介绍:由于优化目标中的附加损失项,矩阵因子分解技术(例如交替最小二乘法(als))不再是足够的。由于在深层神经网络中添加了涉及下游层的真实性项,因此优化目标相对于w或h不是凸的。因此,在一个实施例中,该系统可以利用具有迷你批的使用随机梯度下降的算法来获得原型及其相应的权重。迷你批是原始图像集的小的子集,例如,如果原始图像集是10,000个图像,则迷你批可以是200个图像,提供50批。获得预定义阈值是为了满足系统内存限制。
58.算法1中详细示出了protofac因子分解算法。它首先通过将训练数据馈送到原始dnn(第1-2行)来收集激活矩阵a
l
和预言预测。
59.激活矩阵是通过展平层l处的每个输入的潜在激活并且将它们连结以形成n
×
m矩阵来构造的。在此之后,通过首先随机采样x的子集,并且然后将应用于每个样本应用于每个样本以生成一组候选原型,从而生成候选原型集。对于不同类型的数据而言是不同的,但是通常可以通过在例如图像或时间序列数据上应用滑动窗口以相应地获得图像补片集或小形状集来实现。该系统可以收集层l处的所有候选原型以及它们的潜在表示,它们被统一标示为(第3-4行)。对于接受不同长度输入的dnn,候选原型被直接馈送到网络中以获得潜在表示。对于具有固定大小输入的dnn,系统可以简单地屏蔽移动窗口所覆盖区域之外的数据。
60.在训练开始之前,系统可以将上游层和下游层中的参数均冻结(第5行),因为保持预言模型完整可以是有益的。在训练期间,w和h被利用随机权重初始化,并通过sgd被更新(本文中呈现的实验中使用了adam优化器)。系统可以组合a
l
中的行,以形成训练批(第7行),以处置大规模数据。当迭代遍历每个批时,w中的对应行和整个h将通过梯度下降(第8-9行)进行更新。对于每几轮(epoch)并且在最后一轮之后,系统可以执行原型投影(第11-18行),该原型投影首先将通过梯度下降获得的原型向量hj分配给它们在欧几里德距离中的
最近邻居(第12行)。
61.相应地存储相应的图像补片、小形状和n-gram,以生成用户友好的解释以及权重。在投影之后,算法冻结原型向量,并通过sgd再次更新权重(第13-18行),以获得最佳因子分解。当代理模型相对于预言预测的准确度不再提高时,训练过程停止。利用算法1中描述的protofac,系统可以获得原型的集合和它们针对训练集的对应权重。为了评估所标识的原型对看不见的数据的适用性,系统可以使用类似的算法,除了现在需要冻结原型矩阵h,并且该算法不再执行原型投影。对于看不见的数据获得新的w矩阵,然而使用与训练集相同的原型。
62.下面解释的是针对不同ml任务的各种dnn的实验结果。所有的实验都是在公开可用的数据集上进行的,所述数据集包括图像、时间序列和文本数据。也可以解释检查不同超参数设置以及模型中不同因子分解层的选择如何影响代理模型准确度的各种消融(ablation)研究。还解释了评估因子分解的原型的人类可解释性的用户研究。
63.所述研究可以包括使用pytorch实现dnn模型和protofac的系统。该系统可以利用所训练的预言模型并保存其内部参数。所选层的潜在激活是通过在pytorch中实现钩子函数并通过网络运行训练样本来收集的。以同样的方式,系统可以收集原型候选的潜在激活。当训练代理模型时,预言模型中的所有下游层参数都被冻结。
64.案例研究:解释图像分类器:vgg和resnet。
65.该系统可以将protofac应用于分析用于图像分类的两个模型:vgg 19(+batchnorm)和resnet50。这两个模型均在cifar-10数据集上训练,cifar-10数据集包含均匀分布在10个类中的60000个彩色图像。每个图像的分辨率为32
×
32。模型具有超过94%的验证准确度。
66.系统可以从vgg19和resnet50中各选择两个层进行实验(表i)。所选层的特征图被展平以收集激活矩阵。在代理模型中,在获得重构的激活之后,系统还可以相应地对其进行整形,以便将其发送到下游网络。原型候选是利用大小为16
×
16的移动窗口和为4的步长从训练样本生成的图像补片。因此,针对每个图像创建5
×
5的图像补片。分别对大小为4
×
4、8
×
8、16
×
16的图像补片进行了实验,并且发现16
×
16相对于原始模型在真实性方面给出了最好的结果。为了限制补片的数量,系统可以针对每个类具有均匀采样的20%的图像。对于具有不同层和模型组合的所有实验,系统可以使用64的批大小和0.005的学习率来训练代理模型。对于每个实验,系统总共可以运行40个训练时期,投射频率为5,并且报告在训练过程中获得的最佳结果(就相对于预言模型的准确度而言)。
67.表i针对图像分类任务vgg 和resnet 的实验结果 .
68.表 ii针对 mit-bih 数据的时间序列分类任务resnet-1d的实验结果
69.在表i中,系统可以设置,,以及。其他训练配置为:n时期= 50,批大小=64,投影间隔= 10,学习率=0.005,n_epochs' = 20,并且learning_rate weight updates= 0.005。
70.表i总结了实验结果。结果示出,代理模型能够实现对原始模型的高保真度——在适当设置原型数量k的情况下,代理模型相对于预言模型的预测(表i中的准确度(相对于预言))保持在99%左右的高水平。对应地,代理模型在基准真值标签(表i中的准确度(相对于基准真值))方面也具有与预言模型相似的准确度。frobenius损失(表i中的f-损失(protofac))仍然相当接近,并且有时甚至比通过经典的非负矩阵因子分解算法得到的损失(f-损失(nmf))更低。比较具有相等的k的vgg19的层maxpool3和maxpool5结果,可以观察到,通过对更接近输出的层进行因子分解,算法可以实现对预言模型的更高保真度,这并不太令人惊讶。在图5中图示了更广泛的实验,以分析在原始模型中的不同k和不同层的选择将如何影响代理模型的性能。
71.在图5中,对于vgg19上的实验,系统可以设置,和。其他训练配置为:n_epochs = 39,批大小= 64,投影间隔= 5,投影间隔= 0.005,n_epochs'=20,以及learning_rate_weight_updates = 0.005。
72.图2a-2l示出了一些示例原型以及它们的来自因子分解结果的权重,以解释原始模型的预测。图中示出的结果是通过对vgg19中的maxpool3(图8b)层进行因子分解获得的。它清楚地示出,一些预测是通过使用基于部件的表示来执行的:在第一行中,图像被分类为汽车,因为它单独地与包含车轮和红色尾灯以及汽车后部的原型相关。图3a-3l示出了来自不同类的一些示例原型以及这些原型上具有最高权重的图像样本。
73.图2是示例图像补片和最高权重的原型。第一行示出了与汽车图像相关联的原型:一个原型包含车轮,并且另一个包含可能与尾灯相关联的红灯。在第二排,马通过其体形被认为是所有都描述体形的原型中的最高权重的原型。
74.图2a-2l是图像补片和图像补片的最高权重原型的图示。图2a是示例性源图像,图2b是相对于示例性源图像图2a权重为0.10的原型图像,图2c是相对于示例性源图像图2a权重为0.08的原型图像,图2d是相对于示例性源图像图2a权重为0.08的原型图像。
75.图2e是示例性源图像,图2f是相对于示例性源图像图2e权重为0.26的原型图像,图2g是相对于示例性源图像图2e权重为0.22的原型图像,图2h是相对于示例性源图像图2e权重为0.20的原型图像。
76.图2i是示例性源图像,图2j是相对于示例性源图像图2i权重为0.19的原型图像,图2k是相对于示例性源图像图2i权重为0.14的原型图像,图2l是相对于示例性源图像图2i权重为0.10的原型图像。
77.图3是示例原型(在其源图像中突出显示)和在那些原型上具有较大权重的图像。在第二排,鸟和飞机这两者与相同的原型匹配,因为它们的翅膀形状相似。
78.图3a-3l是在源图像示例中突出显示的原型和在该原型上具有高权重的图像的图示。图3a是具有在源图像内突出显示的原型的示例性源图像,图3b是相对于示例性源图像原型图3a权重为0.25的补片图像,图3c是相对于示例性源图像原型图3a权重为0.24的补片图像,图3d是相对于示例性源图像原型图3a权重为0.22的补片图像。
79.图3e是具有在源图像内突出显示的原型的示例性源图像,图3f是相对于示例性源图像原型图3e权重为0.38的补片图像,图3g是相对于示例性源图像原型图3e权重为0.34的补片图像,图3h是相对于示例性源图像原型图3e权重为0.38的补片图像。
80.图3i是具有在源图像内突出显示的原型的示例性源图像,图3j是相对于示例性源图像原型图3i权重为0.43的补片图像,图3k是相对于示例性源图像原型图3i权重为0.43的补片图像,图3l是相对于示例性源图像原型图3i权重为0.35的补片图像。
81.案例研究:解释ecg数据的时间序列分类器。心电图(ecg)记录被医生广泛用于监测患者的心血管健康和执行诊断。由于手动分析ecg既耗时又容易出错,因此最近许多研究探索使用机器学习来对ecg信号自动执行异常检测或分类。
82.在ml模型之中,dnn是使用最广泛的模型之一。使用具有带标签的记录的mit-bih心律失常ecg数据库,在对ecg信号进行分类的dnn模型上测试这样的技术可以是有益的。该数据集包含来自47名受试者的ecg记录,每名受试者以360hz的采样率记录。
83.表iii针对ecg时间序列分类的cnn-1d模型的实验结果
84.在表iii中,对于用于心电图(ecg)分类的cnn模型的实验,系统可以设置,和。其他训练配置为:k = 50,n个时期= 120,批大小=4096,投影间隔= 30,学习率= 0.09, = 20,学习率权重更新= 0.005。
85.系统可以使用预处理数据,其中每个分段对应于一个心跳。根据医疗器械进步协会(aami)ec57标准,利用如下5个标签中的一个进行对分段中的每一个进行注释:正常(n)、室上性异位搏动(sveb)、室性异位搏动(veb)、融合搏动(f)和未知搏动(q)。更进一步地,数据被划分成分别具有87k样本和21k样本的训练集和验证集。由于ecg数据是单变量时间序列,因此该系统利用了1d cnn模型。(附录vi-b中的架构图)。该系统可以训练具有如下各项的cnn-1d模型:大小分别为4、8、16、32、64和128个信道的卷积核,最大池化(在时间上)层,以及其后的两个全连接层。利用4096的批大小来训练该模型。利用120个时期,系统可以获得训练准确度为99.37%和验证准确度为98.11%的原始模型(表iii)。
86.针对对于ecg数据的实验,系统可以使用完整的心跳序列作为候选原型,并且不在其上应用移动窗口来提取时间序列分段作为原型。原因是原始序列只包含单个心跳,并且进一步划分它们可能会损害可解释性。系统可以使用k = 50以及120个时期和30的投影频
率来训练代理模型。系统可以对之前两层fc1和fc2的输出进行因子分解,并发现我们的代理模型能够在这两层处获得相对于原始模型的高保真度(表iii,准确度(相对于预言)。在与传统的nmf技术(表iii,f-损失(nmf))相比时,还以合理的frobenious损失(表iii,f-损失(protofac)重构激活矩阵。
87.图4是恢复的ecg数据原型。每个类都利用单独的颜色表示。实线是原型,而透明线是在对应原型上权重最高的输入。
88.图4a是时间序列数据(例如,ecg数据样本)的幅度402相对于时间404的图形表示。在这里,心跳是正常的(类n)节律,其中实线是原型,而虚线是具有对应原型的排名最高的权重的输入。图4b是时间序列数据(例如,ecg数据样本)的幅度402相对于时间404的图形表示。在这里,心跳是正常的(类n)节律,其中实线是原型,而虚线是具有对应原型的排名最高的权重的输入。图4c是时间序列数据(例如,例如,ecg数据样本)的幅度402相对于时间404的图形表示。在这里,心跳是正常的(类n)节律,其中实线是原型,而虚线是具有对应原型的排名最高的权重的输入。
89.图4d是时间序列数据(例如,ecg数据样本)的幅度402相对于时间404的图形表示。在这里,心跳是室上性(类sveb)节律,其中实线是原型,而虚线是具有对应原型的排名最高的权重的输入。图4e是时间序列数据(例如,ecg数据样本)的幅度402相对于时间404的图形表示。在这里,心跳是室上性(类sveb)节律,其中实线是原型,而虚线是具有对应原型的排名最高的权重的输入。图4f是时间序列数据(例如,ecg数据样本)的幅度402相对于时间404的图形表示。在这里,心跳是室上性(类sveb)节律,其中实线是原型,而虚线是具有对应原型的排名最高的权重的输入。
90.图4g是时间序列数据(例如,ecg数据样本)的幅度402相对于时间404的图形表示。这里,心跳是心室异位搏动(类veb)节律,其中实线是原型,而虚线是具有对应原型的排名最高的权重的输入。图4h是时间序列数据(例如,ecg数据样本)的幅度402相对于时间404的图形表示。这里,心跳是心室异位搏动(类veb)节律,其中实线是原型,而虚线是具有对应原型的排名最高的权重的输入。图4i是时间序列数据(例如,ecg数据样本)的幅度402相对于时间404的图形表示。这里,心跳是心室异位搏动(类veb)节律,其中实线是原型,而虚线是具有对应原型的排名最高的权重的输入。
91.图4j是时间序列数据(例如,ecg数据样本)的幅度402相对于时间404的图形表示。在这里,心跳是q波(类q)节律,其中实线是原型,而虚线是具有对应原型的排名最高的权重的输入。图4k是时间序列数据(例如,ecg数据样本)的幅度402相对于时间404的图形表示。在这里,心跳是q波(类q)节律,其中实线是原型,而虚线是具有对应原型的排名最高的权重的输入。图4l是时间序列数据(例如,ecg数据样本)的幅度402相对于时间404的图形表示。在这里,心跳是q波(类q)节律,其中实线是原型,而虚线是具有对应原型的排名最高的权重的输入。
92.我们使用可视化进行的分析(图4)示出,这些原型是ecg数据样本的良好表示。该系统还可以通过类标签对原型进行分类,以分析原型是否捕捉到该类的某些独特特征。该系统可以发现,与具有不同峰值定位的正常搏动(n)相比,对应于类标签sveb和类标签veb的原型具有更多不规则节律。另一方面,与类标签未知搏动(q)相关联的原型示出了许多多样性和变化(图4)。
93.下面解释用于验证我们的矩阵因子分解方法的实验。为了在mit-bih ecg时间序列数据集上验证该技术,该系统还在resnet-1d模型上部署了如引入其中的protofac。该模型的架构包括3个“block”,每个block具有核大小和通道大小。每个“block”由3个1d卷积层组成(每个层之后是一个批归一化函数)。在进行预测之前,系统可以将来自所有“block”层的输出连接到全连接层。为了防止过拟合,系统可以使用0.2的dropout率。该模型以512的批大小、0.007的学习率和80个时期进行训练,以在验证集上得到98.34%的最佳基准真值准确度。在resnet-1d中,实验通过一次一个地对层“block1”、“block2”、“block3”和“全连接”进行因子分解来测试protofac的有效性(参见表ii)。当实验因子分解这些层时,实验冻结了该模型的上游层和下游层中的参数,以便保留预言模型。由于系统可以训练代理模型,系统将利用随机权重初始化w和h,并且然后使用sgd训练权重(使用adam作为优化算法)。在梯度下降的训练过程中,每次迭代更新w和h矩阵;在完成一个时期之后,protofac检索“k”个原型。还在该网络上进行了以下实验,以进一步验证protofac的有效性。与其他矩阵因子分解方法比较:实验比较了当激活矩阵使用protofac进行因子分解时相对于利用传统的非负矩阵因子分解技术进行因子分解时,我们的代理模型的准确性指标。实验使用了nimfa python库的nmf方法,并且将“解释方差”分配为目标函数以及将“欧几里德”分配为更新指标作为输入参数。实验发现,使用protofac,代理模型在ecg数据集上的基准真值准确度为98.34%,而使用来自nimfa的nmf方法,准确度为96.65%(因子分解层为“全连接”层)。当层“block2”被因子分解时,protofac和nimfa的基准真值准确度结果分别为95.94%和95.02%。如表ii所示的,与传统nmf方法相比的frobenious损失示出,我们的方法在恢复原始激活矩阵方面也始终表现得更好。这证明了我们的矩阵因子分解方法与其他分解方法相比表现良好。然而,在protofac中,虽然系统可以对激活矩阵进行因子分解,但系统也可以恢复原型,以利用语义上有意义的图像补片或小形状来解释原始dnn模型。
94.激活矩阵重构:接下来,验证protofac准确重构原始激活矩阵的有效性可以是有益的,即使其中存在任何缺失值。为了测试这一点,实验可以以编程方式利用空值(由0表示)替换来自激活矩阵中的20%的原始值。然后使用protofac,系统可以对该激活矩阵(具有部分空值)进行因子分解。结果示出,当因子分解“全连通”层时,基准真值准确度仅下降3.42%,从而证明了矩阵因子分解方法非常接近地重构原始矩阵,即使其中存在缺失值。
95.消融研究:原型数量k的影响:原型数量k可能影响代理模型的准确度。因此,可以有益的是以k = 3的较低值开始实验,并且然后逐渐增加它,以研究代理模型的准确度如何相对于预言模型的预测和基准真值标签而改变。实验在用于ecg数据分析的cnn-1d和用于图像分类的vgg19上进行。从每个模型中选择两层用于实验,与表i和表iii中的相同。所有的实验结果都是在保留的验证数据集上获得的。
96.图5是代理模型准确度(相对于基准真值和预言)相对于原型数量k的图。a.针对用于ecg分类的cnn-1d的准确度相对于k。注意,数据来自cnn模型中的两个全连接层。fc2是倒数第二层。b.vgg19 maxpool3和maxpool5层上针对cifar-10的准确度相对于k(图5b)。
97.图5a是针对cnn-1d ecg分类的准确度502相对于原型数量504的图形表示500。图5b是针对vgg19 maxpool3和maxpool5层上的cifar-10的准确度502相对于原型数量504的图形表示520。
98.图5a-5b总结了结果。对于这两种模型,实验观察到,随着系统增加k,代理模型的
准确度逐渐增加,并且然后对于更大的k展平。相对于预言模型预测的准确度饱和接近100%,并且相使对于基准真值标签的准确度饱和达到预言模型的验证准确度。结果示出,在原型数量足够多的情况下,代理模型能够准确地逼近原始模型的输出,并且在模型饱和之后添加更多的原型具有递减的边际效用。该曲线也可以用于选择适当数量的原型。一种有益的方法是从低的k值开始,并且然后增加k值,直到模型的准确度方面不存在任何显著改变。此外,我们应该考虑到,拥有具有大量原型的代理模型可能通过添加不合期望的原型作为噪声而致使模型不太可解释。原型因子分解所选层的效果:图5a-5b还示出了当选择来自dnn的不同层进行原型因子分解时,代理模型的行为如何改变。对于cnn-1d和vgg19二者,可以观察到,随着所选层移动接近输出(cnn-1d中的fc2和vgg19中的maxpool5),随着k增加,代理模型的性能饱和得快得多。原因是后几层生成可以更容易地分离而进行预测的潜在表示。
99.人群来源的可解释性评估:非专家对模型的解释通常是由主观方面驱动的。因此,为了评估我们的方法在帮助用户借助于原型解释模型方面的有效性,该实验可以对具有人类主体的protofac进行定量评估。通过该实验,可以确定在解释训练的dnn模型的预测中原型如何可解释和可理解。对于评估,评估可以使用在cifar-10图像分类别数据(10个类标签)上训练的vgg19模型,该vgg19模型具有从maxpool3提取的60个原型。为了收集用户对模型解释的反馈,该实验可以在amazon mechanical turk(mturk)上招募非机器学习领域中的专家的人类参与者。该实验可能要求用户填写调查问卷,该调查问卷具有关于图像和文本数据的20个问题。实验设置和结果(vgg):实验生成了20个问题的集合,其中每个问题包含图像(例如,实验可能从cifar-10中的每个类中采样了两个图像),所述图像具有类标签和六个候选原型集合,作为对图像预测的潜在解释(见图6)。
100.图6是具有原型604和样本问题606的图像602的图示600。
101.用户被问到以下问题:“您认为以下哪些选项可以用于解释图像(在左边)及其标题(标签)”。如果示出的原型中没有任何解释图像及其标签,则用户可以选择最后一个选项“它们中没有”。在6个候选原型中,2个是protofac为解释预测而选择的原型,2个是其他原型,以及2个是随机选择的图像补片。通过mturk,该实验收集了58个响应,并移除了它们中6个缺失条目。从剩余的52个响应中,分析了数据发现,在20个输入图像中,用户的选择平均与16.314(sd = 2.37)的算法选择对准(如果用户选择两个原型中的任何一个,则系统可以考虑它们是否对准)。从该结果可以确定的是,由代理模型生成的大多数原型都是人类可理解的预测解释。图7分析了针对不同类的平均对准分数(对准响应的百分比)的分布以及针对不同实验主体的平均对准分数的分布。
102.图7是图示cifar-10上针对不同类和用户的平均对准分数的分布以及针对vgg模型的结果的箱图700。这里,标度706是用户研究的准确度。
103.用于一般dnn的该事后归因的模型不可知的解释方法使用了名为protofac的所提出的矩阵因子分解算法将dnn中任何所选层中的潜在激活分解为具有对应权重的原型集合。用于protofac的该新奇的优化目标考虑了获得ml模型事后归因解释的各种需求,包括真实性、可解释性和简单性,并提出了对应的优化程序。通过在用于不同ml任务的多种dnn架构上的实验,所述不同ml任务诸如是针对ecg数据的时间序列分类和图像分类,该实验可以表明这样的算法能够找到有意义的原型集合来全局解释模型的行为,同时保持真实以反
映底层模型的操作。该实验也可以在amazon mechanical turk上进行大规模用户研究,以评估提取的原型的人类可解释性。结果表明,该算法能够提取可以被容易地理解的原型,并与人类的直觉和常识很好地对准。虽然第一步骤是有希望的,但需要继续努力和进一步研究来扩展解决方案,以适应更大的数据集、更复杂的模型和多样的ml任务集合。
104.图8a是用于ecg数据的cnn-1d模型架构的流程图。该实施例可以包括用于时间序列分类的卷积神经网络。
105.图8b是用于cifar-10的vgg19模型架构的流程图。该实施例可以包括用于图像分类的vgg。
106.图8c是用于cifar-10的resnet50模型架构的流程图。这是用于图像分类的resnet。
107.这里,用于解释和诊断dnn的新奇的视觉分析框架利用protofac将dnn中的潜在表示因子分解成原型的加权组合,将从原始数据公开示例案例(例如,代表性图像补片)。视觉界面使用因子分解的原型来总结和解释模型行为,以及支持跨数据子集的比较,使得用户可以对模型在某些子集上的失败形成假设。该方法是模型无关的,并提供模型行为的全局解释。此外,该系统选择原型和权重,通过模拟其潜在的表示和预测忠实地表示被分析的模型。在两个dnn架构和两个数据集上的示例使用场景说明了所提出方法的有效性和一般适用性。
108.近年来,深度神经网络(dnn)因其在许多具有挑战性的机器学习任务(例如图像分类和对象检测)中的先进性能以及设计良好的深度学习库的可用性而在宽范围的应用领域中被越来越多地采用。然而,在诸如医疗保健和自主驾驶之类的关键任务场景中,深度学习的实际采用经常受到dnn缺乏可解释性阻碍。此外,当开发模型时,对模型内部工作的有限理解经常导致调谐超参数的冗长尝试错误过程。
109.可解释深度学习中的最新研究通常落入两种范式:以事后归因方式解释或可视化现有的dnn,或者训练具有内置解释机制的内在可解释模型。下面公开的系统可以集中于开发事后归因的、模型无关的解释和可视化技术,当用户在实践中开发或部署宽范围的dnn模型时,该技术可以提供指导性的洞察。
110.特别地,该系统可以通过提取和可视化模型中使用的原型来开发用于dnn的事后归因解释的视觉分析框架。该系统可以利用protofac(算法1)、可解释的矩阵因子分解技术,该可解释的矩阵因子分解技术将预先训练的dnn中的潜在表示分解为原型的加权组合,该原型是从原始数据提取的小量示例(例如,来自完整图的图像补片、来自时间序列数据的小形状)。例如,为了确定图像是否包含汽车,该模型将组合原型补片与车轮和另一原型补片与尾灯。基于原型的推理是基于案例的推理的形式,其中模型的决策是通过参考一个或多个过去的示例来解释的。这是在我们日常生活中使用的常见的解决问题的策略,例如,医生参考之前治疗过的患者,为新患者开处方。最近,机器学习研究人员开发了具有内置基于原型的推理机制的内在可解释的dnn。我们的方法集中于现有黑盒模型的事后归因解释。
111.为了对模型诊断提供实际且可信的解释,系统可以利用以下一些高级需求来开发框架:忠实于原始模型。解释应该以真实的方式反映模型的行为,使得系统可以分析原始模型,而不是如在最近的调查中强调的那样被解释技术生成的伪影误导。系统可以利用
protofac来解决该问题。它用原型构建了准确地模拟原始模型的行为的代理模型。
112.提供全局解释。虽然局部解释技术(例如,显著图)可以提供对模型底层操作的洞察,但是它可以被限制为一次仅解释一个或几个实例。为了帮助用户获得模型的全局理解,系统可以在可视化界面中可视化标识的原型(数量通常比训练数据小得多)以及它们在每个类中的实例的权重分布。
113.支持对比分析。对于模型诊断,理解模型在不同数据子集上的行为——例如,正确分类的数据和未正确分类的数据——是关键的。该系统可以基于用户选择来可视化跨不同数据子集上的原型权重,以支持有效的比较分析,使得用户可以通过观察差异来形成假设。
114.除了满足以上提及的要求之外,该系统还可以通过按需求提供详情和多种用户交互来支持探索性分析。作为初步研究,该系统可以通过针对用于图像分类的两个广泛使用的卷积神经网络(cnn)的示例使用场景来表明该系统的效用和一般适用性,这两个广泛使用的卷积神经网络(cnn)包括vgg和resnet。研究中使用了两个公共基准数据集,包括cifar-10和fashion-mnist。总结起来,该系统可以包括:框架,用于通过原型的加权组合对dnn的事后归因的模型无关的解释和诊断。
115.可视化界面,通过原型和基于用户规范的不同数据子集上的对应权重来总结模型的行为。
116.示例使用场景,针对图像分类的两个流行dnn和两个不同的图像数据集。
117.近年来,可解释机器学习(iml)正成为越来越重要的研究课题,因为人们认识到可信任性、公平性和可靠性是在许多应用场景中部署机器学习模型的关键组成部分。虽然研究界对可解释性没有广泛接受的定义,但基于最近的调查,通常可以将关于dnn的iml工作分类成两个类型:1)开发具有内在可解释性的模型,以及2)对现有dnn的事后归因解释。
118.具有内在可解释性的dnn经常利用注意模块来学习针对输入特征的权重,以解释预测结果。最近,一些dnn还并入了原型层以便固有的可解释性,这直接在训练过程中提取示例案例用于以后的推理。该系统还可以利用原型学习的思想。然而,原型是事后归因提取的,并且可以以模型无关的方式应用于现有的训练的dnn。
119.对于事后归因模型解释,流行的方法包括提取显著图、对输入深层特征的重要性进行评分,以及回溯对预测的影响函数。可以通过计算局部梯度(例如,grad-cam)或通过添加局部扰动并分析关于扰动的输出的灵敏度(例如,smoothgrad、lime和shap)来计算特征重要性。其他方法旨在从潜在的激活空间提取重要的概念,示例包括tcav或为定位特定类的鉴别性区域努力。然而,这样的方法需要外部标记的概念数据来训练概念向量。
120.解释机器学习模型最直接的方式之一是引入代理模型来模拟黑盒模型的行为。线性模型或决策树被认为是基本的代理模型。我们的方法从使用代理模型对潜在表示进行因子分解的概念导出,所述潜在表示即与其权重相关联、作为服务于模型无关和可解释性的一个重要度量指标的原型。
121.从上面修订protofac算法:这是对protofac的简要描述,它是用于将dnn中的潜在激活因子分解成加权原型的方法。如图1中图示的,该算法对所选层的激活矩阵进行因子分解,以找到k个原型以及它们相应对于每个输入实例的权重。假设层l的潜在表示是具有m维的固定长度向量,并且输入实例的总数是n,则a
l
将是n
ꢀ×ꢀ
m矩阵。protofac将a
l
分解以获得。为了用户友好的解释,原型向量hj(0 ≤ j 《 k)被约束为现实数据
样本的潜在表示,例如在l层的图像补片。
122.返回看图1:protofac标识原型和它们对应的权重来构建代理模型。它用h中原型向量的加权组合替换在所选dnn层l处的激活矩阵。
123.该系统可以包括代理模型,该代理模型用w
×
h代替激活矩阵a
l
,并将其馈送到层l之后的下游网络,以获得新的预测集,该新的预测集应该与原始模型的预言预测高度相似。这样,学习的权重和原型可以忠实地反映原始模型的行为。
124.特别地,系统可以在优化目标中包括以下两个损失项,以将a因子分解为w和h:(1)因子分解残差的frobenius范数。如果系统可以用在层l处的原型的加权组合替换原始激活矩阵,则目标是要最小化未解释的残差;(2)交叉熵损失比较预言模型和解释代理的预测,标示为l
ce
。w和h二者都是非负矩阵。h中的原型向量被约束为现实数据样本的潜在表示,例如在层l处的图像补片。
125.经由定量评估结果和在amazon mechanical turk上进行的用户研究,验证了获得w和h的完全优化目标和训练程序,以评估已标识原型的可解释性。
126.protofac的实验评估可以经由一系列实验来进行,所述一系列实验用于使用protofac对不同的潜在层进行因子分解并且选择不同数量的原型来检查代理模型对原始模型的保真度的改变。下面的公开可以报告在cifar10上使用vgg19和resnet50的图像分类任务的实验结果。获得了关于不同dnn和任务的附加实验结果和解释。
127.表iv总结了实验结果。实验验证了代理模型预测关于基准真值和原始模型二者的准确性,即准确性相对于预言。注意,代理模型不是直接用于对图像进行分类,而是模拟预言性能(原始模型)。结果示出,代理模型能够实现对原始模型的高保真度——代理模型相对于预言模型预测的准确性(在表iv中的准确性(相对于预言))。
128.表iv:在vgg和resnet上用于图像分类任务的实验结果。
129.此外,实验还进行了众包评估,以定量评估我们的方法在帮助用户借助于人类主体原型解释模型方面的有效性。对于评估,系统使用了在cifar-10图像分类数据(10个类标签)上训练的vgg19模型,并从maxpool3提取了60个原型。为了收集用户对模型解释的反馈,该实验可以在amazon mechanical turk(mturk)上招募非机器学习领域中的专家的人类参与者。该实验可能要求用户填写调查问卷,该调查问卷具有关于图像和文本数据的20个问题。
130.实验生成了20个问题的集合,其中每个问题包含图像(例如,实验可能从cifar-10中的每个类中采样了两个图像),所述图像具有类标签和六个候选原型集合,作为对图像预
测的潜在解释(见图6中的示例)。
131.从剩余的52个响应中,分析了数据发现,在20个输入图像中,用户的选择平均与16.314(sd = 2.37)的算法选择对准(如果用户选择两个原型中的任何一个,则实验可以认为它们是对准的)。从该结果,实验可以得出结论,由我们的代理模型生成的大多数原型是人类可理解的预测解释。由(b)反向传播、(c)掩模扰动、(d)表示调查产生的局部解释热图。
132.原型查看器:通过可视化原型及其权重来支持模型诊断的图形用户界面。使用protofac,系统可以获得权重w和原型h的集合来解释原始模型的行为,其中原型对应于现实的输入,例如图像补片。原型查看器通过可视化原型及其权重来支持模型诊断。该系统可以首先基于最近对dnn的视觉分析的调查和与ml专家的讨论来制定设计目标集,并且然后给出关于原型查看器中一起的可视化部件可以如何帮助解决这些设计目标的详细描述,如下所列:o1提供具有原型的模型行为的概述。o2支持对不同数据子集使用的原型的比较分析,例如,每个类的正确预测和错误预测实例。o3可视化细粒度的性能指标(例如混淆矩阵),以精确定位错误区域,并帮助用户选择感兴趣的子集进行进一步分析。o4支持将具有相似原型权重的实例分组,以进行聚类分析。o5可视化每个原型上具有最高权重的实例,以进行详细分析。
133.原型查看器由若干个协调的视图组成,如图9中所示。原型可视化器(图9(a))显示了顶部加权原型,用于概述模型(o1)使用的主要视觉概念。它首先对来自每个类的实例进行评级,并从中选择顶部k个最高权重的原型。每个原型上的平均权重对于正确和错误预测的实例分别计算,并在区域图表中可视化。用户可以相应地比较权重,并标识导致分类错误的原型(o2)。用户可以点击“+ protos”按钮来检查顶部原型,例如图像补片(图9(a1))。
134.混淆矩阵视图(图9(b))可视化了不同类(o3)上的详细模型预测结果。每行表示基于基准真值的类中的实例,并且每列表示实际预测的类。系统可以对正确和错误预测的实例使用一致的颜色编码。可视化使得标识两个类是否经常彼此混淆变得容易。用户可以点击矩阵中的条目来选择一个类被错误分类为另一个类的实例。选择后,原型可视化器(图9(a))将被更新,以显示所选实例原型上的平均权重,在区域图表中以橙色显示。它帮助用户标识引起错误分类错误的最相关的原型(o2)。除了混淆矩阵之外,在(图9(c))中,系统还可以显示模型在每个类上的性能,以帮助标识最有问题的类(o3)。
135.用户可以通过点击区域图表右上角的两个按钮进一步对实例进行分组(图9(a1))。系统将使用k-均值基于实例在原型上的权重自动对实例进行分组。基于轮廓分数自动选择聚类的数量。原型上的平均权重将针对不同的聚类进行计算,并显示在图上,以便也进行比较分析(o4,o2)。
136.我们的系统还可以显示在任何所选原型上具有最高权重的数据实例,以提供更多细节。当用户点击任何一个原型时,弹出窗口(图9(e))将显示从数据库检索的实例列表以及它们的预测和实际标签(o5)。详细的信息有助于用户对模型错误分类的潜在原因形成假设。
137.除了上面提及的部件,可视化界面还在顶部包含控制面板,用于选择数据集、模
型、要因子分解的层和原型数量(图9(d))。
138.该系统构造为:存储模块保持训练的模型和索引数据;分析模块基于所选层计算原型及其对应的权重,它还基于实例的原型权重对实例进行聚类;可视化模块显示计算结果,并支持用户交互来选择数据子集并比较它们的原型。后端用flask实现。pytorch用于dnn实现和原型因子分解。前端用d3js和reactjs开发。
139.系统可以使用两个示例使用场景来表明用户可以如何应用原型查看器来解释模型所使用的原型,以获得洞察并形成关于错误分类的潜在原因的假设。系统可以从每个神经网络的一个所选层对激活矩阵进行因子分解,并且在这两种情况下,protofac可以达到用于恢复原始(预言)模型的性能的99 %以上的准确度,同时维持分别关于真实标签(与原始(预言)模型相似)的94.3 %和91.8 %的分类准确度,从而示出了因子分解的原型和权重忠实地反映了原始模型的行为和决策过程。
140.使用场景1:cifar-10上的vgg19:amanda加载在cifar-10上训练的vgg19网络。cifar-10数据集总共包含10个类,每个类具有1k个图像。在研究了vgg19的架构之后(图9),amanda决定通过因子分解来自maxpool-3层的激活矩阵来提取原型。基于实验结果,原型的数量被设置为60个(表iv)。所选的原型是来自原始32
ꢀ×ꢀ
32图像的16
ꢀ×ꢀ
16图像补片。在因子分解完成之后,代理模型返回使用来自原始模型的预言预测作为基准真值的99.5%准确度和关于真实标签的94.3 %。该事实指示,代理模型可以被视为原始模型的替代来解释其行为。
141.amanda首先看向混淆矩阵以标识vgg-19做出的常见错误。通过看向混淆矩阵(图9(b)),她认识到具有真实标签飞机的许多实例被错误分类为船。因此,amanda点击混淆矩阵中带有列船和行飞机的条目来选择错误分类的实例。这些实例的权重以橙色显示在区域图表上。amanda将其与以蓝色显示的正确分类实例的平均原型权重进行比较,并且标识两个异常峰值。amanda点击与峰值相对应的一个原型(原型补片原始来自船图像),在弹出窗口中检查其上具有高权重的图像(图9(e))。她还限制仅示出错误分类的实例的显示。通过看向这些实例,她观察到大多数实例是漂浮在水面上的飞机,所述飞机频繁地被模型误认为是船。由于原型补片主要包含水,因此它指示许多飞机图像由于其中水的存在而被错误分类。此外,amanda在用原型查看器探索数据的同时,也能够获得一些其他的灵感。
142.amanda还应用原型查看器来分析在fashion-mnist数据集上训练的resnet18。她选择“avgpool”层(图1)来对激活矩阵进行因子分解并获得原型集。数据集包含均匀划分为十类的10k个灰度图像,其中每一类都是一种类型的服装,诸如裤子、t恤衫和运动鞋。每个图像具有28
ꢀ×ꢀ
28分辨率。她将原型设置为从原始图像裁剪的14
ꢀ×ꢀ
14图像补片,并且原型数量为120个。看向混淆矩阵,amanda发现存在当它们的实际标签是凉鞋时被错误预测为运动鞋的许多图像,(图10(c1))。她通过点击混淆矩阵中对应的条目来调查该数据子集,并且它们在原型上的平均权重将以橙色显示在区域图表中。如图10(c)所示,存在对应于从运动鞋图像(用洋红色边框突出显示)裁剪的原型的高尖峰。amanda点击该原型,并且弹出窗口(图10(c2))示出了具有在其上高权重的实例。她认识到大多数高加权的案例是凉鞋被错误分类为运动鞋,并且它们在四分之一/对应部分(即鞋的后部)共享非常相似的风格,这与类凉鞋中的典型原型相比非常坚固而没有任何凹陷,类凉鞋像大多数绑带凉鞋一样看起来更凹陷。因此,amanda形成了假设:模型正在学习绑带凉鞋风格,以区分凉鞋和运动鞋,并且
当凉鞋轮廓与运动鞋相似时,它可能失败。
143.图10图示了用于分析深度神经网络的原型查看器,该深度神经网络被训练来对fashion-mnist数据集进行分类。c1是混淆矩阵的一部分,并且它示出存在当它们的实际标签是凉鞋时被错误预测为运动鞋的许多图像。c根据原型的权重示出评级在顶部的原型。c2示出了原型凉鞋上具有高权重的图像。
144.在该实施例中,该系统可以包括视觉分析框架,以通过将激活矩阵因子分解成可解释的原型并分析它们跨不同子集上的权重来解释和诊断dnn模型。该方法是模型无关的,并且通过模拟其内部表示和输出,解释保持对原始模型的忠实。对两个不同数据集和模型的两个案例研究说明了该系统的可用性和有效性。未来还存在很大的探索空间,包括进行长期的用户研究,评估其对ml开发者的价值;调查在dnn中对不同层进行因子分解的效果;探索对例如时间序列、文本或音频数据之类的其他数据类型的应用;探索提取原型的不同方法,例如,使用超像素代替图像补片。
145.图11是被配置为控制载具的控制系统1102的示意图,该载具可以是至少部分自主的载具或至少部分自主的机器人。载具包括传感器1104和致动器1106。传感器1104可以包括一个或多个基于可见光的传感器(例如电荷耦合器件ccd或视频)、雷达、lidar、超声波、红外、热成像或其他技术(例如定位传感器,诸如gps)。一个或多个特定传感器中的一个或多个可以集成到载具中。替代地或除了上面标识的一个或多个特定传感器之外,控制模块1102可以包括软件模块,该软件模块被配置为在执行时确定致动器1104的状态。软件模块的一个非限制性示例包括天气信息软件模块,该天气信息软件模块被配置为确定载具或其他位置附近的天气的当前或未来状态。
146.在载具是至少部分自主的载具的实施例中,致动器1106可以体现在载具的制动系统、推进系统、发动机、传动系或转向系统中。可以确定致动器控制命令,使得控制致动器1106,使得载具避免与检测到的对象碰撞。检测到的对象也可以根据分类器认为它们最有可能是什么——诸如行人或树木——来分类。致动器控制命令可以取决于分类来确定。在可能发生对抗性攻击的场景下,可以进一步训练上述系统,以更好地检测对象或标识载具上传感器或相机的照明条件或角度的改变。
147.在载具1100是至少部分自主的机器人的其他实施例中,载具1100可以是移动机器人,其被配置为实行一个或多个功能,诸如飞行、游泳、潜水和踩踏。移动机器人可以是至少部分自主的割草机或至少部分自主的清洁机器人。在这样的实施例中,可以确定致动器控制命令1106,使得可以控制移动机器人的推进单元、转向单元和/或制动单元,使得移动机器人可以避免与标识的对象碰撞。
148.在另一个实施例中,载具1100是以园艺机器人形式的至少部分自主的机器人。在这样的实施例中,载具1100可以使用光学传感器作为传感器1104来确定载具1100附近环境中植物的状态。致动器1106可以是被配置为喷洒化学物质的喷嘴。取决于标识的植物种类和/或标识的植物状态,可以确定致动器控制命令1102以使得致动器1106向植物喷洒合适量的合适化学物质。
149.载具1100可以是以家用电器形式的至少部分自主的机器人。家用电器的非限制性示例包括洗衣机、炉子、烤箱、微波炉或洗碗机。在这种载具1100中,传感器1104可以是光学传感器,其被配置为检测将经历由家庭电器处理的对象的状态。例如,在家用电器是洗衣机
的情况下,传感器1104可以检测洗衣机内部衣物的状态。可以基于衣物的检测状态来确定致动器控制命令。
150.在该实施例中,控制系统1102将从传感器1104接收图像和注释信息。使用这些以及存储在系统中的规定数量的类k和相似性度量,控制系统1102可以使用图10中描述的方法来对从传感器1104接收的图像进行分类。基于该分类,信号可以被发送到致动器1106,例如,制动或转弯以避免与行人或树木碰撞,转向以保持在检测到的车道标记之间,或者如上面在第0067-0071节中所述由致动器1106执行的任何动作。还可以基于该分类向传感器1104发送信号,例如聚焦或移动相机镜头。
151.图12描绘了被配置为控制系统1200(例如,制造机器)的控制系统1202的示意图,该系统1200(例如,制造机器)诸如是制造系统102(诸如生产线的一部分)的冲压刀具、刀具或枪钻。控制系统12可以被配置为控制致动器14,该致动器14被配置为控制系统100(例如,制造机器)。
152.系统1200的传感器1204(例如,制造机器)可以是被配置为捕获制造产品104的一个或多个特性的光学传感器。控制系统1202可以被配置为根据一个或多个捕获的特性来确定制造产品104的状态。致动器1206可以被配置为取决于为制造产品104的后续制造步骤确定的制造产品104的状态来控制系统1202(例如,制造机器)。致动器1206可以被配置为取决于制造产品104的确定状态来控制系统100(例如,制造机器)在系统100(例如,制造机器)的后续制造产品106上的功能。
153.在该实施例中,控制系统1202将从传感器1204接收图像和注释信息。使用这些以及存储在系统中的规定数量的类k和相似性度量,控制系统1202可以使用图10中描述的方法来对从传感器1204接收的图像的每个像素进行分类。基于该分类,信号可以被发送到致动器1206,例如,将制造的对象的图像分段成两个或更多个类,检测制造的产品中的异常,或者如在以上部分中所述由致动器1206执行的任何动作。还可以基于该分类向传感器1104发送信号,例如聚焦或移动相机镜头。
154.图13描绘了控制系统1302的示意图,该控制系统1302被配置为控制具有至少部分自主模式的电动工具1300,诸如电动钻或驱动器。控制系统1302可以被配置为控制致动器1306,该致动器1306被配置为控制电动工具1300。
155.电动工具1300的传感器1304可以是光学传感器,该光学传感器被配置为捕获工作表面的和/或被驱动到工作表面中的紧固件的一个或多个特性。控制系统1302可以被配置为根据一个或多个捕获的特性来确定工作表面的和/或紧固件相对于工作表面的状态。
156.在该实施例中,控制系统1302将从传感器1304接收图像和注释信息。使用这些以及存储在系统中的规定数量的类k和相似性度量,控制系统1302可以使用图10中描述的方法来对从传感器1304接收的图像的每个像素进行分类。基于该分类,信号可以被发送到致动器1306,例如,将工作表面或紧固件的图像分段成两个或更多个类,检测工作表面或紧固件中的异常,或者如在以上部分中所述由致动器1306执行的任何动作。还可以基于该分类向传感器1304发送信号,例如,聚焦或移动相机镜头。
157.图14描绘了被配置为控制自动化个人助理1401的控制系统1402的示意图。控制系统1402可以被配置为控制致动器1406,该致动器1406被配置为控制自动化个人助理1401。自动化个人助理1401可以被配置为控制家用电器,诸如洗衣机、炉子、烤箱、微波炉或洗碗
机。
158.在该实施例中,控制系统1402将从传感器1404接收图像和注释信息。使用这些以及存储在系统中的规定数量的类k和相似性度量,控制系统1402可以使用图10中描述的方法来对从传感器1404接收的图像的每个像素进行分类。基于该分类,信号可以被发送到致动器1406,例如,分段要操纵或操作的器具或其他对象的图像,或者如在以上部分中所述由致动器1406执行的任何动作。还可以基于该分类向传感器1404发送信号,例如,聚焦或移动相机镜头。
159.图15描绘了被配置为控制监视系统1500的控制系统1502的示意图。监视系统1500可以被配置为物理地控制通过门252的访问。传感器1504可以被配置为检测与决定是否准许访问相关的场景。传感器1504可以是被配置为生成和传输图像和/或视频数据的光学传感器。控制系统1502可以使用这样的数据来检测人员的面部。
160.监视系统1500也可以是监督系统。在这样的实施例中,传感器1504可以是被配置为检测在监督之下的场景的光学传感器,并且控制系统1502被配置为控制显示器1508。控制系统1504被配置为确定场景的分类,例如由传感器1504检测到的场景是否可疑。扰动对象可以用于检测某些类型的对象,以允许系统在非最佳条件下(例如,夜晚、雾、雨天等)标识这样的对象。控制系统1502被配置为响应于分类向显示器1508传输致动器控制命令。显示器1508可以被配置为响应于致动器控制命令来调整显示的内容。例如,显示器1508可以突出显示控制器1502认为可疑的对象。
161.在该实施例中,控制系统1502将从传感器1504接收图像和注释信息。使用这些以及存储在系统中的规定数量的类k和相似性度量,控制系统1502可以使用图10中描述的方法来对从传感器1504接收的图像的每个像素进行分类。基于该分类,信号可以被发送到致动器1506,例如,检测场景中可疑或不合期望的对象的存在,检测照明或查看条件的类型,检测移动,或者如在以上部分中所述由致动器1506执行的任何动作。还可以基于该分类向传感器1504发送信号,例如,聚焦或移动相机镜头。
162.图16描绘了控制系统1602的示意图,该控制系统1602被配置为控制成像系统1600,例如mri装置、x射线成像装置或超声波装置。传感器1604例如可以是成像传感器。控制系统1602可以被配置为确定感测图像的全部或部分的分类。控制系统1602可以被配置为响应于由训练的神经网络获得的分类来确定或选择致动器控制命令20。例如,分类器24可以将感测图像的区域解释为潜在异常。在这种情况下,可以确定或选择致动器控制命令20,以使得显示器302显示成像并突出潜在异常区域。
163.在该实施例中,控制系统1602将从传感器1604接收图像和注释信息。使用这些以及存储在系统中的规定数量的类k和相似性度量,控制系统1602可以使用图10中描述的方法来对从传感器1604接收的图像的每个像素进行分类。基于该分类,信号可以被发送到致动器1606,例如,检测图像的异常区域,或者如在以上部分中所述由致动器1606执行的任何动作。
164.图17图示了经由具有矩阵因子分解的深度神经网络的图像分类1700的总体系统工作流程。在步骤1702中,控制器执行深度神经网络分类,生成内部层集合。在步骤1704中,控制器选择内部层。在步骤1706中,控制器提取在深度神经网络的所选内部层的神经元激活。换句话说,用于多个图像的该层上的神经元激活矩阵被收集1706,并被因子分解以获得
原型集连同其相关联的权重1708。在步骤1708中,控制器使用矩阵因子分解算法(例如,protofac)对神经元激活进行因子分解。然后可以使用原型和权重来替换原始神经网络中的激活矩阵来产生预测输出,预测与原始神经网络输出非常相似。在步骤1710中,控制器用来自矩阵因子分解算法的加权原型替换神经元激活。输出可以用于标识新的图像数据类。
165.体现本文描述的算法和/或方法的程序代码能够以多种不同的形式作为程序产品单独或共同分发。程序代码可以使用其上具有计算机可读程序指令的计算机可读存储介质来分发,所述计算机可读程序指令用于使得处理器实行一个或多个实施例的方面。固有地非暂时性的计算机可读存储介质可以包括以用于信息存储的任何方法或技术实现的易失性和非易失性以及可移除和不可移除的有形介质,诸如计算机可读指令、数据结构、程序模块或其他数据。计算机可读存储介质可以进一步包括ram、rom、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪存或其他固态存储技术、便携式光盘只读存储器(cd-rom)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备,或者可以用于存储所期望信息并且可以由计算机读取的任何其他介质。计算机可读程序指令可以从计算机可读存储介质下载到计算机、另一种类型的可编程数据处理装置或另一种设备,或者经由网络下载到外部计算机或外部存储装置。
166.存储在计算机可读介质中的计算机可读程序指令可以用于指导计算机、其他类型的可编程数据处理装置或其他设备以特定方式运转,使得存储在计算机可读介质中的指令产生包括实现流程图或图解中指定的功能、动作和/或操作的指令的制品。在某些替代实施例中,流程图和图解中指定的功能、动作和/或操作可以被重新排序、与一个或多个实施例一致地串行处理和/或并发处理。此外,流程图和/或图解中的任何一个可以包括比与一个或多个实施例一致的那些图示的更多或更少的节点或块。
167.虽然已经通过各种实施例的描述说明了本发明的全部,并且虽然已经相当详细地描述了这些实施例,但是申请人没有意图将所附权利要求书的范围限制或以任何方式限定到这样的细节。本领域的技术人员将很容易想到附加的优点和修改。因此,本发明在其更宽的方面不限于特定的细节、代表性的装置和方法以及所示和所述的说明性示例。因此,在不脱离总的发明构思的精神或范围的情况下,可以做出与这样的细节的偏离。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1