Batch Norm 对神经网络中的每一层进行正则化(未完成)

Posted 自挂逸夫楼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Batch Norm 对神经网络中的每一层进行正则化(未完成)相关的知识,希望对你有一定的参考价值。

这是为了解决深层神经网络梯度消失的问题

因为随着训练的进行,我们每一层的网络输出会逐渐两极分化

 

比如使用的是tanh激活函数,到最后就会使偏导几乎等于0,网络的训练时间过长

我们可以把每一层的输出看做符合N(u, alaph)的正态分布

如果我们能将这一层的正太分布改为符合N(0,1)就很舒服了

 Znorm就是符合N(0,1)的正太分布的

但是如果只是使用Znorm就有点死板了,我们加一个线性变换,其中的y,beta是我们可以通过神经网络学习的变量

 

但是,,,如果我激活函数使用relu,在最后几层使用tanh,应该就没有这样的问题了把

 

以上是关于Batch Norm 对神经网络中的每一层进行正则化(未完成)的主要内容,如果未能解决你的问题,请参考以下文章

动手学pytorch-Batch Norm

Batch Normalization

使用工厂模式与泛型对三层架构的每一层进行解耦

如何使用 caffe batch norm

Tensorflow:批归一化和l1l2正则化

Tensorflow:批归一化和l1l2正则化