中文域名网站跳转,模板做网站优缺点,上海市工程建设标准化信息网站,此网站正在建设中页面来源#xff1a;智源社区 作者#xff1a;知源月旦一、深度学习的可解释性研究概述随着深度学习模型在人们日常生活中的许多场景下扮演着越来越重要的角色#xff0c;模型的「可解释性」成为了决定用户是否能够「信任」这些模型的关键因素#xff08;尤其是当我们需要机器为… 来源智源社区 作者知源月旦一、深度学习的可解释性研究概述随着深度学习模型在人们日常生活中的许多场景下扮演着越来越重要的角色模型的「可解释性」成为了决定用户是否能够「信任」这些模型的关键因素尤其是当我们需要机器为关系到人类生命健康、财产安全等重要任务给出预测和决策结果时。在本章我们将从深度学习可解释性的定义、研究意义、分类方法 3 个方面对这一话题展开讨论。1.1何为可解释性对于深度学习的用户而言模型的可解释性是一种较为主观的性质我们无法通过严谨的数学表达方法形式化定义可解释性。通常我们可以认为深度学习的可解释性刻画了「人类对模型决策或预测结果的理解程度」即用户可以更容易地理解解释性较高的模型做出的决策和预测。从哲学的角度来说为了理解何为深度学习的可解释性我们需要回答以下几个问题首先我们应该如何定义对事务的「解释」怎样的解释才足够好许多学者认为要判断一个解释是否足够好取决于这个解释需要回答的问题是什么。对于深度学习任务而言我们最感兴趣的两类问题是「为什么会得到该结果」和「为什么结果应该是这样」。而理想状态下如果我们能够通过溯因推理的方式恢复出模型计算出输出结果的过程就可以实现较强的模型解释性。实际上我们可以从「可解释性」和「完整性」这两个方面来衡量一种解释是否合理。「可解释性」旨在通过一种人类能够理解的方式描述系统的内部结构它与人类的认知、知识和偏见息息相关而「完整性」旨在通过一种精确的方式来描述系统的各个操作步骤例如剖析深度学习网络中的数学操作和参数。然而不幸的是我们很难同时实现很强的「可解释性」和「完整性」这是因为精确的解释术语往往对于人们来说晦涩难懂。同时仅仅使用人类能够理解的方式进行解释由往往会引入人类认知上的偏见。此外我们还可以从更宏大的角度理解「可解释性人工智能」将其作为一个「人与智能体的交互」问题。如图 1 所示人与智能体的交互涉及人工智能、社会科学、人机交互等领域。 图 1可解释的人工智能 1.2为什么需要可解释性在当下的深度学习浪潮中许多新发表的工作都声称自己可以在目标任务上取得良好的性能。尽管如此用户在诸如医疗、法律、金融等应用场景下仍然需要从更为详细和具象的角度理解得出结论的原因。为模型赋予较强的可解释性也有利于确保其公平性、隐私保护性能、鲁棒性说明输入到输出之间个状态的因果关系提升用户对产品的信任程度。下面我们从「完善深度学习模型」、「深度学习模型与人的关系」、「深度学习模型与社会的关系」3 个方面简介研究机器深度学习可解释性的意义。1完善深度学习模型大多数深度学习模型是由数据驱动的黑盒模型而这些模型本身成为了知识的来源模型能提取到怎样的知识在很大程度上依赖于模型的组织架构、对数据的表征方式对模型的可解释性可以显式地捕获这些知识。尽管深度学习模型可以取得优异的性能但是由于我们难以对深度学习模型进行调试使其质量保证工作难以实现。对错误结果的解释可以为修复系统提供指导。2深度学习模型与人的关系在人与深度学习模型交互的过程中会形成经过组织的知识结构来为用户解释模型复杂的工作机制即「心理模型」。为了让用户得到更好的交互体验满足其好奇心就需要赋予模型较强的可解释性否则用户会感到沮丧失去对模型的信任和使用兴趣。人们希望协调自身的知识结构要素之间的矛盾或不一致性。如果机器做出了与人的意愿有出入的决策用户则会试图解释这种差异。当机器的决策对人的生活影响越大时对于这种决策的解释就更为重要。当模型的决策和预测结果对用户的生活会产生重要影响时对模型的可解释性与用户对模型的信任程度息息相关。例如对于医疗、自动驾驶等与人们的生命健康紧密相关的任务以及保险、金融、理财、法律等与用户财产安全相关的任务用户往往需要模型具有很强的可解释性才会谨慎地采用该模型。3深度学习模型与社会的关系由于深度学习高度依赖于训练数据而训练数据往往并不是无偏的会产生对于人种、性别、职业等因素的偏见。为了保证模型的公平性用户会要求深度学习模型具有检测偏见的功能能够通过对自身决策的解释说明其公平。深度学习模型作为一种商品具有很强的社会交互属性具有强可解释性的模型也会具有较高的社会认可度会更容易被公众所接纳。1.3可解释性的分类根据可解释性方法的作用时间、可解释性方法与模型的匹配关系、可解释性方法的作用范围我们可以将深度学习的可解释性方法分为本质可解释性和事后可解释性、针对特定模型的可解释性和模型无关可解释性、局部可解释性和全局可解释性。其中本质可解释性指的是对模型的架构进行限制使其工作原理和中间结果能够较为容易地为人们所理解例如结构简单的决策树模型事后可解释性则指的是通过各种统计量、可视化方法、因果推理等手段对训练后的模型进行解释。由于深度模型的广泛应用本文将重点关注深度学习的可解释性并同时设计一些深度学习方法的解释。二、深度学习的可解释性对于深度学习模型来说我们重点关注如何解释「网络对于数据的处理过程」、「网络对于数据的表征」以及「如何构建能够生成自我解释的深度学习系统」。网路对于数据的处理过程将回答「输入为什么会得到相应的的特定输出」这一解释过程与剖析程序的执行过程相类似网络对于数据的表征将回答「网络包含哪些信息」这一过程与解释程序内部的数据结构相似。下文将重点从以上三个方面展开讨论。2.1深度学习过程的可解释性常用的深度网络使用大量的基本操作来得出决策例如ResNet使用了约5×107个学习参数1010个浮点运算来对单个图像进行分类。解释这种复杂模型的基本方法是降低其复杂度。这可以通过设计表现与原始模型相似但更易于解释的代理模型来完成线性代理模型、决策树模型等或者也可以构建显著性图salience map来突出显示最相关的一部分计算从而提供可解释性。1线性代理模型Proxy Models目前被广泛采用的深度学习模型大多仍然是「黑盒模型」。在根据预测结果规划行动方案或者选择是否部署某个新模型时我们需要理解预测背后的推理过程从而评估模型的可信赖程度。一种可能的方法是使用线性可解释的模型近似“黑盒模型”。Marco et. al [1]提出了一种新的模型无关的模型解释技术「LIME」它可以通过一种可解释的、准确可靠的方式通过学习一个围绕预测结果的可解释模型解释任意的分类器或回归模型的预测结果。本文作者还通过简洁地展示具有代表性的个体预测结果及其解释将该任务设计成了一种子模块优化问题。文中指出一种优秀的解释方法需要具备以下几点特质1可解释性给出对输入变量和响应的关系的定性理解可解释性需要考虑用户自身的限制。2局部保真解释方法至少需要在局部是可靠的它必须与模型在被预测实例附近的表现相对应。需要指出的是在全局上重要的特征不一定在局部环境下仍然重要反之亦然。3模型无关解释方法需要能够解释各种各样的模型。4全局视角准确度有时并不是一个很好的模型评价指标解释器旨在给出一些具有代表性的对样本的解释。文中的方法可以基于对分类器局部可靠的可解释表征来鉴别器模型的可解释性。LIME 会对输入样本进行扰动识别出对于预测结果影响最大的特征人类可以理解这些特征。 图 2如图 2 所示加粗的红色十字样本有待解释。从全局来看很难判断红色十字和蓝色圆圈对于带解释样本的影响。我们可以将视野缩小到黑色虚线周围的局部范围内在加粗红色十字样本周围对原始样本特征做一些扰动将扰动后的采样样本作为分类模型的输入LIME 的目标函数如下 其中f 为分类器g 为解释器π_x 为临近度度量Ω(g) 为解释器 g 的复杂度L 为损失函数。 图 3因为代理模型提供了模型复杂度与可信度之间的量化方法因此方法间可以互相作为参考吸引了许多研究工作。2决策树方法另一种代理模型的方法是决策树。将神经网络分解成决策树的工作从1990年代开始该工作能够解释浅层网络并逐渐泛化到深度神经网络的计算过程中。一个经典的例子是Makoto et. al [2]。文中提出了一种新的规则抽取Rule Extraction方法CRED使用决策树对神经网络进行分解并通过c/d-rule算法合并生成的分支产生不同分类粒度能够考虑连续与离散值的神经网络输入输出的解释。具体算法如下一将网络输入变量按设定的特征间隔大小分成不同类别并划分网络的目标输出和其他输出。二建立输出隐藏决策树Hidden-Output Decision Tree每个结点使用预测目标的特征做区分以此分解网络建立网络的中间规则。三对于2建立的每个节点对其代表的每个函数建立输入隐藏决策树Hidden-Input Decision Tree对输入的特征进行区分得到每个节点输入的规则。四使用3中建立的输入规则替换结点的输出规则得到网络整体的规则。五合并结点根据设定的规则使表达简洁。 图 4 CRED算法DeepRED [3]将CRED的工作拓展到了多层网络上并采用了多种结构优化生成树的结构。另一种决策树结构是ANN-DT[4]同样使用模型的结点结构建立决策树对数据进行划分。不同的是判断节点是采用正负两种方法判断该位置的函数是否被激活以此划分数据。决策树生成后通过在样本空间采样、实验获得神经网络的规则。这阶段的工作对较浅的网络生成了可靠的解释启发了很多工作但由于决策树节点个数依赖于网络大小对于大规模的网络方法的计算开销将相应增长。3自动规则生成自动规则生成是另一种总结模型决策规律的方法上世纪80年代 Gallant将神经网络视作存储知识的数据库为了从网络中发掘信息和规则他在工作[4]中提出了从简单网络中提取规则的方法这可以被看作是规则抽取在神经网络中应用的起源。现今神经网络中的规则生成技术主要讲输出看作规则的集合利用命题逻辑等方法从中获取规则。Hiroshi Tsukimoto [6]提出了一种从训练完成的神经网络中提取特征提取规则的方法该方法属于分解法可以适用在输出单调的神经网络中如sigmoid函数。该方法不依赖训练算法计算复杂度为多项式其计算思想为用布尔函数拟合神经网络的神经元同时为了解决该方法导致计算复杂度指数增加的问题将算法采用多项式表达。最后将该算法推广到连续域提取规则采用了连续布尔函数。Towell [7]形式化了从神经网络中提取特征的方法文章从训练完成的神经网络中提取网络提取特征的方法MoFN该方法的提取规则与所提取的网络的精度相近同时优于直接细化规则的方法产生的规则更加利于人类理解网络。MoFN分为6步1聚类2求平均3去误差4优化5提取6简化。聚类采用标准聚类方法一次组合两个相近的族进行聚类聚类结束后对聚类的结果进行求平均处理计算时将每组中所有链路的权重设置为每个组权重的平均值接下来将链接权重较低的组去除将留下的组进行单位偏差优化优化后的组进行提取工作通过直接将每个单元的偏差和传入权重转换成具有加权前因的规则来创建最后对提取到的规则简化。MOFN的算法示例如下图所示。 图5MOFN 算法规则生成可以总结出可靠可信的神经网络的计算规则他们有些是基于统计分析或者是从模型中推导在保障神经网络在关键领域的应用提供了安全保障的可能。4显著性图显著性图方法使用一系列可视化的技术从模型中生成解释该解释通常表达了样本特征对于模型输出的影响从而一定程度上解释模型的预测。常见方法有反卷积、梯度方法等。Zeiler [8]提出了可视化的技巧使用反卷积观察到训练过程中特征的演化和影响对CNN内部结构与参数进行了一定的“解读”可以分析模型潜在的问题网络深度、宽度、数据集大小对网络性能的影响也可以分析了网络输出特征的泛化能力以及泛化过程中出现的问题。利用反卷积实现特征可视化为了解释卷积神经网络如何工作就需要解释CNN的每一层学习到了什么东西。为了理解网络中间的每一层提取到特征论文通过反卷积的方法进行可视化。反卷积网络可以看成是卷积网络的逆过程。反卷积可视化以各层得到的特征图作为输入进行反卷积得到反卷积结果用以验证显示各层提取到的特征图。Eg假如你想要查看Alexnet的conv5提取到了什么东西就用conv5的特征图后面接一个反卷积网络然后通过反池化、反激活、反卷积这样的一个过程把本来一张13*13大小的特征图(conv5大小为13*13)放大回去最后得到一张与原始输入图片一样大小的图片(227*227)。反池化过程池化是不可逆的过程然而可以通过记录池化过程中最大激活值的坐标位置。然后在反池化的时候只把池化过程中最大激活值所在的位置坐标的值激活其它的值置为0当然这个过程只是一种近似因为在池化的过程中除了最大值所在的位置其它的值也是不为0的。 图 6 反激活在Alexnet中relu函数是用于保证每层输出的激活值都是正数因此对于反向过程同样需要保证每层的特征图为正值也就是说这个反激活过程和激活过程没有什么差别都是直接采用relu函数。另一些可视化方法可视化方法主要是通过deconv的方法将某一层特征图的Top-k激活反向投射到原图像上从而判断该激活值主要识别图像的什么部分。这就要求针对每一层都必须有对应的逆向操作。具体而言对于MaxPooling层在前馈时使用switch变量来记录最大值来源的index然后以此近似得到Unpooling。对于Relu层直接使用Relu层。而对于conv层使用deconv即使用原来卷积核的转置作为卷积核。通过可视化方法对训练完成的模型在ImageNet的数据各层可视化后可以得到不同结构的重建特征图与原图进行对比能够直观地看到网络各层学习到的信息 图 7第二层学习边缘角落信息第三层学到了一些比较复杂的模式网状轮胎第四层展示了一些比较明显的变化但是与类别更加相关了比如狗脸鸟腿第五层则看到了整个物体比如键盘狗。同时通过可视化我们也可以发现模型的缺陷例如某些层学习到的特征杂乱无章通过单独训练可以提升模型效果。另外的方法也被采用例如使用遮挡的方法通过覆盖输入的某部分特征分析输出和模型计算的中间参数得到模型对被遮挡部分的敏感性生成敏感性图或者用梯度方法得到输出对于输入图像像素的梯度生成梯度热力图。总结性的工作来自ETH Zurch的Enea Ceolini [9]证明了基于梯度的归因方法gradient-based Attribution methods存在形式上\联系文章证明了在一定情况下诸如sigma-LRP[10]、DeepLIF[11]方法间存在的等价和近似关系并基于统一的数学表达提出了一个更普适的梯度归因方法框架Sensitivity-n用于解释模型输入输出之间的关联。深度学习的归因分析用于解释输入的每个变量对于神经网络的贡献contribution或相关程度relevance严格来说假设网络的输入为x [x1, ..., xN ]C个输出神经元对应的输出为S(x) [S1(x), ..., SC (x)]归因分析的目标便是找到xi对于每个神经元输出的贡献Rc [Rc 1 , ..., Rc N ]。基于梯度的方法可以被看作直接使用输出对输出的特征求梯度用梯度的一定变换形式表示其重要性工作中展示的考虑不同大小特征区域热力图如下 图 8文章分析了不同方法的效果差异 图 9通过证明得到通用的梯度方法表示为 基于上述推导作者得以提出了sensitivity-n方法总结了相似的梯度方法并使后续工作可以在更广泛的框架下讨论。2.2深度网络表示的可解释性尽管存在大量神经网络运算深度神经网络内部由少数的子组件构成例如数十亿个ResNet的操作被组织为约100层每层计算64至2048信息通道像素。对深层网络表示的解释旨在了解流经这些信息瓶颈的数据的作用和结构。可以按其粒度划分为三个子类基于层的解释将流经层的所有信息一起考虑基于神经元的解释用来说明单个神经元或单个filter通道的情况此外基于其他)表示向量的解释例如概念激活向量CAV[12]是通过识别和探测与人类可解释概念一致的方向来解释神经网络表示用单个单元的线性组合所形成的表示向量空间中的其他方向作为其表征向量。1基于层的解释Bengio等人[13]分析了在图片分类任务中不同层的神经网络的功能和可迁移性以及不同迁移方法对结果的影响。从实验的角度分析了神经网络不同层参数具有的一些性质证明了模型迁移方法的普遍效果。作者验证了浅层神经网络在特征抽取功能上的通用性和可复用性针对实验结果提出了可能的解释表明影响迁移学习效果的因素有二1 共同训练变量的影响通过反向传播算法训练的神经网络结点参数并非单独训练其梯度计算依赖于一系列相关结点因此迁移部分结点参数会引起相关结点的训练困难。2 迁移参数的通用性能和专用性网络中较浅层网络的功能较为通用而高层网络与网络的训练目标更加相关。若A、B任务不想关则专用于A的参数迁移后会影响对B任务的学习。 图10实验结果发现在不同的实验条件下两种因素会不同程度决定迁移学习的效果。例如当迁移较深层网络并固定参数时高层参数的专用性会导致在迁移到的任务上表现不佳但这时共同训练的变量影响会减小因为大部分参数都被迁移获得当迁移自身的参数并固定时在层数较小的情况下出现了性能下降这说明了共同训练的变量对表现的影响。另外实验发现完全不相关的任务对应的迁移在经过充分微调后仍然能提升模型的性能这证明了参数迁移是一个通用的提升模型性能的方法。牛津大学Karen Simonyan等人[14]为解决深层卷积神经网络分类模型的可视化问题提出了两种方法第一种生成图像使得类得分最大化再将类可视化第二种计算给定图像和类的类显著性映射同时还证明了这种方法可以使用分类转换网络的弱监督对象分类。整个文章主要有三个贡献证明了理解分类CNN模型可以使用输入图像的数值优化提出了一种在图像中提取指定类别的空间表征信息(image-specific class saliency map)的方法(只通过一次back-propagation)并且这种saliency maps可以用于弱监督的物体定位。证明gradient-based的可视化方法可以推广到deconvolutional network的重构过程。在第一类方法中文中采用公式1进行图像分类模型的可视化操作其中表示c的分数由ConvNet的分类层对图像I计算得到是正则化参数。可视化过程与ConvNet训练过程类似不同之处在于对图像的输入做了优化权重则固定为训练阶段得到的权重。图1所示为使用零图像初始化优化然后将训练集的均值图像添加到结果中的输出图。 1 图 11 在第二类方法中给定一张图像I0在I0附近使用一阶泰勒展开的线性函数来近似Sc(I)其中w即为Sc对于图像I的导数在I0点的值。在给定的图像I0(m行n列)和对应的类别c中要求得它对应saliency map M (M∈Rmxn)首先按照上述公式利用back-propagation 可以求得导数w然后对w元素进行重新排列即可得到Saliency Map。Saliency Map是利用训练好的CNN直接提取的无需使用额外的标注而且对于某个特定类别的image-specific saliency map的求解是很快的只需要一次back-propagation。可视化结果如图2所示 图 12在第二类方法中得到的Saliency Map编码了给定图像中特定类别的物体位置信息所以它可以被用来进行物体定位(尽管它在分类任务上得到训练弱监督学习)。给定一张图像和其对应的Saliency Map可以使用GraphCut颜色分割模型来得到物体分割mask。要使用颜色分割模型主要是因为Saliency Map只能捕捉到一个物体最具有区分性的部分它无法highlight整个物体因此需要将threshold map传递到物体的其他区域本文使用colour continuity cues来达到这个目的。前景和背景模型都被设置为高式混合模型高于图像Saliency distribution 95的像素被视为前景Saliency低于30%的像素被视为背景。标记了前景和背景像素之后前景像素的最大连接区域即为对应物体的分割mask(使用GraphCut算法)效果如图3所示。图 13此外Zhang et. al. 的工作[15]发现网络浅层具有统计输入信息的功能并发现其和共享的特征信息一样对迁移带来的性能提升起到了帮助。通过从相同checkpoint训练发现参数迁移可以使模型损失每次都保持在相同的平面内basin具有相似的地形但随机初始化的参数每次损失所在的训练平面不同。文章支持了高层、低层网络具有的不同功能发现高层网路对于参数的改变更加敏感。2基于神经元的解释香港中文大学助理教授周博磊的工作[16]为 CAM 技术的奠定了基础发现了 CNN 中卷积层对目标的定位功能。在改文中作者对场景分类任务中训练 CNN 时得到的目标检测器展开了研究。由于场景是由物体组成的用于场景分类的 CNN 会自动发现有意义的目标检测器它们对学到的场景类别具有代表性。作者发现单个网络可以支持多个级别的抽象如边缘、纹理、对象、场景同一个网络可以在无监督环境下在单个前向传播过程中同时完成场景识别和目标定位。 图 14估计每个神经元的感受野针对每个神经元作者估计出了其确切地感受野并观察到激活区域倾向于随着层的深度增加而在语义上变得更有意义这是启发后来一系列计算机视觉神经网络框架的理论基础。周博磊CVPR 2017[17]提出了一种名为“Network Dissection”的通用框架假设“单元的可解释性等同于单元的随机线性结合”通过评估单个隐藏单元与一系列语义概念间的对应关系来量化 CNN 隐藏表征的可解释性。这种方法利用大量的视觉概念数据集来评估每个中间卷积层隐藏单元的语义。这些带有语义的单元被赋予了大量的概念标签这些概念包括物体、组成部分、场景、纹理、材料和颜色等。该方法揭示 CNN 模型和训练方法的特性而不仅仅是衡量他们的判别能力。论文发现人类可解释的概念有时候会以单一隐藏变量的形式出现在这些网络中当网络未受限于只能用可解释的方式分解问题时就会出现这种内部结构。这种可解释结构的出现意味着深度神经网络也许可以自发学习分离式表征(disentangled representations)。众所周知神经网络可以学习某种编码方式高效利用隐藏变量来区分其状态。如果深度神经网络的内部表征是部分分离的那么检测断分离式结构并读取分离因数可能是理解这种机制的一种方法。同时该论文指出可解释性是与坐标轴对齐axis-aligned的对表示representation进行翻转(rotate)网络的可解释能力会下降但是分类性能不变。越深的结构可解释性越好训练轮数越多越好。而与初始化无关dropout会增强可解释性而Batch normalization会降低可解释性。 图 15麻省理工大学CSAIL的Jonathan Frankle和Michael Carbin论文[18]中指出神经网络剪枝技术可以将受过训练的网络的参数减少90以上在不影响准确性的情况下降低存储要求并提高计算性能。然而目前的经验是通过剪枝产生的稀疏架构很难从头训练也很难提高训练性能。作者发现标准的剪枝技术自然而然地可以得到子网络它们能在某些初始化条件下有效地进行训练。在此基础之上作者提出了彩票假设任何密集、随机初始化的包含子网络中奖彩票的前馈网络 当它们被单独训练时可以在相似的迭代次数内达到与原始网络相当的测试精度。具体而言作者通过迭代式而定剪枝训练网络并剪掉最小的权重从而得到「中奖彩票」。通过大量实验作者发现剪枝得到的中奖彩票网络比原网络学习得更快泛化性能更强准确率更高。剪枝的主要的步骤如下1随机初始化一个神经网络 2将网络训练 j 轮得到参数 3剪掉 中 p% 的参数得到掩模 m4将剩余的参数重置为中的值生成中奖彩票 图 16虚线为随机才应该能得到的稀疏网络实现为中奖彩票。此外加利福尼亚大学的ZHANG Quanshi和ZHU Song-chun 综述了近年来神经网络可解释性方面的研究进展[19]。文章以卷积神经网络CNN为研究对象回顾了CNN表征的可视化、预训练CNN表征的诊断方法、预训练CNN表征的分离方法、带分离表示的CNN学习以及基于模型可解释性的中端学习。最后讨论了可解释人工智能的发展趋势并且指出了以下几个未来可能的研究方向1将conv层的混沌表示分解为图形模型或符号逻辑2可解释神经网络的端到端学习其中间层编码可理解的模式可解释的cnn已经被开发出来其中高转换层中的每个过滤器代表一个特定的对象部分3基于CNN模式的可解释性表示提出了语义层次的中端学习以加快学习过程4基于可解释网络的语义层次结构在语义级别调试CNN表示将创建新的可视化应用程序。网络模型自身也可以通过不同的设计方法和训练使其具备一定的解释性常见的方法主要有三种注意力机制网络分离表示法生成解释法。基于注意力机制的网络可以学习一些功能这些功能提供对输入或内部特征的加权以引导网络其他部分可见的信息。分离法的表征可以使用单独的维度来描述有意义的和独立的变化因素应用中可以使用深层网络训练显式学习的分离表示。在生成解释法中深层神经网络也可以把生成人类可理解的解释作为系统显式训练的一部分。2.3生成自我解释的深度学习系统网络模型自身也可以通过不同的设计方法和训练使其具备一定的解释性常见的方法主要有三种注意力机制网络分离表示法生成解释法。基于注意力机制的网络可以学习一些功能这些功能提供对输入或内部特征的加权以引导网络其他部分可见的信息。分离法的表征可以使用单独的维度来描述有意义的和独立的变化因素应用中可以使用深层网络训练显式学习的分离表示。在生成解释法中深层神经网络也可以把生成人类可理解的解释作为系统显式训练的一部分。1注意力机制网络注意力机制的计算过程可以被解释为计算输入与其中间过程表示之间的相互权重。计算得到的与其他元素的注意力值可以被直观的表示。在Dong Huk Park 发表于CVPR2018的[20]一文中作者提出的模型可以同时生成图像与文本的解释。其方法在于利用人类的解释纠正机器的决定但当时并没有通用的包含人类解释信息与图像信息的数据集因此作者整理了数据集ACT-X与VQA-X并在其上训练提出了P-JXPointing and Justification Explanation模型检测结果如图所示。 图 17P-JX模型检测结果模型利用「attention」机制得到图像像素的重要性并据此选择输出的视觉图同时数据集中的人类解释文本对模型的预测作出纠正这样模型可以同时生成可视化的解释亦能通过文字说明描述关注的原因。例如在上图中对问题「Is this a healthy meal」针对图片关注到了热狗因此回答「No」图片的注意力热力图给出了可视化的解释同时文本亦生成了对应的文本解释。作者认为利用多模态的信息可以更好地帮助模型训练同时引入人类的知识纠错有利于提高模型的可解释性。由于类别之间只有通过细微局部的差异才能够被区分出来因此「fine-grained」分类具有挑战性在Xiao et. al. 的[21]中作者将视觉「attention」应用到「fine-grained」分类问题中尽管注意力的单元不是出于可解释性的目的而训练的但它们可以直接揭示信息在网络种的传播地图可以作为一种解释。由于细粒度特征不适用bounding box标注因此该文章采用「弱监督学习」的知识来解决这一问题。该文章中整合了3种attention模型「bottom-up」提供候选者patch「object-level top-down」certain object相关patch和「part-level top-down 」定位具有分辨能力的parts将其结合起来训练「domain-specific深度网络」。 图 18Domain-specific深度网络结构示意图domain-specific深度网络结构示意图如图 18 所示实现细粒度图像分类需要先看到物体然后看到它最容易判别的部分。通过bottom-up生成候选patches这个步骤会提供多尺度多视角的原始图像。如果object很小那么大多数的patches都是背景因此需要top-down的方法来过滤掉这些噪声patches选择出相关性比较高的patches。寻找前景物体和物体的部分分别采用「object-level」和「part-level」两个过程二者由于接受的patch不同使其功能和优势也不同。在object-level中对产生的patches选出包含基本类别对象的patch滤掉背景。part-level分类器专门对包含有判别力的局部特征进行处理。有的patch被两个分类器同时使用但该部分代表不同的特征将每幅图片的object-level和part-level的分数相加得到最终的分数即分类结果。2分离表示法分离表示目标是用高低维度的含义不同的独立特征表示样本过去的许多方法提供了解决该问题的思路例如PCA、ICA、NMF等。深度网络同样提供了处理这类问题的方法。Chen et. al. 在加州大学伯克利分校的工作[22]曾被 OpenAI 评为 2016 年 AI 领域的五大突破之一在 GAN 家族的发展历史上具有里程碑式的意义。对于大多数深度学习模型而言其学习到的特征往往以复杂的方式在数据空间中耦合在一起。如果可以对学习到的特征进行解耦就可以得到可解释性更好的编码。对于原始的 GAN 模型而言生成器的输入为连续的噪声输入无法直观地将输入的维度与具体的数据中的语义特征相对应即无法得到可解释的数据表征。为此InfoGAN 的作者以无监督的方式将 GAN 的输入解耦为两部分1不可压缩的 z该部分不存在可以被显式理解的语义信息。2可解释的隐变量 c该部分包含我们关心的语义特征如 MNIST 数据集中数字的倾斜程度、笔画的粗细与生成的数据之间具有高相关性即二者之间的互信息越大越好。 若 c 对生成数据 G(z,c)的可解释性强则 c 与 G(z,c) 之间的交互信息较大。为了实现这一目标作者向原始 GAN 的目标函数中加入了一个互信息正则化项得到了如下所示的目标函数 然而在计算新引入的正则项过程中模型难以对后验分布 P(C|X) 进行采样和估计。因此作者采用变分推断的方法通过变分分布 Q(C|X) 逼近 P(C|X)。最终InfoGAN 被定义为了如下所示的带有变分互信息正则化项和超参数 λ 的 minmax 博弈 图 19InfoGAN 框架示意图张拳石团队的[23]一文中提出了一种名为「解释图」的图模型旨在揭示预训练的 CNN 中隐藏的知识层次。在目标分类和目标检测等任务中端到端的「黑盒」CNN模型取得了优异的效果但是对于其包含丰富隐藏模式的卷积层编码仍然缺乏合理的解释要对 CNN 的卷积编码进行解释需要解决以下问题CNN 的每个卷积核记忆了多少种模式哪些模式会被共同激活用来描述同一个目标部分两个模式之间的空间关系如何 图 20解释图结构示意图解释图结构示意图表示了隐藏在 CNN 卷积层中的知识层次。预训练 CNN 中的每个卷积核可能被不同的目标部分激活。本文提出的方法是以一种无监督的方式将不同的模式从每个卷积核中解耦出来从而使得知识表征更为清晰。具体而言解释图中的各层对应于 CNN 中不同的卷积层。解释图的每层拥有多个节点它们被用来表示所有候选部分的模式从而总结对应的卷积层中隐藏于无序特征图中的知识图中的边被用来连接相邻层的节点从而编码它们对某些部分的共同激活逻辑和空间关系。将一张给定的图像输入给 CNN解释图应该输出1某节点是否被激活2某节点在特征图中对应部分的位置。由于解释图学习到了卷积编码中的通用知识因此可以将卷积层中的知识迁移到其它任务中。 图 21解释图中各部分模式之间的空间关系和共同激活关系图解释图中各部分模式之间的空间关系和共同激活关系。高层模式将噪声滤除并对低层模式进行解耦。从另一个层面上来说可以将低层模式是做高层模式的组成部分。另外张拳石[24]认为在传统的CNN中一个高层过滤器可能会描述一个混合的模式例如过滤器可能被猫的头部和腿部同时激活。这种高卷积层的复杂表示会降低网络的可解释性。针对此类问题作者将过滤器的激活与否交由某个部分控制以达到更好的可解释性通过这种方式可以明确的识别出CNN中哪些对象部分被记忆下来进行分类而不会产生歧义。模型通过对高卷积层的每个filter计算loss种loss降低了类间激活的熵和神经激活的空间分布的熵每个filter必须编码一个单独的对象部分并且过滤器必须由对象的单个部分来激活而不是重复地出现在不同的对象区域。 图 22Hinton的胶囊网络 [25]是当年的又一里程碑式著作。作者通过对CNN的研究发现CNN存在以下问题1) CNN只关注要检测的目标是否存在而不关注这些组件之间的位置和相对的空间关系;2) CNN对不具备旋转不变性学习不到3D空间信息3神经网络一般需要学习大量案例训练成本高。为了解决这些问题作者提出了「胶囊网络」使网络在减少训练成本的情况下具备更好的表达能力和解释能力。「胶囊Capsule」可以表示为一组神经元向量用向量的长度表示物体「存在概率」再将其压缩以保证属性不变用向量的方向表示物体的「属性」例如位置大小角度形态速度反光度颜色表面的质感等。和传统的CNN相比胶囊网络的不同之处在于计算单位不同传统神经网络以单个神经元作为单位capsule以一组神经元作为单位。相同之处在于CNN中神经元与神经元之间的连接capsNet中capsule与capsule之间的连接都是通过对输入进行加权的方式操作。胶囊网络在计算的过程中主要分为四步输入向量ui的W矩阵乘法输入向量ui的标量权重c加权输入向量的总和向量到向量的非线性变换。网络结构如下图所示其中「ReLI Conv1」是常规卷积层「PrimaryCaps」构建了32个channel的capsules得到6*6*8的输出「DigiCaps」对前面1152个capules进行传播与「routing」更新输入是1152个capsules输出是10个capules表示10个数字类别最后用这10个capules去做分类。 图23胶囊网络网络结构示意图3生成解释法除了上文介绍的诸多方法外在模型训练的同时可以设计神经网络模型令其产生能被人类理解的证据生成解释的过程也可被显式地定义为模型训练的一部分。Wagner 2019[26]首次实现了图像级别的细粒度解释。文中提出的「FGVis」避免了图像的可解释方法中对抗证据的问题传统方法采用添加正则项的方式缓解但由于引入了超参人为的控制导致无法生成更加可信的细粒度的解释。文中的FGVis方法基于提出的「对抗防御Adversarial Defense」方法通过过滤可能导致对抗证据的样本梯度从而避免这个问题。该方法并不基于任何模型或样本而是一种优化方法并单独对生成解释图像中的每个像素优化从而得到细粒度的图像解释检测示意图如图[24] 所示。 图24FGVis检测结果示意图另一个视觉的例子来自Antol et. 的Vqa[27]文章将视觉问题的「回答任务Vqa」定义为给定一个图像和一个开放式的、关于图像的自然语言问题并提出了Vqa的「基准」和「回答方法」同时还开发了一个两通道的视觉图像加语言问题回答模型。文章首先对Vqa任务所需的数据集进行采集和分析然后使用baselines为「基准」对「方法」进行评估基准满足4个条件1) 随机2)答案先验, 3问题先验4最近邻。「方法」使用文中开发的两个视觉图像通道加语言问题通道通过多层感知机结合的模型结构图如图所示。视觉图像通道利用 VGGNet最后一层隐藏层的激活作为 4096- dim 图像嵌入语言问题通道使用三种方法嵌入构建「词袋问题(BoW Q)」「LSTM Q 」具有一个隐藏层的lstm对1024维的问题进行嵌入「deeper LSTM Q」。最终使用softmax方法输出K个可能的答案。 图 25deeper LSTM Q norm I 结构图三. 总结为了使深度学习模型对用户而言更加「透明」研究人员近年来从「可解释性」和「完整性」这两个角度出发对深度学习模型得到预测、决策结果的工作原理和深度学习模型本身的内部结构和数学操作进行了解释。至今可解释性深度学习领域的研究人员在「网络对于数据的处理过程」、「网络对于数据的表征」以及「如何构建能够生成自我解释的深度学习系统」三个层次上均取得了可喜的进展就网络工作过程而言研究人员通过设计线性代理模型、决策树模型等于原始模型性能相当但具有更强可解释性的模型来解释原始模型此外研究人员还开发出了显著性图、CAM 等方法将于预测和决策最相关的原始数据与计算过程可视化给出一种对深度学习模型的工作机制十分直观的解释。就数据表征而言现有的深度学习解释方法涉及「基于层的解释」、「基于神经元的解释」、「基于表征向量的解释」三个研究方向分别从网络层的设计、网络参数规模、神经元的功能等方面探究了影响深度学习模型性能的重要因素。就自我解释的深度学习系统而言目前研究者们从注意力机制、表征分离、解释生成等方面展开了研究在「视觉-语言」多模态任务中实现了对模型工作机制的可视化并且基于 InfoGAN、胶囊网络等技术将对学习有不同影响表征分离开来实现了对数据表征的细粒度控制。然而现有的对深度学习模型的解释方法仍然存在诸多不足面临着以下重大的挑战现有的可解释性研究往往针对「任务目标」和「完整性」其中的一个方向展开然而较少关注如何将不同的模型解释技术合并起来构建更为强大的模型揭示方法。缺乏对于解释方法的度量标准无法通过更加严谨的方式衡量对模型的解释结果。现有的解释方法往往针对单一模型模型无关的解释方法效果仍有待进一步提升。对无监督、自监督方法的解释工作仍然存在巨大的探索空间。未来智能实验室的主要工作包括建立AI智能系统智商评测体系开展世界人工智能智商评测开展互联网城市大脑研究计划构建互联网城市大脑技术和企业图谱为提升企业行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。 如果您对实验室的研究感兴趣欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”