如何做实验
工欲善其事必先利其器!这是CVHub公众号的第十五篇原创文章,也是《学术小白也能看懂的学术进阶专栏》(计算机视觉方向)的第十五篇文章,同样是学术进阶专栏进阶篇的第六篇文章!
引言
实验部分,是支撑全文创新点的一个证明手段。一个好的实验设计,一定是全面的、客观的、而且具有代表性的。通过实验部分,我们可以验证所提出方法的有效性,也可以证明我们的方法比前人方法的一个优势(精度 or 速度),从而进一步的来强调创新点的贡献。接下来我们将向大家介绍一些实验部分通常包含的内容以及一些实验设计思路和分析技巧。
实验组成
在正式开始介绍实验设计思路之前,我们首先要明确实验部分一般包含哪些基本内容。
注:这里仅介绍一般的构成,具体的还需要根据期刊或会议的要求而定,如果没有要求也可自定义,选择最贴切的描述。
数据集介绍
一般有两种类型,一种是领域公认的Benchmark数据集,另一种则是自己首次提出的数据集(单纯提出新数据集也能发表论文)。这部分主要是介绍下数据集的名称、来源、组成、格式、分辨率等。另外还可以介绍下训练、验证、测试集的划分方式,对于一些特殊的情况应给予一定的说明。
实现细节
实验平台:比如基于CPU还是GPU,其版本型号是什么。另外网络模型是基于Tensorflow/Pytorch还是什么框架实现的
超参数设置:比如方法本身所涉及到的一些参数、优化器/学习衰减策略/正则化项/初始化方式的选取、训练轮数/迭代次数/批次大小/学习率/权重衰减/动量等的取值。
数据增强:比如一些常规的几何数据增强(水平翻转/垂直翻转/随机旋转/平移/裁剪/缩放/仿射/投影/…)以及色彩数据增强(随机对比度/饱和度/亮度/色彩空间转换等)。
后处理:比如一些测试时数据增强(TTA)、条件随机场(CRF)、分水岭算法以及一些模型集成、多模型交叉验证等,如果没有涉及到后处理操作可以不写。
评价指标
这一部分主要介绍的是你实验过程中所用到的评价指标。比如分类任务常用的评价指标有准确率/精确率/召回率/F1分数/AUC;回归任务常用的评价指标有平均绝对误差MAE/均方根误差MSE/交并比IoU等。
消融实验
消融实验部分可以分为模块之间的消融以及模块内部的消融,主要是用于验证各个方法的有效性以及不同关键参数对模块性能的影响。假设一篇论文的创新点有三个,如 A、B和C。那么,模块之间的消融实验通常有两种常规的设计思路(其中w/o表示without):
Baseline、Baseline+A、Baseline+B、Baseline+C、Baseline+A+B、Baseline+A+B+C (Ours)
Baseline、Ours w/o A、Ours w/o B、Ours w/o C、Ours
而模块内部的消融实验可以是设置不同的超参数或者是选取不同的方式进行验证。
对比实验
对比实验部分所比较的对象主要可分为两类:经典方法和最新的SOTA方法。经典方法诸如分类领域的ResNet,分割领域的FCN、U-Net,检测领域的R-CNN系列、YOLO系列以及FCOS等。最新的SOTA方法一般分为两种,一种是找跟创新点相关的方法比较,另一种则是找在当前数据集上达到SOTA的算法(这个的话可以上paper with code网站上寻找或者直接在相关文献寻找)。
设计思路与分析技巧
一般可分为图分析和表分析。图分析指的是结果图展现,即定性分析,也就是根据结果图去描述;而表分析指的便是表格展现,即定量分析,也就是根据表中的统计性数据去描述。
图分析
假设你的方法是注意力相关的,那么你的结果图就应该是搞一些可视化渲染图,将注意力权重以某种方式叠加到原图上,让读者能够清晰的观察到你的注意力相比于其他注意力方法是更能够关注到某个重点区域的。再比如你的方法是多尺度相关的,那么你的结果图就应该摆上一些能够体现多尺度目标的例子,以此来证明你所提出方法它能够很好的捕捉多尺度的上下文信息。在描述的过程当中我们应该适当的点名其他方法的创新点,然后再使用连接词或者转折词汇描述其缺点,因而会出现什么现象。
表分析
原则上我们会选取比较能体现差距的指标进行展现。描述顺序可以按照算法出现的年份来展开,比如先描述Backbone所能达到的一个性能表现;接下来再接着阐述A算法比Backbone提升了多少。后面环环相扣,最终引起我们的方法所达到的一个性能表现。通常来说,我们的方法应该是要比所对比的方法精度都要高,如果是比实时性的话,那么我们应该在精度相仿的情况下,速度 要快的多。
结语
实验部分对支撑论文的创新点来说是非常关键的。好的实验结果一定是客观、可靠且能令读者信服的。我们也应该尽可能保证和允许读者可重复我们的实验,因此我们也应该尽量把实现细节描述清楚。最后,如果觉得实验部分还未能够深入说明问题的,可以加多一章讨论部分,解释实验得到的数据和分析结果,探究结果的本质和重要性等;也可以集中论述下所提方法与已有研究的联系,或者其带来的延伸价值及未来可以进一步分析的研究点。实验结果只有经过对比、分析原因、总结之后,才能体现出其独特的研究价值。作为一名读者,也同样希望能够从实验结果中挖掘中有意义的研究价值。