概述
这很重要,因为与批量归一化不同,即使批量很小,它也能很好地工作。
深入探讨
归一化层使流经网络的数字保持良好的规模,从而加速和稳定训练。批量归一化通过计算整个小批量中每个特征的均值和方差来实现此目的,但是当批量较小时,这会使其变得脆弱,因为统计数据会变得嘈杂且不可靠。 Wu 和 He 在 2018 年引入的组标准化将批次从方程中完全删除。对于每个单独的示例,它将通道分为固定数量的组,然后仅使用该示例自己的值对每个组进行标准化。由于计算从不依赖于批次中的其他示例,因此无论批次包含 32 张图像还是仅一张图像,性能都保持稳定,这使其在检测、分割和内存密集型视觉任务中很受欢迎。
现实世界的实施
对象检测和实例分割(例如,Mask R-CNN 样式模型)使用非常小的每 GPU 批次进行训练。
U-Net 主干位于扩散图像生成器内,其中组范数稳定了特征尺度。
3D 和视频网络中的高内存使用迫使批量大小降至一到两个。
在有限的硬件上微调大型视觉模型,其中小批量使得 Batch Norm 统计数据不可靠。
群体正常化的未来
在批量必须很小的情况下,组归一化仍然是首选,例如高分辨率检测和分割、3D 和视频模型以及内存有限的训练。它还嵌入到广泛使用的生成架构中,例如扩散模型中的 U-Net。随着模型的增长和内存压力导致批量大小减小,随着对混合和无标准化替代方案的持续研究,与批量无关的标准化器(其中的组标准化器与层标准化器一起)可能仍然是默认的构建块。
付诸实践
为什么这很重要
- 更清晰的判决. 它可以帮助您将清晰的技术声明与营销语言分开。
- 成本与预算. 在花费金钱或时间之前,您可以提出更好的实施问题。
- 团队与工作流程. 具有共同理解的团队可以做出更好的产品、政策和学习决策。
留意
- 不同的团队可能会以不同的方式使用同一术语,因此请尽早定义范围。
- 基准测试可能看起来很强大,但实际性能却参差不齐。
- 忽视数据质量和评估计划通常会产生脆弱的结果。
后续步骤
- 从您需要的结果的简单语言定义开始。
- 在测试之前选择一种成功指标和一种失败条件。
- 使用代表性数据运行小型试点,而不是完善的演示集。
- 记录组归一化在哪些方面有帮助以及在哪些方面更简单的方法更好。
不断探索
常见问题
什么是组标准化?
组标准化是一种通过对每个示例独立地标准化小组通道内的特征来稳定神经网络训练的技术。这很重要,因为与批量归一化不同,即使批量很小,它也能很好地工作。
组标准化在哪些维度上计算统计数据?
该指南称 GN 对每个示例中的通道组进行标准化。
对于非常小的批量,为什么 GroupNorm 比 BatchNorm 更好?
该论文强调小批量下的稳定行为,因为计算不依赖于批量统计。
GroupNorm 独立于批量大小意味着什么?
该论文的计算使用示例内组统计数据,与批量大小无关。
哪个 GroupNorm 设置对应于包含所有通道的一组?
该指南指出,一组将方案简化为 LayerNorm。
哪个 GroupNorm 设置对应于每组一个通道?
该指南称每组一个通道对应于 InstanceNorm。