例如ML将一张图分类为猫,同时要回答:

  • 为什么你认为这是一只猫? --- Local Explanation
  • 你认为一只猫是怎样的? --- Global Expanation

    1. Local Explanation

    1.1. 方法一:

    将Object x分解成Component (x1, x2, ..., xN)
    移除一个compenent之后,对decision的影响越大,说明这个component越重要。
    一个component可以是一个pixel、segment、方块、单词,或是自己定义的一个单位。

component的大小必须很小心地设计,太大或太小都得不到好的结果

1.2. 方法二:Saliency Map

对输入向量x的一个分量增加一个小小的扰动Δx\Delta x,得到:
(x1,x2,,xn,,xN)(x1,x2,,xn+Δx,,xN) (x_1, x_2, \cdots, x_n, \cdots, x_N) \rightarrow (x_1, x_2, \cdots, x_n+\Delta x, \cdots, x_N)

x的一个分量通常是一个像素。
由于x的改变,y也会相应地改变:
yy+Δy y \rightarrow y + \Delta y

计算ΔyΔx|\frac{\Delta y}{\Delta x}|,值越大,说明x的这个分量越重要。
缺点:Gradient Sturation
ΔyΔx=yx |\frac{\Delta y}{\Delta x}| = |\frac{\partial y}{\partial x}|

但在某个位置梯度小不代表它不重要。

1.3. 方法三:用一个model解释另一个model LIME

LIME = Local Interpretable Agnostic Explanations

basic Idea:
用一个有解释能力的model(例如Linear)去模仿另一个没有解释能力的model(例如NN)

但是,Linear Model不可能真的能模拟出NN,只能模拟出NN的一个local region

问:怎样fit with linear model?
答:提取图像的m个特征,定义linear model为:
y=w1x1+w2x2++wmxm+b y = w_1x_1 + w_2x_2 + \cdots + w_mx_m + b

问:怎么基于linear model解释?
wm0xmw_m \approx 0 \Rightarrow x_m与结果无关
wm>0xmw_m > 0 \Rightarrow x_m对结果起积极作用 wm<0xmw_m < 0 \Rightarrow x_m对结果起消极作用

2. Global Explanation

2.1. Activation Maximization

x=argmaxxyi x^* = \arg\max_x y_i

其中yi为期望的结果的confidence

这种方法还需要增加一些额外的限制,否则结果不好

2.2. Image Geneator

例如 GAN、VAE

x=argmaxxyiz=argmaxzyi,x=G(z) x^* = \arg\max_x y_i \Rightarrow z = \arg\max_z yi, x = G(z)

results matching ""

    No results matching ""