机器之心报道

机器之心编辑部

今日,一篇论文帖子在 Reddit 的机器学习版块引起了大家的关注。该论文表示 Concetto Spampinato 等人 2017 年的 CVPR 论文存在错误。但从讨论来看,这篇批评论文同样引起了网友的质疑。

Reddit 讨论地址:https://www.reddit.com/r/MachineLearning/comments/a8p0l8/p_training_on_the_test_set_an_analysis_of/

该论文对 Concetto Spampinato 等人 2017 年的 CVPR 论文《Deep Learning Human Mind for Automated Visual Classification》进行了分析,得出结论:这篇论文以及该实验室随后的 7 篇论文的结果都有误。

  • 论文标题:Deep Learning Human Mind for Automated Visual Classification

  • 论文地址:http://perceive.dieei.unict.it/deep_learning_human_mind.php

在围观 Reddit 讨论之前,让我们先看看批评者们都怎么说:

论文地址:https://arxiv.org/abs/1812.07697

以前 CVPR 2017 有一篇论文学习对受试者观察 ImageNet 图像时记录到的 EEG 数据进行分类,且使用学习到的分类器来训练一个纯粹的计算机视觉模型。在此论文中,ImageNet 中的图片做为刺激信号展示给接受 EEG 记录的受试者,然后训练一个结合全连接层和 ReLU 层的 LSTM 来预测记录到的 EEG 信号的图像刺激类别。其中 ReLU 的输出反映了人类对认知的神经编码。为了得到一种能产生同样认知编码的计算机视觉系统,这篇论文又把已有目标分类器的输出回归到论文声称的这种人类认知神经编码中。

那篇论文作出了三个声明:

  • 我们提出了一种能对图像激活脑电波的 EEG 数据进行分类的深度学习方法,这种方法在处理目标类别的数量与分类准确率上都超越了顶尖方法。

  • 我们提出首个由大脑信号驱动的计算机视觉方法,也就是首个利用视觉描述符进行自动分类的方法。这种视觉描述符直接提取自人类进行视觉场景分析时的神经处理过程。

  • 我们将会公开这一最大的视觉目标分析 EEG 数据集,且附上相关开源代码与训练模型。

特别是他们的论文近一步声明:

  • 相比于先前的研究,我们的方法能够分类大量(40)目标类别,特别是在 EEG 信号上。

  • 相比于先前分类 EEG 信号的研究,我们方法的分类准确率高的多(82.9%)。

此外,此论文更是用盛赞之词表达其声明的结果:

在本论文中,我们希望在经典 BCI 方面取得重大突破,即旨在探索一种新型和直接的人类参与形式,并用于自动视觉分类。这个方法潜在的观点是学习一种大脑信号对视觉类别的判别性流形,这可以通过分类 EEC 信号实现。也就是说读取大脑信号,并将图像映射到这样的流形上以允许机器执行自动视觉分类,这一过程可以说是将人类的视觉能力迁移到机器。

解码对象类别相关的 EEG 信号以用于计算机视觉方法,这种方法的影响是很巨大的。首先,识别基于 EEG 的判别性特征可能会提供一些关于人类视觉感知系统的洞见,其中这些判别性特征可用于视觉分类。因此,它将极大地提高基于 BCI 的应用性能,并实现新形式基于脑的图像标注。其次,将图像有效地投影到新的基于生物学的流形中将彻底改变对象分类器的开发方式(主要是在特征提取方面)。[31,§1pp.6809-6810]

我们做了很多实验与分析,且分析结果不禁让我们怀疑上面 CVPR 2017 原论文的声明。具体的,我们发现采用的分类器会让长期静态脑激活的使用会比独立刺激的时间长。由于前面那篇 CVPR 2017 论文采用了块设计(block design),所有给定类别图像的刺激都连续呈现给受试者,因此所采用的分类器倾向于在「块」期间内对大脑的活动进行分类,这似乎与刺激的图像类别很大程度上并不相关。

分类器对 EEG 信号中的 DC 和极低频(VLF)分量的依赖性加剧了这种情况,这些分量反映了「块」期间的任意长期静态心理状态,而不是动态的大脑活动。由于测试集中的试验与训练集样本试验都来自相同的「块」,这相当于在测试时获取了相同静态心理状态,从而「窃取」了训练信息。因此那篇 CVPR 2017 论文能获得极高的分类准确率,它隐性地在测试集上做训练!

当我们使用快速事件重新设计实验时,发现用不同图像刺激获得的信号完全是随机的,分类准确率下降到了随机选择。因此,这使得我们怀疑随后 7 篇论文的结果与声明(完整的名单读者可查阅原论文)。我们的实验最终表示潜在任务远远要比表面看起来难得多,并且远远超出现有的技术水平。同样,实验结果最终也表明了那 8 篇广泛发表的论文过于乐观了,它们的结果同样也是有误的。

Reddit 讨论

这篇帖子昨日发布之后,引起了多位研究者的讨论,有从标题开始批评论文《Training on the test set? An analysis of Spampinato et al. [31]》的,也有从技术层面对这两篇论文进行讨论的。机器之心编译介绍了部分评论,感兴趣的读者查看原帖。

网友 singularineet 表示:

怎么直观理解这篇论文要表达的意思呢?我们来打个比方。比如,你想训练一个分类器来分析 X 光片以检测癌症。这些 X 光片会显示其拍摄的时间(假设 X 射线机器会在早上进行校正,并在一天内随时间逐渐漂移,并且这种漂移效应会立刻出现在 X 光片中)。并且,有高度优先权的已知得了癌症的病人会在早上拍 X 光片,其他人安排在下午。那么,你的模型就能仅通过拍摄时间来准确地预测癌症。

同理,Spampinato 等人的研究中使用了 EEG 电极,导电霜是干燥的,电极接触不良等。因此,他们的实验引入了很多噪声,种种完全无关因素导致 EEG 的系统性漂移,并展示在图像中。此外还有外部噪声的干扰,比如空调温度等。

由于图像类是在同一类的块中呈现的,因此网络所要做的就是根据其他偶然要素进行预测,而不是寻找与图像类本身有关系的要素。

这些效应在脑成像领域中是众所周知的,这就是为什么实验方案总是平衡的,并且尝试通过消除有害信号来去除伪像。因此,批评论文中的所有注意力都集中在信号过滤问题上。

jande8778 更是直接批评《Training on the test set? An analysis of Spampinato et al. [31]》一文是他读过的最糟糕的论文。

我读过的最糟糕的论文。让我们从标题开始,其表明 [31] 的作者在测试集上训练,这是不对的。另一方面,[31] 的作者使用的 DL 技术是有意义的,如果他们证明使用不同数据集的那些方法的有效性,他们的研究应该没问题。

尽管如此,旨在发现 EEG 数据集偏差的批评部分还是有意义的。

jande8778 继续说这篇批判论文最浅显、最糟糕的部分是试图拒绝采用 DL 方法进行脑电波的分类与生成。他说:「评论他人的研究可能要比做研究更难,需要更严谨一些。」

其中,论文的一作 C. Spampinato 也对此帖作出了回复。他表示虽然批判论文的标题选了一个众所周知的禁忌,但他自己不是特别在乎,除了自己的名字出现在标题上。

此外,关于讨论中一些技术细节,Spampinato 也给出相应的解释。例如批判文章最大的质疑,即 CVPR 2017 的那篇论文采用块分析,连续地将相同类别的训练集与测试集给受试者,因此分类器学到的可能只是静态脑电波。Spampinato 表示这可能是一个假设,但是移除极低频和 DC 等可能影响的噪声后,分类器还是能实现很好的性能。此外,Spampinato 表示他们会做更多的研究与调查弄清楚这一假设。

机器之心CES 2019专题报道即将到来,欢迎大家积极关注。

点击「阅读原文」查看机器之心专题页。

