+18888889999
诚信为本:市场永远在变,诚信永远不变。

神经网络优化之优化器

你的位置: 首页 > 门徒平台资讯

神经网络优化之优化器

2024-07-08 21:33:58

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

地址:海南省海口市玉沙路58号  电话:0898-66889888  手机:18888889999
Copyright © 2012-2018 门徒-门徒娱乐-注册登录站 版权所有 ICP备案编:琼ICP备88889999号 

平台注册入口