神经网络灵敏度图
像人类一样,神经网络有欺骗或失败的倾向。例如,如果在动物图像上训练网络,并且如果所有“狼”的图像的背景中都有雪,则雪就变成了“狼”的特征。因此,该网络会用雪的特征作为捷径,可能没有学到任何关于狼的外观的信息。结果雪中的鹿就会被错误分类为狼。
为了更好地理解任何错误分类并验证分类网络是否已经学习了所需的特征,我们来进行下面的分析。
对任意图像进行分类并记下分类概率。然后,将部分图像盖住,观察分类概率是上升还是下降。如果概率下降,则覆盖区域包含支持分类的特征。如果概率上升,则覆盖区域包含不利于分类的特征。
加载图像识别神经网络。
定义将图像的一部分转换为中性颜色的函数。第二个参数以缩放坐标指定漂白的位置,第三个参数以整幅图像的比例给出覆盖区域的大小。
显示完整的 Wolfram 语言输入
现在可以定义另一个函数,系统地覆盖图像的各个部分,以显示对指定神经网络的分类概率的影响。 用亮度在输出图像中显示生成的灵敏度图。
显示完整的 Wolfram 语言输入
生成被分类为摩根马的马的敏感度图,概率为 74%。
通过对不同大小的覆盖区域进行平均,创建与尺度无关的灵敏度图。
高概率的狼分类和目标明确的灵敏度图。
狼的与尺度无关的灵敏度图。
由于雕像支撑物的原因,把瓷狼误判为肥皂盒。
一个不同的网络由于关注的是雕像的背部而产生了另一个错误的分类,这看起来像是恐龙的背部。