7

斑马识别成狗,AI犯错的原因被斯坦福找到了丨开源

 1 year ago
source link: https://www.qbitai.com/2022/07/35725.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

斑马识别成狗,AI犯错的原因被斯坦福找到了丨开源

head.jpgalex 2022-07-03 13:12:22 来源:量子位

准确率达90%

Pine 发自 凹非寺

量子位 | 公众号 QbitAI

明明是只斑马,AI为什么说它是一条狗?

分类模型在归类图像时有时会错误地判断类别。

经过学习的AI,还会搞砸一些预测,肯定是在其中的某个环节出现了纰漏。

斯坦福大学的两位博士生和教授James Zou在一篇论文中,带我们探究了分类模型犯错的原因。

斑马识别成狗,AI犯错的原因被斯坦福找到了丨开源

随后,论文提出一种方法——反事实的概念性解释(Conceptual Counterfactual Explanations),并评估了它的效果。

通过这种方法,我们就能重新定义模型的分类标准,从而解释AI犯错的原因。

一起来看看吧。

AI为什么会犯错?

想要提高分类模型后续预测的准确性,就先得整明白这个模型在哪里出了岔子。

一般来说,AI搞砸预测是以下原因造成的:

首先是在模型实际预测的过程中,分类标准可能会与预训练时有些偏差,使得训练模型在实际预测的过程中效果不佳,进而降低预测结果的准确性。

比如说,病理学家使用预先训练好的模型来分类组织病理学图像,但效果在他的图像上却不是很好。

这就可能是在他的图像中,色调与原始训练数据中不同导致的。

其次,在模型学习的过程中,可能会学习到一种叫做“伪相关性”的东西,即将一些看似无关的要素与被识别的图像关联起来。

可以看这个例子:

斑马识别成狗,AI犯错的原因被斯坦福找到了丨开源

在这个模型训练过程中,样本里所有狗的照片里都有雪,这导致该模型将雪与狗联系在一起,并错误地预测:没有雪的狗不是狗。

这可能是用的数据集,都是在同一场景下收集的,会阻碍模型的泛化。

除此之外,也可能是在训练模型时,人为制造的一些偏差。

例如,某一皮肤科专家利用训练好的AI来分类图像中的皮肤病,但其他同事使用的效果却不尽如人意。

这可能是因为在训练的样本中,皮肤的肤色单一、且年龄段分布窄。

了解了AI“犯错”的原因后,我们要怎样才能准确地判断模型哪里出现了错误呢?

AI犯错,它来解释

James Zou在论文中提出了一种叫反事实的概念性解释(CCE)的方法。

具体来说,就是通过这种方法,来探究输入数据与预测结果之间的联系,最终找到模型的错误之处。

那CCE是怎么来解释的呢?

定义概念库

首先要做的,就是设置并细化一个概念库C,即制作一个分类标准。

具体来说,概念库C中的各个概念可以用来分类图像,如装置c1(街道、雪等)、图片质量c2(清晰、模糊等)······

这样,就能获得一组可解释的概念库C={c1,c2,…}。

然后,需要给其中的每个概念找对应训练数据。

具体的,就是收集与其相符(Pci)和不符(Nci)的例子,一般来说数量上要一样(Pci=Nci=100)。

对于每个概念,CCE都要学习它们的分类方法和“思维方式”。

分别通过两种方法:

一个是通过学习支持向量机(SVM),来寻找可以区分两种事物最优方式的算法(线性分类器)。

另一个是学习相应的概念激活向量(CAV),它可以用来解释图像被错误分类的具体原因。

就像下图,都是斑马的图像,归类错误的原因却不一样。

斑马识别成狗,AI犯错的原因被斯坦福找到了丨开源

这一步只需要对每个想要评估的模型做一次,之后CAV便可以用来解释任意数量的错误分类。

给定错误分类标准

我们可以通过改变不同概念在模型中的比重,对其分类标准进行相应的调整,这些调整要满足以下原则:

1、正确性:如果一个分类标准达到了预期的结果,那么它就被认为是正确的。

2、有效性:分类标准不能违反人类的基本认知。

3、稀疏性:最终目标是向用户传达模型的错误之处,太多的变量不利于有效传达信息。

我们的目的是尽可能地使预测结果贴近训练结果,即最小化交叉熵损失。

因此就要不断优化模型预测的标准,通过调整待修改的标准,对其进行加权,最终达到纠正错误分类的效果。

了解之后,我们通过一个实际例子来看看,怎么用CCE“探测”分类模型出错的地方。

斑马识别成狗,AI犯错的原因被斯坦福找到了丨开源

在这里,分类模型错误地将斑马图像识别为非洲猎犬。

于是,我们首先生成这个模型将斑马识别成狗的一系列标准。

然后,对这些标准进行评分,如果评分为正,则代表在图像中增加这个概念,将会提高正确分类的概率,反之亦然。

在这个例子中,如果增加stripes(条纹)这个概念,识别出它为斑马的概率就会大一些。

在c)图中,通过CCE分析也可以直观地看到,“Polka Dots”(斑点)和“Dog”(狗)是导致模型预测错误的原因。

CCE效果怎么样?

看到这里,想必大家对CCE的原理都有了初步的认识。

那它判断得到底准不准确,效果究竟如何呢?

CCE的目的,主要是揭示模型在训练过程中学习到的“伪相关性”,用它就可以捕获图像中出现的其他“无关要素”和图像的伪相关性。

测试发现,在大多数情况下,该模型在超过90%的错误分类的测试样本中识别出伪相关。

看看这个表格,相较于其他方法,使用CCE,识别出样本中伪相关的概率最高。

斑马识别成狗,AI犯错的原因被斯坦福找到了丨开源

CCE能够精准地识别出样本中的伪相关,可以看这个例子:

斑马识别成狗,AI犯错的原因被斯坦福找到了丨开源

改变苹果图片的颜色(使图片变灰),分类模型识别错误的概率增大时(黑线),CCE辨别出“绿色”为伪相关的分数也就越高(绿线)

除此之外,CCE也有用在医学领域的潜力。

像Abubakar Abid等人就使用CCE,在皮肤病学(皮肤状况分类)、胸片图像中的心脏病学(气胸分类)中都做了相关测试。

斑马识别成狗,AI犯错的原因被斯坦福找到了丨开源

CCE使用学习到的偏差和图像质量条件来解释模型犯错,也已被专业的皮肤科医生证实——这些因素,确实很大程度上是导致皮肤图像难以分类的原因。

此外,CCE的速度也很快。

概念库只需要使用简单的支持向量机学习一次,每个测试示例在单个CPU上花费的时间小于0.3s

重要的是,它可以很简单地应用到任何深度网络,在不需要训练数据的情况下检测到模型犯错的原因。

如果你对这种方法感兴趣,想亲自试试的话,可以戳下文链接查看。

斑马识别成狗,AI犯错的原因被斯坦福找到了丨开源

James Zou ,论文通讯作者,是斯坦福大学生物医学数据科学系的助理教授,计算机科学与电气工程系的助理教授。

于 2014 年获得哈佛大学博士学位,曾是微软研究院成员、剑桥大学盖茨学者和加州大学伯克利分校西蒙斯研究员。

他的研究得到了 Sloan Fellowship、NSF CAREER Award 以及 Google、Amazon 和腾讯 AI 奖项的支持。

斑马识别成狗,AI犯错的原因被斯坦福找到了丨开源

Abubakar Abid (前)、 Mert Yuksekgonul(后) 论文第一作者,均为斯坦福大学博士生。

参考链接:

1、https://arxiv.org/pdf/2106.12723.pdf
2、https://github.com/mertyg/debug-mistakes-cce
3、https://twitter.com/james_y_zou/status/1541452062344417280

版权所有,未经授权不得以任何形式转载及使用,违者必究。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK