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

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

大家好,又见面了,我是你们的朋友全栈君。


今日,一篇论文帖子在 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 讨论之前,让我们先看看批评者们都怎么说:

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

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

以前 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 表示他们会做更多的研究与调查弄清楚这一假设。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107122.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • vim 操作

    vim 操作

  • 从最初的什么都不懂到现在自己研究SEO开发出快速排名程序「建议收藏」

    从最初的什么都不懂到现在自己研究SEO开发出快速排名程序「建议收藏」话说SEO,一般人的思维就两个:外链与内容。他们观念中的外链是指到其它网站发外链。当然,笔者不否则这种SEO模式可以提升排名与网站权重。但是,除了发外链与每天更新内容外就没有其它的SEO手法可以有效地

  • Vue中 使用定时器 (setInterval、setTimeout)[通俗易懂]

    Vue中 使用定时器 (setInterval、setTimeout)[通俗易懂]js中定时器有两种,一个是循环执行setInterval,另一个是定时执行setTimeout。定时器需要在页面销毁的时候清除掉,不然会一直存在!1.循环执行(setInterval)顾名思义,循环执行就是设置一个时间间隔,每过一段时间都会循环执行这个方法,直到这个定时器被销毁掉;语法:setInterval(code,milliseconds);setInterval(function,milliseconds,param1,param2,…);code/funct

  • golang deepcopy_dos copy命令拷贝文件夹

    golang deepcopy_dos copy命令拷贝文件夹Go语言中所有赋值操作都是值传递,如果结构中不含指针,则直接赋值就是深度拷贝;如果结构中含有指针(包括自定义指针,以及切片,map等使用了指针的内置类型),则数据源和拷贝之间对应指针会共同指向同一块内存,这时深度拷贝需要特别处理。目前,有三种方法,一是用gob序列化成字节序列再反序列化生成克隆对象;二是先转换成json字节序列,再解析字节序列生成克隆对象;三是针对具体情况,定制化拷贝。前两种方法虽……

    2022年10月31日
  • idea代码编辑器_idea不会自动提示代码

    idea代码编辑器_idea不会自动提示代码介绍如何同时编辑一大块的代码(即如何让光标的位置同时停留在一大块代码行中)。

  • goland2021.3.26激活破解方法

    goland2021.3.26激活破解方法,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号