李宏毅ML+DL学习记录:explainable ML

       explainable ML 主要是用来告诉你NN为什么会给出这样的结果,可分为两种:
       ①.local explanation:why does the NN think this image is a cat?
       ②.global explanation:what does the NN think a cat look like?

一.local explanation

在这里插入图片描述
       local explanation的主要思想就是把input看成由许多components组成,然后从原来的x中remove or modify一个component变成x’,把x’放到已经训练好的NN中,如果此时NN的结果与原来的结果(input为x时的结果)相差很大,那么就说明这个component对于NN进行判断有很大影响。

在这里插入图片描述
       如上图所示,用一块灰色把照片某些部分遮住,如果被遮住之后的结果与之前差别很大,那么说明被遮住的这块很重要。
       limitation:
       ①.灰色块的大小很关键,不能太大也不能太小
       ②.颜色也很重要,可能换一种颜色结果就不一样了

在这里插入图片描述
       x1…xN表示每个component(它们不一定就是原始数据的每一个维度)。
       yk对xn的偏导就表明了这个component的重要性,偏导越大,一般来说就越重要,在saliency map中就越白。
       limitation:
在这里插入图片描述
       比如说走到红色这个点的时候,大象对鼻子长度的偏微分基本上就是0,但是并不能代表鼻子长度对判断是否是大象不重要。

二.global explanation

       假设我们已经训练好了NN,并且已经给定了yi,那么global explanation要做的就是找到x*,x=argmax⁡(yi),但是有时这样求出来的效果并不是很好,所以就像训练NN时一样,我们也给它加上正则项(下图这个例子中的正则项表示:如果是图片中是一个数字,那么白色的点就不应该很多(白色表示这里有墨迹)):
在这里插入图片描述
在这里插入图片描述
       可以看出,加上正则项后,效果好很多。

       另一种正则的思想是使用image generator。
在这里插入图片描述
       我们本来是想找x,然后我们又知道x = G(Z),所以我们退而求其次,找 Z,找到 Z*之后,再用image generator(比如GAN,VAE等)生成x*.
       这个是如何起限制作用的呢?
       我们知道,我们加上限制,就是想要使找出来的x*尽量地能被人看懂,或者说能尽量地让人看起来它是yi的,而不是一堆人看不懂的东西(比如上面数字识别那个例子,右边就比左边更像正常的图片)。而image generator本来就是生成图片的,也就是说z丢进image generator后输出的x,是人能看懂的图片,这样也就达到了我们限制的目的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值