TensorFlow 常用优化器:GradientDescent、Momentum、Adam

简介: TensorFlow 常用优化器:GradientDescent、Momentum、Adam

Tensorflow中支持11中不同的优化器,包括:


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.RMSPropOptimizer

tf.train.ProximalAdagradOptimizer

tf.train.ProximalGradientDescentOptimizer


常用的主要有3种,分别是


(1) GradientDescent


optimizer  = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss)


使用随机梯度下降算法,使参数沿着

梯度的反方向,即总损失减小的方向移动,实现更新参数。


image.png

(2) Momentum


optimizer = tf.train.MomentumOptimizer(learning_rate,momentum).minimize(loss)


在更新参数时,利用了超参数


image.png


其中,

β  : the momentum

α : the learning rate


(3) Adam

optimizer =  tf.train.AdamOptimizer(learning_rate=0.001, 
                                   beta1=0.9, beta2=0.999, 
                                   epsilon=1e-08).minimize(loss)

利用自适应学习率的优化算法(此时learning_rate传入固定值,不支持使用指数衰减方式),Adam 算法和随机梯度下降算法不同。随机梯度下降算法保持单一的学习率更新所有的参数,学习率在训练过程中并不会改变。而 Adam 算法通过计算梯度的一阶矩估计和二阶矩估计而为不同的参数设计独立的自适应性学习率。


image.png



其中,


β 1 and β 2 are hyperparameters that control the two exponentially weighted averages.

α is the learning rate

ε is a very small number to avoid dividing by zero

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
7 Papers & Radios | 英伟达把GPT-4塞进我的世界;比Adam快2倍的大模型预训练优化器
7 Papers & Radios | 英伟达把GPT-4塞进我的世界;比Adam快2倍的大模型预训练优化器
147 0
|
人工智能 算法 调度
马腾宇团队新出大模型预训练优化器,比Adam快2倍,成本减半
马腾宇团队新出大模型预训练优化器,比Adam快2倍,成本减半
112 0
|
机器学习/深度学习 算法 数据建模
SDG,ADAM,LookAhead,Lion等优化器的对比介绍
本文将介绍了最先进的深度学习优化方法,帮助神经网络训练得更快,表现得更好。有很多个不同形式的优化器,这里我们只找最基础、最常用、最有效和最新的来介绍。
413 0
|
机器学习/深度学习 存储 算法
【机器学习】numpy实现Adam优化器
【机器学习】numpy实现Adam优化器
528 0
【机器学习】numpy实现Adam优化器
|
人工智能 算法 机器人
AI学习笔记——Tensorflow中的Optimizer(优化器)
在使用Tensorflow搭建神经网络的时候,最后一步总会用到tf.train.XxxOptimizer(). 然后会有很多Optimizer()如下图 其实这些Optimizer 都是优化算法下面重点介绍几个常见的 1. Gradient Decent 这是最基础的梯度下降算法,更新权重W,不多解释。
1344 0
|
机器学习/深度学习 算法 大数据
Python-Tensorflow-优化器
Python-Tensorflow-优化器
240 0
|
机器学习/深度学习 算法 数据可视化
DL之DNN优化技术:DNN优化器的参数优化—更新参数的四种最优化方法(SGD/Momentum/AdaGrad/Adam)的案例理解、图表可视化比较
DL之DNN优化技术:DNN优化器的参数优化—更新参数的四种最优化方法(SGD/Momentum/AdaGrad/Adam)的案例理解、图表可视化比较
DL之DNN优化技术:DNN优化器的参数优化—更新参数的四种最优化方法(SGD/Momentum/AdaGrad/Adam)的案例理解、图表可视化比较
|
2月前
|
机器学习/深度学习 数据挖掘 TensorFlow
解锁Python数据分析新技能,TensorFlow&PyTorch双引擎驱动深度学习实战盛宴
在数据驱动时代,Python凭借简洁的语法和强大的库支持,成为数据分析与机器学习的首选语言。Pandas和NumPy是Python数据分析的基础,前者提供高效的数据处理工具,后者则支持科学计算。TensorFlow与PyTorch作为深度学习领域的两大框架,助力数据科学家构建复杂神经网络,挖掘数据深层价值。通过Python打下的坚实基础,结合TensorFlow和PyTorch的强大功能,我们能在数据科学领域探索无限可能,解决复杂问题并推动科研进步。
58 0
|
2月前
|
机器学习/深度学习 数据挖掘 TensorFlow
从数据小白到AI专家:Python数据分析与TensorFlow/PyTorch深度学习的蜕变之路
【9月更文挑战第10天】从数据新手成长为AI专家,需先掌握Python基础语法,并学会使用NumPy和Pandas进行数据分析。接着,通过Matplotlib和Seaborn实现数据可视化,最后利用TensorFlow或PyTorch探索深度学习。这一过程涉及从数据清洗、可视化到构建神经网络的多个步骤,每一步都需不断实践与学习。借助Python的强大功能及各类库的支持,你能逐步解锁数据的深层价值。
62 0
|
3月前
|
持续交付 测试技术 jenkins
JSF 邂逅持续集成,紧跟技术热点潮流,开启高效开发之旅,引发开发者强烈情感共鸣
【8月更文挑战第31天】在快速发展的软件开发领域,JavaServer Faces(JSF)这一强大的Java Web应用框架与持续集成(CI)结合,可显著提升开发效率及软件质量。持续集成通过频繁的代码集成及自动化构建测试,实现快速反馈、高质量代码、加强团队协作及简化部署流程。以Jenkins为例,配合Maven或Gradle,可轻松搭建JSF项目的CI环境,通过JUnit和Selenium编写自动化测试,确保每次构建的稳定性和正确性。
60 0
下一篇
无影云桌面