zoukankan      html  css  js  c++  java
  • 李宏毅机器学习课程笔记-11.2Explainable AI(Local Explanation)

    假定在图片分类任务中有一张图片,Local Explanation则要求机器说明为什么它认为这张图片是某个类别(比如“cat”)。

    Explainable AI(Local Explanation)的目标是,知道每个component对于最终结果的重要性。我们可以通过remove或者modify其中一个component,看decision会有什么变化。

    基于梯度判断Component重要性

    假设输入是(x),它有很多component ({x_1,x_2,dots,x_N})组成。如果输入是image,则component一般是pixel、segment或patch等;如果输入是text,则component一般是word。对于图片,我们可以在图片上“放置”一个灰块以覆盖图像的一小部分,观察其对结果的影响,见《Visualizing and Understanding Convolutional Networks》。注:component的选取、remove或者modify也是需要研究的。

    还有另一种方法是,输入为({x_1,...,x_n}),对某个pixel (x_n)加上(Delta x),用(frac{Delta y}{Delta x})来表示扰动(Delta x)对结果(y)的影响,即通过(frac{partial y_k}{partial x_n})的绝对值表示某个pixel对(y_k)的影响,见《Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps》。

    还有很多其它基于梯度来判断Component重要性的方法:

    • Grad-CAM

    • SmoothGrad

    • Layer-wise Relevance Propagation(LRP)

      Redistribute the output, Backward propagation until reaching input

    • Guided Backpropagation

    梯度饱和

    基于梯度来判断component重要性的方法也存在着局限性:梯度饱和(Gradient Saturation)和Noisy Gradient

    考虑(frac{partial大象}{partial鼻子长度}),可知在一定范围内,鼻子越长,则判定为大象的概率就越大,但随着鼻子长度增加到一定数值后,鼻子长度对于判定大象的影响几乎为0,这时就出现了梯度饱和,如下图所示。

    img

    那如何解决梯度饱和的问题呢?解决方法就是Global Explanation,可以参考Integrated gradient和DeepLIFT。

    相对于梯度饱和,另外一个问题就是Noisy Gradient,即Gradient变化非常大,解决方法是SmoothGrad(在计算梯度时添加噪声以扰动生成多个样本,并计算平均梯度)

    Attack Interpretation

    向输入中加入一些细微的噪声,这样并不影响视觉效果和模型的输出,但这样可以攻击explanation,如下图所示,详见《Interpretation of Neural Networks is Fragile》。

    img


    Github(github.com):@chouxianyu

    Github Pages(github.io):@臭咸鱼

    知乎(zhihu.com):@臭咸鱼

    博客园(cnblogs.com):@臭咸鱼

    B站(bilibili.com):@绝版臭咸鱼

    微信公众号:@臭咸鱼

    转载请注明出处,欢迎讨论和交流!


  • 相关阅读:
    解决问题,别扩展问题
    Hystrix 配置参数全解析
    请求合并哪家强
    在Spring-Boot中实现通用Auth认证的几种方式
    Java高级特性之泛型
    一键部署进化史
    JavaScript Alert 函数执行顺序问题
    新版的 Springsecurity request.getRequestDispatcher).forward(request, response); 404 问题,已解决
    maridb 10.3 主从复制,待机情况下从库 cpu 占用率高的处理方法
    springboot 2.0 mariadb hikari-cp连接池
  • 原文地址:https://www.cnblogs.com/chouxianyu/p/14687810.html
Copyright © 2011-2022 走看看