normalization

  1. bn
  2. 对批次大小的依赖
    • BN的效果在很大程度上依赖于批次大小(batch size)。当批次大小较小时,BN可能无法准确地估计每个批次的均值和方差,导致性能下降。
    • 在某些情况下,如在线学习或内存受限的环境中,可能无法使用较大的批次大小,这限制了BN的应用。
  3. 不适用于RNNs
    • BN最初是为卷积神经网络(CNNs)设计的,而在循环神经网络(RNNs)中,由于数据之间存在时间依赖性,BN可能无法有效地工作。
    • 尽管有一些尝试将BN应用于RNNs的变体(如Layer Normalization),但它们可能无法完全解决BN在RNNs中的问题。
  4. 计算成本
    • BN在训练过程中需要计算每个批次的均值和方差,这增加了计算成本。
    • 在某些情况下,为了降低计算成本,可能会选择使用其他归一化方法(如Group Normalization或Instance Normalization)。
  5. 对模型结构的影响
    • BN层增加了模型的复杂性,并可能引入额外的参数(如可学习的缩放和偏移参数)。
    • 这可能导致模型更加难以优化,并可能增加过拟合的风险。
  6. 在测试时的表现
    • 在训练过程中,BN使用每个批次的统计信息来归一化数据。然而,在测试时,通常没有批次的概念,因此需要使用训练过程中计算的移动平均值和方差来进行归一化。
    • 如果训练数据和测试数据之间存在分布差异,这可能导致BN在测试时的性能下降。
  7. 在某些情况下可能不是最佳选择
    • 尽管BN在许多情况下都表现出色,但在某些特定任务或数据集上,其他归一化方法(如Layer Normalization、Instance Normalization或Group Normalization)可能更加有效。
  1. 归一化方式
    • LN:是“横”着来的,对一个样本的不同神经元(neuron)间做归一化。也就是说,LN是对单个数据的指定维度进行Norm处理,与batch无关。
    • BN:是“竖”着来的,它对各个维度做归一化,与batch size有关系。BN是取不同样本的同一个通道的特征做归一化,即逐特征维度归一化。
  2. 应用场景
    • LN:主要用于NLP领域,因为每个词向量的含义不同,若按照整个batch的数据进行归一化会产生较大误差。LN可以确保同一层神经元的输入具有相同的尺度,从而有助于优化。
    • BN:广泛应用于各种深度学习架构中,特别是卷积神经网络(CNNs)。它通过减少内部协变量偏移(Internal Covariate Shift)来加速训练,并有助于模型收敛

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值