本文经AI新媒体量子位(公众号ID:qbitai )授权转载,转载请联系出处

本文约2000字,建议阅读6分钟。

本文分析近期研究,为你揭示近年来机器学习突飞猛进发展的可疑之处。

站在2018年,图像分类准确率在95%以上的模型,已经遍地都是。

回想2012年,Hinton带着学生们以ImageNet上16.4%的错误率震惊计算机视觉研究界,似乎已经是远古时期的历史。

这些年来的突飞猛进,真的可信吗?

最近一项研究引出了一些反思:这些进步很可疑。

这项研究,就是加州大学伯克利分校和MIT的几名科学家在arXiv上公开的一篇论文:Do CIFAR-10 Classifiers Generalize to CIFAR-10?

解释一下,这个看似诡异的问题——“CIFAR-10分类器能否泛化到CIFAR-10?”,针对的是当今深度学习研究的一个大缺陷:

看起来成绩不错的深度学习模型,在现实世界中不见得管用。因为很多模型和训练方法取得的好成绩,都来自对于那些著名基准验证集的过拟合。

论文指出,过去5年间,大多数发表的论文拥抱了这样一种范式:一种新的机器学习方法在几个关键基准测试中数据,就决定了它的地位。

然而,这种方法与前人相比,为什么会有这样的进步?却很少有人解释。我们对于进步的感知主要基于几个标准的基准测试,比如CIFAR-10、ImageNet、MuJoCo。

这就带来了一个关键的问题:我们目前对机器学习进步的衡量方法,有多可靠?

这个指控,几乎要质疑图像分类算法几年来的一切进步。

空口无凭,如何证明?

为了说明这个问题,几位作者拿出30个在CIFAR-10验证集上表现良好的图像分类模型,换一个数据集来测试它们,用结果说话。

CIFAR-10包含60000张32×32像素的彩色图像,平均分为5个训练批次(batch)和1个测试批次图像共有10类:飞机、小汽车、鸟、猫、鹿、狗、青蛙、……

当然,如果随便找个数据集来测试,有欺负AI的嫌疑。他们为此专门造了一个和CIFAR-10非常相似的测试集,包含2000张新图片,一样的图片来源,一样的数据子类别分布,甚至连构建过程中的分工都学了过来。

这个新数据集,也就是论文标题中提到的第二个CIFAR-10,确切地说应该是“高仿CIFAR-10的小型测试集”。

新测试集给模型带来了明显的打击,战况如下:

著名的VGG和ResNet,分类准确率从93%左右下降到了85%左右,8个百分点凭空消失。

各位作者还在准确率的差异上,发现了一个小趋势。在原版CIFAR-10上准确率比较高的那些新模型,在新测试集上的成绩下滑不那么明显。

比如说成绩最好的Shake Shake模型,在新旧测试集上的准确率只差4个百分点。

论文中说,这个小趋势说明换个数据集成绩就下降可能不是因为基于适应性的过拟合,而是因为新旧测试集之间,数据的分布上有一些小变化。

但终究,那些为CIFAR-10打造的分类器,泛化性能依然堪忧。

质疑引热议

这个研究如同一枚深水炸弹。

前不久曾撰文唱衰人工智能的的Filip Piekniewski,称赞这篇论文是一个伟大的研究。他还把这个问题,称为“元过拟合”(meta-overfitting)。他还批评机器学习这几年只关注几个数据集,不关注现实情况。

俄勒冈州立大学教授Thomas G. Dietterich指出,不仅仅是CIFAR-10,所有的测试数据集都被研究者们很快搞得过拟合了。测试基准需要不断有新的数据集注入。

“我在MNIST上也见过类似的情况。一个准确率达到99%的分类器,换一个全新的手写数据集,立刻掉到90%。”OpenAI的研究员Yaroslav Bulatov说。

Keras作者François Chollet显得更为激动。他说:“显而易见的是,一大票目前的深度学习tricks都对知名的基准测试集过拟合了,包括CIFAR-10。至少从2015年以来,ImageNet也存在这个问题。”

如果你的论文,需要固定的验证集,以及特定的方法、架构和超参数。那么这个就不是验证集,而是训练集。这种特定的方法,也不一定能泛化到真实数据上。

深度学习的研究,很多时候使用了并不科学的方法。验证集过拟合是一个值得注意的地方。其他问题还包括:基准太弱、实证结果不支持论文想法、大多数论文存在可重复性问题、结果后选等。

比方你参加Kaggle竞赛时,如果只根据验证集(public leaderboard)数据来调整你的模型,那么你在测试集(private leaderboard)只会一直表现不佳。这在更广泛的研究领域也是如此。

最后给一个非常简单的建议,可以克服这些问题:使用高熵验证过程,例如k-fold验证,或者更进一步,使用带shuffling的递归k-fold验证。只在最后用官方验证集上检查结果。

“当然,这样做成本更高。但成本本身就是一个正则因子:它迫使你谨慎行动,而不是把一大坨面条扔到墙上,看最后哪根能粘住。”François Chollet说。

不止图像分类

其实,这个过拟合的问题并不是只出现在图像分类研究上,其他模型同样无法幸免。

今年年初,微软亚洲研究院和阿里巴巴的NLP团队,在机器阅读理解数据集SQuAD上的成绩超越了人类。

