极市导读
结合 Dr.Matias Valdenegro 教授在 ICCV 2021 Worksho[1] 上分享过的内容及笔者的一些浅薄经验为大家介绍如何写出一篇审稿人所期待的 CV 顶会论文。>>加入极市CV技术交流群,走在计算机视觉的最前沿
引言
一篇论文从课题的确立到文章最终被接收大概会经历以下几个过程:
-
主动选择 or 被动分配一个课题; -
围绕该课题的相关领域展开调研; -
挑选该领域的经典及最新文献进行阅读; -
构思 idea 并进行大量的实验论证; -
撰写初稿并对原文进行多次润色; -
选择合适的期刊或会议踊跃投稿; -
运气好的 rebuttal 几次或者直接 Eealy Accpeted! -
运气不好的被 Reviwer 无情 Reject 后便可以洗洗睡觉转换战场了。
对于初学者而言,一开始可能都会像丈二的和尚一般摸不着头脑,此时心里可以多默念三句口诀:
-
这家伙在做些什么? -
为什么他要这样做? -
我究竟还能怎么做?
不过,相信大部分人在积累完一定文献的阅读和思考之后,会渐渐发现其实很多知识点都是一通百通的。这时候,如果你掌握了要领便会文思泉涌,idea 怎么拦都拦不住。当然一开始可能只是个小零件般的创新,但这并不妨碍我们快速的进行实验验证和文章撰写。
倘若抽中上上签,当你练完丹发现你所提出的这个小东西涨点显著时,大概率你整个人都会沉浸在胜利的海洋中无法自拔。此时,便会有不少同学磨刀霍霍向猪羊般要开始动笔创作了。
问题来了,一篇好的文章并不是简单的东拼西凑,乱写一通。要明白你的文章最终要成功发表是需要经过同行或专家评审的,因此一定要学会换位思考站在读者的角度去写作,这一点是重中之重,后续也会反复强调。今天我们将结合 Dr.Matias Valdenegro 教授在 ICCV 2021 Workshow[1] 上分享过的内容及笔者的一些浅薄经验为大家介绍如何写出一篇审稿人所期待的 CV 顶会论文。
正文
Why do we write papers?
首先,大家在做一件事情前,最好先问下自己:“为什么我要做这件事情?”。对应到今天的主题那便是——“Why do we write papers?”
-
是单纯为了把简历做的更好看? -
还是说为了在某一个领域产生更大的影响力? -
又或者说是为了交流思想并推动技术进步和领域发展呢?
笔者认为,发表论文的主要核心理念是向听众传达想法或对他人的工作进行探讨。这意味着一篇论文不是写给你自己看的,而是写给其他读者看的,这一点大家需要时刻牢记,切莫自嗨。(我知道有不少新手可能写完一篇文章后会觉得自己很牛逼,感觉已经无可挑剔了,可惜大部分情况下别人都不知道你想表达什么,也别问我为什么知道)
Impact of Papers
其次,再让我们看看一篇论文的质量对个人职业生涯发展的影响:
从上图可以简单总结出几个结论,且不说你的文章是 bad paper,哪怕你写一千篇 OK(及格) 或者 Pretty good(还行) 的 paper,它对你的职业生涯几乎影响甚微,很能做到“人过留名,雁过留声”的地步。而当你真正拥有一些创造性的、开创性的优质文章,它给你带来的直接或间接收益简直是不可估量的。所以按笔者的建议是,作为一名研究生,亦或是有资源有条件的本科生,初期阶段并不需要考虑吊炸天的idea,而是能按部就班的走完整个流程,再多锻炼几次便知道自己是否是块适合科研的料。这里需要跟大家强调的一点是,有人的地方就有江湖,有时候你不中标也并不是你自身的问题。许多人总会说“是金子总会发光”,但人生往往就是“酒香也怕巷子深”。另外,关于学术造假这件事,怎么说呢,就好比一个人,哪怕你做了一辈子的好事,但只要你做了一件性质足够恶劣的坏事都会成为你一生之中不可磨灭的污点。所以说,不到万不得已(例如被胁迫毕业)切不可触犯红线。最后,让我们看看一个有意思的梗:
-
一流学者提问题。 就如Hinton这极少个顶尖学者给我们提出了一个大的命题,指明了深度学习这个大圈子。 -
二流学者定问题。 诸如图像分类领域的ResNet、语义分割领域的FCN/UNet、目标检测领域的YOLO、生成领域的GAN、超分领域的SRCNN等这类奠基性的工作为大家设定好一条赛道; -
三流学者解问题。 95%的人就只需要就在一、二流学者给好的框架和赛道下修修补补,八仙过海,各显神通。
The Seven Keypoints
接下来,给大家介绍下关于写论文的七个核心要素:
-
所选课题是基于何背景提出的? -
为什么研究这个课题是重要的? -
是否有人已经做过相关的课题? -
前人的工作还有哪些不足之处? -
你所提出的方法有何不同之处? -
如何证明你所提出的方法更好? -
关于后续的工作该如何开展呢?
总的来说,笔者认为作者在开始动笔之前一定要想清楚这几个问题,做到心中有数,如果连你自己都答不上来,那就尴尬了。当然,这几个点对于审稿人也是同样适用的,大家可以想象成审稿人在读你文章时可能也是对着这些点审查你的论文。
The Reviewer’s Job
正所谓知己知彼,方能百战百胜。既然扯到审稿人,那干脆就让我们站在上帝视角,看看这些审稿人的日常工作是什么:
-
检查论文行文是否规范、方法是否新颖、评估是否合理以及想法是否可以理解等; -
针对作者的问题提供建设性反馈以帮助他们更好的改进论文,包括但不仅限于评估提议方法的新颖性或与现有技术的差距等。 -
如果有 rebuttal 过程,则提出更详细的反馈给作者,并在需要时重新评估他们的 comments。
Core Advice
在撰写论文时,有经验的作者(通常也担任审稿人)可以预测审稿人会指出的问题。这就是为什么单独写一篇论文(特别是作为初学者)可能很困难。古人常说,当局者迷,旁观者清,有时候我们也可以请其他更有经验的研究人员去审阅我们的论文并发表建设性的意见。最后,非常重要的也是我们上面反复强调的一点便是你应该让其他人能理解这篇论文,而不仅仅是你自己。这也是审稿人最不期待见到的问题——What are you talking about?
Methodological Choices
关于实验方法的设置主要有以下三点;
-
Baselines. 笔者知道选择一个合适的基线其实并不容易,然而这往往也是审稿人喜欢攻击你的点。选简单了吧,别人说你避重就轻;选复杂了,相当于你把自己搞死。所以说如何选择一个合适的 Baseline 是重中之重。 -
Datasets. 关于数据集的选取一般是建议使用跟所研究领域相关的一些主流标准数据集。若有偏差,请适当说明为什么需要用到这个非主流的数据集做实验。 -
Ablations. 这一块笔者建议大家尽可能的拆解成一些模块化的设计,然后对不同的模块进行消融实验,同时也理应对重要的超参数影响进行消融设计,以全面评估所提方法的重要性。
Making Comparisons
与审稿人产生冲突的另一个重要来源是如何进行比较,同样罗列三点:
-
Baselines 或者 SOTA 方法选得不好,Reviwer 可能会误以为你在忽悠他,这时候就会要求你补充实验与他指定的方法PK了; -
仔细检查你的训练/测试集划分方式究竟合不合理,这个主要是防止训练/测试集之间出现数据泄漏,特别是对于创建新的数据集来说,不然你这就相当于作弊啦;此外,有些审稿人可能还会要求你进行多次实验取平均结果;最后,当你的方法与其它方法相比效果提升不显著时,笔者建议可以利用P-value等这类统计指标去support你的结论,塞住审稿人的嘴; -
评估指标这块也应该慎重选择,有时候审稿人会注意到你选取的指标应用到当前任务上是否合理?又或者让你添加多几个不同的指标进行对比也是家常便饭。
Aesthetics and Visual Appeal
前面我们提到的审稿人的几个工作之一涉及到行文的规范性。大家可以想象一下,一篇论文的排版就好比一个人的门面,适当的装饰也是非常有必要的,下列举几个常用的技巧给大家:
-
尽可能将图形/表格放在页面的顶部,视觉效果更好; -
确保你的图表都是高分辨率的并且是易于理解的; -
格式化表格,选取适当的间距和字体; -
使用颜色来引导读者,例如通过加粗来突出SOTA。
Other Advices
此外,一些细节的地方也需要大家多注意,下面结合图文给大家说明下:
-
标题的选取要适当,这样读者才知道你在表达什么。
-
参考文献记得引用,这是对他人工作的一种尊重。
-
图表的符号定义和引用要做到上下文一致。
-
图表注释尽可能简洁,规范。
-
公式变量尽可能取一些一眼看得出什么含义的,而非abc/123这类。
-
有时候也可以将子图和表格中的标题分组以便于解释。
-
通过人工注释增强文本中数学符号的可读性。
-
尽可能结合实际图像示例来阐述方法的动机。
-
在展示与SOTA方法的比较时尽可能列出与所提方法的差异点。
-
消融实验部分尽可能按模块罗列,避免视觉冗余。
-
好的展现方式很重要,该分组的分组,该加粗的加粗。
最后的最后,让我们再聊聊审稿人的问题。相信每次审稿意见出来时,网上总是会存在不少批判审稿人的声音。确实,在大多数顶会中,审稿人的意见、经验和关注度存在显着差异,这主要是由于:
-
专家审稿人短缺,好的审稿人成为区域主席,因此很难找到好的审稿人,甚至不少人吐槽说现如今一堆审稿人本身都只还是个学生; -
现在市面上大大小小的会议真的数不胜数,这也一度导致投稿量激增,而且是年年增长的趋势; -
存在部分审稿人只是简单做出接受/拒绝的决定,并没有帮助作者改进他们的研究和论文,例如直接来一句“你的论文创新不足”,直接社死;
所以唯一可能的解决方案是让社区将更多资源投入到审核流程中,并培训这些审稿人,避免盲目评审。
总结
写论文也算是一门艺术性的工作,有时候方法涨点显著与否并不是那么重要,包装 story 的功底才是一名研究人员需要真正具备的能力。话虽如此,笔者最后还是再强调一点,写论文的目的是为了让他人能够理解作者的动机和要点,并推动技术进步和领域发展。倘若你没有经验,笔者建议可以查看被引用次数较多的论文,看看他们是如何呈现结果、表格、格式、图形等,毕竟它山之石可以攻玉。最后,提前恭祝大家在新的一年里投稿必中。
公众号后台回复“CNN综述”获取67页综述深度卷积神经网络架构
技术干货:损失函数技术总结及Pytorch使用示例|深度学习有哪些trick?|目标检测正负样本区分策略和平衡策略总结
实操教程:GPU多卡并行训练总结(以pytorch为例)|CUDA WarpReduce 学习笔记|卷积神经网络压缩方法总结
# 极市原创作者激励计划 #
极市平台深耕CV开发者领域近5年,拥有一大批优质CV开发者受众,覆盖微信、知乎、B站、微博等多个渠道。通过极市平台,您的文章的观点和看法能分享至更多CV开发者,既能体现文章的价值,又能让文章在视觉圈内得到更大程度上的推广,并且极市还将给予优质的作者可观的稿酬!
我们欢迎领域内的各位来进行投稿或者是宣传自己/团队的工作,让知识成为最为流通的干货!
对于优质内容开发者,极市可推荐至国内优秀出版社合作出书,同时为开发者引荐行业大牛,组织个人分享交流会,推荐名企就业机会等。
“
点击阅读原文进入CV社区
收获更多技术干货

