动手学习深度学习(总结梳理)——7.数值稳定性和模型初始化

目录

1. 梯度消失和梯度爆炸

 2. 如何避免出现梯度消失梯度爆炸问题

 3. QA环节

3.1 老师能说一下权重出现nan和inf是为什么?以及怎么解决?

3.2 如果训练一开始在验证集准确率在上升,但是过了几个epoch,验证集准确率稳定在了50%,这是为什么?

3.3 梯度消失可以说是因为使用了sigmoid激活函数引起的吗?所以我们可以使用ReLU代替sigmoid解决梯度消失的问题?

 3.4 梯度爆炸是因为使用了什么激活函数引起的?

3.5 输出或者参数符合正态分布有利于学习,请问是有理论还是经验所得?

3.6 随机初始化有没有一种最好的,或者最推荐的概率分布找到初始随机值?

3.7 损失函数的三维高度图是可以可视化出来的吗?有没有这种东西帮助训练?

3.8 为什么可以假设每层输出独立同分布?如果不独立同分布会怎么样?

3.9 通过把每一层的输出方差和均值做限制,是不是可以理解为限制各层输出值出现极大值极小值的现象?


到目前为止,我们实现的每个模型都是根据某个预先指定的分布来初始化模型的参数。 你可能认为初始化方案是理所当然的,忽略了如何做出这些选择的细节。 你甚至可能会觉得,初始化方案的选择并不是特别重要。 相反,初始化方案的选择在神经网络学习中起着举足轻重的作用, 它对保持数值稳定性至关重要。 此外,这些初始化方案的选择可以与非线性激活函数的选择有趣的结合在一起。 我们选择哪个函数以及如何初始化参数可以决定优化算法收敛的速度有多快。 糟糕选择可能会导致我们在训练时遇到梯度爆炸或梯度消失。 在本节中,我们将更详细地探讨这些主题,并讨论一些有用的启发式方法。 你会发现这些启发式方法在你的整个深度学习生涯中都很有用。

1. 梯度消失和梯度爆炸

 最初的输入层的梯度是从输出那层,对前一层的梯度,应用链式法则的乘积

 如果d - t很大,代表层数很多,不断累积的乘法会使得大于1的梯度累乘出现一个非常大的梯度

 2. 如何避免出现梯度消失梯度爆炸问题

 推导过程

 3. QA环节

3.1 老师能说一下权重出现nan和inf是为什么?以及怎么解决?

通常inf可能是由于学习率调的太大了,初值给的也不好,大梯度的更新导致数值爆炸。nan可能是因为除0了,可能梯度已经够小了,然后还除了个0。一般来说,最简单做法是学习率选到很小,方差也不要选太大,先调小,再一点点去调整,使得学习有进展。

3.2 如果训练一开始在验证集准确率在上升,但是过了几个epoch,验证集准确率稳定在了50%,这是为什么?

一般来说感觉可能是数据问题,可以尝试调学习率,但是我感觉更有可能是数据的问题

3.3 梯度消失可以说是因为使用了sigmoid激活函数引起的吗?所以我们可以使用ReLU代替sigmoid解决梯度消失的问题?

确实结合sigmoid的梯度图像,它最大梯度在0.25,是很容易在很大或者很小的数值引起梯度消失,层数多了也是一个问题,使用relu可以缓解,但是梯度消失并不只是因为sigmoid函数引起的

 3.4 梯度爆炸是因为使用了什么激活函数引起的?

梯度爆炸和激活函数一般没什么关系,主要是因为每层输出的weight太大,一层层累积造成的

3.5 输出或者参数符合正态分布有利于学习,请问是有理论还是经验所得?

其实并不是一定让他处于一个正态分布,是让他的输出值处于一个合理的范围里面,只要是均值为0,方差为一个任意值就好了,只是正态分布或者均匀分布更好计算处理

3.6 随机初始化有没有一种最好的,或者最推荐的概率分布找到初始随机值?

其实一般来说目前没有这样的策略,如果用的话,选取xavier下的参数就很好

3.7 损失函数的三维高度图是可以可视化出来的吗?有没有这种东西帮助训练?

确实目前还没有比较好的,一般还是选择二维图像去观察可能效果会好些

3.8 为什么可以假设每层输出独立同分布?如果不独立同分布会怎么样?

这里的数学推导只是说开始状态下,这样会更稳定,中间的过程是不需要满足这个条件的

3.9 通过把每一层的输出方差和均值做限制,是不是可以理解为限制各层输出值出现极大值极小值的现象?

也可以这么认为,如果方差确实限制在一个极小的区间,确实会把你出现极大值极小值的概率缩小

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值