你根本不需要数据增强来训练你的分类器!!

发布: (2025年12月27日 GMT+8 21:33)
10 分钟阅读
原文: Dev.to

Source: Dev.to

请提供您希望翻译的正文内容,我将按照要求保留源链接、格式和技术术语,仅翻译文本部分。

本博客内容

  • 介绍
  • 使用分类器:第一个分类器
  • 理解分类器:不可靠的来源
  • 实际研究:研究
  • 结果

导言警告:如果你想直接从研究开始阅读,请从 实际研究 开始,然后阅读 结果

关键术语

Binary Referral – 关于患者是否应转诊至其他服务、专科或护理层级的二元(是/否)临床决策。

Exotropia – 一种斜视(眼位不正),表现为一只或双眼向外偏离鼻子。可为持续性或间歇性,可能导致复视、眼睛疲劳或深度感知下降。

Esotropia – 一种斜视,表现为一只或双眼向内转向鼻子。可为持续性或间歇性,儿童常见,亦可出现在任何年龄段。

Resolution – 衡量预测模型在不同观察到的结果频率的情形下区分能力的指标。分辨率越高,模型对实际事件可能性不同的案例分配的概率就越不同。

Introduction

提升分类器性能的最常见方法有:

  1. 使用更多数据
  2. 使用预训练架构
  3. 采用数据增强

之前,我已经大量撰写了关于分类器训练的文章——从常见的陷阱到 AutoAugmentRandAugmentTrivialAugment 等增强技术,并且还在使用 CutoutCutMixMixUp

在这些帖子中,我经常引导新人使用 TrivialAugment,或者建议他们探索生成对抗网络(GAN)。在医学领域,StyleGAN2‑ADA 给我留下了深刻印象:它在数据有限的情况下表现良好,一旦掌握了 GAN 基础就相对直观,并且在对比前代如 StyleGAN 和 StyleGAN2 时表现更强。

然而,我最近的研究让我重新思考了一些假设。

June 2025 – The First Classifier

2026 年 6 月,我刚开始为一个开源项目做贡献,研究聊天机器人,并打磨几个独立的研究项目。就在那段时间,我构建了自己的第一个分类器——并不是用于研究,而是为我决定参加的一个小型黑客马拉松准备的。该分类器是项目的核心,因为它需要根据预测提供运动建议,准确性至关重要。

项目顺利完成并成功提交。我的成绩如何?并没有获奖,也不是因为分类器的原因。问题出在依赖更新和包不兼容上(我在这里详细讨论了这些问题)。

尽管如此,这段经历——其中的挫折、局限和小小的胜利——激发了我对分类器进行为期六个月的深入探索。

July 2025 – August 2025 – Unreliable Sources

几周后,我重新审视了最初的分类器,并开始使用大语言模型(LLM)对其进行改进。我的目标是学习在仅有 500 张图像、5 个类别 的情况下,构建高效分类器的最佳策略。

起初一切顺利;LLM 的建议提升了模型。但随后出现了著名的下降:输出质量下降,改动变得不再有意义,最终分类器的性能变差。

尽管我在学习“程序和算法”,却发现自己不断地按 Ctrl + CCtrl + V。对这种讽刺感到厌倦,我自问:

“研究分类器到底有多难?”

TL;DR: 对新人来说极其困难。

我重新温习了 CNN(这是我很久以前学习并在Juggling Multiple Interests中写过的主题),随后转向数据增强。

由于 LLM 的矛盾和反复,我对它们的信任度下降,但仍会用它们查找基本定义,只是能清楚辨别信息是否可靠。最终我决定:

“还有什么比直接从源头学习更好的方式?”

这个决定带来了挑战:AutoAugment 需要相当的基础知识。最终,这一努力是值得的。

在此期间,我了解了:

  • AutoAugment 的工作原理
  • 计算需求与约束
  • 在 ImageNet、CIFAR‑10、SVHN 等数据集上的表现
  • 架构、优化、GPU 与 CPU 的考量

这些自然引出了 RandAugment——AutoAugment 的计算成本更低的继任者。与此同时,我进入了医学/临床视角的领域,心中一直萦绕着一个问题:

“在临床环境中,哪种方法更可取?”

这个问题成为我数月研究的动力。

June 2025 – November 2025 – The Study

2025 年 7 月底,我开始了一项独立研究,旨在为特定任务——二元转诊——对数据增强技术进行基准测试。

我的目标是确定在准确但也可能次优的临床条件下,增强技术是否真的有帮助。

此时,我已经深入研究了针对特定数据集的增强(AA、…)。

Source:

RA, TA). 为了将它们与更通用、侧重鲁棒性的增强方法进行比较,我加入了 Mix 系列:CutoutCutMixMixUp

最终增强集合

增强方法类型
AutoAugment数据集特定
RandAugment数据集特定(较轻)
TrivialAugment数据集特定(非常轻)
Cutout通用鲁棒性
CutMix通用鲁棒性
MixUp通用鲁棒性
Baseline无增强

模拟次优条件

  • 硬件:仅 CPU(无 GPU)
  • 数据集规模:约每类 100 张图像——压力测试
  • 模型:预训练的 EfficientNet‑B0、MobileNet‑V2、MobileNet‑V3(在 ImageNet 上训练)以缓解数据稀缺

出现了一个实际问题:这些模型需要 224 × 224 的输入。裁剪不可行,因为会去除空间上重要的医学特征。我通过 填充 图像至正方形的方式解决了这个问题,生成了符合 224 × 224 要求的输入,同时保留了结构。Grad‑CAM 证实模型仍然能够定位正确的区域。

评估指标

  • 统计分析
  • Brier 分数分解
  • 比值比(以及其他校准度量)

Source:

结果

(结果部分紧随研究描述,为了完整性而放在此处。继续阅读可获取详细发现、表格和可视化。)

AUC/DeLong 比较

我使用 esotropia(内斜视)和 exotropia(外斜视)数据集进行测试,因为它们的特征截然不同。

Esotropia

  • AutoAugment 给出了最一致的结果。
  • 我尚未完成完整的定性分析,但 AutoAugment 很可能学习到了强调关键内斜视特征的策略。

Exotropia

  • TrivialAugment 表现最为一致。
  • 这表明简单的随机变换也能帮助稳定性能。

表现不佳者:CutMix

  • CutMix 在几乎所有随机种子和模型上始终表现不佳。
  • DeLong 检验(基于 AUC)反复显示 CutMix 相较于其他增强方法性能更差。

Brier 分解

  • MixUp 最常出现低可靠性问题,其次是 AutoAugment。
  • 在分辨率方面,AutoAugment 最为稳定,展现出强大的案例区分能力。

最大收获

在多个随机种子、预训练模型和数据集上,基线模型在几乎所有指标上与增强版本的表现相似。

结论: 训练分类器时并不一定需要数据增强。
只要拥有高质量的数据集、恰当的预处理以及合适的预训练模型,即使是小数据集也能达到强劲的基线水平(例如,在各种指标上约为 0.93)。

如果你决定使用数据增强,我的推荐是 AutoAugment

进一步阅读


下次再见,带来另一个项目。

记住,有时基线已经相当出色。

Back to Blog

相关文章

阅读更多 »