欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 人工智能 > pytorch >内容正文

pytorch

lgg7深度详细参数-凯发k8官方网

发布时间:2024/10/14 pytorch 45 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 lgg7深度详细参数_深度学习平均场理论第七讲:batch normalization会导致梯度爆炸?... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

前言

batch normalization (bn)对于深度学习而言是一项非常重要的技术。尽管bn在网络训练的过程中表现力非常强大,但是大家始终没有一个很好的理论上的清晰理解。今天我们就试图解读这篇从平均场理论出发研究bn的论文:

a mean field theory of batch normalization​openreview.net

研究对象

我们考虑全连接网络上加上batch normalization技术:

其中

, 。 的取值范围为 ,其中b就是mini-batch的数量。

对于参数

以及 ,这篇文章设定为一个常数:

平均场处理

和之前我们讨论的全连接网络的平均场理论稍有不同的是,bn的平均场场理论需要处理的pre-activation(

)的个数为b个。这是由于bn技术是和mini-batch绑定的造成的。

因此从数学角度,我们需要考虑更加复杂的情况。而解决这个更加复杂的情况也是这篇文章的主要贡献之一。这里我把详细的数学细节略去,只讲主要结论。

通过理论计算bn网络初始化时候的梯度信息,我们发现梯度在bn网络中会发生梯度爆炸。

实验分析

(1)梯度爆炸问题

关于梯度爆炸的结论,我们需要通过实验验证。如上图所示,纵坐标就是衡量梯度大小的norm,而横坐标对应网络的深度。不同的颜色为不同的b值。

的确,从图中的显示,会发生梯度爆炸。尽管提升b的值会改善,但是由于理论获得的梯度爆炸的速率为

,所以不可以通过提升b而彻底解决这个问题。

(2)网络的可训练深度

尽管,我们发现了初始化情况下会发生梯度爆炸,但是这不一定意味网络不可以训练。于是我们做起了每篇平均场都会做的一个实验:

老规矩,白色虚线为理论预言而红色热图为真实实验。果不其然,平均场理论对于可训练深度的预言一直都很准,初始化时候的梯度爆炸的确会影响实验,可以训练的层数非常有限。

(3)bn到底行不行

我们知道我们在前面将两个重要的参数设定成常数:

然而在实际实验中,这两个参数是参与训练的。也就是说,我们需要研究不同

情况下的可训练性问题:

从上面这张图可以看出来,其实是

通过梯度爆炸限制了网络的可训练深度。通过调节两个参数是可以大大提升网络可训练的深度。因为真实bn在训练过程这连个参数会一直变化,但我们至少可以推测,对于bn网络的训练,梯度爆炸不一定是个问题。

讨论

这篇文章关于梯度爆炸影响bn的结论在其特定的语境是成立的,但是我更认为bn不太受梯度爆炸的影响。文章将调整参数归结于对于bn的改进,这也是一个特定语境成立的结论。这篇文章可能不符合我们对于bn常规的认知,但是我们不能否定这篇文章的理论贡献。

总结

以上是凯发k8官方网为你收集整理的lgg7深度详细参数_深度学习平均场理论第七讲:batch normalization会导致梯度爆炸?...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

网站地图