今天学习的消融实验的写法依然参考写作篇4中的8篇C会论文,可以链接跳转:
Ablation Experiment(消融实验)是机器学习和深度学习领域中一种重要的实验方法,主要用于评估模型中不同组件(如模块、层、特征或超参数)对整体性能的贡献。其核心思想是通过逐步移除或修改模型的某个部分(即“消融”),观察性能变化,从而验证这些组件的有效性或必要性。因此可以说,但凡是做深度学习相关研究的,就没有不做消融实验的。只有通过消融实验,才能说明改进的每个模块的有效性。
本文将从实验和文字表述两个方面进行论述
消融实验:
消融实验可以在改进的探索过程中慢慢进行,需要记录下单个模块,以及多个模块一同的相互作用结果。因此,你必须确保每一个模块叠加上去时的效果是越来越好,指标是越来越漂亮的。否则很有可能出现在消融实验的某一组比改进完的模型效果还好的情况。这样的话就尴尬了
我们来看看别人是如何设计并进行消融实验的:
例如这篇,选取的指标分别是衡量模型复杂程度的Param参数量和GFLOPs计算量以及衡量模型准确度的mAP50和mAP50-95。如果你设计一种实时性强的模型,那么FPS就是你必不可少的指标。指标的选择是一门学问,并不是哪些好就选哪些。而是需要表现模型基本的复杂程度低(或者增加的不多Param,GFLOPs),准确度高(P,mAP,R,F1),实时性好(FPS)等等。这需要与你宣称了什么相关
如果你宣称你的模型轻量化,那么Param,GFLOPs的减少是不可缺少的。
如果你宣称你的模型高性能,那么P,mAP的增加是必不可少的
如果对评价指标有疑问的,可以参考这篇文章简短地阅读一下:
回到实验,我们可以选择一个一个累加上去看看每一个模块的贡献,也可以交叉堆叠排列组合,每个模块的贡献更加清楚。对于会议论文,个人认为一个个累加上去就足够工作量了。
我们再看一个例子:
可以看到这篇文章的消融实验也不是完整的,指标也选的比较奇怪,可能与其模型想要突出的优化有关。
文字表述:
我在学习到这的时候有一个疑问。消融实验按照排列组合的方法会有很多组,难道每一组的结果都要详细的说明吗?
并非如此!
突出重点:
你的这个模块改进目的是什么,就说什么。例如:
为了证实DCM-YOLOv8的每个修改的有效性,在分辨率为640 × 640像素的VisDrone数据集上进行了训练。解决方案的每个变体都经历了跨越50个epoch的专用训练方案,被认为足以确保每一个潜在的增强潜力,同时节省时间和计算资源。这些评估的定量结果列举在表1.在实验设置中,我们不仅评估了三个增强模型,而且还进行了一个单独的试验,该试验涉及将P2检测层集成到YOLOv8n框架中,合并该实验组的主要目的是确定观察到的颈部结构的改善是否仅归因于P2探头的添加层。结果是明确的:具有CLMiFPN的YOLOv8n模型在mAP50中实现了8.4的增加,而具有P2层的YOLOv8n模型的mAP50表现出3的增加。这表明多方向信息流机制确实显著提高了信息传输的效率,确保每一层有效地捕捉和传达关键特征。将YOLOv8n模型与DASPPF模型与标准YOLOv8n模型进行比较,发现召回率没有变化,准确率提高了2个点,MDhead在YOLOv8n模型中的引入导致了精确度,召回率和mAP指标的轻微但明显的改善,强调了该模型在提取关键信息方面的精细化能力,同时过滤掉不相关或破坏性的噪音特征。
我们可以看到实际上并不需要把每一个数据都说一遍,只需要说明你这么改模型有没有达到你在前面设想好的目标(很有可能是看到结果以后设置的),效果怎么样:提高了多少?降低了多少?等等……
其他情况:
为了验证本文对原网络模型改进的有效性,分别对mAP@0.5和mAP@0.5:0.95作为消融实验的评价指标,在原有模型YOLOv 7-tiny算法的基础上,设计了一系列消融实验来评价不同模块的影响,通过逐步引入本文提出的改进模块,如ELANDW模块和CBAM注意机制,观察其对检测准确率的影响,通过对比实验结果,验证了本文提出的改进方法的有效性,实验结果如表1所示。
像这篇论文,甚至没有表述具体的数值发生了哪些变化。但看他的指标选择,依然符合一个复杂度一个准确度的要求。
甚至你可以把对比实验跟消融实验写在一起,这样能够节省篇幅,适合用于会议论文中。
总结:
本文讨论了消融实验在深度学习中的重要性,强调了通过逐步移除或修改模型组件来评估其对整体性能的贡献。文章指出,消融实验需要精心设计,包括选择合适的评估指标(如模型复杂度、准确度和实时性),并确保每个模块的加入能带来性能的提升。对于会议论文,建议通过逐步累加模块的方式进行实验,并简要阐述每个改进的效果,而不必详细列出每个数据变化。此外,消融实验可以与对比实验结合,以节省篇幅。