可解释性机器学习task01-预备知识
Posted GUSONGEN
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可解释性机器学习task01-预备知识相关的知识,希望对你有一定的参考价值。
可解释性机器学习task01-预备知识
文章目录
什么是可解释人工智能?
- 现代机器学习是统计机器学习尤其是深度学习,使用数据拟合数据分布和决策边间,有着高维非凸,决策时是一个黑箱
- 一些灵魂之问
- AI的脑回路是怎样的? Al如何做出决策?是否符合人类的直觉和常识?
- AI会重点关注哪些特征,这些特征是不是真的有用?
- 如何衡量不同特征对Al预测结果的不同贡献?
- AI什么时候work,什么时候不work ?
- AI有没有过拟合?泛化能力如何?
- 会不会被黑客误导,让AI指鹿为马?
- 对抗样本
- 如果样本的某个特征变大,会对Al预测结果产生什么影响?
- 如果Al误判,为什么会犯错?如何能不犯错?
- 两个Al预测结果不同,该信哪一个?
- 能让Al把学到的特征教给人类吗?
- AI在AIGC领域任然会存在着一些问题
- 说明其并没有正真学到这部分的知识
- 一个黑箱,容易犯错
- 在一些关键邻域比如自动驾驶领域,如何让人类相信黑箱算法
- 可解释学习就是打开黑箱学习的研究
为什么要学
- 可解释性学习可以和AI的各个方向进行交叉
- data mining,NLP,RL,KG,联邦学习
- CV
- 比如目标检测的识别依据
- NLP
- 文本分类的决策单词/字
- 推荐系统
- 推荐的背后依据
- 通用的研究方法
- 具体的task的结合
- 大模型、弱监督、缺陷异常检测、细粒度分类、决策
AI和强化学习、图神经网络、Al纠偏、Al4Science、 Machine
Teaching、对抗样本、可信计算、联邦学习。
- 大模型、弱监督、缺陷异常检测、细粒度分类、决策
- 写paper可以结合某个可解释的算法分析细分领域的任务
- [ 基于声成像与卷积神经网络的轴承故障诊断方法及其可解释性研究](https://kns.cnki.net/kns8/Detail?sfield=fn&QueryID=10&CurRec=4&DbCode= CJFD&dbname=CJFDLAST2022&filename=ZDCJ202216029&urlid=&yx=)
- [雷达图像深度学习模型的可解释性研究与探索](https://kns.cnki.net/kns8/Detail?sfield=fn&QueryID=10&CurRec=7&DbCode= CAPJ&dbname=CAPJLAST&filename=PZKX20220613003&urlid=11.5846.TP.20220613.0913.008&yx=Y)
可解释性的一些交叉研究方向
Machine Teaching
-
通过AI教人类学习
-
eg.Making a Bird AI Expert Work for You and Me
- 通过AI教会人类判别鸟类
- human-centered-ai
细粒度图像分类
- 对于细粒度的分类,大类下会有各种小类,人比较难分类,使用AI可以较好的分类
- 医疗图像分类给出决策的热力图
- kaggle:SIIM-ACR Pneumothorax Segmentation
- bg:辅助医疗,教学
- 工业的缺陷检测
- 工业界的高质量标注的较少
- 通过只训练一个分类模型能够由可解释性定位出缺陷位置(检测/分割)
- 生物信息
- 蛋白质
- 基因研究
- 物体分类
- 建筑
AI安全/对抗样本
前沿AI方向
- chatGPT
- 完全黑箱,适合做可解释分析
- AIGC
- stable diffusion等画图
- 大模型
- 蛋白质
- alphaFold
本身具有可解释性的学习
- KNN
- 逻辑回归
- 输入特征可以理解,权重直观反映了那个特征的决策重要性
- 线性回归
- 决策树
- 用if else决策
- 朴素贝叶斯
一些可解释性分析方法
- 算法自带的可视化
- 决策树
- 算法自带的特征权重
- Permutation Importance置 换重要度
- 将某一列特征随机打乱,如果对模型性影响较大则说明重要性大
- sklearn demo
- PDP图、ICE图
- Shapley值
- Lime
- paper
- 在预测的周围局部建立可解释模型,同时展示有代表性的样本,将任务建模成一个子模块的优化任务
可解释性与模型性能
可解释算法分类
- todo
深度学习的可解释性分析
- 神经网络由一层层layer组成,层次越高对应的高维特征也就越抽象,人类难以直接理解
- 所以需要相关的可解释性算法
- eg.手写数组识别的特征图
CNN的可解释性分析
- 可视化卷积核/特征图
- ZF Net
- 介绍了一种新的可视化技术,可以深入了解中间特征层的功能和分类器的操作
- 通过 遮挡、缩放、平移、旋转的间接方法对预测的影响来理解CNN
- 利用反卷积找到使得某个神经元激活的pixel或小图
- RCNN
- 从神经元激活找原始小图
- 原文figure3,实验3.1
- 作者从第五层pooling的神经元进行了可视化,白框是感受野以及激活值
- 可以看到,有一些神经元捕捉到了特定的概念,比如第一行的人,第四行的字
- 有些神经元捕捉纹理和材质
- 基于CAM的可视化
- 一大类算法,有各种基于原始CAM的改进算法
- 构建了一个通用的可定位的深度表示,可以应用于各种任务
- torch-cam
- CAM对图像分割可视化的例子
- 错误预测的解释
- 探究模型是不是有偏见
- (b)是带有偏见的模型,根据头发判断是护士,会把头发(性别)当做判断护士的特征,有悖伦理
- 语义降维可视化
- 通过对高维样本特征降维到低维进行可视化,该分布和语义相关
- eg.word2vec的词向量表示,降维后发现含义相近的在空间中分布靠近
- cs224N
- 降维算法
- PCA
- TSNE
- UMAP
- 生成满足需求的图像
- 通过优化样本使得的图像满足一定的需求,比如某个神经元激活最大或者某个类别预测最大
- 应用场景:对抗样本攻击
- FGSM etc.
- 通过不断迭代样本,同时施加约束(最小扰动),使得模型误判
总结与扩展阅读
- 方法对比
- 对比
- 张子豪codebase
- pytorch-cnn-visualizations
- pytorch-grad-cam
- torch-cam
- 相关论文
- Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps
- Score-CAM: Score-Weighted Visual Explanations for Convolutional Neural Networks
- “Why Should I Trust You?”: Explaining the Predictions of Any Classifier
- Visualizing and Understanding Convolutional Networks
- Show and tell: A neural image caption generator
- LayerCAM: Exploring Hierarchical Class Activation Maps for Localization
- Learning Deep Features for Discriminative Localization
- Grad-CAM++: Generalized Gradient-Based Visual Explanations for Deep Convolutional Networks
- Grad-CAM: Visual Explanations from Deep Networks via Gradient-Based Localization
- OpenMMLab 类别激活热力图可视化工具介绍
- DataWhale 6个机器学习可解释性框架!
思考题
Reference
todo
以上是关于可解释性机器学习task01-预备知识的主要内容,如果未能解决你的问题,请参考以下文章