加入收藏 | 设为首页 | 会员中心 | 我要投稿 淮南站长网 (https://www.0554zz.cn/)- 管理运维、图像技术、智能营销、专属主机、5G!
当前位置: 首页 > 站长资讯 > 评论 > 正文

使用批归一化有哪些缺点?

发布时间:2021-02-24 13:17:39 所属栏目:评论 来源:互联网
导读:为什么要使用批归一化? 什么是批归一化 在训练深度学习模型过程中,当我们更新之前的权重时,每个中间激活层的输出分布在每次迭代中都会发生变化。这种现象被称为内部协变移位(ICS)。为了防止这种情况的发生,就需要修正所有的分布。简单地说,如果遇到了一

为什么要使用批归一化?

什么是批归一化

在训练深度学习模型过程中,当我们更新之前的权重时,每个中间激活层的输出分布在每次迭代中都会发生变化。这种现象被称为内部协变移位(ICS)。为了防止这种情况的发生,就需要修正所有的分布。简单地说,如果遇到了一些分布移位的问题,我们应该不让它们移位,以帮助进行梯度优化并防止梯度消失,这将有助于我们的神经网络更快地训练。因此,减少这种ICS是驱动批归一化发展的关键原理。

它是怎么运行的

批归一化通过减去批次上的经验均值除以经验标准差来归一化前一个输出层的输出。这将有助于数据看起来像高斯分布。

 

上面是ResNet-50的验证误差图。如果batch size保持为32,那么最终验证误差将在23左右,并且随着batch size的减小,误差会不断减小(batch size不能为1,因为它本身就是均值)。损失有很大的不同(大约10%)。

如果小batch size是一个问题,为什么我们不使用更大的batch size呢?实际上,我们不能在每种情况下都使用较大的batch size。在进行微调时,我们不能使用大的batch size,以避免使用大梯度伤害我们的模型。在分布式训练中,大的batch size最终将作为一组小的batch sizes分布在实例中。

会导致训练时间增加

NVIDIA和卡耐基梅隆大学进行的实验结果表明,“即使批归一化不占用大量计算资源,但收敛所需的总迭代次数却减少了。每次迭代的时间可能会显著增加”,并且随着batch size的增加,训练时间可能进一步增加。

(编辑:淮南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读