深度学习之与学习相关的技巧(篇三Batch Normalization与正则化)

#深度学习

        在上一篇,我们观察了各层的激活值分布,并从中了解到如果设定了合适的权重初始值,则各层的激活值分布会有适当的广度,从而可以顺利地进行学习。那么,为了使各层拥有适当的广度,“强制性”地调整激活值的分布会怎样呢?实际上,Batch Normalization[11]方法就是基于这个想法而产生的。

        1. Batch Normalization

        Batch Normalization[1]是一种在深度学习中用于提高训练速度和稳定性的技术,由 Sergey Ioffe 和 Christian Szegedy 在2015年提出。它的主要目的是解决在训练深度神经网络时内部协变量偏移(Internal Covariate Shift)的问题。

        内部协变量偏移指的是神经网络在训练过程中,由于每层输入的分布不断变化,导致每层的权重需要不断适应这些变化,这会使得训练过程变得缓慢且难以收敛。Batch Normalization通过以下步骤来解决这个问题:

  1. 标准化:对每个特征在小批量数据上进行标准化处理。具体来说,对每个特征,计算小批量数据的平均值和标准差,然后使用这些值将每个特征标准化到均值为0,标准差为1的分布。

            

    其中,𝑚是批量大小,𝜖是一个很小的数,以避免除以零。

  2. 缩放和移位:通过引入两个可学习的参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值