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

    假定在图片分类任务中,Global Explanation要求机器说明它认为一个类别(比如“cat”)是什么样子,而非针对一张图片进行解释。

    Activation maximization

    李宏毅机器学习课程笔记-7.2CNN学到了什么一文中,我们已讲过Activation maximization,不再复述,这里讲一些相关的新知识。

    1. 在Activation maximization的MNIST手写数字识别案例中,我们观察到机器学习到的数字在人类看来完全就是噪音,由此可以想到:将机器认为是数字(或其它事物)的内容作为噪声添加到其它数据中,也许这样就可以实现Attack。
    2. 在使用Activation maximization观察模型学习到的内容时,我们可能需要使用大量Regularization(保证“可解释性”)以及暴调超参数,详见《Understanding Neural Networks Through Deep Visualization》。

    "Regularization" From Generator

    除了使用人工设置的Regularization来告诉机器什么是一张正常的输出(比如image),还可以使用Generator进行Regularization

    Image Generator的输入是一个低维向量(z),其输出为一张图片(x),即(x=G(z))。通常这个低维向量(z)是从某个已知的distribution(比如高斯分布、正态分布)中sample出来的,我们可以收集很多图片并使用GAN或者VAE训练这个Generator。

    那如何使用Image Generator生成对图片的限制呢?以图片分类为例,将Generator输出的图片(x)输入到Image Classifier中得到输出分类结果(y_i),目标是找到一个(z^*)使得图片(x)属于对应类别(i)的可能性(y_i)最大,即(z^*=arg max y_i)。得到(z^*)之后将其输入至Image Generator就可以得到一个图片(x)。如果通过(x^*=arg max y_i)直接得到图片呢,则不能保证结果的“可解释性”,因而需要对结果进行“可解释性”的约束,上述过程中Generator的作用就是对图片进行约束以确保生成的图片(x)是“可解释”的。

    注:在进行(z^*=arg max y_i)时,Image Generator和Classifier的参数是不参与本次训练的。

    那使用Generator能得到什么样的结果呢?结果挺好的,详见《Plug & Play Generative Networks: Conditional Iterative Generation of Images in Latent Space》。


    Github(github.com):@chouxianyu

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

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

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

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

    微信公众号:@臭咸鱼

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


  • 相关阅读:
    how to use epoll with python
    tornado ioloop current和instance的一些区别
    网络标准及路由器速度
    C语言接口

    Dalvik 与 ART
    Android学习笔记47-使用HttpClient接口实现网络通信
    Android学习笔记46-使用Post方式提交数据
    Android学习笔记45-JSON数据解析(GSON方式)
    Android学习笔记44-JSON数据解析
  • 原文地址:https://www.cnblogs.com/chouxianyu/p/14693080.html
Copyright © 2011-2022 走看看