论文写作篇#5:想发C会,YOLO的消融实验Ablation Experiment/Study怎么写?

今天学习的消融实验的写法依然参考写作篇4中的8篇C会论文,可以链接跳转:

论文写作篇#4:YOLO还能发C会论文吗?C会论文的YOLO文章结构解析-CSDN博客

Ablation Experiment(消融实验)是机器学习和深度学习领域中一种重要的实验方法,主要用于评估模型中不同组件(如模块、层、特征或超参数)对整体性能的贡献。其核心思想是通过逐步移除或修改模型的某个部分(即“消融”),观察性能变化,从而验证这些组件的有效性或必要性。因此可以说,但凡是做深度学习相关研究的,就没有不做消融实验的。只有通过消融实验,才能说明改进的每个模块的有效性。

本文将从实验文字表述两个方面进行论述

消融实验:

消融实验可以在改进的探索过程中慢慢进行,需要记录下单个模块,以及多个模块一同的相互作用结果。因此,你必须确保每一个模块叠加上去时的效果是越来越好,指标是越来越漂亮的。否则很有可能出现在消融实验的某一组比改进完的模型效果还好的情况。这样的话就尴尬了

我们来看看别人是如何设计并进行消融实验的:

例如这篇,选取的指标分别是衡量模型复杂程度的Param参数量和GFLOPs计算量以及衡量模型准确度的mAP50和mAP50-95。如果你设计一种实时性强的模型,那么FPS就是你必不可少的指标。指标的选择是一门学问,并不是哪些好就选哪些。而是需要表现模型基本的复杂程度低(或者增加的不多Param,GFLOPs),准确度高(P,mAP,R,F1),实时性好(FPS)等等。这需要与你宣称了什么相关

如果你宣称你的模型轻量化,那么Param,GFLOPs的减少是不可缺少的。

如果你宣称你的模型高性能,那么P,mAP的增加是必不可少的

如果对评价指标有疑问的,可以参考这篇文章简短地阅读一下:

YOLO模型评价指标_yolo评价指标-CSDN博客

回到实验,我们可以选择一个一个累加上去看看每一个模块的贡献,也可以交叉堆叠排列组合,每个模块的贡献更加清楚。对于会议论文,个人认为一个个累加上去就足够工作量了。

我们再看一个例子:

可以看到这篇文章的消融实验也不是完整的,指标也选的比较奇怪,可能与其模型想要突出的优化有关。

文字表述:

我在学习到这的时候有一个疑问。消融实验按照排列组合的方法会有很多组,难道每一组的结果都要详细的说明吗?

并非如此!

突出重点:

你的这个模块改进目的是什么,就说什么。例如:

 

为了证实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所示。

像这篇论文,甚至没有表述具体的数值发生了哪些变化。但看他的指标选择,依然符合一个复杂度一个准确度的要求。 

甚至你可以把对比实验跟消融实验写在一起,这样能够节省篇幅,适合用于会议论文中。 

总结:

本文讨论了消融实验在深度学习中的重要性,强调了通过逐步移除或修改模型组件来评估其对整体性能的贡献。文章指出,消融实验需要精心设计,包括选择合适的评估指标(如模型复杂度、准确度和实时性),并确保每个模块的加入能带来性能的提升。对于会议论文,建议通过逐步累加模块的方式进行实验,并简要阐述每个改进的效果,而不必详细列出每个数据变化。此外,消融实验可以与对比实验结合,以节省篇幅。 

### 使用 mmyolo 进行消融研究 #### 设置消融实验环境 为了进行有效的消融实验,需先配置好 `mmyolo` 环境并准备好数据集。通常情况下,会采用预训练模型作为起点,在特定的数据子集上微调这些模型以观察不同因素的影响。 对于 YOLO-World-L 模型而言,其消融实验主要是围绕着 **预训练** 和 **架构设计** 展开的[^1]。因此,在构建消融实验时应考虑这两个维度的变化: - 更改不同的预训练权重源; - 调整网络内部组件或超参数; ####配置文件 在 `mmyolo` 中,所有的实验设定都通过 YAML 或 Python 文件定义。下面是一个简单的例子展示如何修改配置来进行消融测试: ```yaml # _base_ = './yolov8.py' model: backbone: type: 'YOLOv8Backbone' # 可尝试替换其他backbone, 如CSPDarknet等 ... data: train: dataset_type: 'CustomDataset' # 自定义数据集类名 ann_file: 'path/to/annotations/train.json' # 训练集标注路径 data_prefix: 'path/to/images/' # 图片前缀路径 test_evaluator: metric: ['bbox'] # 测试评价指标 ``` 针对具体的消融项,比如改变某些层的数量或是激活函数类型,则可以在对应的模块部分做相应调整。 #### 执行与记录结果 完成上述准备工作之后就可以运行训练脚本了。每次只变动单一变量以便于清晰地看出每一步改进所带来的影响。同时要记得保存各个版本的日志以及最终得到的最佳模型权重,方便后续对比分析。 #### 结果解读 当所有预定条件下的试验完成后,可以通过绘制图表的方式直观呈现各项性能差异。例如画出随着迭代次数增加而变化的学习曲线图,或者是比较各类别预测精度直方图等等。这有助于总结哪些改动确实带来了正面效果,从而指导未来的研究方向。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值