基于规则提取的深度神经网络解释方法、系统和介质与流程
未命名
08-15
阅读:118
评论:0
基于规则提取的深度神经网络解释方法、系统和介质1.本专利申请要求2020年10月30日提交的发明名称为“基于规则提取的深度神经网络解释方法、系统和介质(methods,systems,andmediafordeepneuralnetworkinterpretationviaruleextraction)”的第17/086,124号美国专利申请案的优先权的权益,所述申请案以引用的方式并入本文本中,如全文再现一般。技术领域:
:2.本发明涉及人工神经网络,包括深度学习神经网络及其解释和表示。
背景技术:
::3.人工神经网络是用于预测建模的计算结构。神经网络通常包括多层神经元,每个神经元接收来自前一层的输入,对输入施加权重集,并将这些加权输入组合以生成输出,该输出反过来作为输入提供给后续层的一个或多个神经元。4.一层神经元使用滤波器来定义上一层神经元的输出和当前层神经元的输出之间的关系。神经网络的一层接收数据输入,通常以已知维度的数据阵列的形式:在神经网络在图像数据等2d数据上操作的情况下,输入到网络的一层的数据通常是由一组多个2d输入激活映射(也称为输入特征映射或输入通道)组成的3d阵列。通过将一组滤波器应用于一组输入激活映射,该层生成数据输出,该数据输出通常是具有已知维度的数据阵列:同样,在神经网络在2d数据上操作的情况下,网络的一层的数据输出通常是由一组多个2d输出激活映射(也称为输出特征映射或输出通道)组成的3d阵列。5.深度神经网络(deepneuralnetwork,dnn)是使用深度学习技术训练的一种特殊类型的神经网络。在过去的十年里,dnn在广泛的任务中取得了巨大的成功。然而,尽管dnn具有能力,但它们大多被视为黑盒模型——dnn的内部逻辑通常是不透明的或人类无法理解的。缺乏人类对dnn的可理解解释,这使得在医疗保健、金融和安全等风险敏感领域推广人工智能(artificialintelligence,ai)系统的使用变得困难。6.因此,需要向人类用户,特别是非专家传达有关dnn内部决策性质的信息,以使他们放心,为各种关键应用程序部署dnn的安全性和可靠性。为了传达有关dnn内部工作的有意义的信息,必须解释dnn所体现的模型。7.解释在相关文献中的含义非常广泛。在一些情况下,它可能包括产生或呈现人类可理解的因素指示,如dnn的可靠性和/或透明度。可靠性是指dnn中体现的模型感觉可靠的特征和健全的逻辑做出决策。透明度是在模型和用户之间建立信任的一种手段。仅靠正确的决定可能不足以说服用户使用和依赖模型;用户可能还需要知道如何做出决策。8.这些因素(可靠性和透明度)对于可能部署ai的某些领域至关重要。第一个示例是医学诊断领域。医生通常需要根据病人的医学图像做出诊断。dnn在这一领域可以实现显著的准确性,但如果医生无法了解dnn的推理,推荐治疗或手术可能会有风险。例如,医生可能希望知道图像的哪一部分触发了决策;能够识别图像的哪一部分与其决策特别相关或突出的dnn将使医生能够评估dnn推理的合理性。医生还可以参考图像的指示部分仔细检查诊断。9.第二个示例是自动驾驶车辆的领域。ai驱动的自动驾驶汽车可能需要识别它在道路环境中看到的物体。例如,当汽车看到停车标志时,用户或开发商必须了解汽车是否真正理解基于标志上显示的字母的“停止”指示,或者汽车是否根据记住的、不可靠的特征,如标志的颜色或形状来作出决策。10.研究文献中已经提出了各种dnn解释的方法。梯度加权类激活映射(gradient-weightedclassactivationmapping,grad-cam)是ramprasaathr.selvaraju、michaelcogswell、abhishekdas、ramakrishnavedantam、deviparikh和dhruvbatra在intjcomputvis128,336-359(2020)的“grad-cam:通过基于梯度的本地化从深度网络中可视化解释(grad-cam:visualexplanationsfromdeepnetworksviagradient-basedlocalization)”中描述的一种方法。基于作为神经网络输入提供的样本图像,将神经网络倒数第二层的一组输出特征映射乘以输出特征映射的梯度的平均值,并将结果相加以生成热图。然而,所涉及的梯度仅适用于输入图像中的一个小区域,可能会使解释不可靠。此外,grad-cam不提供关于模型决策逻辑的信息,即使有多个因素导致了决策,也只返回一个解释。此外,它一次只能解释一个图像;因此,这种解释的忠实性和稳定性是值得怀疑的。11.第二种方法,局部可解释模型无关解释(localinterpretablemodel-agnosticexplanation,lime)由ribeiro,m.t.;singh,s.和guestrin,c于2016年在知识发现与数据挖掘(kdd)的“我为什么要相信你?:解释任何分类器的预测”所描述。在lime中,样本图像被分割成多个部分(称为“超级像素”),由神经网络模型执行的图像分类是在样本图像的扰动版本上执行的,其中删除了一些超级像素的图像数据。损失函数被最小化,以计算神经网络模型的可解释版本。lime有几个缺点。扰动图像不能完全模拟自然图像,这可能会影响神经网络模型置信度的可信度。lime没有提供关于神经网络模型决策逻辑的信息,因为它是与模型无关的。此外,lime解释的适用范围实际上很小,使其忠实性受到质疑。由于使用图像分割和采样,lime可能不稳定,这一效果已在其它技术中得到证明。最后,与grad-cam一样,即使有多个因素导致了决策,lime也只返回一个解释。12.第三种方法在一些方面与石灰相似,被称为锚方法,由ribeiro,m.t.;singh,s.和guestrin,c于2018年在aaai人工智能会议的“锚点:高精度模型不可知解释(anchors:high-precisionmodel-agnosticexplanations)”中描述。在这种方法中,使用与lime类似的分割和扰动方法在图像中识别“锚点”。在这种情况下,“锚点”指的是一组超级像素,因此,无论图像的其它像素显示了什么,模型的预测都不会改变。使用自下而上的结构或波束搜索来识别锚点的覆盖范围最大。锚点方法也有许多缺点,这些缺点与lime有共同之处。锚点的适用图像不能完全模拟自然图像,这可能会影响模型置信度的可信度。锚点方法不提供关于模型决策逻辑的信息,因为它是与模型无关的。锚点方法解释的适用范围可能非常小,因此其真实性是值得怀疑的。由于使用了图像分割,锚点方法并不稳定。最后,与lime和grad-cam一样,即使有多个因素导致了决策,也只返回一个解释。13.第四种方法,称为有意义的扰动方法或掩模方法,由r.c.fong和a.vedaldi于2017年在arxivpreprintarxiv:1704.03296的“有意义的扰动对黑匣子的解释(interpretableexplanationsofblackboxesbymeaningfulperturbation)”中描述。掩模用于对样本图像应用扰动,掩模由自然屏蔽操作定义,如常数、噪声或模糊度。通过梯度下降优化最小化目标函数,目标函数是多个图像像素的加权和、应用掩模后的置信度和以及掩模的总变异范数。优化的掩模应覆盖与模型决策最相关的图像像素。掩模方法也表现出一些缺点。屏蔽的图像不能完全模拟自然图像,这可能会影响模型置信度的可信度。掩模方法不提供有关模型决策逻辑的信息。掩模方法一次只能解释一张图像,这使这种解释的忠实性和稳定性受到质疑。最后,与上面描述的其它方法一样,即使有多个因素导致了决策,掩模方法也只返回一个解释。14.因此,需要一种用于解释深度神经网络决策的技术,该技术克服了上述现有方法的一个或多个缺点。技术实现要素:15.在各种示例中,本发明描述了基于规则提取的深度神经网络解释方法、系统和计算机可读介质。所述深度神经网络的解释是基于提取一个或多个规则执行的,其中,所述深度神经网络做出决策,每个规则对应于两个不同决策结果之间的一组决策边界。在一些示例中,可以生成一个或多个规则的人类可理解表示,有助于人类用户查看或以其它方式理解应用于给定输入样本的规则的性质。在一些示例中,可以使用一个或多个规则来生成分类器。将本文描述的示例性实施例与深度神经网络解释的其它已知方法进行比较的实验数据表明,相对于其它已知方法,当前公开的实施例表现出忠实性、稳定性和全面性。此外,某些实施例提供了可以在神经网络被完全训练之前(例如当神经网络被微调时)使用的解释方法。16.如本文所使用的,术语“模型”可以指数学或计算模型。模型可以说是由算法、计算机程序或计算结构或设备实现、体现、运行或执行的。在本示例性实施例中,模型可以参考旨在建模人类对图像等输入的感知或解释的预测模型,并且可以通过使用深度学习技术(例如,深度神经网络(deepneuralnetwork,dnn))训练的算法来实现。术语dnn、深度神经网络、神经网络、人工神经网络和网络可以在本文中互换使用,除非另有说明。17.激活映射或特征映射可以指人工神经网络的层的输入(例如,“输入激活映射”)或输出(例如,“输出激活映射”)。神经网络的层可以接收多个输入激活映射作为输入,并可以产生多个输出激活映射作为输出。[0018]“输入样本”可以指用作神经网络的输入的任何数据样本,例如图像数据。可以指用于训练神经网络的训练数据样本,或者指提供给经过训练的神经网络的数据样本,所述数据样本根据经过训练的神经网络的任务的数据样本推断(即预测)输出。因此,对于执行图像分类任务的神经网络,输入样本可以是单个数字图像。[0019]如本文所述的“更新的输入样本”是指由经过训练的神经网络或经过训练的神经网络的一部分根据接收到的输入样本生成的数据集合。在一些示例中,可以指由经过训练的dnn的层根据作为输入提供给所述dnn的单个输入样本产生的一组输出激活映射。在一些示例中,如下面参考图6进一步描述的,更新的样本可以是输入样本。[0020]如本文所使用的,元素“用于”特定目的的陈述可以意味着元素执行特定功能或用于执行一个或多个特定步骤或操作,如本文所述。[0021]如本文所使用的,第二元素是“基于”第一元素的表述可以指第二元素的特征至少部分受到第一元素的特征的影响或是至少部分通过第一元素的特征确定。所述第一元素可以被视为一个操作或计算或一系列操作或计算的输入,所述操作或计算产生所述第二元素作为和所述第一元素相关的输出。[0022]如本文所使用的,神经网络、模型或决策边界的“表示”、“简化表示”、“解释”或“人类可理解表示”可以指数据的人类可感知(例如,视觉)表示或简化数据结构,其近似或对应于神经网络、模型的更复杂结构或行为,或表示决策边界。神经网络、模型或决策边界的“表示”或“简化表示”也可以指近似于更复杂神经网络、模型或决策边界行为的简化模型或分类器。通过生成模型的简化表示(例如,由深度神经网络实现的推理模型),本文描述的实施例由此可以生成近似被表示的更复杂模型的行为的简化分类器,和/或生成被表示的模型的人类可理解表示。除非另有说明,“dnn表示”是指生成近似所述dnn行为的规则或分类器,而“dnn解释”是指生成人类可理解的所述dnn行为的表示。[0023]如本文所使用的,术语“分类”和“分类”可互换地和同义地使用(如“分类(classify和categorize)”、“分类器(classifier和categorizer)”等)。在一些示例中,分类模型的行为可以被描述为将输入样本分类到第一类别或第二类别中;应当理解,第一类别和第二类别中都可以包括多个类别,例如,第一类别可以是“狗”,而第二类别可以包括多个类别(例如,“猫”、“人”和“卡车”,这类别中都不是“狗”,因此第二类别可被视为“非狗”。[0024]在一些方面中,本发明提供了一种用于生成经过训练以对输入样本执行图像分类的神经网络的简化表示的方法。所述神经网络包括截断部分和尾部部分,其中,所述截断部分包括一个或多个层,所述尾部部分包括一个或多个层。所述方法包括使用所述截断部分来生成更新的输入样本的步骤,所述输入样本包括基于所述输入样本的一个或多个输出激活映射。所述方法包括以下步骤:使用所述尾部部分生成标签,其中,所述标签根据所述一个或多个输出激活映射将所述输入样本分类到第一类别或第二类别中。所述方法包括以下步骤:生成规则,所述规则包括由根据所述多个更新的样本定义的多维欧几里德空间中的多个超平面定义的凸多面体,使得在所述凸多面体内的更新的输入样本很可能由所述经过训练的神经网络分类到第一类别中,并且在所述凸多面体之外的更新的输入样本很可能由所述经过训练的神经网络分类到第二类别中。在一些方面中,本发明描述了一种系统。所述系统包括处理系统。所述处理系统包括一个或多个处理器设备,以及存储指令的存储器。当这些指令由所述处理系统执行时,使所述系统执行多个步骤。所述系统生成经过训练以对输入样本执行图像分类的神经网络的简化表示。所述经过训练的神经网络包括截断部分和尾部部分,其中,所述截断部分包括一个或多个层,所述尾部部分包括一个或多个层。经过训练的神经网络的简化表示通过以下步骤生成:使用所述截断部分来生成更新的输入样本,所述更新的输入样本包括基于所述输入样本的一个或多个输出激活映射。经过训练的神经网络的简化表示还通过以下步骤生成:使用所述尾部生成标签,其中,所述标签根据所述一个或多个输出激活映射将所述输入样本分类到第一类别或第二类别中。经过训练的神经网络的简化表示还通过以下步骤生成:生成规则,所述规则包括由根据所述多个更新的样本定义的多维欧几里德空间中的多个超平面定义的凸多面体,使得在所述凸多面体内的更新的输入样本很可能由所述经过训练的神经网络分类到第一类别中,并且在所述凸多面体之外的更新的输入样本很可能由所述经过训练的神经网络分类到第二类别中。[0025]在所述方法的一些方面中,所述多个输入样本包括由所述经过训练的神经网络分类到所述第一类别中的种子样本。所述截断部分根据所述种子样本生成更新的种子样本,对比输入样本的数量等于预定侯选池大小。每个对比输入样本由所述经过训练的神经网络分类到所述第二类别中。所述截断部分根据每个对比输入样本生成更新的对比样本。对于每个更新的对比样本,生成所述规则包括:在所述更新的种子样本和所述更新的对比样本之间执行二进制搜索,以生成基值和偏置值。对于每个更新的对比样本,生成所述规则还包括:根据所述二进制搜索的所述基值和所述偏置值,计算所述第一类别和所述第二类别之间的决策边界,其中,所述决策边界定义所述多个超平面中的一个。所述决策边界定义了多个超平面中的一个。[0026]在所述方法的一些方面中,所述多个输入样本还包括一个或多个正样本和一个或多个负样本。每个正样本由所述经过训练的神经网络分类到所述第一类别中。所述截断部分根据每个正样本生成更新的正样本。每个负样本由所述经过训练的神经网络分类到所述第二类别中。所述截断部分根据每个负样本生成更新的负样本。对于每个超平面,生成所述规则还包括:生成正样本二进制矩阵。对于每个更新的正样本,所述正样本二进制矩阵包括一行二进制值。每个二进制值指示所述更新的正样本在多个超平面中的一个超平面的第一侧或第二侧。所述正样本二进制矩阵的每列对应于一个超平面。对于每个更新的负样本,生成负样本二进制矩阵包括一行二进制值。每个二进制值指示所述更新的负样本在多个超平面中的一个超平面的第一侧或第二侧。所述负样本二进制矩阵的每列对应于一个超平面。生成所述规则还包括:使用子模成本子模覆盖优化从所述正样本二进制矩阵的所述列和所述负样本二进制矩阵的所述列中选择所述多个超平面,使得定义所述规则的所述凸多面体的所述多个超平面中的超平面的数量小于所述预定候选池大小。[0027]在所述方法的一些方面中,所述正样本二进制矩阵还包括所述更新的种子样本对应的二进制值行,所述负样本二进制矩阵还包括每个更新的对比样本对应的一行二进制值。[0028]在所述方法的一些方面中,所述多个输入样本包括由所述经过训练的神经网络分类到所述第一类别中的解释样本。所述截断部分根据所述解释样本生成更新的解释样本。所述方法还包括生成对所述规则的解释。所述规则是通过识别所述规则的所述多个超平面中的一个超平面来生成的。所述规则还通过以下步骤生成:对于所述更新的解释样本的一个或多个激活映射中的每个激活映射,每个激活映射包括多个激活值,计算所述超平面的偏导数相对于所述激活映射的每个激活值的平均值;设置所述激活映射的权重等于所述计算平均值。所述规则还通过以下步骤生成:计算由每个激活映射各自的权重加权的每个激活映射之和来生成热图,所述热图表示所述超平面对应的决策边界。[0029]在所述方法的一些方面中,每个输入样本为图像。所述方法还包括通过将所述热图与所述解释样本组合,生成所述规则的人类可理解表示。[0030]在所述方法的一些方面中,将所述热图与所述解释样本组合包括生成包括所述解释样本的至少一部分的图像,所述热图的一部分的视觉指示符的热值高于显著阈值。[0031]在所述方法的一些方面中,生成所述规则的表示还包括重复以下步骤:识别超平面;计算每个激活映射的平均值;设置每个激活映射的权重;为所述规则的所述凸多面体的一个或多个剩余超平面中的每个超平面生成热图。[0032]在所述方法的一些方面中,为第一多个输入样本中的每个输入样本生成更新的输入样本和生成标签,以生成第一多个更新的样本和第一多个标签。所述生成规则是根据所述第一多个更新的样本和第一多个标签执行的,从而生成第一规则。为一个或多个附加的多个输入样本中的每个附加的多个输入样本中的每个输入样本生成更新的样本和生成标签,以生成一个或多个附加的多个更新的样本和一个或多个附加的多个标签。所述生成规则是根据一个或多个附加的多个更新样本和一个或多个附加的多个标签执行的,从而生成一个或多个附加规则,所述第一规则和所述一个或多个附加规则共同构成多个规则。所述方法还包括生成包括所述多个规则的多规则分类器。[0033]在一些方面中,本发明提供了一种具有有形地存储在其上的指令的计算机可读介质,当所述指令由处理系统执行时,使所述处理系统执行上述方法步骤。附图说明[0034]现在将通过示例参考示出本技术示例性实施例的附图,其中:[0035]图1a为可用于实现本文描述的示例的示例性处理系统的框图;[0036]图1b为深度神经网络(deepneuralnetwork,dnn)的示例性架构的示意图;[0037]图1c是图1b的dnn的卷积层的示意图,示出了由卷积层应用的输入数据阵列、输出数据阵列和一组卷积滤波器的维度;[0038]图2是本发明实施例提供的从深度神经网络提取的规则的简化表示的示意图;[0039]图3是本发明提供的从经过训练将图像分类为显示猫或狗的深度神经网络中提取的规则的三个决策边界的一组人类可理解表示,该表示应用于四个单独的解释样本;[0040]图4是本发明提供的从经过训练将图像分类为显示健康或患病视网膜的深度神经网络中提取的规则的三个决策边界的人类可理解表示的进一步简化表示;[0041]图5是本发明提供的示例性深度神经网络的框图,该示例性深度神经网络包括用于生成更新的输入样本的截断部分和用于感觉更新的输入样本生成推断的尾部部分;[0042]图6a是本发明提供的用于生成包括规则的深度神经网络的简化表示的示例性单规则提取方法的流程图;[0043]图6b是图6a的方法的调整后的二进制搜索步骤的流程图;[0044]图6c是用于优化图6a的方法的二进制矩阵的示例性方法的流程图;[0045]图6d是使用图6a的单规则提取方法生成多个规则的示例性多规则提取方法的流程图;[0046]图7a是本发明提供的按类别显示包括种子样本的输入样本的数据空间的二维可视化;[0047]图7b是本发明提供的图7a的二维可视化,示出了输入样本类别之间的多个决策边界;[0048]图7c是本发明提供的表示图7b的多个决策边界的一对二进制矩阵;[0049]图7d是本发明提供的图7a的由图7b的多个决策边界的子集定义的规则的二维虚拟化;[0050]图8是用于生成由图6的方法生成的一个或多个规则的解释的示例性方法的流程图。[0051]不同的附图中使用了相似的附图标记来表示相似的组件。具体实施方式[0052]现在将参考示例实施例描述基于规则提取的深度神经网络解释方法、系统和计算机可读介质。深度神经网络的解释是基于提取一个或多个规则执行的,其中,网络做出决策,每个规则对应于两个不同决策结果之间的一组决策边界。在一些示例中,可以生成一个或多个规则的人类可理解表示,有助于人类用户查看或以其它方式理解应用于给定输入样本的规则的性质。在一些示例中,可以使用一个或多个规则来生成分类器。[0053]本文描述的一些实施例可以表现出相对于其它已知方法的忠实性、稳定性和全面性。忠实性意味着神经网络的解释准确地描述了模型的局部行为,并有可能将几种局部解释结合起来,形成模型的一个全局表示。本文描述的示例实施例可以基于模型的决策边界,因此可以准确地描述模型的行为。稳定性意味着解释对输入样本、模型参数、解释超参数和对抗性攻击的微小变化具有稳定性。本文描述的示例性实施例可以对模型决策影响很小的变化是稳定的,例如输入图像中的温和变换、微调模型参数、解释超参数,甚至是对抗性攻击。全面性意味着解释确定了有助于模型作出决策的所有主要因素。本文描述的示例性实施例可以考虑多个决策边界并解释所有这些边界。[0054]一些实施例提供了可以在神经网络被完全训练之前(例如当神经网络被微调时)使用的解释方法。现有的dnn解释方法通常要求dnn的权重值收敛(即,在训练期间应用的损失函数的值较小),然后才能生成有意义的解释。然而,本文描述的一些实施例可以允许在dnn仍在微调且权重值尚未收敛的同时生成dnn的表示或解释。[0055]本文描述的示例性实施例可以包括规则提取方法,生成对应于可能输入空间内相对较少数量的决策边界的规则。一些实施例可以使用多规则提取方法用一个或多个附加规则补充第一规则,以进一步定义可能输入空间内的决策边界。一些实施例可以使用模型解释方法生成一个或多个规则的一个或多个决策边界的人类可理解表示,从而使人类用户能够理解神经网络关于给定输入样本做出的决策的基础。[0056]本文将参考使用监督学习针对特定干扰任务训练的深度神经网络(deepneuralnetwork,dnn)来描述示例性实施例。训练后,经过训练的dnn用于执行特定的推理任务,如使用图像数据作为输入的对象分类。然而,应当理解,本文描述的技术可能适用于训练各种人工神经网络,以使用各种输入样本类型的监督或无监督学习执行各种推理任务。[0057]现在将参考图1a至图1c描述示例性实施例可以操作的上下文。[0058]示例性处理系统[0059]首先描述可以在本文公开的示例中使用的系统或设备,例如计算系统。[0060]图1a为示例性简化计算系统100的框图,其可以是用于根据本文公开的示例训练卷积神经网络或执行经过训练的深度神经网络的指令以执行深度神经网络已经被训练的特定任务(例如图像分类、对象识别等)的设备。可以使用适合于实现本发明中描述的实施例的其它计算系统,这些计算系统可以包括与下文描述的那些组件不同的组件。在一些示例中,计算系统可以跨多个物理硬件单元实现,例如在并行计算、分布式计算、虚拟服务器或云计算配置中。虽然图1a示出了每个组件的单个实例,但是在计算系统100中可能存在每个组件的多个实例。[0061]计算系统100可以包括一个或多个处理单元102,例如具有硬件加速器的中央处理单元(centralprocessingunit,cpu)、图形处理单元(graphicsprocessingunit,gpu)、张量处理单元(tensorprocessingunit,tpu)、神经处理单元(neuralprocessingunit,npu)、微处理器、专用集成电路(application-specificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)、专用逻辑电路、专用人工智能处理器单元或其组合。[0062]计算系统100还可以包括一个或多个可选输入/输出(input/output,i/o)接口104,这些可选i/o接口104可以支持与一个或多个可选输入设备114和/或可选输出设备116连接。在所示的示例中,一个或多个输入设备114(例如,键盘、鼠标、麦克风、触摸屏和/或小键盘)和一个或多个输出设备116(例如,显示器、扬声器和/或打印机)示出为可选且在计算系统100外部。在其它示例中,一个或多个输入设备114和/或一个或多个输出设备116中的一个或多个可以包括作为计算系统100的组件。在其它示例中,可能不存在任何一个或多个输入设备114和一个或多个输出设备116,在这种情况下,可能不需要一个或多个i/o接口104。[0063]计算系统100可以包括一个或多个可选网络接口106,用于与网络(例如,内网、因特网、p2p网络、wan和/或lan)或其他节点进行有线或无线通信。一个或多个网络接口106可以包括用于网络内和/或网络间通信的有线链路(例如,以太网线)和/或无线链路(例如,一个或多个天线)。[0064]计算系统100还可以包括一个或多个存储单元108,其中,所述一个或多个存储单元108可以包括如固态驱动器、硬盘驱动器、磁盘驱动器和/或光盘驱动器等大容量存储单元。处理系统100可以包括一个或多个存储器110,其中,所述一个或多个存储器110可以包括易失性或非易失性存储器(例如,闪存、随机存取存储器(randomaccessmemory,ram)和/或只读存储器(read-onlymemory,rom))。一个或多个非瞬时性存储器110可以存储由一个或多个处理设备102执行的指令,例如,以执行本发明中所描述的示例。一个或多个存储器110可以包括其它软件指令,例如用于实现操作系统和其它应用/功能的软件指令。在一些示例中,存储器110可以包括用于由处理设备102执行以训练神经网络和/或实现经过训练的神经网络的软件指令,如本文所公开的。[0065]在一些其它示例中,一个或多个数据集和/或模块可以由外部存储器(例如,与计算系统100进行有线通信或无线通信的外部驱动器)提供,也可以由瞬时性或非瞬时性计算机可读介质提供。非瞬时性计算机可读介质的示例包括ram、rom、可擦除可编程rom(erasableprogrammablerom,eprom)、电可擦除可编程rom(electricallyerasableprogrammablerom,eeprom)、闪存、cd-rom或其它便携式存储器。[0066]可以存在总线112,在计算系统100的组件之间提供通信,所述组件包括一个或多个处理设备102、一个或多个可选i/o接口104、一个或多个可选网络接口106、一个或多个存储单元108和/或一个或多个存储器110。总线112可以是任何合适的总线架构,例如包括存储器总线、外围总线或视频总线。[0067]深度神经网络示例[0068]图1b示出了深度神经网络(deepneuralnetwork,dnn)120的示例体系结构。本示例中的dnn120被构造和布置成用于在训练和推理期间执行特定任务,例如对象检测、对象识别和分类(即对象定位和分类)、音频识别和分类、文本识别和分类等。dnn120已经被简化,并不打算限制,并且仅用于说明的目的。例如,到dnn120的输入数据可以是表示数字图像的图像数据、表示音频文件的音频数据或文本数据(即表示单词或句子的嵌入)。输入数据的单个样本(例如,单个图像)在这里可以被称为“输入样本”。可选元件用虚线示出。[0069]本示例中的dnn120是卷积神经网络(convolutionalneuralnetwork,cnn)。包括一个或多个用于执行特征学习的卷积块124,以及用于执行特定任务的全连接块132。dnn120还可以可选地包括预处理块122,其可以执行各种操作,例如归一化,以准备卷积块124的输入数据。[0070]例如,图1b中所示的卷积块124可以包括卷积层126、组合的非线性和整流层(例如relu层128)和可选的池化层130。来自卷积块124中每个层的输出被用作卷积块124中的下一层的输入。换句话说,卷积层126的输出可以用作后续relu层128的输入,relu层128的输出可以用作池化层130的输入,或者可以用作另一个卷积块124的卷积层126的输入,以继续卷积操作。[0071]下面结合图1c详细描述卷积层126的内部工作原理。总之,卷积层126对其输入激活映射执行卷积操作,以生成由从输入激活映射生成的输出激活映射组成的输出。[0072]由于卷积层126的滤波器的参数(例如权重)的数量通常需要减少,池化层130可以在卷积块124中的卷积层126之后。在图像处理过程中,池化层130的目的是减小由relu层128生成的输出激活映射的大小。池化层130可以包括平均池化算子和/或最大池化算子,对输入的激活映射进行采样,得到大小相对较小的输出激活映射。平均池化算子可以计算特定范围内激活映射中的像素值,以生成平均值作为平均池化结果。最大池化算子可以获得特定范围内值最大的像素作为最大池化结果。池化层处理后输出的激活映射的大小可以小于输入到池化层的激活映射的大小。池化层输出的激活映射中的每个像素指示输入到池化层的激活映射对应的子区域的平均值或最大值。[0073]在输入数据被卷积块124处理之后,dnn120仍然不能输出所需的输出信息。为了生成最终输出信息(例如,对象类别(即类)、边界框等),cnn120的全连接块132从卷积块124的输出生成输出。卷积块124的输出是如上所述的输出激活映射。[0074]全连接块132包括输入层134、一个或多个隐藏层136和输出层138。输出层138在全连接块132的最后一个隐藏层136之后。换句话说,输出层138是整个dnn120中的最后层。在dnn120的训练期间,使用训练数据和监督学习算法来训练dnn120。在前向传播(图2中从124到138的方向上的传播是前向传播)完成之后,使用类似于类别(即类)交叉熵的损失函数来计算dnn120的预测误差,并且执行反向传播(在图2中从138到124的方向上的传播是反向传播)以更新dnn120的层128、130、132、134、136的参数(例如权重)、dnn120的128以及滤波器的基于计算的预测误差的滤波器的权重,以减少理想结果(即训练数据中的地面真值)和输出层138输出的预测结果之间的预测误差。[0075]在训练为执行分类任务的dnn120中,全连接块132的最后隐藏层136可以是紧在输出层138之前的logits层。logits层生成对应于分类任务的概率分布的一组logits,指示输入样本可以被分类的多个可能类别中的每一个的推断(即预测)概率。输出层138可以将softmax函数应用于由logits层生成的logits,以将logits归一化为从0到1的概率分布。因此,softmax函数生成由两个或两个以上类别组成的dnn120的输出,每个类别具有与对应输入样本关联的关联分类概率。因此,响应于由狗的照片组成的输入样本,经过训练以将图像分类为“狗”和“猫”类别的dnn120可以在其输出层138处产生由分类概率(“狗”,0.993|“猫”,0.007)组成的输出。[0076]需要说明的是,图1b中所示的dnn120仅用作深度神经网络的示例性架构。在实际应用中,dnn120的架构可以以不同的形式存在。[0077]上面的讨论提供了一个示例,该示例说明了如何在推理期间使用经过训练的dnn执行特定任务。一般来说,输入数据可以具有一个、两个或三个(或更多)维,输出可以具有任何合适的格式,具体取决于任务。本文的示例性实施例应在用于执行特定任务的dnn的上下文中描述,例如分类任务,包括图像或自然语言处理(naturallanguageprocessing,nlp)中的对象的分类。在本文描述的示例性实施例中,dnn120的输入是可以由输入层预处理并馈送到输入层的图像,接收输入激活映射并生成多通道2d像素阵列(即,由像素高度、像素宽度和通道深度定义的3d阵列)形式的输出激活映射。然而,应当理解,在一些实施例中,不同维度的数据阵列可以用作输入或输出,例如用于涉及音频或文本输入等任务的多通道1d阵列。[0078]卷积层和激活映射示例[0079]图1c示出了卷积层126,示出了输入数据阵列144、输出数据阵列148和由卷积层126应用的一组卷积滤波器146的维度。输入数据阵列142在本文中示出为具有等于值cin的多个输入通道(即激活映射)的多通道激活映射集。输入数据阵列144的每个通道由2d阵列组成,例如由2d像素阵列组成的图像,具有高度hin和宽度win。因此,存储在输入数据阵列142中的值的数量等于(hin×win×cin)。应用于输入数据阵列144的卷积滤波器146各自具有高度h、宽度w和通道深度cin。卷积层126使用等于值cout的多个卷积滤波器146。[0080]卷积层126在一系列卷积操作中将卷积滤波器146应用于输入数据阵列144。每个卷积滤波器146应用于输入数据阵列144,以生成输出数据阵列148的通道,这里示出为具有等于值cout的多个输出通道(即输出激活映射)的多通道激活映射集。输出数据阵列148的每个通道由2d阵列组成,例如由2d像素阵列组成的图像,具有高度hout和宽度wout。hin和hout之间以及win和wout之间的关系由内核维度h和w以及卷积层126的卷积操作使用的步长、填充和其它卷积配置值或超参数确定。在一些实施例中,hin=hout,win=wout。例如,示例性实施例可以使用内核维度h=3以及w=3,填充1像素和步长1,以生成输出数据阵列,其中,hin=hout,win=wout。例如,在使用经过优化以处理具有固定维度的输入通道的硬件或软件组件的实施例中,使用hin=hout以及win=wout的卷积层126可以呈现某些优点。[0081]现在将参考图2至图8描述提供dnn表示和解释的示例性实施例。[0082]dnn决策边界的示例表示[0083]图2为从深度神经网络(deepneuralnetwork,dnn)提取的规则的简化表示的示意图。在这个示例中,dnn已经被训练并接收图像形式的输入样本210。图2中所示的每个输入样本210是狗的图像或猫的图像。本示例中的dnn已被训练为将输入样本分类为第一类别“狗”或第二类别“猫”(或在一些示例中,“不是狗”)。因此,经过训练的dnn响应于接收给定的输入样本,将生成标签(即标签“狗”或标签“猫”)作为输出。输入样本和输出标签之间的映射在这里可以被称为经过训练的dnn的“分类行为”。任何复制经过训练的dnn输入空间和输出空间之间映射的函数、算法或过程都可以说是复制经过训练的dnn的分类行为。类似地,如果函数、算法或过程导致输入和输出之间的映射近似但不完全复制经过训练的dnn的映射(即,大多数或许多输入样本映射到dnn将生成的相同输出标签),则可以说近似训练的dnn的分类行为。如本文所使用的,应用于dnn或另一机器学习模型的术语“行为”用于指其分类行为。[0084]为了清晰度和可见性,图2被示为二维空间,但由输入样本210定义的实际数据空间是多维的。在一些实施例中,由输入样本定义的数据空间的实际维度的数量可以等于像素数乘以每个输入样本的通道数。[0085]在本示例中,经过训练的dnn的分类行为导致输入样本分类为“狗”或“猫”,如dnn决策边界202所示:当提供输入样本210时,如果输入样本在dnn决策边界202内,dnn将输出第一类别“狗”的预测标签,或者,如果输入样本在dnn决策边界202外,则经过训练的dnn将输出第二类别“猫”的预测标签。本文描述的示例性实施例可以生成dnn决策边界202的简化表示,例如单个规则204,其被示出为由三个决策边界241、242、243定义的三角形,被示出为直线,但单个规则204实际上可以是多维数据空间中的凸多面体,其中每个决策边界241、242、243是通过数据空间的超平面。下面参考图6a和图6b以及图7a至图7d描述单规则生成。[0086]应当理解,单个规则204可能不会精确地复制dnn做出的每个分类决策。例如,显示狗的照片的输入样本220在单个规则204之外,但在dnn决策边界202内。在一些实施例中,生成单个规则204使得单个规则尽可能接近dnn的分类行为,同时使用少量的决策边界241、242、243。在一些实施例中,除了单个规则204之外,通过生成一个或多个附加规则,dnn的行为可以更紧密地匹配。在图2中,示出了几个附加规则230,其中在每个附加规则230内的输入样本被分类在第二类别“猫”中。附加规则也通过下面参考图6a和图6b以及图7a至图7d描述的方法生成。虽然图2中的附加规则230都包括第二类别“猫”的输入样本,但通过本文描述的方法生成的附加规则可以被定义为包括第一类别、第二类别或任何其它类别或类别集的输入样本。[0087]应当理解,定义单个规则204或任何附加规则230的决策边界的数量不需要限于三个。一些实施例可以使用更多数量的超平面来定义规则的凸多面体,并且在一些实施例中,由多规则提取方法生成的不同规则可以各自具有不同数量的决策边界。例如,图2中所示的附加规则232具有四个决策边界,而不是三个决策边界。[0088]在根据下面参考图6a至图6b以及图7a至图7d描述的方法(可称为“dnn表示”的过程)从dnn中提取一个或多个规则之后,该规则可用作近似dnn推理行为的简化模型或分类器。此外,或作为替代方案,规则可用于生成一个或多个规则的一个或多个决策边界的人类可理解表示(一个过程可称为“dnn解释”)。现在将参考图3和图4描述示例性dnn解释。[0089]dnn决策边界的示例性解释[0090]图3示出了从经过训练以将图像分类为显示猫或狗的深度神经网络中提取的规则的三个决策边界的人类可理解表示。图3的四行322、324、326、328中的每一行示出了输入样本(在左侧),输入样本之后是应用于输入样本的规则的三个决策边界中的每一行的人类可理解表示。每行322、324、326、328中的输入样本在这里被称为“解释样本”,意思是作为输入提供给dnn的输入样本,以便生成从dnn提取的规则的一个或多个人类可理解解释。参考第一行322,第一解释样本302被示为狗的照片。下面参考图6至图7d描述的方法用于生成至少一个规则,例如图2的单个规则204。然后,第一解释样本302用于生成从dnn提取的规则的决策边界的一个或多个人类可理解表示(这里示出为三个人类可理解表示304、306、308)。每个人类可理解表示304、306、308对应于规则的三个决策边界中的一个(例如,第一人类可理解表示304可以对应于使用第一解释样本302可视化的单个规则204的决策边界241)。其它行324、326、328中的每一行还在左侧显示解释样本(在每种情况下是狗的照片),然后是第一行322使用的相同规则的决策边界的三个人类可理解表示,如使用相应行的表示样本可视化的。图3中所示的4×4图像矩阵可以被称为热图矩阵,下面结合图8进一步描述。[0091]在本示例中,在每行322、324、326、328中,通过将相应的解释样本(例如,302)与通过下文图8的dnn解释方法生成的热图组合,然后生成从dnn中提取的规则的决策边界的每个人类可理解表示(例如,304、306或308)。热图与其相应的解释样本(例如302)组合,以产生人类可理解表示,显示原始解释样本302被调制、扰动、覆盖、叠加或以其它方式与其相应的热图组合。例如,热图可以重新着色解释样本302,使得具有由热图定义的高热水平的像素区域红移,而具有由热图定义的低热水平的像素区域蓝移或保持未修改。在一些实施例中,热图可以使用光谱中的多种颜色重新着色或色移多个像素区域,例如用于非常高热区域的第一颜色(例如,红色)、用于高热区域的第二颜色(例如,橙色)和用于中热区域的第三颜色(例如,黄色),保持低热区域未修改。在一些实施例中,连续颜色值可以用于表示连续热图值。[0092]下面结合图8详细描述热图的生成。总之,热图指示输入样本(即解释样本302)的像素区域,其与从dnn中提取的规则的给定决策边界高度相关或明显。这可以意味着,在一些示例中,相对于对输入样本(例如,第一解释样本302)的低相关性像素区域所做的改变,改变输入样本(例如第一解释样本302)在输入样本(例如第一解释样本302)的高度相关区域中的像素的像素值将可能导致dnn分类在决策边界的另一侧上的改变的输入样本(例如,改变的第一解释样本302)。[0093]在图3中,在每行322、324、326、328中,从dnn提取的规则的决策边界的每个人类可理解表示(例如,304、306或308)被示出为具有对应于相应决策边界(例如,用于人类可理解表示304的决策边界241、用于人类可理解表示306的决策边界242和用于人类可理解表示308的决策边界243)的叠加热图的相应行(例如,302)的解释样本。对于图3的另一行324、326、328,从左到右重复决策边界与人类可理解表示的这种对应关系。尽管三个人类可理解表示304、306、308被示出具有与其它行324、326、328中的对应体相似形状的热图,但对于一些dnn和/或一些解释样本集来说,情况可能并非如此。[0094]每个人类可理解表示的热图包括可以根据第一颜色重新着色的非常高相关像素区域310、可以根据第二颜色重新着色的高度相关像素区域312和可以根据第三颜色重新着色的中等相关像素区域314。图像的其余部分可被视为未重新着色的低相关性区域。应当理解,不同的实施例可以以不同的方式修改图像,以可视化地表示每个像素或每个像素区域的热图值。[0095]通过将一个或多个人类可理解表示(例如,304、306和308)与一个或多个输入样本(例如,解释样本302)相关联地呈现给人类用户,各种实施例可以有助于用户解释dnn的行为,以确认dnn已经满足上述一个或多个标准(例如,忠实性、稳定性和全面性)。[0096]现在将参考图4在医学成像的上下文中描述dnn解释的替代实施例。[0097]图4示出了从经过训练将图像分类成现实健康或患病视网膜的深度神经网络中提取的规则的决策边缘的两种不同类型的人类可理解表示。在左侧,解释样本402示出了人视网膜的一部分的图像(例如,cat扫描、x射线或mri图像)。解释样本402包括示出视网膜损伤或疾病的潜在标记的感兴趣区域408。[0098]根据下面参考图8描述的技术,向经过训练以将视网膜图像分类为显示健康或患病视网膜的dnn提供解释样本402。根据下面参考图8描述的方法800生成第一人类可理解表示404,示出了与上面参考图3描述的那些热图组合的解释样本402的图像。热图使用上述视觉表示技术识别图像的高相关性像素区域410和中等相关性像素区域412。高相关性像素区域410和中等相关性像素区域412可以共同对应于感兴趣区域408。[0099]在另一实施例中,可以生成第二人类可理解表示406,示出围绕感兴趣区域408的像素的边界框420。在一些实施例中,根据下面参考图8描述的方法800生成第二人类可理解表示406,之后可以通过以下步骤生成边界框420:识别热图的像素位置高于热阈值,并在图像上覆盖边界框420,所述边界框限制高于热阈值的像素位置。应当理解,感兴趣区域的其它技术和其它视觉表示也可以与本文描述的dnn解释方法结合使用。[0100]现在将参考图5描述示例dnn,示出了如何通过本文描述的各种dnn表示和解释方法使用dnn的截断部分的输出。[0101]用于表示和解释的截断dnn示例[0102]图5为示例性深度神经网络500的框图,包括用于根据输入样本502生成更新的输入样本512的截断部分504和用于根据更新的输入样本512生成分类数据514的尾部部分506。[0103]在本示例中,dnn500经过训练以执行图像分类,例如将一组输入样本502的每个输入样本分类为第一类别“狗”或第二类别“猫”。dnn500用于对多个输入样本502执行图像分类,从而为每个输入样本生成更新的输入样本512和输入样本的分类。分类包括由尾部部分506的输出层138生成的分类数据514。更新的输入样本512包括由dnn500的截断部分504根据输入样本生成的一个或多个输出激活映射。[0104]在这个示例中,dnn500被示出为卷积神经网络(convolutionalneuralnetwork,cnn),其具有在卷积块124内组织的多个卷积层126,如上文参考图1b所述。截断部分504(在此也称为ftrunc)被示出包括几个卷积块124和在其右端由卷积层126和relu层128组成的部分卷积块。因此,在本示例中,更新的输入样本512是relu层128的输出。[0105]尾部部分506(在此也称为ftail)被示出包括位于截断部分504左端的部分卷积块124的池化层130,之后是由输入层134和隐藏层136组成的全连接块。就目前描述的实施例而言,dnn500的输出层138不被认为是dnn500的尾部部分506的一部分。在这个示例中,输入层134和隐藏层136可以是全连接层,并且隐藏层可以用作logits层,生成一组logits516作为其输出。logits516作为输入被输出层138接收,输出层138可以应用softmax函数对logits516进行归一化,从而生成分类数据514。为了目前描述的实施例的目的,logits516可以被认为是dnn500的输出。应当理解,术语“隐藏层”用于保持与图1b的示例性神经网络的一致性;然而,在示例dnn500中,除了截断部分504的左端的第一卷积层124和最终隐藏层136之外的所有层都可以被认为是“隐藏”层,因为它们不是最终输入层或最终输出层138。[0106]当提供有由狗的照片组成的特定输入样本502(1)时,dnn500可以生成分类数据514,该分类数据包括特定输入样本502(1)被分类在第一类别中的概率或特定输入样本502(1)被分类在第二类别中的概率,示出为分类概率(“狗”,0.993|“猫”,0.007)。[0107]由截断部分504生成的更新的输入样本512被示为一组激活映射,该激活映射是relu层128的输出(即输出激活映射)。在一些实施例中,更新的输入样本512由dnn500的不同层生成。更新的输入样本512可用于简化dnn500的表示和解释的计算,如下面参考图6至图8所述。然而,在一些实施例中,输入样本502本身可以用作更新的输入样本512。[0108]在一些实施例中,dnn500可以具有符合karensimonyan和andrewzisserman在“用于大规模图像识别的非常深度卷积网络(verydeepconvolutionalnetworksforlarge-scaleimagerecognition)”中描述的dnn架构之一的结构,2014,arxiv:1409.1556[cs.cv],可在https://arxiv.org/abs/1409.1556中查阅。例如,dnn500可以具有符合来自simonyan参考文献的配置“a”的dnn架构的结构:11个权重层,包括接受224×224rgb图像作为输入的输入层;具有维度3×3的64个卷积核的卷积层(即,接受场大小为3,63个输出通道);一个maxpool(即最大池化)层;一个卷积层,具有128个维度3×3的卷积核;另一个maxpool层;两个卷积层,每个卷积层具有256个维度3×3的卷积核;另一个maxpool层;两个卷积层,每个卷积层有512个(维度为3×3的卷积核;另一个maxpool层;另外两个卷积层,每个卷积层有256个维度为3x3的卷积核;另一个maxpool层;4096个输出通道的全连接层;4096个输出通道的另一个全连接层;1000个输出通道的全连接层;softmax层(尽管softmax层可以如上所述从dnn500中省略,产生最终全连接层的1000个输出通道的尾部logits输出516)。应当理解,上面列出的每个maxpool层在relu层之前或之后。更多的潜在配置在simonyan参考文献中描述。[0109]在一些实施例中,dnn500不是cnn。它可以是使用机器学习训练并由计算结构或算法实现的任何神经网络,只要神经网络接受数字输入(例如,图像的像素值集)并返回多个类或类别中的每一个的输出分数(例如,归一化概率)。[0110]现在将参考图6至图7d描述dnn表示的示例性方法,并且将参考图8描述dnn解释的示例性方法。[0111]dnn规则提取方法示例[0112]图6a为用于生成包括规则的dnn的简化表示的示例性单规则提取方法600的流程图。方法600在这里可以被称为“dnn表示”、“模型表示”或“规则提取”。还将参考图7a至图7d描述方法600的步骤,图7a至图7d示出了方法600的各种步骤的可视化。[0113]方法600生成近似经过训练以执行分类任务的神经网络的分类行为的规则,例如经过训练以执行图像分类的dnn500。该规则包括由用于生成规则的多个更新的输入样本512定义的多维欧几里德空间中的多个超平面定义的凸多面体。在凸多面体内的更新的输入样本512很可能被神经网络分类到第一类别(例如,“狗”)中。[0114]在经过训练以执行如上所述的分类任务的神经网络上执行方法600。在这个示例中,将在图5的dnn500的上下文中描述方法600。[0115]方法600的步骤在此可以通过表示它们的总体功能的术语来参考。步骤602和603可以统称为dnn500的“初始化”,因为它们生成用于生成规则的更新样本集。步骤604和606可以统称为“候选池生成”,因为它们生成决策边界候选池,该决策边界候选池可以包括在规则中,也可以不包括在规则中。步骤608和610可统称为“二进制矩阵重新制定”,因为它们将候选池中的决策边界集重新制定为二进制矩阵。步骤611可以被称为子模块优化,因为它选择二进制矩阵的列的最佳子集,以生成用于定义规则的较小的超平面集。步骤602至612可统称为“单个规则提取”,因为它们生成可用作dnn500的表示的单个规则。步骤614可被称为“解释”,因为它根据通过单个规则提取生成的单个规则生成dnn500的分类行为的人类可理解表示。[0116]在602中,dnn500用于对多个输入样本502执行图像分类,从而为每个输入样本(例如第一输入样本502(1))生成更新的输入样本512和第一类别的分类概率和第二类别的分类概率,例如分类数据514。更新的输入样本512各自包括由截断部分504根据相应的输入样本502生成的一个或多个输出激活映射。[0117]在一些实施例中,可以使用方法600使用的相同输入样本来训练dnn500。每个更新的输入样本512可以根据由dnn500生成的其相应分类数据514重新标记:例如,由dnn500分类为最可能在分类数据514中的第一类别“狗”中的第一输入样本502(1)(其示为指示在类别“狗”中的概率0.993和0.007属于类别“猫”的概率)可以将其相应的更新输入样本512标记为第一类别“狗”。[0118]图7a示出了数据空间的二维可视化,该数据空间示出了已经被标记为与dnn500输出的类别关联的标签的输入样本502。第一组标记的输入样本706包括由dnn500输出的与第一类别(例如,“狗”)关联的标签,第二组标记的输入样本704包括由dnn500输出的与第二类别(例如,“猫”)关联的标签。如图2所示,数据空间实际上是多维的,但为了简单和可见性的目的,数据空间被显示为二维。[0119]在603中,从标记的输入样本704、706中选择种子样本和多个对比样本。种子样本可以是来自第一组707或第二组704的任何输入样本。在这个示例中,dnn500被提供种子样本,并输出与种子样本的第一类别(例如,“狗”)关联的标签,即种子样本是从第一组706中选择的输入样本。种子样本用作生成规则的起点。由dnn500的截断部分504根据种子样本生成的更新的输入样本512称为更新的种子样本。[0120]由于种子样本在第一组706中,因此多个对比样本可以是从第二组704中选择的任何输入样本,即,由dnn500输出第二类别(例如,“猫”)的输入样本。方法600选择等于预定候选池大小的多个对比度输入样本。预定候选池大小有效地定义了由方法600生成的规则中包括的决策边界数量的上限。由dnn500的截断部分504根据每个对比样本生成的更新的输入样本512称为更新的对比样本。[0121]在一些示例中,从训练数据的更新样本中随机选择更新的对比样本集,约束是更新的对比样本必须被分类(即重新标记)到第二类别中(即不同于重新标记的更新的种子样本)。重要的是,为了方法600的目的,附着在更新的对比样本上的标签不是附着在训练数据样本上的预定训练标签;相反,它是dnn500预测的标签。类似地,为了方法600的目的,附着到种子样本上的标签是dnn500预测的标签。[0122]图7b示出了图7a的二维可视化,其中,更新的种子样本708和五个更新的对比样本712、714、716、718和719被识别。因此,在本示例中,预定候选池大小为5。[0123]在604中,在更新的种子样本708和每个更新的对比样本712、714、716、718、719之间执行二进制搜索算法(本文称为“二进制搜索”)。将参考在范围732上发生的更新的对比样本712的示例来描述二进制搜索。应当理解,二进制搜索算法可以用于定位位于项的有序序列中的两个已知起始值之间的未知点处的期望值,例如有序列表。二进制搜索算法首先确定两个起始值之间的中点处的项的值。根据在中点项确定的值,二进制搜索算法的下一步在中点项与第一或第二起始值之间的中点选择第二项,并确定第二项的值。其它步骤重复此过程,直到找到具有所需值或接近所需值的项。在这种情况下,所需的值是表示多维空间中两个类别之间边界的多维值(例如矢量)。[0124]在一些实施例中,二进制搜索是调整后的二进制搜索。将首先定义在方法600的此步骤和后续步骤中使用的许多符号。x是种子样本。f是dnn500。输出是隐藏层136的logits516。ftrunc是截断部分504。ftail是尾部部分506,并且还可以表示尾部部分506的隐藏层136的logits输出516。x=ftrunc(x)是更新的种子样本508。k是预定的候选池大小。smax是规则的最大边界大小,即规则中要包括的决策边界的最大数量。x1,x2,…,xk是更新的对比样本,例如,更新的对比样本712、714、716、718和719。s是调整后的二进制搜索的搜索点。h={h1,h2,…,hk}是候选池中的一组超平面。r是h的子集。s是子模块优化的解。r是调整后的二进制搜索的比率参数。e,e1,e2是一些具有预定值的极小参数。maxi(v)是矢量v的第i个最大值。[0125]图6b是在图6a的方法600的步骤604中执行的更新的种子样本708和每个更新的对比样本712、714、716、718、719之间的调整后的二进制搜索的流程图。[0126]在622中,调整后的二进制搜索通过定义值xpos=更新的种子样本708和xneg=更新的对比样本712开始。[0127]在624中,计算搜索点s=(1-r)xneg+rxpos。[0128]在626中,如果max1(ftail(s))-max2(ftail(s))<e和argmax(ftail(x))=argmax(ftail(s)),则终止调整后的二进制搜索,其中,ftail(i)表示由尾部部分506根据更新的样本i生成的分类数据514,e表示具有相对较小值的预定搜索参数。第一个条件意味着s非常接近两种类别(例如,“狗”和“猫”)之间的决策边界。第二个条件意味着搜索点s和更新的种子样本x在决策边界的同一侧。[0129]如果终止条件没有得到满足,则在步骤628中,调整后的二进制搜索检查搜索点的分类。如果argmax(ftail(x))=argmax(ftail(s)),即,如果搜索点s的分类与更新的种子样本708(即,在本示例中,第一类别“狗”)的分类相同,则二进制搜索进行到步骤630,其中,xpos的值被s替换。否则,调整后的二进制搜索进入步骤632,其中,s的值被s替换。调整后的二进制搜索然后返回到步骤624以重新计算搜索点s=(1-r)xneg+rxpos。[0130]当二进制搜索终止时,在步骤634中计算二进制搜索的基值和偏置值。基值w计算为[0131][0132]并且偏置值b计算为[0133]b=max1(ftail(s))-max2(ftail(s))-wts。[0134]因此,在更新的种子样本和所述更新的对比样本之间执行二进制搜索,以生成基值和偏置值;[0135]回到图6a,一旦在步骤604完成更新的种子样本708和每个更新的对比样本712、714、716、718、719之间的二进制搜索,方法600进入步骤606。在606中,根据二进制搜索的结果,计算更新的种子样本708和每个更新的对比样本712、714、716、718、719之间的决策边界。根据基值b和通过二进制搜索计算的偏置值b计算输入样本类别之间(例如,在第一类别“狗”中的更新的种子样本708和第二类别“猫”中的更新的对比样本712之间)的每个决策边界。[0136]决策边界定义候选池中的多个超平面中的一个。超平面hi可以由以下等式wtv+b=0定义,其中,v是任意矢量,超平面的关联标签是ftail(s)的第二最大值的索引。边界的“关联标签”是指边界另一侧更新样本的标签。[0137]候选池h是i=1,2,...,k的所有hi的集合。[0138]图7b示出了根据各种二进制搜索生成的决策边界,例如,根据范围732上的二进制搜索在更新的种子样本708和更新的对比样本712之间定义的第一决策边界722,以及根据范围734上的二进制搜索在更新的种子样本708和更新的对比样本714之间定义的第二决策边界724。由五个决策边界组成的集合(显示为虚线)定义了候选池h。[0139]再次返回图6a,方法600进入步骤608。在608中,根据候选池和更新的输入样本512生成正样本二进制矩阵。每个更新的输入样本512已经用与第一类别或第二类别关联的标签重新标记。包括与第一类别关联的标签的更新的输入样本512的集合可以被称为更新的正样本,包括与第二类别关联的标签的更新的输入样本512的集合可以被称为更新的负样本。[0140]正样本二进制矩阵a生成如下:每行表示更新的正样本,每列表示候选池中的超平面(即决策边界)。ai,j=1如果更新的正样本i和更新的种子样本x708位于超平面hj的同一侧,否则ai,j=0。将理解,更新的种子样本708可以包括在更新的正样本集合中,使得对应于更新的种子样本x708的a的行都一样。[0141]图7c示出了正样本二进制矩阵a740。每个列746对应于候选池中的超平面之一,例如第一决策边界722。第一行742对应于更新的种子样本x708,因此具有所有位值1。每个附加行744对应于另一个更新的正样本,即在图7a和图7b中示为正方形的更新的样本706中的一个。[0142]因此,对于每个更新的正样本706,表示为a的正样本二进制矩阵740包括一行二进制值,每个二进制值指示更新的正样本706在多个超平面中的一个超平面(例如,第一超平面722)的第一侧或第二侧。[0143]在610中,在与生成正样本二进制矩阵740非常相似的过程中,根据候选池和更新的输入样本512生成负样本二进制矩阵。负样本二进制矩阵b生成如下:每行表示更新的负样本,每列表示候选池中的超平面(即决策边界)。ai,j=1如果更新的负样本i和更新的种子样本x708位于超平面hj的同一侧,否则ai,j=0。[0144]图7c示出了负样本二进制矩阵b750。每个列746对应于候选池中的超平面之一,例如第一决策边界722。每行752对应于更新的负样本,即在图7a和图7b中示为三角形的更新样本704中的一个。[0145]因此,对于每个更新的负样本704,表示为b的负样本二进制矩阵750包括一行二进制值,每个二进制值指示更新的负样本704在多个超平面中的一个超平面(例如,第一超平面722)的第一侧或第二侧。[0146]在611中,从负样本二进制矩阵740和负样本二进制矩阵750中选择列的最佳子集。一些实施例可以使用子模块成本子模块覆盖优化,如下面参考图6c所描述的,使得定义规则的凸多面体的多个超平面中的超平面的数量小于预定的候选池大小。[0147]图6c是用于从图7c的二进制矩阵中选择列的最佳子集的示例性方法的流程图。它规定了方法600的步骤611的子步骤。[0148]在642中,对于列r的子集,ga(尺)定义为在r的列内具有0的正样本二进制矩阵740的行数。这意味着r中超平面定义的凸多面体之外更新的正样本数。以对于负样本二进制矩阵750类似的方式定义r。[0149]在644中,用公式表示组合优化问题。在一些实施例中,这可以是子模块成本子模块覆盖(submodularcostsubmodularcover,scsc)优化问题的示例:minrga(r)subjecttogb(r)=gb(h)[0150]在646中,使用贪婪算法求解scsc优化。技术方案集s被初始化为空。然后,根据重复选择新列,并将j添加到s中。当gb(s)=gb(h),意味着来自其它类别中的所有更新的样本不包括在内,或|s|=smax,意味着算法已经达到规则中要包括的最大边界数,算法终止。e1和e2的目的是确保分子和分母不为零。[0151]应当理解,在其它实施例中,其它已知算法可以用于求解scsc。[0152]可选地,在648中,可以通过添加不减小ga(s)和gb(s)的值的h\s中的所有列来收紧规则。这可能会减小多面体的体积,并使其更精确。如果规则要用于模型表示,即用作简化分类器,则建议使用此步骤648,如下所述。[0153]可选地,在650中,可以通过删除s中不增大ga(s)和gb(s)值的所有列来收紧规则。这将删除任何冗余边界。如果该规则用于生成由dnn近似的模型的简化解释(也称为“模型解释”、“dnn解释”或“dnn模型解释”),则建议使用该步骤650,如下面参考图8所述。[0154]或者,在一些实施例中,可以应用不同的算法来去除冗余线性不等式约束。[0155]回到图6a,在步骤611中,在从二进制矩阵740、750中选择了列的最佳子集之后,方法600进行到步骤612。在612中,生成规则。该规则被定义为包含更新的种子样本x708并由集合s中的超平面限定的凸多面体。该规则的关联标签是x708的更新标签。在一些实施例中,定义规则的凸多面体的多个超平面s中的超平面的数量(高达smax)小于预定候选池大小k。[0156]图7d示出了由图7b的多个决策边界的子集定义的规则。在本示例中,规则由二进制矩阵重构和子模块优化后s中包括的三个决策边界722、726和728定义。如上所述,每个决策边界722、726、728可以具有识别边界另一侧上更新样本的标签的关联标签。规则作为一个整体也可以具有关联的标签,表示规则所涵盖的所有更新样本都由dnn500分类的类别。[0157]可选地,在步骤614中,该规则可用于执行以下参考图8描述的dnn模型解释。[0158]在一些实施例中,可以提取一个或多个附加规则,例如图2中的附加规则230。dnn500的多规则表示可以用作近似dnn500的分类行为的简化分类器。现在将参考图6d描述示例性多规则提取方法。[0159]多规则提取方法示例[0160]图6d是用于通过迭代图6a的方法生成dnn的多规则表示的示例性多规则提取方法660的流程图。[0161]现在将定义用于描述方法660的符号和术语。n是所有输入样本的集合的大小。d={x1,x2,…,xn)是所有输入样本的集合(例如,集合704和集合706的并集)。p是所需的覆盖率。s表示通过单规则提取方法600提取的单个规则。sall是在执行多规则提取方法660时在给定时间提取的所有规则的集合。cov(sall)是sall的输入样本覆盖范围。t是待包括在多规则表示中的最大规则数。“规则”是欧几里德空间中的凸多面体,具有关联的标签。“适用范围”是sall中规则所包含的所有区域的并集。“输入样本覆盖率”是指至少一个规则的适用范围内的输入样本数。[0162]在662中,初始化多规则提取方法660。一组决策边界(即超平面)sall被设置为等于空集。索引值j被设置为等于初始值,例如,1。[0163]在664中,使用对应于索引值j的种子样本xj执行单规则提取方法600。这生成了一个由凸多面体定义的单个规则,该多面体在更新的种子样本xj周围具有决策边界。[0164]在666中,定义在步骤664生成的规则的决策边界s集合被添加到集合sall中,使得sall=sall∪s。索引值j递增为值j+1。[0165]在668中,检查终止条件。如果满足以下两个条件中的任何一个,多规则提取方法660终止:第一,如果满足预定的输入样本覆盖阈值(例如,cov(sall)》pn),或第二,如果提取的规则的数量等于要包括在多规则表示中的的最大规则数(例如,|sall|≥t)。[0166]如上所述,输入样本覆盖率是指包括在一个或多个规则集合的适用范围中的更新的输入样本512的数量。如果给定的输入样本502各自的更新输入样本512在一个或多个规则的集合的适用范围内,则给定的输入样本502也可以在该适用范围内。因此,如果规则在其决策边界内包括50个更新的输入样本512,则它的输入样本覆盖范围为50。如果生成了三个规则,这些规则共同包括80个更新的输入样本,则由这三个规则定义的多规则表示的输入样本覆盖率为80。预定输入样本覆盖阈值可以是控制用于生成dnn的多规则表示的多规则提取方法660的参数;在一些实施例中,它可以设置为等于输入样本数量的固定百分比。[0167]使用多规则提取方法660提取的一组规则可用于生成dnn的多规则表示。该规则集sall可以用作近似dnn500的分类行为的简化分类器:在dnn的多规则表示的适用范围内的更新输入样本512可以通过在覆盖更新的输入样本512的规则中投票与预测标签或与一个或多个类别关联的概率集相关联。应当理解,首先需要更新要由多规则表示分类的新输入样本502,以使用dnn500的截断部分504生成更新的输入样本512。[0168]应当理解,根据dnn500为每个新种子样本xj生成的标签,sall中的各种规则可以包括不同类别的更新输入样本512,例如图2中所示的第一规则204(包括第一类别“狗”)和附加规则230(每个规则包括第二类别“猫”)。[0169]当执行用于生成cnn的多规则表示的多规则提取方法660时,用于dnn500的cnn的实施例可以表现出其它优点:cnn的决策边界是分段线性的。因此,当计算候选池的候选超平面(例如,241)时,超平面有时实际上与实际决策边界202重叠。cnn的此属性不是如上所述生成dnn500的简化多规则表示的必要属性,但它可能导致cnn的更简单和/或更精确的多规则表示。对于非cnndnn,每个候选超平面通常是(通常是非线性)决策边界的线性近似。cnn的这种分段线性特性并不是cnn固有的;相反,它是cnn的relu层128使用的relu函数的结果,例如,位于dnn500的截断部分504右端的relu层128。任何使用分段线性激活函数的dnn都可以使用本文描述的技术来表示或解释。[0170]dnn解释的示例方法[0171]图8是用于生成由图6a的单规则提取方法600或图6d的多规则提取方法660生成的一个或多个规则的解释的示例性解释方法800的流程图。[0172]现在将定义用于描述方法800的符号和术语。x是用于生成人类可理解解释的输入样本502,称为解释样本。f是dnn或dnn近似的模型,例如dnn500。在该方法800中使用的dnn500的输出之一是由隐藏层136生成的logits516。ftrunc是截断部分504,并且还可以表示由截断部分504生成的更新输入样本512。ftail是尾部部分506,并且还可以表示由尾部部分506的隐藏层136生成的logits516。x=ftrunc(x)是更新的解释样本。l是更新的解释样本x中包括的激活映射数量。k是正在解释的规则的边界数。h1,h2,…,hk是规则的边界(即超平面)。“规则”是指欧几里德空间中的凸多面体,具有关联的标签。“适用范围”是指规则所包括的区域。“热图”是指与解释样本大小相同的单通道图像,在本示例中,解释样本是图像。热图的像素值被称为热值,其中值越大,像素对被解释的规则就越重要。[0173]使用方法800,可以产生各种有用的输出。一个或多个解释可以以规则的一个或多个相应决策边界的人类可理解表示的形式生成:例如,可以为解释样本的规则的每个边界生成热图,并且每个热图可以与解释样本组合,以生成规则的决策边界的人类可理解表示(例如图3和图4中所示)。只要解释样本都被规则覆盖的情况,热图矩阵(如图3所示)可以使用多个解释样本生成。可以感觉每个解释样本与主要解释样本的相似程度提供排名。此外,可以生成边界统计信息,以提供有关规则的每个边界如何执行的信息,以及边界关联标签的分布。[0174]方法800从由单规则提取方法600生成的规则开始。[0175]在801中,识别在规则的适用范围内的更新的输入样本512。更新的输入样本512用作解释样本,以生成规则的决策边界的一个或多个热图和/或人类可理解表示。[0176]在802中,从规则的多个超平面中选择或识别超平面(即决策边界)。该决策边界将在方法800的步骤804至810的第一迭代中被解释。[0177]在804中,计算更新的解释样本的激活映射xl的权重。权重是通过取相对于xl的偏导数的平均值来计算的,即计算超平面的偏导数相对于激活映射的每个激活值的平均值。公式为权重设置为等于计算的平均值。[0178]在806中,计算的权重与激活映射xl相乘,以生成加权激活映射。然后,方法800可以针对更新的解释样本的一个或多个附加激活映射(在本示例中,所有激活映射)中的每一个重复步骤804和806。[0179]在808中,通过计算由其各自权重加权的每个激活映射之和来生成热图。热图表示与超平面相对应的决策边界。在本示例中,热图是通过激活映射的加权和的relu计算的收缩热图。公式为:[0180][0181]在本示例中,作为步骤808的另一个子步骤,收缩热图可以被缩放到输入图像的原始大小。总共产生了k个热图,从而提供了如上所述的不止一种解释。[0182]在810中,可选地,如上面参考图3和图4详细描述的那样,生成基于解释样本的决策边界的人类可理解表示。例如,人类可理解表示可以是由热图修改的图像或具有围绕感兴趣区域的边界框的图像,如图3和图4所示。[0183]方法800可以重复步骤802至808或802至810,以生成解释规则的一个或多个附加决策边界的一个或多个附加热图和/或人类可理解表示。[0184]方法800还可以重复步骤801至808或802至810,以生成一个或多个附加热图和/或人类可理解表示,解释应用于一个或多个附加解释样本的规则的一个或多个附加决策边界。[0185]在812中,可选地,可以生成热图矩阵,其中各种解释样本按与第一或主要解释样本的相似性排序。热图矩阵可以类似于图3中所示的图像矩阵,每行中都有解释样本,每列中都有人类可理解表示。它需要返回到步骤801至少一次以识别新的解释样本(即矩阵的第二行),并且还可能涉及对于每个解释样本返回到步骤802至少一次,以在第一个解释样本之后生成附加的人类可理解表示(即在前两个解释样本之后添加更多的列,第一列是未修改的解释样本,第二列是第一人类可理解表示)。可以根据该行的解释样本与第一行的解释样本的相似性对行进行排序。[0186]要计算给定解释样本xother与第一解释样本x之间的相似性,公式:[0187][0188]可用于定义相似性级别。值越低,相似性越高。[0189]在一些实施例中,热图矩阵或人类可理解表示的其它显示可以字幕、标记或以其它方式识别每个人类可理解表示,例如每个图像。附加到每个人类可理解表示的识别标签可用于识别相应决策边界的关联标签,即决策边界试图与规则的关联范围内的类别分离的类别。这种信息在新输入样本的二进制分类(即将输入样本分类为仅包括两个类别的一组类别)中可能意义不大,但在多类别(即将输入样本分类为包括两个以上类别的一组类别)设置中可能有价值。[0190]在814中,可选地,可以生成边界统计量,例如,报告的形式,以理解规则的每个边界的作用。边界统计量可以包括在步骤646的贪婪算法中选择边界的顺序、由每个边界分隔的更新的输入样本的数量以及关联标签的分布。关联标签的分布可以描述为将特定类别与目标类别(即规则所包括的类别)分离所花费的努力。[0191]在一些实施例中,可以感觉多个热图的平均值或组合生成单个人类可理解表示。在一些实施例中,可以感觉在步骤646的贪婪算法中选择的第一边界为人类可理解表示选择单个热图。应该理解的是,还有许多其它替代方法可以将多个热图总结为一个热图。[0192]将本文描述的示例性实施例与深度神经网络解释的其它已知方法进行比较的实验数据表明,方法800可用于生成人类可理解的可视化或深度神经网络的分类行为的其它表示,这些表示相对于其它已知方法表现出忠实性、稳定性和全面性,并且在一些示例中,可以在深度神经网络被完全训练之前生成。[0193]概述[0194]尽管本发明以特定的顺序描述了方法和流程,但可以视情况省略或更改方法和流程的一个或多个步骤。一个或多个步骤可以按顺序执行,但不是按描述的顺序执行(视情况而定)。[0195]尽管描述了本发明,但至少部分地,就方法而言,本领域普通技术人员将理解,本发明还涉及各种组件,用于通过硬件组件、软件或两者的任意组合执行所描述的方法的至少一些方面和特征。相应地,本发明的技术方案可通过软件产品的形式体现。合适的软件产品可以存储在预先记录的存储设备或其它类似的非易失性或非瞬时性计算机可读介质中,例如,dvd、cd-rom、usb闪存盘、可移动硬盘或其它存储介质等。软件产品包括其上存储的指令,这些指令使处理设备(例如个人计算机、服务器或网络设备)能够执行本文所公开的方法的示例。[0196]本发明可以其它特定形式体现,而不脱离权利要求的主题。所描述的示例实施例在各方面都仅仅是示意性的,而不是限制性的。可以将上述一个或多个实施例中的选定特征组合以创建未明确描述的替代性实施例,理解适合此类组合的特征在本发明的范围内。[0197]还公开了公开范围内的所有值和子范围。此外,虽然本文所公开和显示的系统、器件和流程可包括特定数量的元素/组件,但可以修改所述系统、器件和组合件,以包括此类元素/组件中的更多或更少的元素/组件。例如,尽管所公开的任何元素/组件可引用为单数,但可以修改本文所公开的实施例以包括多个此类元素/组件。本文所描述的主题旨在覆盖和涵盖所有适当的技术变更。[0198]在本发明中公开的所有发表论文的内容通过引用并入本文。[0199]本发明的其它方面和示例在所附附录中给出,其全部内容在此结合到本发明中。当前第1页12当前第1页12
技术特征:
1.一种用于生成经过训练以执行分类的神经网络的简化表示的方法,其特征在于,所述经过训练的神经网络包括截断部分和尾部部分,所述截断部分包括一个或多个层,所述尾部部分包括一个或多个层,所述方法包括:使用所述截断部分来生成更新的输入样本,所述更新的输入样本包括基于所述输入样本的一个或多个输出激活映射;使用所述尾部部分生成标签,其中,所述标签根据所述一个或多个输出激活映射将所述输入样本分类在第一类别或第二类别中;生成规则,所述规则包括由根据所述多个更新的样本定义的多维欧几里德空间中的多个超平面定义的凸多面体,使得在所述凸多面体内的更新的输入样本很可能由所述经过训练的神经网络分类在第一类别中,并且在所述凸多面体之外的更新的输入样本很可能由所述经过训练的神经网络分类在第二类别中。2.根据权利要求1所述的方法,其特征在于,所述多个输入样本包括:由所述经过训练的神经网络分类在所述第一类别中的种子样本,其中,所述截断部分根据所述种子样本生成更新的种子样本;等于预定候选池大小的多个对比输入样本,其中,每个对比输入样本由所述经过训练的神经网络分类在所述第二类别中,所述截断部分根据每个对比输入样本生成更新的对比样本;对于每个更新的对比样本,生成所述规则包括:在所述更新的种子样本和所述更新的对比样本之间执行二进制搜索,以生成基值和偏置值;根据所述二进制搜索的所述基值和所述偏置值,计算所述第一类别和所述第二类别之间的决策边界,其中,所述决策边界定义所述多个超平面中的一个。3.根据权利要求2所述的方法,其特征在于,所述多个输入样本还包括:一个或多个正样本,其中,每个正样本由所述经过训练的神经网络分类在所述第一类别中,所述截断部分根据每个正样本生成更新的正样本;一个或多个负样本,其中,每个负样本由所述经过训练的神经网络分类在所述第二类别中,所述截断部分根据每个负样本生成更新的负样本;对于每个超平面,生成所述规则还包括:对于每个更新的正样本,生成正样本二进制矩阵包括一行二进制值,每个二进制值指示所述更新的正样本在所述超平面中的一个超平面的第一侧或第二侧,所述正样本二进制矩阵的每列对应于一个超平面;对于每个更新的负样本,生成负样本二进制矩阵,包括一行二进制值,每个二进制值指示所述更新的负样本在所述超平面中的一个超平面的第一侧或第二侧,所述负样本二进制矩阵的每列对应于一个超平面;使用子模成本子模覆盖优化从所述正样本二进制矩阵的所述列和所述负样本二进制矩阵的所述列中选择所述多个超平面,使得定义所述规则的所述凸多面体的所述多个超平面中的超平面的数量小于所述预定候选池大小。
4.根据权利要求3所述的方法,其特征在于,所述正样本二进制矩阵还包括所述更新的种子样本对应的一行二进制值;所述负样本二进制矩阵还包括每个更新的对比样本对应的一行二进制值。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述多个输入样本包括由所述经过训练的神经网络分类到所述第一类别中的解释样本,所述截断部分根据所述解释样本生成更新的解释样本,所述方法还包括通过以下步骤生成对所述规则的解释:识别所述规则的所述多个超平面中的一个超平面;对于所述更新的解释样本的一个或多个激活映射中的每个激活映射,每个激活映射包括多个激活值:计算所述超平面的偏导数相对于所述激活映射的每个激活值的平均值;设置所述激活映射的权重等于所述计算平均值;通过计算由每个激活映射各自的权重加权的每个激活映射之和来生成热图,所述热图表示所述超平面对应的决策边界。6.根据权利要求5所述的方法,其特征在于,每个输入样本是图像,所述方法还包括通过将所述热图与所述解释样本组合,生成所述规则的人类可理解表示。7.根据权利要求6所述的方法,其特征在于,将所述热图与所述解释样本组合包括生成包括所述解释样本的至少一部分的图像,所述热图的一部分的视觉指示符的热值高于显著阈值。8.根据权利要求5所述的方法,其特征在于,生成所述规则的表示还包括重复以下步骤:识别超平面;计算每个激活映射的平均值;设置每个激活映射的权重;为所述规则的所述凸多面体的一个或多个剩余超平面中的每个超平面生成热图。9.根据权利要求1至8中任一项所述的方法,其特征在于,为第一多个输入样本中的每个输入样本生成更新的输入样本和生成标签,以生成第一多个更新的样本和第一多个标签;所述生成规则是根据所述第一多个更新的样本和第一多个标签执行的,从而生成第一规则;为一个或多个附加的多个输入样本中的每个附加的多个输入样本中的每个输入样本生成更新的样本和生成标签,以生成一个或多个附加的多个更新的样本和一个或多个附加的多个标签;所述生成规则是根据一个或多个附加的多个更新样本和一个或多个附加的多个标签执行的,从而生成一个或多个附加规则,所述第一规则和所述一个或多个附加规则共同构成多个规则;所述方法还包括生成包括所述多个规则的多规则分类器。10.一种系统,其特征在于,包括:包括一个或多个处理器设备的处理系统;存储指令的存储器,所述指令由所述处理系统执行时,使所述系统生成经过训练以对
输入样本执行分类任务的神经网络的简化表示,所述经过训练的神经网络包括截断部分和尾部部分,所述截断部分包括一个或多个层,所述尾部部分包括一个或多个层,包括以下操作:使用所述截断部分来生成更新的输入样本,所述更新的输入样本包括基于所述输入样本的一个或多个输出激活映射;使用所述尾部部分生成标签,其中,所述标签根据所述一个或多个输出激活映射将所述输入样本分类在第一类别或第二类别中;生成规则,所述规则包括由根据所述多个更新的样本定义的多维欧几里德空间中的多个超平面定义的凸多面体,使得在所述凸多面体内的更新的输入样本很可能由所述经过训练的神经网络分类在第一类别中,并且在所述凸多面体之外的更新的输入样本很可能由所述经过训练的神经网络分类在第二类别中。11.根据权利要求10所述的系统,其特征在于,所述多个输入样本包括:由所述神经网络分类在所述第一类别中的种子样本,其中,所述截断部分根据所述种子样本生成更新的种子样本;等于预定候选池大小的多个对比输入样本,其中,每个对比输入样本由所述神经网络分类在所述第二类别中,所述截断部分根据每个对比输入样本生成更新的对比样本;对于每个更新的对比样本,生成所述规则包括:在所述更新的种子样本和所述更新的对比样本之间执行二进制搜索,以生成基值和偏置值;根据所述二进制搜索的所述基值和所述偏置值,计算所述第一类别和所述第二类别之间的决策边界,其中,所述决策边界定义所述多个超平面中的一个。12.根据权利要求11所述的系统,其特征在于,所述多个输入样本还包括:一个或多个正样本,其中,每个正样本由所述经过训练的神经网络分类在所述第一类别中,所述截断部分根据每个正样本生成更新的正样本;一个或多个负样本,其中,每个负样本由所述经过训练的神经网络分类在所述第二类别中,所述截断部分根据每个负样本生成更新的负样本;对于每个超平面,生成所述规则还包括:对于每个更新的正样本,生成正样本二进制矩阵包括一行二进制值,每个二进制值指示所述更新的正样本在所述超平面中的一个超平面的第一侧或第二侧,所述正样本二进制矩阵的每列对应于一个超平面;对于每个更新的负样本,生成负样本二进制矩阵,包括一行二进制值,每个二进制值指示所述更新的负样本在所述超平面中的一个超平面的第一侧或第二侧,所述负样本二进制矩阵的每列对应于一个超平面;使用子模成本子模覆盖优化从所述正样本二进制矩阵的所述列和所述负样本二进制矩阵的所述列中选择所述多个超平面,使得定义所述规则的所述凸多面体的所述多个超平面中的超平面的数量小于所述预定候选池大小。13.根据权利要求12所述的系统,其特征在于,
所述正样本二进制矩阵还包括所述更新的种子样本对应的一行二进制值;所述负样本二进制矩阵还包括每个更新的对比样本对应的一行二进制值。14.根据权利要求10至13中任一项所述的系统,其特征在于,所述多个输入样本包括由所述经过训练的神经网络分类到所述第一类别中的解释样本,所述截断部分根据所述解释样本生成更新的解释样本,所述指令由所述处理系统执行时,还使所述系统通过以下步骤生成对所述规则的解释:识别所述规则的所述多个超平面中的一个超平面;对于所述更新的解释样本的一个或多个激活映射中的每个激活映射,每个激活映射包括多个激活值:计算所述超平面的偏导数相对于所述激活映射的每个激活值的平均值;设置所述激活映射的权重等于所述计算平均值;通过计算由每个激活映射各自的权重加权的每个激活映射之和来生成热图,所述热图表示所述超平面对应的决策边界。15.根据权利要求14所述的系统,其特征在于,每个输入样本是图像,所述方法还包括通过将所述热图与所述解释样本组合,生成所述规则的人类可理解表示。16.根据权利要求15所述的系统,其特征在于,将所述热图与所述解释样本组合包括生成包括所述解释样本的至少一部分的图像,所述热图的一部分的视觉指示符的热值高于显著阈值。17.根据权利要求14所述的系统,其特征在于,生成所述规则的表示还包括重复以下步骤:识别超平面;计算每个激活映射的平均值;设置每个激活映射的权重;为所述规则的所述凸多面体的一个或多个剩余超平面中的每个超平面生成热图。18.根据权利要求10所述的系统,其特征在于,为第一多个输入样本中的每个输入样本生成更新的样本和生成标签,以生成第一多个更新的样本和第一多个分类;所述生成规则是根据所述第一多个更新的样本和第一多个标签执行的,从而生成第一规则;为一个或多个附加的多个输入样本中的每个附加的多个输入样本中的每个输入样本生成更新的样本和生成标签,以生成一个或多个附加的多个更新的样本和一个或多个附加的多个分类;所述生成规则是根据一个或多个附加的多个更新样本和一个或多个附加的多个标签执行的,从而生成一个或多个附加规则,所述第一规则和所述一个或多个附加规则共同构成多个规则;生成包括所述多个规则的多规则分类器。19.一种包括指令的计算机可读介质,其特征在于,所述指令由处理单元执行时,使所述处理系统执行根据权利要求1至9中任一项所述的方法。20.一种包括指令的计算机程序,其特征在于,所述指令由处理系统执行时,使所述处
理系统执行根据权利要求1至9中任一项所述的方法。
技术总结
基于规则提取的深度神经网络解译方法、系统和介质。所述深度神经网络的解释是基于提取近似网络分类行为的一个或多个规则。规则是通过数据空间识别一组超平面来定义的,这些超平面共同定义了一个凸多面体,所述凸多面体将输入样本的目标类与不同类的输入样本分开。每个规则对应于两个不同决策结果之间的一组决策边界。可以生成人类可理解的规则表示。一个或多个规则可用于生成分类器。相对于其它已知方法,所述表示和解释表现出忠实性、稳定性和全面性。面性。面性。
技术研发人员:秋禾
受保护的技术使用者:华为云计算技术有限公司
技术研发日:2021.07.09
技术公布日:2023/8/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:β冠状病毒温度敏感性株和疫苗的制作方法 下一篇:新型长保质期甜瓜植物的制作方法
