假定在图片分类任务中,Global Explanation要求机器说明它认为一个类别(比如“cat”)是什么样子,而非针对一张图片进行解释。
Activation maximization
在李宏毅机器学习课程笔记-7.2CNN学到了什么一文中,我们已讲过Activation maximization,不再复述,这里讲一些相关的新知识。
- 在Activation maximization的MNIST手写数字识别案例中,我们观察到机器学习到的数字在人类看来完全就是噪音,由此可以想到:将机器认为是数字(或其它事物)的内容作为噪声添加到其它数据中,也许这样就可以实现Attack。
- 在使用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):@绝版臭咸鱼
微信公众号:@臭咸鱼
转载请注明出处,欢迎讨论和交流!