主要内容

理解网络预测使用石灰

这个例子展示了如何使用本地可判断的model-agnostic解释(石灰)来理解为什么一个深层神经网络分类的决定。

深层神经网络很复杂,很难解释他们的决定。石灰技术接近深神经网络的分类行为使用更简单,更可翻译的模式,如回归树。解释这个简单的决策模型提供了深入了解神经网络的决策[1]。简单的模型是用来确定功能的输入数据的重要性,作为一个代理的重要性深层神经网络的特性。

当一个特定的特性是非常重要的一个深层网络的分类决定,取消该特性显著影响分类的分数。这个特性也因此重要的简单的模型。

深度学习工具箱提供了imageLIME的函数来计算地图功能由石灰技术决定的重要性。石灰图像算法的工作原理是:

  • 分割一个图像特征。

  • 通过随机生成许多合成图像包括或不包括的功能。排除功能有每个像素的值替换图像平均,所以他们不再包含有用的信息网络。

  • 分类的合成图像深度网络。

  • 安装一个简单的回归模型使用图像特征的存在与否对于每个合成图像的二元回归预测目标类的分数。模型近似的行为复杂的深层神经网络在该地区的观察。

  • 使用简单的模型计算功能的重要性,并将这一特性重要性的地图显示图像的部分,是最重要的模型。

从石灰技术可以比较结果其他explainability技术,如阻塞灵敏度或Grad-CAM。如何使用这些相关技术的例子,看看下面的例子。

负载Pretrained网络和图像

加载GoogLeNet pretrained网络。

网= googlenet;

提取输入图像的大小和输出类网络。

inputSize = net.Layers (1) .InputSize (1:2);类= net.Layers . class(结束);

加载图像。的形象是一个叫夏洛克的猎犬。调整图像的网络输入的大小。

img = imread (“sherlock.jpg”);img = imresize (img, inputSize);

图像进行分类,并显示三个类分类图像中得分最高的称号。

[YPred,分数]=(净,img)进行分类;[~,topIdx] = maxk(分数,3);topScores =分数(topIdx);topClasses =类(topIdx);imshow (img) titleString =组成(“% s (% .2f)”、topClasses topScores);标题(sprintf(加入(titleString,”;”)));

GoogLeNet分类夏洛克作为一个金毛猎犬。可以理解的是,网络也分配一个高概率拉布拉多寻回犬类。您可以使用imageLIME了解哪些部分图像的网络使用这些分类决策。

识别领域的一个图像分类的网络使用

您可以使用石灰来找出哪些部分的形象是很重要的一个类。首先,看看预测类金毛猎犬。图像显示这个类的哪些部分?

默认情况下,imageLIME输入图像分割图像中识别特性superpixels。这种细分方法需要图像处理工具箱;然而,如果你没有图像处理工具箱,您可以使用的选项“分割”、“电网”图像分割成广场功能。

使用imageLIME函数映射的重要性不同superpixel特性。默认情况下,这个简单的模型是一个回归树。

地图= imageLIME(网,img, YPred);

显示与石灰地图覆盖夏洛克的形象。

图imshow (img,“InitialMagnification”,150)显示亮度图像(地图,“AlphaData”,0.5)colormap飞机colorbar标题(sprintf (”的形象石灰(% s)”,YPred)举行

地图显示了哪些区域的图像的分类很重要金毛猎犬。红色区域的地图有更高的重要性——当这些区域移除,分数的金毛猎犬类下降。网络关注狗的脸和耳朵的预测的金毛寻回犬。这是符合其他explainability技术如闭塞灵敏度或Grad-CAM。

比较结果的不同的类

GoogLeNet预测55%的分数金毛猎犬类,40%拉布拉多寻回犬类。这些类很相似。您可以确定哪些部分狗更重要的两类通过比较石灰地图计算为每个类。

使用相同的设置,计算的石灰地图拉布拉多寻回犬类。

secondClass = topClasses (2);地图= imageLIME(网,img, secondClass);图;imshow (img,“InitialMagnification”,150)显示亮度图像(地图,“AlphaData”,0.5)colormap飞机colorbar标题(sprintf (”的形象石灰(% s)”,secondClass))

拉布拉多寻回犬类,网络更关注狗的鼻子和眼睛,而不是耳朵。虽然地图强调狗的额头,网络已经决定狗的耳朵和脖子表示金毛猎犬类,而狗的眼睛和鼻子表示拉布拉多寻回犬类。

比较石灰和Grad-CAM

其他图像可解释性技术如Grad-CAM upsample结果映射到产生光滑的热图的重要区域的图像。你可以制作类似的地图imageLIME的重要性,通过计算正方形或长方形的特性和upsampling生成的地图。

图像分割成网格广场功能而不是不规则superpixels,使用“分割”、“电网”名称-值对。Upsample计算映射匹配使用双立方插值图像分辨率,通过设置“OutputUpsampling”、“双三次的“

增加最初计算图的分辨率,增加功能的数量到100年通过指定“NumFeatures”, 100名称-值对。当图像是广场,这产生一个10 *网格的特性。

石灰技术生成合成图像基于原始观察通过随机选择一些特性和取代这些特性中的所有像素的平均图像像素,有效去除这个功能。随机抽样的数量增加到6000年的设置“NumSamples”, 6000。当你增加的数量特征,增加样本的数量通常给出更好的结果。

默认情况下,imageLIME函数使用一个回归树的简单模型。相反,适合用套索回归通过设置线性回归模型“模型”、“线性”

地图= imageLIME (img,净“金毛猎犬”,“分割”,“网格”,“OutputUpsampling”,“双三次的”,“NumFeatures”,100,“NumSamples”,6000,“模型”,“线性”);imshow (img,“InitialMagnification”,150)显示亮度图像(地图,“AlphaData”,0.5)colormap飞机标题(sprintf (“形象石灰(% s -线性模型)”,YPred)举行

类似于渐变映射计算Grad-CAM,石灰技术还强烈识别狗的耳朵是重要的预测金毛猎犬

只显示最重要的特性

石灰的结果往往是策划通过只显示最重要的一些功能。当你使用imageLIME功能,您还可以获得的地图中使用的特性计算和计算每个特性的重要性。使用这些结果来确定最重要的四个superpixel特性和只显示图像的四个最重要的特征。

计算石灰地图和获取功能地图,计算每个特性的重要性。

(地图,featureMap featureImportance] = imageLIME(网,img, YPred);

找到四大功能的指标。

numTopFeatures = 4;[~,idx] = maxk (featureImportance numTopFeatures);

接下来,掩模图像使用石灰地图所以只在最重要的四个像素superpixels是可见的。蒙面的图像显示。

掩码= ismember (featureMap idx);maskedImg = uint8(面具)。* img;图imshow (maskedImg);标题(sprintf (”的形象石灰(% s -顶级%我功能)”,YPred, numTopFeatures))

引用

[1]里贝罗,马可杜立欧,Sameer辛格,卡洛斯Guestrin。“我为什么要相信你?”:解释任何分类器的预测。“在22 ACM SIGKDD学报》国际会议上知识发现和数据挖掘,1135 - 44。美国加州旧金山:ACM, 2016。https://doi.org/10.1145/2939672.2939778。

另请参阅

||||

相关的话题