第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 【机器学习笔记】可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning)

【机器学习笔记】可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning)

时间:2022-05-22 12:52:31

相关推荐

【机器学习笔记】可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning)

【机器学习笔记】可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning)

目录

【机器学习笔记】可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning)课前准备Reference (CV Basics)0.1 CV基础Visualize Convolutional Neural Networks (CNN) 第一课 ZF NetReference笔记(ZF Net) 第二课 CAM(Class Activation Map)Reference-CAM阅读笔记-CAM概述网络结构弱监督对象定位具有语义特征编码的线性分类可视化关键区域 第三课 Grad-CAM, Grad-CAM++, Layer-CAMReference (Improvements on CAM)论文笔记(Grad-CAM)网络结构评估可视化使用 Grad-CAM 诊断图像分类 CNN用于图像描述和 VQA 的 Grad-CAM 论文笔记(Grad-CAM++)纸质笔记(ScoreCAM)论文笔记(Layer-CAM)编码实践(CAM 和 Captum) 第四课 LIMEReference (Intepretable Machine Learning)LIME算法简述用于解释模型的子模块选择实验 第五课 SHAPReference (SHAP)笔记(SHAP)详细的 Shapley 值计算过程 SHAP(SHapley Additive exPlanations)SHAP计算Tree-SHAPKernel-SHAP

机器学习子豪兄专栏:机器学习可解释性公开课 学习笔记

课前准备

Reference (CV Basics)

