1.简介深度网络主要应用场景:1、图像分类2、语音识别3、自然语言处理可解释性对与医疗、自动驾驶很重要因为必须保证模型依赖于正确的特征本文内容:ML方法解释的综述重点关注DNN2.正文前页事后可解释性:例如,给定训练好的模型目标:理解模型预测的(分类),什么是可解释的(输入变量)Understanding:模型的functionalunderstandingseekto刻画模型的黑箱行为而不是阐明他的内部运作和内部表示本文关注:解释DNN的输出,并解释单独的预测定义1:Interpretation:是抽象概念(预测的类)到某个人类能理解的domain的映射可解释的domains的例子:图像(像素矩阵)、文本(单词序列)不可解释的例子:抽象的向量空间、无事实证明的输入特征(例-无意义的单词序列)定义2:Explanation:是可解释域的特征集合,他们能对于给定一个例子,能帮助产生决策(例-分类、回归)这些组成explanation的特征,有相关的score来表示每个特征的contribution一般explanation是真值向量,相关特征是正的,不相关为03.InterpretationDNN模型需要解析的通常是toplayer的表示因为top-layer的神经元是抽象的,且DNN输入(图像或文本)通常是可解析的本部分:描述如何在输入域内创建prototype(原型)这个原型是抽象学习概念的解释器和代表它可以在AM框架中formulated3.1Activationmaximization(AM)AM是一个分析框架,寻找对于interest的,使得模型inputpattern,使得模型响应最大可以想象DNN分类器,将输入映射到分类集,输出对分类概率编码类的表示可以用进行最优化DNN的类概率模型是带有梯度的函数,所以最优化可以用梯度下降最右的规范,实现了对接近origin的inputs的偏好当应用到图像分类,prototypes多是灰度图形式,会产生强烈的类响应3.2用expert提升AM为了得到更有意义的prototype可以被更复杂的代替,叫做“expert”,它可以是模型最优化问题变成:通过解决这个最优化问题得到的,将同时产生强烈的类反应,且使得数据类似应用贝叶斯规则,做误差和常量项目建模新目标可以被定义为class-conditioned数据密度可能的expert是,他可以表示复杂的分布,且在输入域有梯度:,在原来regularizer的位置,从data中学习到的在interpret类似自然图像分类,需要更复杂的密度模型,例如卷积RBM/DBMs、pixel-RNNsExpert的选择,决定了结果prototype的appearance一个极端,coarseexpert将最优化问题reduce成类概率函数的最大化另一个极端,overfittedexpert本质上reduce最优化问题为expert自身的最大化最接近data的原始分布3.3在codespace实行AM实际应用中数据密度函数在保证保精度下难学or很复杂,以致难以最大化另一类可选的无监督模型是“generativemodel”不直接给密度函数,但是可以从它取样根据以下两个步骤:1、从定义在一些抽象的codespace的简单分布取样2、将decoding函数应用在该样本上,将它映射回原始输入域一个这样的模型例子:generativeadversarialnetwork(生成对抗模型网络)它学了decoding函数,使得生成的数据分布尽可能难的与原始数据区别learnedwith一个生成和原始分布间的判别式和判别式通常是多层神将网Nguyen提出通过在AM框架中协同生成模型,建立的prototype最优化问题重定义为:当最优解得到,prototype可以通过解码得到当codedistribution为正态分布,等于可以理解为偏向于高概率的codes但是,由于高概率的code不是必须映射成输入的高密度区域所以此处,只近似最优是decoder和原始分类器的组合Codespace的为了定性的比较3.1~3.2考虑MNIST的3层DNN分类问题任务:1、简单的,表示的均值2、3、包含2层decoding函数的生成模型,和,表示的均值为了定性的比较3.1~3.2考虑MNIST的3层DNN分类问题任务:1、简单的,表示的均值2、3、包含2层decoding函数的生成模型,和,表示的均值3.4从global到local的分析当考虑复杂的ML问题时,概率函数,可能是multimodal或强加长的所以没有单一的原型可以完全的代表被建模的概念所以用多个local原型来interpret类但是对于的穷尽的描述是没有必要的有时只关心某些区域引入locality的权宜之计是,添加localizationterm,为参考点,控制localization的量4.ExplainingDNNdecisions本部分:解决的问题是对于给定的点,什么使得他对于在DNN输出中编码了的某个特定概念是具有代表性的编码此概念的输出神经元可以是输入的函数常用的explanation方法是,将点视为特征集合,给每个都添加一个分数,用于决定特征explain的相关度分类结果为“boat”然后被映射回输入域Explanation的形式是heatmap拥有高的关联score的像素为红色4.1敏感度分析产生这种relevancescore的方法之一辨别重要输入特征的方法就是sensitivity分析他基于模型的locallyevaluatedgradient,或者其他local度量变体常见的公式化表示梯度在点处被evaluate最相关的特征就是最sensitive的输出DNN很容易实现该技术,因为梯度可以用回传计算该方法的常见应用:医疗诊断、生态建模、突变预测最近也用于DNN的图像分类Heatmap空间不连续且散乱的并没有聚焦在真实的分类相关的特征上该不当表现是由于sensitivity分析的本质即关注函数的局部变化而不是函数值本身也表明Relevancescore是梯度平方准则的分解因此sensitivity分析并没有提供函数值的解释而是对他localslop的explanation该例子的heatmap,表明了哪些像素使得thedigit属于目标分类的多少而不是什么使得thedigit属于那个分类4.2简单泰勒分解泰勒展开是为了通过将函数值分解成relevantscore和的形式,explain模型的decisionRelevancescore通过泰勒一阶展开得到在使得的根处,展开的泰勒该根应该移除输入中导致为正的信息例如:给定输入图像中的pattern,他体现类间的关系,建模为方程泰勒展开:,包含所有高阶信息,他们通常不为零Relevancescore:是一阶terms该分析只能部门的explanation一类特殊的函数1、分段线性2、满足不受如上限制ML中用到的此类函数是齐次线性模型、无偏置的deepReLU网路值越高颜色越深,白色为0梯度(绿)和输入向量(蓝)简单的二维函数由线性区域组成,延伸到原点,由虚线分开梯度可以在任何地方计算,除了梯度线上对于这些函数,总是能够找到一个靠近原点的根他正好和数据点在同一区他的更高阶为0将该root注入泰勒展开重写函数:Relevancescore:Relevance可以理解为sensitivity(由locally的偏导数得到)和saliency(显著性,由输入值得到)的积即,若输入特征是relevant,则它会即出现在输入data中,同时模型积极的对他做出了反应Explanation方法产生分解的能力,带来了附加的好处当输入的variable太多,可以将decomposition针对特征组进行池化可以看到该heatmap先前复杂Characterizedby大量负relevance,38%比真实的分类evidence多很多不理想的原因是根的选择因为与真实的差很远4.3反向传播技术Layer-wiserelevancepropagation(LRP)应用在包含DNNs和kernel的一般网络模型每个神经元收到的的份额被重新分配,数量和前任一致负relevance的注入由超参数控制Non-conserving的反向传播有反卷积,和他的拓展指导的回传第一个,依赖于max-pooling来定向回传到正确位置第二个,依赖ReLU激活不像LRP和其他conserving技术这些方法产生的可视化不能直接变成relevancescore相比4.1和4.2基于梯度的方法,反向传播对复杂的DNN有缩放作用传播的数量可以被过滤Filtering的好处:在多任务学习中,有些隐藏层只对某些任务感冒其他的任务只是共享可以允许单独的explanation1、对于给定的任务,哪些值直接相关的2、对所有任务相关的5.layer-wiserelevancepropagation(LRP)LRP是反向传播技术,是为了explanation他根植于守恒定理,每个神经元接收网络输出的份额,然后将它重新分配给前继,直到到输入层LRP可嵌入深度泰勒展开红色:正relevancescore蓝色:负的可以看出,类似guided-backprop的非守恒方法,不能确定负的relevant区域LRP的heatmap比4.1和4.2的基于梯度的方法更容易interpret?=神经元关于预测的relevantscore根据以上的守恒原理可以发现是关于输入变量的分解5.1LRP传递规则神经元activation神经元权重神经元偏置=来自前一层的activation正的,单调递增的激活函数传递规则:locallyconservative实际中用的比较好的是:表示正负部分根据条件选择为了避免除数为0,需要的时候可以引入stabilizingterms重写:被重分配给低层neurons,对传递的是激活的影响“counter-relevance”,对传递的是抑制的影响红色:正relevance蓝色:负relevance,脚标表示取值网络输入为正Weights=值越大,Themore传递阶段被创建的正/负relevanceGoodchoice(4)5.2LRP与泰勒分解本部分:展示deepReLU网络与和泰勒分解的联系Neuron定义:在给定层应用可以视为计算当前层到下一层relevance的泰勒分解假设对于neuronk,=激活*正的常数Relevanceneuron:(5)将relevance传递给低层,需要进行的泰勒分解因为relevanceneuron在activation域是线性,在0激活的情况下,总是能找到一个根所以在那个根的泰勒展开,只包含一阶(6)灰色梯度描述了neuron的线性activation域虚线指示函数的hinge在段(图14b蓝色线段)中寻找的最近根该搜寻策略可以解释为:缓慢的移除兴奋输入,直到relevanceneuron失活将注入前面公式(6):(7)验证relevanceredistribution过程可以在低层重复:检查方程(4),发现可以写成:为正数,且近似为常数,说明可以为neuronj根据方程(5),建立类似的relevanceneuron所以relevanceredistribution过程可以在低层重复Neuronactivation5.3处理特殊层输入层:其特殊的原因是,域和隐藏层不一样Deep泰勒分解,会通过在S区域中修改根的查找,来适应新的输入域举例:设输入域的boxconstraints(例如像素限制为黑/白)S的查询方向是指向box的中心,weightvector的反方向结果是新的传递规则:池化层:层的输出定义:,为池中的activation该层可能的传输规则是:,按照比例重新分配activation其它层:。。。(8)(9)6.推荐&技巧-6.1StructuringtheDNNformaximumexplainability框架:DNNswithconvolut