李宏毅机器学习课程笔记-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):@绝版臭咸鱼

微信公众号:@臭咸鱼

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


posted @ 2021-04-23 11:38  臭咸鱼  阅读(165)  评论(0编辑  收藏  举报