Tensoflow_Batch_Normalization

本文深入解析BatchNormalization技术,包括其公式、工作原理及在深度学习中的应用。探讨了BN如何通过调整输入分布加速训练过程,避免梯度消失和爆炸,同时减少过拟合风险。介绍了TensorFlow中实现BN的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Batch normalization的公式

BN公式

其中:xix_{i}xi是输入,μB\mu _{B}μB是均值,σB2\sigma _{B}^{2}σB2是方差,γγγ是缩放系数(scale),βββ是偏移(offset)系数,ε\varepsilonε是方差偏移系数,BN(xi)BN(x_{i})BN(xi)是输出。

2. Batch normalization介绍

批标准化(batch normalization,BN),一般用在激活函数之前,使结果y=wx+by=wx+by=wx+b,各个维度参数均值为0,方差为1。通过规范化让激活函数的输入分布在线性区间,让每一层的输入有一个稳定的分布会有利于网络的训练。
优点:

  • 加大探索步长,加快收敛速度。
  • 更容易跳出局部极小。
  • 破坏原来的数据分布,一定程度上防止过拟合。
  • 解决收敛速度慢和梯度爆炸。
3. Batch normalization的tensorflow API
3.1
mean, variance = tf.nn.moments(x, axes, name=None, keep_dims=False)

计算统计矩,mean 是一阶矩即均值,variance 则是二阶中心矩即方差,axes=[0]表示按列计算;

3.2
tf.nn.batch_normalization(x, mean, variance, offset, scale, variance_epsilon, name=None)
tf.nn.batch_norm_with_global_normalization(x, mean, variance, beta, gamma, variance_epsilon, scale_after_normalization, name=None);

tf.nn.moments 计算返回的 mean 和 variance 作为 tf.nn.batch_normalization 参数调用;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值