当前位置:网站首页>华为深度学习课程第六、七章
华为深度学习课程第六、七章
2022-08-01 07:18:00 【swl.乌鸦】
目录
学习链接
第六章 初始化
首先说什么是初始化?
所谓初始化,就是对训练网络中的参数W找到初始值。
那为什么要初始化?初始化为什么那么重要?
一般神经网络需要优化的是非常复杂的非线性模型,要想找到最优解,初始点的选取起着重要的作用:
- 初始点的选取有时决定算法是否收敛
- 当收敛时,初始点的选取决定学习的快慢
- 过大的初始化导致梯度爆炸,过小的初始化导致梯度消失
那知道初始化的重要性了,我们就必须要找到好的初始化方法。
首先,我们要知道好的初始化的标准:
- 让神经元各层激活值不会出现饱和状态
- 各层激活值也不能为0
接下来,是几种初始化方法:
- 全零初始化:参数初始化为零
缺点:同一层神经元会学习到相同的特征,不能破坏不同神经元的对称性质。
- 随机初始化:将参数初始化为小的随机数。一般随机值会从一个高斯分布中取样,最终参数的每个维度来自一个多维的高斯分布。
缺点:一旦随机分布选择不当,优化就会陷入困境:
若参数初始值太小,在反向传播时会导致小的梯度,对于深度网络来说,在反向传播时会单只梯度弥散,收敛速度降低。
若初始值取得太大,会容易导致饱和。
- Xavier初始化:保证每一层输入和输出的方差一致,将参数初始化为
缺点:没有考虑激活函数对数据分布的影响
- He初始化:在Xavier的基础上再除以2,即将参数初始化为
优点:考虑了ReLU函数对输出数据分布的影响,使得输入与输出的方差保持一致
第七章 参数调节
一般参数W是模型训练过程中自动更新的参数,而一些参数需要人为设置和调节即为超参数调节。
那么有哪些超参数呢?
学习率:决定参数更新变化的步长大小
可见选择合适的学习率才能找到最优解
Minibatch:批量大小。太小,会使训练速度很慢;太大,会使训练速度很快,但会占用较多内存,也有可能使准确率降低。
据经验可知,32、64、128、256是一个不错的选择(一般都是2的几次方,因为计算机内部处理的都是二进制,同时内存也一般为2的几次方)
动量衰减参数β、隐藏层神经元个数、Adam优化算法超参数、layers(神经网络层数)、decay_rate(学习衰减率)
大概了解了有什么超参数,那么训练过程中就需要不断调节这些参数,找到最优的参数组合,下面有几个训练技巧介绍如何进行调节:
试错法:遵循整个实验过程(从数据收集到特征图可视化),然后在超参数上依次迭代直到时间终止。
缺点是时间过长,效率较低。
网格搜索:顾名思义,也就是将我们需要调节的超参数放在一个坐标系中(类似于网格),不断调节,找到最优的点(超参数组合)。
缺点是只适用于需要调节超参数较少的情况,若过多,需要的维度就越多,利用网格搜索越复杂。
随机搜索:与网格搜索区别在于在配置空间上随机搜索选择点,优势在于能够利用较少的资源较快找到最优点,实验证明效果如此。
不论是网格搜索,还是随机搜索,每一次新猜测都是独立于之前的训练,因此又出现了贝叶斯优化的方法:
贝叶斯优化:该方法的流程如下
构建模型->选择超参数->训练、评估->优化模型,再返回到第二步
边栏推荐
猜你喜欢
从底层结构开始学习FPGA(6)----分布式RAM(DRAM,Distributed RAM)
从购买服务器到网站搭建成功保姆级教程~超详细
Introduction to the basic principles, implementation and problem solving of crawler
支付宝如何生成及配置公钥证书
零代码网站开发利器:WordPress
crypto-js uses
Detailed explanation of the crawler framework Scrapy
Electromagnetic compatibility introductory tutorial (6) test project
Offer刷题——1
Practical training Navicat Chinese and English mode switching
随机推荐
LabVIEW中局部变量和全局变量的分配
电磁兼容简明教程(6)测试项目
特殊的日子,值得纪念
从零开始—仿牛客网讨论社区项目(一)
my creative day
研发过程中的文档管理与工具
拳头游戏免版权音乐下载,英雄联盟无版权音乐,可用于视频创作、直播
Information system project managers must recite the work of the core test site (56) Configuration Control Board (CCB)
第02章 MySQL的数据目录【1.MySQL架构篇】【MySQL高级】
VSCode 快捷键及通用插件推荐
Monitor the width and height of the parent element, adapt to the size of the plug-in
LeetCode240+312+394
Golang: go to connect and use mysql
13 - JUC CountDownLatch concurrent programming
Dart exception details
Data organization -- singly linked list of the linear table
图像基本操作的其他内容
The log causes these pits in the thread block, you have to prevent
奇葩问题 npm install 报错 gyp ERR
Upgrade to heavyweight lock, lock reentrancy will lead to lock release?