目录
思维导图
1.黑箱所带来的问题
2.从应用面论述为什么要进行可解释性分析
2.1可解释性分析指什么
2.2可解释性分析结合人工智能应用实例
2.3 可解释性分析的脑回路(以可视化为例如何)
3.如何研究可解释性分析
3.1使用好解释的模型
3.2传统机器学习常用的可解释性方法
3.3从预测能力和可解释性两个角度对比常用模型
3.4模型训练前解释方法和模型训练后解释方法(待补充)
4.深度学习可解释性分析(卷积神经网络为例)
4.1为什么人类无法理解深度学习在图像处理领域的应用
4.2卷积神经网络可解释性方法
5.一些综述
参考文献
思维导图
1.黑箱所带来的问题
上图对于特征的贡献度:如下图左坦克,我们想知道,到底坦克那一部分的特征,对计算机识别有更大的贡献。
对于指鹿为马:如下图右所示对熊猫添加了噪声之后,从人类角度看还是熊猫,但计算机竟然识别成长臂猿,如果无法理解模型,其安全性值得商榷。
再进一步:我们看一下今年爆火的AI绘画,如下图所示,让AI画一条在水中的三文鱼,但它画了了三文鱼的刺身,这说明它并不是真的理解三文鱼是什么,它知道到三文鱼是人类的食物,再让AI画一张握手的图,下图所示的确是握手,但并不是我们人类所理解的握手,如果一直使用这种,知其然,却不知其所以然的模型,长远来看,必将受其乱。这也是人工智能可解释性分析的必要性。
引述一下:一个不能被理解信任的模型,怎么能被放心的应用于医疗,无人驾驶等领域,黑箱模型即使能够被广泛应用,但从根本上会有很大隐患。
在生物领域的应用:像在蛋白质结构上,这往往需要足够大的模型,但人类如果人类无法理解这个过程,如何信任得到的分子结构毫无问题,即便这个结构被证实可用。
2.从应用面论述为什么要进行可解释性分析
2.1可解释性分析指什么
对于目标检测:下图是对YOLO算法进行可解释性分析,方法上就是分析出,YOLO算法到底通过框中那些特征(进行分类。
对于自然语言处理:依据被判定为负面语言的句子,模型到底从那些字或者语言逻辑去判断的。
对于推荐系统:抖音给你推荐的视频,淘宝给你推荐的商品,知乎给你推荐的文章,这些模型背后判断的逻辑到底是什么。
2.2可解释性分析结合人工智能应用实例
教人类学习工艺参数:让人工智能教人类学习,德国一个激光加工企业博士,发现利用激光加工过程中,有些参数会发生变化,这会影响加工质量,而想要得到这些参数,必须停机才可以,但停机的成本又太高,于是他用神经网络训练了可以实时预测参数的模型,准确率很高,然后他用可解释性分析,可视化的分析了如何获得这个参数,工人根据可视化过程去学习推算参数,竟然真的提高了很多,这个方法很简单,但这个应用场景下却从未有人成果尝试,于是这个博士,横扫了改领域的论文。
教人类下围棋:众所周知,AI在围棋领域已经封神,在用AI教人类下棋的过程中,人们发现AI会下一些无法理解但又能赢的棋,如果能理解AI的思考方式,对人类的提高也是非常关键的。
教人类画画:像用AI教人类画画,如果想让他成为一个好老师,我们就必须理解它的脑回路,比方说,你想提升画画水平,将自己的画作传给AI之后,目前的AI只能直接帮你修改,但它不能给你说明白,为什么这样修改更好,所以只有对模型进行可解释性分析,我们才能理解它。
细粒度图像分类:细粒度图像分类,比方说荔枝有很多种类,如何将荔枝按照不同种类进行分类,这就是细粒度图像分类。对于可解性分析的应用,我们想知道计算机去进行细粒度图像分类时,依据的是什么,这是一个很有趣的工程。
医学应用:如下图对肺炎的辨识,人工智能可以直接用色彩表示它认为可能出现问题的区域,这对医学新人水平的提高,甚至说病人的理解有很大帮助,但如果没有这个可视化的解释,人们只能到得到一个你生没生病的结果。
损伤检测应用( layerCAM):这里应用到了损伤检测,可以明显看到颜色深浅标注不一,这就是可视化解释性分析的应用。 这可以说用图像分类问题,解决了图像定位问题,本身分类对于有没有损失问题,回答的是有或者没有的答案,而这里直接把损伤位置都做了标注,可见可视化解释的用处。有没有可能用这个方法,解决一些情况下,数据集难以标注的问题,对数据集进行标注,但问题是既然能进行标注,说明已经可以识别,那标注的意义又在哪,需要思考。
2.3 可解释性分析的脑回路(以可视化为例如何)
识别螺丝刀:如下图所示,识别一个螺丝刀,红色区域表示识别贡献最大区域,这符合人类的理解。
识别建筑:从下图可以看出,AI识别福建土楼,是因为它有洞状结构,识别吊脚楼是因为它有棍状结构。这就是在告诉人类它的脑回路。
3.如何研究可解释性分析
3.1使用好解释的模型
例如:KNN,逻辑回归,线性回归。贝叶斯,树模型是最具解释性的。
树模型:下图是一个判断是否人得病的模型,每一个节点都很清晰。是因为年龄,生活习惯,日常作息,还是其他原因,清清楚楚。
3.2传统机器学习常用的可解释性方法
算法自带可视化:像上面图像分类中的色彩标注。
算法自带的特征权重:比方说随机森林,能够直观得出每一个特征对最后结果的重要程度的权重。
置换重要度:就是改变一些特征的位置,看其对结果的影响。
PDP,ICE图:如下图右所示,就是通过曲线表示特征对结果的影响。PDP比方说年龄这一个特征对心脏病的影响,ICE比方说,年龄和生活作息等多个特征对心脏病的影响。
shapley:直接列出每一个特征对结果的影响程度。
LIME:就是把复杂问题简单化,比方说,一个高维数据集,是用深度神经网络,非线性曲线拟合,这很难解释,但我们可以选取一些局部数据,用线性模型解释,进而解释整个模型。
3.3从预测能力和可解释性两个角度对比常用模型
从图中可以看出,NN神经网络模型预测效果最好,但可解释性也最差,线性回归模型,可解释性最好,但预测效果最差,LIME的思路就是,用可解性最好的模型,解释可解释最差的模型。
3.4模型训练前解释方法和模型训练后解释方法(待补充)
4.深度学习可解释性分析(卷积神经网络为例)
4.1为什么人类无法理解深度学习在图像处理领域的应用
从下图可以很明显看出,从第3.4层开始人类已经无法理解计算机提取的特征了。
4.2卷积神经网络可解释性方法
可视化卷积核和特征图:就是得到卷积核参数,和其对应的特征图,卷积核又分浅层,中层,高层,不同层提取的特征不同。AlexNet这篇论文第一次对图像处理进行了可视化。但也有个问题,对于深层的网络,所表示出来的特征完全无法理解,可能因为维度过高,不能用RGB形式表示出来,让人类理解。
遮挡,缩放,平移,旋转:如下图所示对狗眼睛进行遮挡,如果对结果有影响,就证明网络学习到了眼睛的特征。
找到能使某个神经元激活的原图像素,或者小图(就是反卷积):下图1表示神经元,2就是原图像素,说明该神经元关注该条纹特征。
基于热力图(CAM)的可视化:如下图所示,就是用颜色标注网络关注的特征部分,
进一步阐述为什么,CAM可以让我们理解网络的脑回路:比方说下图右,1表示需要识别的图,如果基于2的特征,识别为火山,如果基于3的特征,识别为后视镜。
在进一步理解GAM:如下图所示,第二张,第三张图都认为第一张图是医生,但很明显它们依据的特征不同。
语义编码降维可视化:就是网络最后一层,全连接层输出的数据带有输入的语义特征,对其进行降维让人类理解。下图就是对三维建筑风格进行降维处理,在二维空间内展示其区别。
生成满足某些要求的图像:大致意思是,强化图中某个类别的像素,让该像素的特征更加明显。
对抗样本:
5.一些综述
参考文献
1.机器学习可解释性一(LIME)_可解释机器学习_chj65的博客-CSDN博客
2.【精读AI论文】LIME机器学习可解释性分析_哔哩哔哩_bilibili
3.(重点)https://github.com/TommyZihao/zihao_course/blob/main/XAI
4.(重点)https://github.com/TommyZihao/TommyZihao