TensorFlow基础(六)--TensorFlow中常用的优化器的对比与选择(Optimizer)

本文深入探讨了深度学习中优化器的重要作用,对比了多种优化器(如SGD、Adam等)的特点及适用场景,通过手写数字识别实验,直观展示了不同优化器的收敛速度与效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.优化器的作用

优化器是用来最小化损失函数的方法,也就是找到定义的模型中参数最优值的方法。开始你假定了模型中权重和偏置量的初始值,然后在每一次迭代中,参数值朝优化器指明的方向去更新,最终将会稳定到最优值。

2.常用的优化器(Optimizer)

tf.train.Optimizer
tf.train.GradientDescentOptimizer
tf.train.AdadeltaOptimizer
tf.train.AdagradOptimizer
tf.train.AdagradDAOptimizer
tf.train.MomentumOptimizer
tf.train.AdamOptimizer
tf.train.FtrlOptimizer
tf.train.ProximalAdagradOptimizer
tf.train.ProximalGradientDescentOptimizer
tf.train.RMSPropOptimizer

3.各种优化器的对比

3.1三种梯度下降法的对比

标准梯度下降法:
标准梯度下降先计算所有样本汇总误差,然后根据总误差来更新权值
随机梯度下降法:
随机梯度下降随机抽取一个样本来计算误差,然后更新权值
批量梯度下降法:
批量梯度下降算是一种折中的方案,从总样本中选取一个批次(比如一共有10000个样本,随 机选取100个样本作为一个batch),然后计算这个batch的总误差,根据总误差来更新权 值。

在这里插入图片描述

符号 解释
W 要训练的参数
J(W) 代价函数
∇wJ(W) 代价函数的梯度
η 学习率

3.2 SGD(梯度下降)

在这里插入图片描述

3.3 Momentum

在这里插入图片描述
当前权值的改变会受到上一次权值改变的影响,类似于小球向下滚动的时候带上了惯性。这样,可以加快小球的向下的速度。

3.4 NAG(Nesterov accelerated gradient)

在这里插入图片描述NAG在TF中跟Momentum合并在同一个函数tf.train.MomentumOptimizer中,可以通过参数配置启用在Momentun中小球会盲目地跟从下坡的梯度,容易发生错误,所以我们需要一个更聪明的小球,这个小球提前知道它要去哪里,它还要知道走到坡底的时候速度慢下来而不是又冲上另一个坡。γvt−1会用来修改W的值,计算W−γvt−1可以表示小球下一个位置大概在哪里。从而我们可以提前计算下一个位置的梯度,然后使用到当前位置。

3.5 Adagrad

在这里插入图片描述
它是基于SGD的一种算法,它的核心思想是对比较常见的数据给予它比较小的学习率去调整 参数,对于比较罕见的数据给予它比较大的学习率去调整参数。它很适合应用于数据稀疏的数据集(比如一个图片数据集,有10000张狗的照片,10000张猫的照片,只有100张大象的照 片)。
Adagrad主要的优势在于不需要人为的调节学习率,它可以自动调节。它的缺点在于,随着 迭代次数的增多,学习率也会越来越低,最终会趋向于0。

3.6 RMSprop

RMS(Root Mean Square)是均方根的缩写。
在这里插入图片描述
RMSprop借鉴了一些Adagrad的思想,不过这里RMSprop只用到了前t-1次梯度平方的平均值加上当前梯度的平方的和的开平方作为学习率的分母。这样RMSprop不会出现学习率越来 越低的问题,而且也能自己调节学习率,并且可以有一个比较好的效果。

3.7 Adadelta

在这里插入图片描述
使用Adadelta我们甚至不需要设置一个默认学习率,在Adadelta不需要使用学习率也可以达 到一个非常好的效果。

3.8 Adam

在这里插入图片描述
就像Adadelta和RMSprop一样,Adam会存储之前衰减的平方梯度,同时它也会保存之前衰减的梯度。经过一些处理之后再使用类似Adadelta和RMSprop的方式更新参数。

4.优化器的选择

为模型选择一个最好的优化器,收

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值