我是靠谱客的博主 矮小皮皮虾,最近开发中收集的这篇文章主要介绍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),这三个函数的封装是逐个递进的,建议使用后面两个。

 

 

最后

以上就是矮小皮皮虾为你收集整理的tensorflow中batch_norm使用的全部内容,希望文章能够帮你解决tensorflow中batch_norm使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部