杏耀注册登录中国站

您好,欢迎访问我们的网站,我们将竭诚为您服务!

神经网络优化之优化器

2024-07-08 14:07分类: 茶道 阅读:

 

梯度下降算法主要用于优化单个参数的取值,而反向传播算法给出了一个高效的方式在所有参数上使用梯度下降算法,从而使神经网络模型在训练数据上的损失函数尽可能小。需要注意的是,梯度下降法并不能保证被优化的函数达到全局最优解。只有当损失函数为凸函数时,梯度下降法才能保证全局最优解。
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容易收敛到局部最优,并且在某些情况下可能被困在鞍点。

 

郑重声明:喝茶属于保健食品,不能直接替代药品使用,如果患有疾病者请遵医嘱谨慎食用,部分文章来源于网络,仅作为参考,如果网站中图片和文字侵犯了您的版权,请联系我们处理!

上一篇:智能优化算法-梯度优化器gradient-based optimizer(附Matlab代码)

下一篇:深圳优化营商环境再发三箭,靶向解决哪些问题?

相关推荐

关注我们

    杏耀注册登录中国站
返回顶部

平台注册入口