概述
本篇文章主要用来记录使用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),这三个函数的封装是逐个递进的,建议使用后面两个。
最后
以上就是矮小皮皮虾为你收集整理的tensorflow中batch_norm使用的全部内容,希望文章能够帮你解决tensorflow中batch_norm使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复