tensorflow中batch_norm使用

本篇文章主要用来记录使用tensorflow中batch_norm时遇到的问题,以便自己后续查阅:

batchnorm是深度网络中经常用到的加速神经网络训练,加速收敛速度以及提供网络稳定性的算法,目前应该是深度网络中不可或缺的一部分,具体说来batchnorm有哪些用处呢?

1、加速训练收敛的特征,可以初始化较大的学习率,训练过程学习率的衰减也可以很快。

2、提高网络的泛化性能,不用过多的去关注网络的dropout,L2正则化参数(实际在网络构建时还是可以加入L2正则化)等参数的选择问题。

3、不再使用局部归一化层,BN就起到这样一个归一化的作用。

4、训练时的数据可以更加的无序。

不清楚具体实现以及作用的可以移步https://arxiv.org/abs/1502.03167看一下原著,具体怎么理解batchnorm这篇文章就不再讨论了,可以参考网上的很多博客,这儿我主要记录我使用batchnorm函数的一些心得以及遇到的可以说是比较大的坑了。

这儿得特别理解一下batch_norm得公式:y=r(x-u)/a+b,

据我所知batchnorm在tensorflow里面有比较常见的三种实现方式:tf.nn.batch_normalization、tf.layers.batch_norm、tf.contrib.layers.batch_norm(slim),这三个函数的封装是逐个递进的,建议使用后面两个。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值