神经网络优化之优化器
梯度下降算法主要用于优化单个参数的取值,而反向传播算法给出了一个高效的方式在所有参数上使用梯度下降算法,从而使神经网络模型在训练数据上的损失函数尽可能小。需要注意的是,梯度下降法并不能保证被优化的函数达到全局最优解。只有当损失函数为凸函数时,梯度下降法才能保证全局最优解。
Tensorflow提供了很多优化器(optimizer),我们重点介绍下面8个
这8个优化器对应8种优化方法,分别是梯度下降法(BGD和SGD)、Adadelat法、Adagrad法(Adagrad和AdagradDAO)、Momentum法(Momentum和Nesterov Momentum)、Adam法、Ftrl法和RMSProp法,其中BGD、SGD、Momentum和Nesterov Momentum是手动指定学习率的,其余算法能够自动调节学习率。
BGD的全称是Batch Gradient Descent,即批梯度下降。这种方法是利用现有参数对训练集中的每一个输入生成一个估计输出_yi,然后跟实际输出yi比较,统计所有误差,将平均误差作为更新参数的依据。这种方法的优点是,使用所有训练数据计算,能够保证收敛,并且不需要逐渐减少学习率;缺点是,每一步都需要使用所有的训练数据,随着训练的进行,速度会越来越慢。
SGD的全称是Stochastic Gradient Descent,即随机梯度下降。因为这种方法的主要思想是将训练数据集拆分成一个个批次(batch),随机抽取一个批次来计算并更新参数,所以也称为MBGD(Mini Batch Gradient Descent)。SGD在每一次迭代计算mini-batch的梯度,然后对参数进行更新。与BGD相比,SGD在训练数据集很大时,仍能以较快的速度收敛。但是,它仍然会有下面两个缺点。
1、由于抽取不可避免地梯度会有误差,需要手动调整学习率,但是选择合适的学习率有比较困难。
2、SGD容易收敛到局部最优,并且在某些情况下可能被困在鞍点。
最新更新
猜你喜欢
- 免费的影视软件app哪个好用
- 罗技推出 G502 X 系列游戏鼠标:搭 LIGHTFORCE 混合微动首发价399元起
- 科技论文应该要怎么来写作?(一)
- IGN 2021高分游戏盘点:10分杰作地平线5、死亡循环
- 中南大学人体形态学科技馆 ,2000余件实物标本解开生命密码丨医院里,你不知道的⑤
- 爆料|最正确的就是离开电台来当主播!大舅哥:台长干10年才4k工资!
- 2023可以选职业的手游合集 有哪些游戏可以自选职业
- 《枪火重生》手游发布重磅更新?首位女英雄“桃”携轮回模式今日登场!
- 类似极光加速器的软件有哪些(免费加速器软件排行榜推荐)
- 2018年中国游戏直播行业市场现状及发展趋势分析 深度变现模式将推动市场规模增长