在测试集上训练,还能中CVPR?这篇IEEE批判论文是否合理?相关推荐

  1. 训练集山准确率高测试集上准确率很低_拒绝DNN过拟合,谷歌准确预测训练集与测试集泛化差异,还开源了数据集 | ICLR 2019...

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 深度神经网络(DNN)如今已经无处不在,从下围棋到打星际,DNN已经渗透到图像识别.图像分割.机器翻译等各种领域,并且总是表现惊艳. 然而, ...

  2. 训练集山准确率高测试集上准确率很低_推荐算法改版前的AB测试

    编辑导语:所谓推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西:如今很多软件都有这样的操作,对于此系统的设计也会进行测试:本文作者分享了关于推荐算法改版前的AB测试,我们一起 ...

  3. [深度学习-TF2实践]应用Tensorflow2.x训练ResNet,SeNet和Inception模型在cifar10,测试集上准确率88.6%

    环境 tensorflow 2.1 最好用GPU Cifar10数据集 CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题.任务的目标对一组32x32 RGB的图像进行分类,这个数据集涵 ...

  4. [深度学习-实践]Tensorflow 2.x应用ResNet SeNet网络训练cifar10数据集的模型在测试集上准确率 86%-87%,含完整代码

    环境 tensorflow 2.1 最好用GPU Cifar10数据集 CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题.任务的目标对一组32x32 RGB的图像进行分类,这个数据集涵 ...

  5. 模型训练时测试集上正确率大于训练集

    模型训练时测试集上正确率大于训练集 参考 模型在测试集的准确率大于训练集 神经网络与深度学习-验证集(测试集)准确率高于训练集准确率的原因 一.问题   近日再进行Point Cloud Transf ...

  6. 为什么神经网络模型在测试集上的准确率高于训练集上的准确率?

    为什么神经网络模型在测试集上的准确率高于训练集上的准确率? 种花家的奋斗兔 2020-03-21 17:28:37  5847  已收藏 11 分类专栏: Deep Learning 文章标签: dr ...

  7. R语言e1071包中的支持向量机:仿真数据(螺旋线性不可分数据集)、简单线性核的支持向量机SVM(模型在测试集上的表现、可视化模型预测的结果、添加超平面区域与原始数据标签进行对比分析)、如何改进核函数

    R语言e1071包中的支持向量机:仿真数据(螺旋线性不可分数据集).简单线性核的支持向量机SVM(模型在测试集上的表现.可视化模型预测的结果.添加超平面区域与原始数据标签进行对比分析).如何改进核函数 ...

  8. dropout是什么?为什么dropout管用?测试集上是否需要使用dropout?说明为什么神经网络中的dropout可以作为正则化?

    dropout是什么?测试集上是否需要使用dropout?说明为什么神经网络中的dropout可以作为正则化? 目录

  9. SVM 训练--在训练集上acc为94% 在测试集上为70%

    用SVM 训练的时候: 出现的问题是: Error: specified nu is infeasible 带有下标的赋值维度不匹配. 百度到的答案:赋值维度不匹配...说明等号两边的大小不一致,导致 ...

最新文章

  1. centos7 3行命令安装powershell
  2. 断开的管道 java.io.IOException: Broken pipe 解决方法
  3. 验证手机号码的JS方法
  4. 拓端tecdat|数据告诉你:互联网哪个职位最有前途?
  5. eclipse中汉字对齐错误
  6. java jpanel 叠加_java之JFrame、JPanel混合布局-Go语言中文社区
  7. 【图像去噪】基于matlab高斯+低通+巴特沃斯滤波虹膜图像滤波【含Matlab源码 501期】
  8. prototype.js学习(1)
  9. 计算几何05_B样条曲线
  10. CentOS系统简介
  11. 热血传奇GOM引擎问题集锦
  12. 行政区域村级划分数据库_两区划定数据库规范
  13. python编程技术解决英语单词测试(包括添加英文单词、查询英文单词和查询英文单词)以及绘制雷达图功能
  14. 手把手教你在Linux上上搭建BitTorrent服务器
  15. OpenCV+MFC 显示图像
  16. 软件开发工程师转正申请书
  17. 2021年我国单身成年人将升至9200万,单身人口的增加会带来哪些影响?
  18. Unity学习笔记(实现传送带)
  19. Toad 使用快速入门(转贴)
  20. angular2中一种换肤实现方案

热门文章

  1. CommonJs模块规范
  2. 夺命雷公狗---linux NO:22 linux下的yum安装的高级配置
  3. Spring标签mvc:annotation-driven/解读
  4. c++ 对象指针参数和对象引用参数02
  5. Android开发之Mediaplayer
  6. JS获取鼠标位置,兼容IE FF
  7. MFC框架程序----实现十
  8. 正确使用Windows Azure 中的VM Role
  9. Windows核心编程 第十五章 在应用程序中使用虚拟内存
  10. UVA11992不错的线段树段更新