← 返回题目列表

小数据集训练 CNN 如何缓解过拟合?

中等 第 17 / 25 题 更新于 2026/09/19
卷积神经网络机器学习面试题模型训练

简化版

小数据训练 CNN 的首选不是从零堆正则化,而是使用与目标域接近的预训练模型,再配合合理增强、分层冻结/微调和交叉验证。还要先排除数据泄漏;训练集很高、验证集很低只是症状,不自动说明该用更大 dropout。

详细版

  • 按主体、患者或时间分组划分,避免同源图片跨训练与验证集。

  • 先训练新分类头,再以较小学习率逐步解冻高层;域差异越大,需解冻越多。

  • 使用符合语义的裁剪、翻转、颜色扰动,必要时加 Mixup/CutMix。

  • 控制容量、weight decay、early stopping 与 label smoothing,但每项都要做消融。

  • 报告 K 折均值和方差、类别切片以及校准,不只看单次准确率。

完整版教学

一、小样本的核心矛盾是容量大于证据

CNN 有足够参数记住训练图片甚至背景噪声,而少量样本无法约束所有自由度。

预训练把通用边缘、纹理和形状知识作为强先验,显著缩小需要从目标数据学习的空间。

另一类风险是验证集不独立。

连续视频帧或同一患者的不同切片被随机拆开,会让验证分数虚高,任何正则化都修复不了这种评估泄漏。

二、底层机制与关键公式

冻结层等价于固定一部分表示,只估计较少参数;逐步解冻则允许高层适配新语义。

通常分类头学习率较大,越靠近输入的层学习率越小,以免灾难性破坏预训练特征。

增强扩大有效样本邻域,weight decay 限制权重规模,early stopping 限制优化步数。

它们作用机制不同,应按验证结果组合,而不是同时拉满。

discriminative LR example:
head:    1e-3
stage4:  1e-4
stage1:  1e-5

K-fold report = mean(metric_k) ± std(metric_k)

三、带数字的推演

只有 1200 张图时做 5 折,每折约 960 张训练、240 张验证。

若五折 F1 为 [0.78,0.83,0.75,0.81,0.79],应报告约 0.792±0.027,而不是只挑 0.83。

四、方案对比与选择

方案/场景机制或优势主要代价
预训练+冻结样本极少、域接近偏差可能偏大
逐层微调有一定数据或域差异需小学习率防遗忘
从零训练数据充分或域完全不同小数据下方差最高

五、实际执行流程

分组去重划分 -> 建立预训练基线 -> 只训分类头
-> 逐层解冻 + 合理增强 -> K 折/切片评估 -> 最后一次测试集评估

六、边界条件与工程代价

医学、工业等领域与 ImageNet 差异可能很大,预训练仍常有帮助,但不能默认所有低层特征都适配。

自监督领域预训练有时比自然图像监督预训练更合适。

测试集不能参与增强强度、冻结层数或 early stopping 的选择。

反复看测试集再调参,本质上仍是泄漏。

记忆钩子:按“先保评估可信,再借预训练降自由度,最后用增强和正则补强”的顺序处理。

七、常见误区与追问

  • 误区:训练准确率高就证明模型学会了任务。 小数据下更可能是记忆,必须看独立验证与切片表现。

  • 追问:为什么先冻结后解冻? 先让随机初始化的头稳定,再以小步更新预训练表示,减少破坏。

  • 误区:Dropout 越大越能解决过拟合。 过强会造成欠拟合,而且卷积主干中未必是最佳手段。

  • 追问:K 折后最终模型怎么训练? 确定方案后可用全部开发数据重训,再只在保留测试集评估一次。

  • 追问:如何发现数据泄漏? 按样本来源查重,并按主体、时间或设备重新分组验证。

八、加强记忆

按“先保评估可信,再借预训练降自由度,最后用增强和正则补强”的顺序处理。

小数据答案若没提分组划分与方差,就只解决了训练问题,没有解决可信评估。