当时,SQuAD阅读理解水平测试的主办方,斯坦福NLP小组就对自己的数据集产生了怀疑。他们转发的一条Twitter说:

好像整个研究界都在这个数据集上过拟合了。

Google Brain研究员David Ha也说,很期待在文本和翻译领域也有类似的研究,他说如果在PTB上也看到类似的结果,那可真是一个好消息,也许更好的泛化方法会被发现。

论文

这篇论文的作者,包括来自UC Berkeley的Benjamin Recht、Rebecca Roelofs、Vaishaal Shankar,以及来自MIT的Ludwig Schmidt。

论文传送门:

https://arxiv.org/abs/1806.00451

泼冷水:反思机器学习5年大跃进(附论文)相关推荐

  1. (转) 干货 | 图解LSTM神经网络架构及其11种变体(附论文)

    干货 | 图解LSTM神经网络架构及其11种变体(附论文) 2016-10-02 机器之心 选自FastML 作者:Zygmunt Z. 机器之心编译  参与:老红.李亚洲 就像雨季后非洲大草原许多野 ...

  2. MIT 的新型开源系统 Taco 将数据分析速度提升 100 倍 !(附论文)

    来源:全球人工智能 概要:麻省理工学院(MIT)开发的一种新型计算机系统为涉及"稀疏张量"(sparse     tensor)的计算加快了速度,稀疏张量是主要由0组成的多维数据数 ...

  3. 图解LSTM神经网络架构及其11种变体(附论文)

    来源:机器之心 英文原文:Deep learning architecture diagrams 参与:老红.李亚洲 原文链接:图解LSTM神经网络架构及其11种变体(附论文) 本文经机器之心(微信公 ...

  4. 密集人体姿态估计:2D图像帧可实时生成UV贴图(附论文)

    Root 编译整理 量子位 出品 | 公众号 QbitAI Facebook人工智能研究院和法国国立计算机及自动化研究院最近提出了一种密集人体姿态估计新方法:DensePose-RCNN,同时宣布即将 ...

  5. WWW2021: AutoSTG面向时空图预测的神经网络结构搜索(附论文链接)

    近年来,随着智能城市建设的大力推进,学术界和工业界开始出现大量关于城市时空数据分析与挖掘的研究工作.面向城市中不同时空预测任务(如交通流量预测.区域客流量预测等),京东智能城市时空AI团队也已提出一系 ...

  6. (转) 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文)

    本文转自:http://mp.weixin.qq.com/s/aAHbybdbs_GtY8OyU6h5WA 专题 | 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文) 原创 201 ...

  7. 一周AI回顾 | 特斯拉AI负责人说神经网络正在改变编程,机器学习大神Bengio新论文专注RNN优化

    本期一周AI看点包括行业热点.投融资.业界观点.技术前沿以及应用等方面. 行业 英特尔将同AMD合作PC芯片 共同对抗英伟达 <华尔街日报>援引知情人士的消息称,英特尔将发布一款移动处理器 ...

  8. 2018 ACM博士论文奖公布:伯克利博士获奖,清华姚班马腾宇荣誉提名(附论文链接)...

    来源:机器之心 本文约2300字,建议阅读5分钟. 2018 ACM 最佳博士论文奖公布,UC 伯克利博士生 Chelsea Finn 凭借论文<Learning to Learn with G ...

  9. 机器学习算法一览(附python和R代码)

     机器学习算法一览(附python和R代码) 来源:数据观 时间:2016-04-19 15:20:43 作者:大数据文摘 "谷歌的无人车和机器人得到了很多关注,但我们真正的未来却在于能 ...

最新文章

  1. iPhone开发进阶(9)--- 用SQLite管理数据库
  2. 皮一皮:有的人自以为有小聪明...
  3. 模拟电路技术之基础知识(四)
  4. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前进实验调试
  5. Js组件layer的使用
  6. java二叉树转换为链表_leetcode刷题笔记-114. 二叉树展开为链表(java实现)
  7. 00003-回文数的判定-leetcode-解法不唯一,1.reverse最简单,2.数学方法很有意思
  8. JavaWeb知识点
  9. Shader Graph 护盾
  10. JS利用canvas画布功能画时钟
  11. 一文看懂STM32单片机和51单片机区别
  12. Axure 下载教程
  13. 敢不敢用一年时间改变你自己?
  14. 前端JavaScript学习小总结
  15. 如何玩好微信十亿流量?微趋道教你小程序推广最全攻略!
  16. Makefile 指南
  17. KLOOK客路旅行获2亿美元D轮融资,将投入全球拓展
  18. 补脾常见中成药辩驳------健脾丸、归脾丸、人参健脾丸和人参归脾丸的区别!
  19. Hibernate 返回类型转Integer
  20. 使用BitLocker加密磁盘

热门文章

  1. nginx负载均衡以及反向代理
  2. golang reflect
  3. mongo code 96
  4. ifcfg系列命令配置网络属性
  5. 安装Ubuntu13.10后必做的10件事
  6. 利用 Cloudera 实现 Hadoop (一)
  7. DLL(MFC)通过Window消息向C#程序传递数据
  8. Grid SearchCV(网格搜索) 用法代码演示
  9. 统一同一物理主机上VMware虚拟出的不同操作系统如何通信
  10. 一个object上拥有一个同步队列和一个等待队列