自学内容网 自学内容网

神经网络模型底层原理与实现9-可解释性

必要性:在金融、医药、自动驾驶方面,模型必须可解释,知道分类错在哪才可以更好的改进模型

 

解释的两类方法:

1.找出为什么模型认为图片是一只猫的原因

具体操作:a.把图片中的一部分删掉,如果分类错了很多,可得这一部分对分类是很重要的

b.数值表达形式:给输入一个dx,看输出dy与它的比值大小来确定这部分输入对分类结果的重要性

ce02488fb75b4d70ac7603cbf602039b.png

举个例子:左边这张图,人眼判断这是不是马可能是靠看这匹马,而机器判断是靠左下角的字,这样就不对了 

 

那如何在梯度图中去掉一些不重要的点:直接在原图中加入噪音,这样梯度图中零散的点就会消失(如第三张图)

1c63b15a374c46a3b0eba07a8a8994fc.png

c.在深度学习中,还可以把中间几层的结果抽出来,用PCA等方法降纬,看特征是什么

 

 

2.根据模型参数得出一只猫长啥样

方法:生成一张图使得经过一层后,左下角这个式子值尽可能大(方法和梯度下降法一致,只是取反方向)

972294888b4f4bd2b50a937232bf96c2.png

 具体实现中可使用GAN:把原始图片输入(作为z),训练image generator,使其可以根据目标产生X,再通过分类器得类别y

dee812ce19f643b08ba413d070285a2b.png

3.其他方法:用一个可解释的模型(比如树)来替代深度学习模型的效果(可以只模仿一小个区域内的效果,整体模仿树模型可能做不到

 

 

 

 

 

 


原文地址:https://blog.csdn.net/m0_60792028/article/details/137668384

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!