hho*_*omn 5 machine-learning computer-vision pytorch
我正在使用批量大小为 10 的批量标准化进行人脸检测,我想知道是删除批量规范层还是保留它们更好。如果最好删除它们,我可以用什么代替?
这个问题取决于几件事,首先是你的神经网络的深度。当有很多隐藏层时,批量归一化对于增加数据的训练很有用。它可以减少训练模型和调节数据所需的 epoch 数。通过对网络输入进行标准化,您可以降低追逐“移动目标”的风险,这意味着您的学习算法没有达到最佳效果。
如果您有深度神经网络,我的建议是在您的代码中包含批量归一化层。提醒一下,您可能还应该在图层中包含一些 Dropout。
让我知道这是否有帮助!
是的,它适用于较小的尺寸,甚至可以使用您设置的最小尺寸。
诀窍是巴赫大小还增加了正则化效果,而不仅仅是批量规范。我给你看几张照片:
我们以同样的规模追踪巴赫损失。左侧是没有批量标准化层的模块(黑色),右侧是带有批量标准化层的模块。请注意,即使对于 ,正则化效果也是如此明显bs=10。
当我们设置bs=64批量损失正则化时,它是非常明显的。请注意,y比例尺始终为[0, 4]。
我的考试纯粹是在nn.BatchNorm1d(10, affine=False)没有可学习参数的情况下进行的,gamma即beta和。wb
这就是为什么当批量大小较小时,使用 BatchNorm 层是有意义的。
| 归档时间: |
|
| 查看次数: |
4565 次 |
| 最近记录: |