Pine 发自 凹非寺
量子位 | 公众号 QbitAI

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

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

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

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

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

通过这种方法,我们就能重新定义模型的分类标准,从而解释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),它可以用来解释图像被错误分类的具体原因。

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

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

给定错误分类标准

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

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

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

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

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

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

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

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

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

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

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

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

CCE效果怎么样?

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

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

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

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

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

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

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

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

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

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

此外,CCE的速度也很快。

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

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

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

作者介绍

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

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

他的研究得到了 Sloan Fellowship、NSF CAREER Award 以及 Google、Amazon 和腾讯 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

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

  1. 人工智能秘史(三):为什么图灵希望AI犯错?

    相关文章: 人工智能秘史(一):会下棋的土耳其机器人 人工智能秘史(二):美国第一台计算机背后的女程序员 1950年,数字时代即将开启之际,阿兰·图灵发表了他最著名的一篇论文,题目叫做<计算机器 ...

  2. AI犯错谁之过?切勿盲目相信之

    AI前线导读: 人工智能.机器学习,在这个智能当道的时代,你几乎可以在任何地方看到AI的身影,小到你手里的智能手机,大到工厂的超大型生产设备,人们相信人工智能,甚至在某些领域,人们已经开始对AI产生了 ...

  3. 谷歌造了个虚拟足球场,让AI像打FIFA一样做强化学习训练丨开源有API

    郭一璞 发自 苏州街  量子位 报道 | 公众号 QbitAI 除了下棋.雅达利游戏和星际,AI终于把"魔爪"伸向了粉丝众多的体育竞技活动: 足球. 今天,谷歌开源了足球模拟环境G ...

  4. 老师助手为什么总是服务器错误,【家长助手】孩子在校总犯错 解决内因最关键...

    原标题:[家长助手]孩子在校总犯错 解决内因最关键 为什么孩子一而再.再而三地与同学发生矛盾,在学校里总是犯错误?家长软硬兼施也不见效,孩子不但意识不到自己的错误,还觉得自己挺委屈.家长应该从何下手帮 ...

  5. 智能算法把奥巴马识别成白人,AI也学会歧视了?

    在人工智能愈发普及的当下,越来越多的地铁.商场或其他公共场所,都已出现了人脸识别的仪器. 按理说,这样先进的技术,本该让人们的生活更便捷,更自由.然而,在某些时候,这些技术非但没能造福人类,反而揭开了 ...

  6. 正面刚CNN,Transformer居然连犯错都像人类

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 梦晨 水木番 发自 凹非寺 量子位 报道 | 公众号 QbitAI ...

  7. 脑洞大开!拿Transformer和CNN比较!犯错都像人类

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:量子位 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 这是 ...

  8. 生活痛点与不怕犯错--用精益思想塑造创新型组织

      来源:http://www.infoq.com/cn/articles/learn-thinking-shape-innovative-organization 自从彼得·德鲁克提出"创 ...

  9. 爱犯错的智能体:谈谈黎曼流形与视觉距离错觉问题

    这两天朋友圈在疯传黎曼猜想被破解的消息,2018年9月24日中秋节这天,官科.拿过菲尔兹奖和阿贝尔奖,但已年近90的数学家迈克尔·阿蒂亚贴出了其证明. 因为黎曼猜想是一百多年前数学家希尔伯特列出的23 ...

最新文章

  1. 在非互联网公司?!算法工程师的工作内容及心得建议
  2. 微信小游戏开发Canvas资源汇总
  3. Spring MVC——ConverterltString, Dategt DEMO
  4. 见识可能比聪明更重要!
  5. Apache日志配置
  6. 学霸女神冯净冰:我是如何从复旦走到诺奖获得者经济学大会的
  7. 理解React的组件
  8. 为啥用mencoder执行格式转换不退出_kindle|什么?calibre还能这么用?
  9. Hadoop MapReduce执行过程(一)
  10. 380天!理想汽车交付量突破30000辆
  11. 自学java 第十章内部类(一)
  12. spark页面单跳转化率
  13. HDU-1864最大报销额
  14. Ms SQL2016 备份和还原
  15. 盐城工学院c语言实验报告簿,盐城工学院单片机实验指导书.doc
  16. 小米4 android6.01的开发者模式开启方法
  17. 编程思维---排他思想
  18. Tromino(更准确地说是“右Trominio”)是一个由棋盘上的三个1x1方块组成的L型骨牌。
  19. 二进制安装Kubernetes(k8s) v1.25.0 IPv4/IPv6双栈
  20. Apache2.4 HTTP服务器配置反向代理和负载均衡

热门文章

  1. IDEA翻译插件Translate安装
  2. 水果店圈子:水果店生意越来越难做吗,小区门口的水果店生意怎么样
  3. 【CXL】学习资源整理
  4. 配图讲解10个风光摄影构图技巧
  5. Win10系统如何运行IE8
  6. 算法 64式 8、动态规划算法整理
  7. 致歉!遭遇恶意团伙刷票,活动取消!改为随机抽奖方式,红包增至10名!
  8. C++大型RPG游戏人生之路
  9. 【100%通过率】华为OD机试真题 Java 实现【最长的密码】【2022.11 Q4 新题】
  10. 行业软件英文缩写中文翻译