华为云深度学习笔记3
第六章 初始化
1.初始化的重要性
深度学习模型的训练本质就是对参数w进行更新,故对w的初始值确定有极大意义。
初始化的选取有时能决定算法是否收敛
当收敛时,初始点能决定学习收敛的快慢,是否收敛到一个代价高或低的点
过大的初始化会导致梯度爆炸,过小的初始化会导致梯度消失
好的初始化:
让神经元各层激活值不会出现饱和现象(尽量保证各层激活值得一致)
各层激活值不能为0(但均值为0)
全零初始化:
参数初始化为0
缺点:同一层神经元会学习到相同的特征,不能破坏不同神经元的对称性质(一般不用,每次更新后所获得的网络参数将会相同,提取不到有用的特征)
随机初始化:
将参数初始化为小的随机数,最终参数的每个维度来自一个多维高斯分布所取出的随机数
缺点:一旦随机分布选择不当,就会导致网络优化陷入困境(若参数初始值选取太小,反向传播时会导致小的梯度导致梯度弥散,降低参数的收敛速度,参数都会向0靠拢;若参数初始值选取太大,神经元会容易饱和,参数会集中在1和-1两个位置)
2.Xaveier初始化即He初始化
如何保证输入输出方差一致:
Xavier初始化
保证每层的输入和输出的方差一致,将参数初始化为:
为了解决激活函数对数据分布的影响,出现了He初始化
He初始化
在ReLU网络中,嘉定每一层有一半的神经元被激活,另一半为0,所以,要保持ver不变,只需要在Xavier的基础上在除以2,即将参数初始化为:
第七章 参数调节
1.参数调节介绍
超参数调节:
学习率α,动量衰减参数β,各隐藏层神经元个数等。
梯度下降与学习率:
学习率过小需要非常多次迭代才可以完成任务,学习率太大每次跳度会非常大,会产生发散的效果,如果学习率适中,会平缓快速的到达最终点。
Minibatch选择:
批量大小会影响神经网络的训练,批量过小训练太慢,批量过大会增加内存占用并减小准确率,所以64或128是一个不错选择。
训练技巧:
梯度裁剪:防止梯度爆炸
迁移学习:将原训练集学习到的知识迁移到目标训练集上
微调:迁移学习中的技术
试错法:
通过实验的迭代得到时间终止的参数
网格搜索:
如果有三个或更少的超参数时使用,对于每个超参数,使用者选择一个较小的有限值集去探索,然后,这些超参数笛卡尔乘积得到一组组超参数,网格搜索使用每组超参数训练模型,挑选验证集误差最小的超参数作为最好的超参数(没有考虑计算背景,可用资源越多,可用的猜测就越多,维度灾难)(适用于三四个超参数计算)
随机搜索:
与网格搜索之间的唯一区别在与策略周期的第一部:随机搜索在配置空间上随机选择点(指数级更适用)
贝叶斯优化:
构建代理模型,选择超参数,训练评估,优化模型,返回第二部步
- 点赞
- 收藏
- 关注作者
评论(0)