CS231N Course by Stanford by Feifei Li, Jiajun Wu, Ruohan Gao Course NotesCourse SlidesCourse WorkYoutube Videos中文版精讲(同济子豪兄知乎专栏 Interpretable Machine LearningInterpretable Machine Learning Open Cource by Datawhale B站视频

0.1 CV基础

Based on Lecture 1 of CS231N

计算机视觉的历史 寒武纪大爆发:产生眼镜光学:墨子的小孔成像到达芬奇的针筒Hubel & Wiesel, Havard 1959 视觉神经的成像原理Larry Roberts 1963 Block World 边缘检测AI Group MIT 1966 Project MacStage of Visual Representation, David Marr, 1970sGeneralized Cylinder, Pictorial Structure 弹簧和圆柱体模型 斯坦福Normalized Cut, Shi & Malek 抠图Face Detection by Adaboost, 2001, Viola & Jones2000s 手动特征工程对图像解码 SFT特征空间金字塔特征方向梯度特征 s Image Net AlexNetVGG—GoogleNet—ResNet—Now 计算机视觉的应用 算法+数据+算力语义分割Image cpationing人体姿态估计三维重建医疗,VR/XR

Visualize Convolutional Neural Networks (CNN)

Based on Lecture 8 of CS231N

Visualizing what models have learned

Visualize Filters 可视化权重和梯度Krizhevsky, “One weird trick for parallelizing convolutional neural networks”, arXiv He et al, “Deep Residual Learning for Image Recognition”, CVPR Huang et al, “Densely Connected Convolutional Networks”, CVPR

- 可视化最后一层

visualize representation space

-

Van der Maaten and Hinton, “Visualizing Data using t-SNE”, JMLR

可视化激活层 Yosinski et al, “Understanding Neural Networks Through Deep Visualization”, ICML DL Workshop .

Understanding input pixels

找出影响最大的像素 visualize patches that maximally activate neuronsMask part of the image before feeding to CNN, check how much predicted probabilities change

Zeiler and Fergus, “Visualizing and Understanding Convolutional Networks”, ECCV Zeiler and Fergus, “Visualizing and Understanding Convolutional Networks”, ECCV Saliency viabackpropSimonyan, Vedaldi, and Zisserman, “Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps”, ICLR Workshop .Saliency Maps: Segmentation without supervision Ribeiro et al, ““Why Should I Trust You?” Explaining the Predictions of Any Classifier”, ACM KDD Guided backprop to generate images

Zeiler and Fergus, “Visualizing and Understanding Convolutional Networks”, ECCV Springenberg et al,

“Striving for Simplicity: The All Convolutional Net”, ICLR Workshop

-

通过(引导)反向传播的中间特征

Zeiler and Fergus, “Visualizing and Understanding Convolutional Networks”, ECCV

Springenberg et al, “Striving for Simplicity: The All Convolutional Net”, ICLR Workshop

梯度上升以可视化特征 生成最大限度激活神经元的合成图像 a r g m a x I S c ( I ) − λ ∣ ∣ I ∣ ∣ 2 arg{max}_{I} S_c(I) - \lambda ||I||^2 argmaxI​Sc​(I)−λ∣∣I∣∣2 S_c 是 C 类的分数惩罚图像的L2范数; 也在定期优化期间 将图像初始化为零重复:

1.正向图像计算当前分数 反向传播得到神经元值相对于图像像素的梯度对图像进行小幅更新 Simonyan, Vedaldi, and Zisserman, “Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps”, ICLR Workshop .

对抗扰动(Adversarial perturbations)

愚弄图像/对抗性例子 Moosavi-Dezfooli、Seyed-Mohsen 等。 “普遍的对抗性扰动。” IEEE 计算机视觉和模式识别会议论文集。 . 从任意图像开始选择一个任意类修改图像以最大化类别 (4) 重复直到网络被愚弄

风格迁移

特征反转

- Mahendran and Vedaldi, “Understanding Deep Image Representations by Inverting Them”, CVPR 不是合成图像来最大化特定神经元,而是

尝试放大网络中某一层的神经元激活在 CNN 中选择一个图像和一个层; 重复: 前向:计算所选层的激活设置所选层的梯度等于它的激活向后:计算图像的梯度更新图像 Texture synthesis Wei and Levoy, “Fast Texture Synthesis using Tree-structured Vector Quantization”, SIGGRAPH 2000 Efros and Leung, “Texture Synthesis by Non-parametric Sampling”, ICCV 1999 经风格迁移 问题:样式迁移需要通过 VGG 进行多次前向/反向传递; 非常慢!解决方案:训练另一个神经网络为我们执行风格迁移! 为每种风格训练一个前馈网络使用预训练的 CNN 计算与之前相同的损失训练后,使用单个前向传递对图像进行风格化 Johnson, Alahi, and Fei-Fei, “Perceptual Losses for Real-Time Style Transfer and Super-Resolution”, ECCV

第一课 ZF Net

Reference

ZF Net

Paper: Zeiler et al. in Visualizing and Understanding Convolutional Networks ZF Net, 中文 Code ZF Net Code, Paper with CodeZF Net, Explanation with Code

如何读论文

如何读论文-李沐How to Read a Paper Efficiently, Prof. Pete Carr

笔记(ZF Net)

ZFNet 是一个经典的卷积神经网络。 该设计的动机是可视化中间特征层和分类器的操作。 与 AlexNet 相比,滤波器尺寸减小 (7x7),卷积步幅减小 (2x2)。

主要贡献:

一种可视化模型内活动的新颖方法。 这揭示了显示许多直观所需属性的功能,例如

1.组合性

2.增加不变性a

3.阶级歧视,随着我们提升层次。这些可视化可用于识别模型的问题,从而获得更好的结果 例如改进 Krizhevsky 等人。 的 [18] 令人印象深刻的 ImageNet 结果。通过一系列遮挡实验表明,该模型在进行分类训练时,对图像中的局部结构高度敏感,而不仅仅是使用广泛的场景上下文。对模型的消融研究表明,具有最小深度的网络,而不是任何单独的部分,对模型的性能至关重要。 最后,我们展示了 ImageNet 训练的模型如何很好地泛化到其他数据集。

最后的贡献(后来被许多其他关于微调、迁移学习等的研究涵盖)和性能改进现在被认为不那么重要了。 尽管 ZF Net 当时是 年 ImageNet 赢家,但它现在更被称为可解释 CNN 的鼻祖(可视化/理解 CNN 在做什么)

关键方法

Deconvnet技术 UnpoolingRectification(反激活):仍然用ReLUFiltering(反卷积):卷积神经网络使用学习到的过滤器对前一层的特征图进行卷积。 为了近似地反转它,deconvnet 使用相同过滤器的转置版本(作为其他自动编码器模型,例如 RBM),但应用于校正映射Detail 大小裁剪:如果不进行大小裁剪,卷积核中会有一些卷积核特别的大。所以需要对过大的卷积核进行裁剪,把它限定在一个大小范围内 Convnet Visualization

Feature Visualization

1st-layer:找到9个卷积核激活最大的数据集中原图前9个图片(patch-top9)2nd-layer: 选出16个卷积核,找到能够使得激活最大的图片(9张图每个卷积),每个图片都来自验证集(使用已选出的图片可重构原始输入的像素空间)然后呢,我们把这 9 张图片传到第 2 层的feature map,使用反卷积的技巧重构回原始输入的像素空间。就变成了这个灰色的左图 第3、4、5层卷积:所提取的特征逐渐变得高级,与第2层的流程相似

-

Invariance

对原图进行平移、缩放、旋转对网络的不同层提取信息的影响,其中计算变换之后的特征向量和原图的特征向量的欧式距离,观察其影响。垂直平移、缩放的影响:对网络的底层影响显著(急剧影响),对网络的高层影响较小(线性影响)旋转:每旋转90°,存在对称性,网络能够在此期间捕获同样的特征 change architecture 对卷积核进行步长和尺寸的调整,可发现卷积核失效的变化,将步长从4变成2,将卷积核尺寸从11x11变成7x7,发现卷积核失效减少 Correspondence Analysis (Ablation Test) 测试目的:使用小方块对图片进行遮挡,测试网络预测结果对遮挡的敏感性。论文中的图像含义: 灰色图片中的黑框部分:将不经遮挡的图片放入网络中,得到第5层激活最大的feature map,用反卷积的方法重构原始输入的像素空间,得到的可视化图像热力图:使用灰色挡板遮挡原图中不同位置,在每次遮挡过程中,记录第5层激活最大的feature map,将所有该位置的feature map进行叠加,形成热力图 测试验证对不同狗的图片遮挡相同位置,对网络模型的影响,通过计算海明距离的求和值进行比较,说明深度学习模型隐式定义了图片中局部位置的相关性。 相关性分析的计算公式: Δ l = ∑ i , j = 1 , i ≠ j 5 H ( sign ( ϵ i l ) , sign ( ϵ j l ) ) \Delta_l = \sum_{i,j=1, i \neq j}^5 \mathcal{H}(\text{sign}(\epsilon_i^l), \text{sign}(\epsilon_j^l)) Δl​=i,j=1,i=j∑5​H(sign(ϵil​),sign(ϵjl​))其中 \epsilon_i^lϵil 表示第 ii 张图片遮挡前后第 ll 层feature map之差,反映了第 ii 张图片遮挡之后对第 ll 层网络提取得到feature的影响。\Delta_lΔl 反映了在不同图像中遮挡相同位置对模型网络中第 ll 层提取得到的feature map的影响是不相同的。

Experiment

Using the exact architecture specified in (Krizhevsky et al., ), we attempt to replicate their result on the validation set.

将6个卷积模型进行融合,发现比AlexNet好很多,有显著提升,达到了14.8%的错误率只去掉卷积层,影响不大,只去掉全连接层,影响不大,但同时去除卷积层和全连接层,影响很大增加卷积层中卷积核个数,稍微有些作用,但会产生过拟合调整3、4、5层的卷积核个数,效果最好,验证集为37.5%,验证集为16.0%使用ImageNet的预训练模型进行迁移学习,效果不错在Caltech-256数据集中,每个类别仅使用6张图片训练模型,能够达到最佳模型的性能在PASCAL 数据集上,模型效果不好,主要是因为ImageNet与该数据集是不一样的分析不同层特尔真对分类的有效性,层数越深,特征越有用

第二课 CAM(Class Activation Map)

Reference-CAM

Paper Bolei Zhou(Computer Science and Artificial Intelligence Laboratory, MIT). etl, Learning Deep Features for Discriminative Localization (CVPR )Related Reference L.-J. Li and L. Fei-Fei. What, where and who? classifying events by scene and object recognition. Proc. ICCV, .Min Lin, Qiang Chen, Shuicheng Yan, , Network in Network (NiN) Code Torch Demo for using this tool(Chinese)

主要相关工作

弱监督对象定位:使用图像分类和标记来训练定位、检测和分割。 图像遮挡测试可用于定位,重叠块可用于预测。 这些任务需要多个前向预测并且是非端到端的; 使用全局最大池只产生边缘点,而不是对象范围。 GAP方法可用于绘制CAM热图并进行对象定位。 可视化卷积神经网络的内部特征 使用ZFNet解决目标检测和定位问题,只分析卷积层,不分析全连接层之后的层本文将全连接层替换为GAP层,可从头到尾解读性分析

阅读笔记-CAM

概述

CAM 论文介绍

CAM-like activation heatmap主要实现深度学习的可解释性分析和显着性分析,可以解决弱监督定位问题,具有潜在的“注意力机制”CAM的计算方式:使用GAP代替全连接层,权重和最后一个卷积层相乘相加得到CAM热值使用GAP代替全连接层的实验效果细粒度图像分类和概念语义发现问题的性能比较可视化原始图中相关语义的关键区域

CAM算法的精妙之处

可解释性分析,深度学习的显着性分析扩展性强,各种基于CAM算法的后续衍生每张图片的每个类别都可以生成一张CAM热力图Weakly supervised localization:使用图像分类模型来解决定位问题,并将定位信息保留到模型的最后一层

——《注意力机制》 仍然不同于变形金刚中使用的“注意力” 应用Machine Teaching

缺点

必须有GAP层,否则必须修改模型结构重新训练只能分析最后一个卷积层的输出,不能分析中间层

网络结构

全卷积神经网络(无池化),最后一层卷积层(14x14的512通道)全局平均汇集 GAP 得到 512 个平均值,最后经过线性分类层 (softmax) 测试置信度。计算CAM:通过线性分类权重,间接反映类别对频道的关注程度。 最后一个卷积层保留了语义信息和位置信息。 将一个类的线性分类权重与最后一个卷积层相乘对应于该类的 CAM 类激活热图。

为什么在 CAM 中不使用池化层:

1.池化的作用:减少计算量,防止过拟合,平移不变性

2. 由于pooling引入了平移不变性,丢失了长宽方向的位置信息,所以没有使用pooled卷积神经网络

全局平均池化GAP(Network in Network):

替换全连接层减少参数数量防止过拟合(正则化:每个GAP的平均值,间接代表最后一层卷积层输出的每个通道。)

为什么我们不使用全局最大池化 (GMP)

GAP对关键区域的特征有影响,但在GMP中,非最大特征不影响模型的分类性能。 (丢失了一些实际事件)GAP和GMP虽然分类性能接近,但定位性能不同。 与 GMP 相比,GAP 损失鼓励网络识别对象的范围,GMP 鼓励它仅识别一个有区别的部分。

弱监督对象定位

使用GAP代替全连接层重新训练模型下采样次数越少,最后一个卷积层输出的feature map越大,空间信息损失越少,定位性能越好。

实验结果:

在分类问题上,修改GAP层后,分类性能略有下降;在定位问题上,改变GAP层后,弱监督训练得到的CAM可以达到50%以上的定位精度。

具有语义特征编码的线性分类

方法:用SVM模型对GAP层的输出结果进行线性分类验证:图像细粒度分类性能对比,概念语义发现(场景关键项检测,词组概念弱监督定位,文本区域检测,VGA视觉问答)

可视化关键区域

方法:对每个类别的权重进行排序,在原图区域显示前三个权重对应的通道的高激活值结论:不同通道提取的特征不同,但都对应特定类别的相关语义

第三课 Grad-CAM, Grad-CAM++, Layer-CAM

Reference (Improvements on CAM)

Ramprasaath R. Selvaraju, Michael Cogswell, Abhishek Das, Ramakrishna Vedantam, Devi Parikh, & Dhruv Batra () Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization International Journal of Computer Vision. video Aditya Chattopadhay, Anirban Sarkar, Prantik Howlader, & Vineeth N Balasubramanian (). Grad-CAM++: Generalized Gradient-Based Visual Explanations for Deep Convolutional Networks workshop on applications of computer vision.Haofan Wang, Zifan Wang, Mengnan Du, Fan Yang, Zijian Zhang, Sirui Ding, Piotr Mardziel, & Xia Hu (). Score-CAM: Score-Weighted Visual Explanations for Convolutional Neural Networks computer vision and pattern recognition.Peng-Tao Jiang, Chang-Bin Zhang, Qibin Hou, Ming-Ming Cheng, & Yunchao Wei (). LayerCAM: Exploring Hierarchical Class Activation Maps for Localization IEEE Transactions on Image Processing.

Code

GradCAM

相关工作

CNN可视化:不同类别的可视化在类别区分上较弱,效果相差无几 凸轮 评估模型信任。:通过手动方法访问模型中的信任弱监督定位:CAM要求模型有GAP层,只能分析最后一层,限于图像分类Image occlusion test/Pertubation : 需要通过多次遮挡并多次训练模型 采埃孚网

论文笔记(Grad-CAM)

主要贡献

Grad-CAM 适用于各种 CNN 模型系列:(通过生成视觉解释使任何基于 CNN 的模型更加透明) Grad-CAM 广泛适用于各种现成的架构,用于图像分类、图像字幕和视觉问答等任务。 我们认为,一个真正的人工智能系统不仅应该是智能的,还应该能够推理出它的信念和行为,让人类信任和使用它 洞察这些模型的失败模式(表明看似不合理的预测有合理的解释) 它可以预测失败的样本并解释预测错误的样本可以更好的判断模型是否学习到了不相关的特征 在 ILSVRC-15 弱监督定位任务上优于以前的方法对对抗性扰动具有鲁棒性更忠实于底层模型(比 CAM 更值得信赖)通过识别数据集偏差帮助实现模型泛化

Grad-CAM算法的优点:

不需要GAP层,不需要修改模型结构,不需要重新训练模型可以分析任何中间层在数学上是原生 CAM 的概括可用于细粒度图像分类、机器教学

Grad-CAM算法的缺点:

当图像上有多个相同类型的物体时,只能绘制一张热图对于不同位置的梯度值,GAP平均的效果是一样的梯度饱和度、梯度消失、梯度噪声权重大的频道不一定对类别预测分数贡献很大只考虑从后向前的反向传播速度,不考虑前向预测的影响深层生成的粗粒度热图和浅层生成的细粒度热图不够准确

网络结构

1.假设最终分类结果为 y c y^c yc,计算最后一个卷积层 A k A^k Ak的梯度,得到 ∂ y c ∂ A k \frac{ \partial y^c}{ \partial A^k} ∂Ak∂yc​

2. 计算Global Average Pooling,得到class c的channel k的权重

α c k = 1 Z ∑ i n ∑ j n ∂ y c ∂ A i j k \alpha^k_c = \frac{1}{Z} \sum_i^n \sum_j^n \frac{ \partial y^c}{ \partial A_{ij}^k} αck​=Z1​i∑n​j∑n​∂Aijk​∂yc​

3.获取Grad-CAM结果

L G r a d − C A M c = R e L U ( ∑ k α k c A k ) L^c_{Grad-CAM} = ReLU(\sum_k \alpha^c_k A_k) LGrad−CAMc​=ReLU(k∑​αkc​Ak​)

4. Guide-Grad CAM 来自 guided backprop dot multiply grad-cam

评估可视化

Evaluating Class discrimination:基于VOC图像数据集,ATM众包平台的志愿者进行问答选择,评估不同的谓词解释方法,比较不同的可视化方法。Evaluating Trust (Faithfulness vs Interpretability):使用VGG和AlexNet模型,比较两种模型生成的图片,让志愿者进行问答选择。 通过这种实验方法,符合人类直觉的算法具有较高的分类准确率。 预测解释可视化方法的准确性和模型本身的可解释性:将Grad-CAM与遮挡实验进行比较,可以获得更高的自相关性。

使用 Grad-CAM 诊断图像分类 CNN

降低对抗性噪声的自愿性识别数据集中的偏差使用 Grad-CAM 的文字说明

用于图像描述和 VQA 的 Grad-CAM

Image Captioning:通过 Dense Captioning 给定一张图像,算法需要在图像上绘制多个帧,并给每个帧一个文本描述。视觉问答:先用CNN对图像进行编码,再用RNN对问题进行编码,融合图像和问题的编码,最后输出结果,对每个类别进行Grad-CAM可视化。

论文笔记(Grad-CAM++)

Grad-CAM++算法:主要解决Grad-CAM算法缺点中1和2的问题

纸质笔记(ScoreCAM)

ScoreCAM:主要解决Grad-CAM算法缺点中的3、4、5的问题

论文笔记(Layer-CAM)

LayerCAM:主要解决Grad-CAM算法的6个缺点

编码实践(CAM 和 Captum)

第四课 LIME

Reference (Intepretable Machine Learning)

Marco Tulio Ribeiro, Sameer Singh, & Carlos Guestrin (). “Why Should I Trust You?”: Explaining the Predictions of Any Classifier knowledge discovery and data mining.Christoph Molnar(), Interpretable Machine Learning, A Guide for Making Black Box Models Explainable

LIME((Local Interpretable Model-agnostic Explanations) 是一种解释任何机器学习模型预测的通用方法

LIME的优点

兼容任何机器学习算法特征重要性:解释、理解、信任、改进(特征工程)What-if scenario: 例如,如果你每月多赚500元,金额是多少?可以解释单个样本的预测结果,选择具有代表性的样本,反映模型的全局性能手动设计和构建可解释的特征

LIME的缺点:

人工设计和构建的**“可解释的特征”不一定是科学的**“局部”线性度可能不适合原始模型如何计算不同样本的邻域样本权重每个待测样本都需要训练相应的可解释模型,耗时较长

LIME算法简述

ξ ( x ) = arg min ⁡ g ∈ G L ( f , g , π x ) + Ω ( g ) \xi(x) = \argmin_{g \in G} \mathcal{L}(f, g, \pi_x) + \Omega(g) ξ(x)=g∈Gargmin​L(f,g,πx​)+Ω(g)

实例 x 的解释模型是最小化损失 L(例如均方误差)的模型 g(例如线性回归模型),它衡量解释与原始模型f(例如 xgboost 模型),而模型复杂度 Ω ( g ) \Omega(g) Ω(g) 保持较低水平(例如,偏好更少的特征)。 假设相似性核为 π \pi π,实例之间的距离为 π x ( z ) = e x p ( − D ( x , z ) 2 σ 2 ) \pi_x(z) = exp(\frac{-D(x, z)^2}{\sigma^2}) πx​(z)=exp(σ2−D(x,z)2​),则局部“infatithfulness” “ 是 L ( f , g , π x ) = ∑ z , z ′ ∈ Z π x ( z ) ( f ( z ) − g ( z ′ ) ) \mathcal{L}(f, g, \pi_x) = \sum_{z, z' \in Z}\pi_x(z)(f(z) - g(z')) L(f,g,πx​)=z,z′∈Z∑​πx​(z)(f(z)−g(z′)) G 是可能的解释族,例如所有可能的线性回归模型。邻近度量 π \pi π 定义了我们考虑用于解释的实例 x 周围的邻域有多大。实际上,LIME 只优化了损失部分。 用户必须确定复杂性,例如 通过选择线性回归模型可能使用的特征的最大数量。

训练本地代理模型的方法:

选择您想要对其黑盒预测进行解释的感兴趣实例。扰乱你的数据集(加权样本)并获得这些新点的黑盒预测。根据新样本与感兴趣实例的接近程度对新样本进行加权。在具有变化的数据集上训练一个加权的、可解释的模型。通过解释局部模型来解释预测。

两大挑战:

LIME最难的一步是如何构建可解释的特征,这仍然需要人工先验知识原始模型在局部邻域内仍然是非线性的,不能很好地被可解释模型拟合

解决方案:选择比线性模型更好解释的模型,兼容各种数据集和原始模型。

用于解释模型的子模块选择

SP算法

实验

模拟实验:使用书籍和DVD文本情感分类数据集,比较LIME、random、parzen、greedy算法的性能,分析特征重要性人工实验: 能够挑选出更好的模型来自解释的特征工程根据解释发现模型异常通过特征解释,人类可以选择更好的模型,SP 优于 RP,LIME 优于贪婪

第五课 SHAP

Reference (SHAP)

– Scott M. Lundberg, & Su-In Lee (). A Unified Approach to Interpreting Model Predictions neural information processing systems.

Shapley, Lloyd S. “A value for n-person games.” Contributions to the Theory of Games 2.28 (1953): 307-317Štrumbelj, Erik, and Igor Kononenko. “Explaining prediction models and individual predictions with feature contributions.” Knowledge and information systems 41.3 (): 647-665.Sundararajan, Mukund, and Amir Najmi. “The many Shapley values for model explanation.” arXiv preprint arXiv:1908.08474 ().Janzing, Dominik, Lenon Minorics, and Patrick Blöbaum. “Feature relevance quantification in explainable AI: A causal problem.” International Conference on Artificial Intelligence and Statistics. PMLR ().Christoph Molnar(), Interpretable Machine Learning, A Guide for Making Black Box Models Explainable

笔记(SHAP)

理解 Shapley 值的一种直观方式:特征值以随机顺序进入房间。 房间中的所有特征值都参与了游戏(=有助于预测)。 特征值的 Shapley 值是当特征值加入房间时已经在房间中的联盟收到的预测的平均变化。

优点

效率 预测和平均预测之间的差异在实例的特征值中公平分布——Shapley 值的效率属性。 此属性将 Shapley 值与其他方法(如 LIME)区分开来。LIME 不保证预测在特征之间公平分布Shapley 值可能是提供完整解释的唯一方法。 在法律要求可解释性的情况下——比如欧盟的“解释权”——Shapley 值可能是唯一合法合规的方法,因为它基于可靠的理论并公平地分配影响。 Shapley值允许对比解释不是将预测与整个数据集的平均预测进行比较,而是可以将其与子集甚至单个数据点进行比较。 这种反差也是像LIME这样的本土机型所不具备的。 Shapley值是唯一具有坚实理论的解释方法。 公理——效率、对称性、虚拟性、可加性——为解释提供了合理的基础。 像 LIME 这样的方法假设机器学习模型在本地具有线性行为,但是没有关于为什么这会起作用的理论。

缺点

Shapley 值需要大量计算时间。 在 99.9% 的现实问题中,只有近似解才是可行的。 联盟的指数数量通过抽样联盟和限制迭代次数 M 来处理。减少 M 会减少计算时间,但会增加 Shapley 值的方差。 Shapley 值可能会被误解。 特征值的 Shapley 值不是模型训练中去除该特征后预测值的差值。Shapley值的解释是:给定当前的一组特征值,一个特征值对实际预测和平均预测的差异的贡献就是估计的Shapley值。 如果您寻求 sparse 解释(包含很少特征的解释),Shapley 值是错误的解释方法。 使用 Shapley 值方法创建的解释始终使用所有功能。 人类更喜欢有选择的解释,例如 LIME 产生的解释。 对于外行人必须处理的解释,LIME 可能是更好的选择。另一种解决方案是由 Lundberg 和 Lee () 引入的 SHAP,它基于 Shapley 值,但也可以提供具有少量特征的解释Shapley 值返回每个特征的简单值,但没有像 LIME 这样的预测模型。 这意味着它不能用于对输入变化的预测变化做出陈述,例如:“如果我每年多赚 300 欧元,我的信用评分将增加 5 分。” 如果要计算新数据实例的 Shapley 值,则需要访问数据。与许多其他基于排列的解释方法一样,Shapley 值方法在特征相关时会包含不切实际的数据实例。 为了模拟联盟中缺少某个特征值,我们将该特征边缘化。 这是通过从特征的边缘分布中采样值来实现的。只要功能是独立的就没问题。当特征相互依赖时,我们可能会采样对这个实例没有意义的特征值。 但我们会使用这些来计算特征的 Shapley 值一种解决方案可能是将相关特征 permute 在一起,并为它们获得一个相互的 Shapley 值。另一种改编是条件采样:以团队中已有的特征为条件对特征进行采样。虽然条件采样解决了不切实际的数据点问题,但引入了一个新问题:结果值不再是我们游戏的 Shapley 值,因为它们违反了对称公理,正如 Sundararajan 等人发现的那样。 () 并由 Janzing 等人进一步讨论。 ()

详细的 Shapley 值计算过程

我们对每个特征如何影响数据点的预测感兴趣。

在线性模型中,很容易计算各个效应。

这是一个数据实例的线性模型预测的样子:

f ^ ( x ) = β 0 + β 1 x 1 + … + β p x p \hat{f}(x)=\beta_0+\beta_{1}x_{1}+\ldots+\beta_{p}x_{p} f^​(x)=β0​+β1​x1​+…+βp​xp​

其中 x 是我们要为其计算贡献的实例。

每个 x j x_j xj​ 是一个特征值,其中 j = 1,…,p。

β j \beta_j βj​ 是对应的权重

SHAP(SHapley Additive exPlanations)

Lundberg 和 Lee ()69 的 SHAP(SHapley Additive exPlanations)是一种解释个体预测的方法。 SHAP 是基于游戏理论上最优的 Shapley 值。

与 Shapley 值的差异

首先,SHAP 作者提出了 KernelSHAP,这是一种基于内核的替代估计方法,用于受局部代理模型启发的 Shapley 值。 他们提出了 TreeSHAP,这是一种基于树的模型的有效估计方法。其次,SHAP 带有许多基于 Shapley 值聚合的全局解释方法。 本章解释了新的估计方法和全局解释方法。

SHAP计算
Tree-SHAP
Kernel-SHAP

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。