Google机器学习实践指南(TensorFlow六大优化器)

article/2025/6/28 23:15:26

🔥 Google机器学习实践指南(TensorFlow六大优化器)

Google机器学习实战(12)-20分钟掌握TensorFlow优化器


一、优化器核心作用

▲ 训练本质:
迭代求解使损失函数最小化的模型参数,关键要素:

  • 特征工程(Feature)
  • 优化算法(Optimizer)

本文主要对其中的优化算法进行说明,关于特征工程,欢迎查看前一篇:Google机器学习实战(11)-特征工程六大方法深度解析与应用


二、优化器类型详解

1. SGD随机梯度下降

**说明:**SGD全名 stochastic gradient descent, 即随机梯度下降,但在TensorFlow中SDG是指MBGD(minibatch gradient descent),即最小梯度下降。

**参数:**学习速率 ϵ, 初始参数 θ
实际实现:MBGD(小批量梯度下降)
在这里插入图片描述
▲ 图1 SGD参数更新过程

my_optimizer = tf.optimizers.SGD(learning_rate = 0.0000001, clipnorm=5.0)

特点

  • 训练速度快
  • 自带正则化效果

2. Momentum

**说明:**momentum即动量,在更新的时候一定程度上保留之前更新的方向,同时利用当前batch的梯度微调最终的更新方向。从而在一定程度上增加稳定性,使得学习地更快,并且还有一定摆脱局部最优的能力。

**参数:**学习速率 ϵ, 初始参数 θ, 初始速率v, 动量衰减参数α
在这里插入图片描述
在这里插入图片描述
▲ 图2 普通SGD与Momentum法对比
优势

  • 加速同向梯度学习
  • 抑制方向震荡

3. Nesterov Momentum

**说明:**Nesterov Momentum(牛顿动量法)是momentum方法的一项改进,与Momentum唯一区别是计算梯度的不同,Nesterov momentum先用当前的速度v更新一遍参数,再用更新的临时参数计算梯度。

**参数:**学习速率 ϵ, 初始参数 θ, 初始速率v, 动量衰减参数α
在这里插入图片描述
▲ 图3 Nesterov Momentum前瞻性更新

改进点

  • 先按当前速度更新参数
  • 在临时参数点计算梯度

4. AdaGrad

说明:AdaGrad(自适应梯度算法)是一种自适应学习率的梯度下降优化算法。它通过累积参数梯度的历史信息来为每个参数自适应地调整学习率。

参数: 全局学习速率 ϵ, 初始参数 θ, 数值稳定量δ

优点:

  • 能够实现学习率的自动更改

缺陷

  • 深度网络易提前终止

5. RMSProp

说明: RMSProp通过引入一个衰减系数,让r每回合都衰减一定比例,类是对AdaGrad算法的改进。

参数: 全局学习速率 ϵ, 初始参数 θ, 数值稳定量δ,衰减速率ρ
在这里插入图片描述

▲ 图4 学习率自适应过程

改进

  • 引入衰减系数ρ
  • 解决AdaGrad过早收敛问题

6. Adam

**说明:**Adam(Adaptive Moment Estimation)本质上是带有动量项的RMSprop,利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。Adam的优点主要在于经过偏置校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳。

**参数:**步进值 ϵ, 初始参数 θ, 数值稳定量δ,一阶动量衰减系数ρ1, 二阶动量衰减系数ρ2 (经验值:δ=10^−8,ρ1=0.9,ρ2=0.999)。

算法流程

  1. 计算一阶/二阶动量
  2. 偏差校正
  3. 参数更新

参数建议

  • ρ1=0.9
  • ρ2=0.999
  • δ=10^-8

三、优化器性能对比

优化器收敛速度内存消耗超参数敏感性
SGD⭐⭐
Momentum⭐⭐⭐
Nesterov Momentum⭐⭐⭐⭐
AdaGrad⭐⭐
RMSProp⭐⭐⭐
Adam⭐⭐⭐⭐

四、工程实践建议

选择策略

  • 简单任务:SGD+Momentum
  • 稀疏数据:AdaGrad
  • 默认首选:Adam

调参技巧

lr_schedule = tf.optimizers.schedules.PolynomialDecay(initial_learning_rate=0.01,decay_steps=10000,end_learning_rate=0.001
)

# 技术问答 #

Q:Adam优化器为什么需要偏差校正?
A:解决初始阶段动量估计偏向0的问题,确保训练初期稳定性

Q:如何选择优化器?
A:从Adam开始尝试,对性能敏感场景可比较SGD+Momentum


附录:学习资源

TensorFlow优化器文档:https://www.tensorflow.org/api_docs/python/tf/optimizers
优化算法可视化:https://ruder.io/optimizing-gradient-descent/

参考文献:
[1]《深度学习优化算法综述》
[2] TensorFlow官方优化器指南


http://www.hkcw.cn/article/csKqYWgpER.shtml

相关文章

第15讲、Odoo 18 中 自动任务(ir.cron) 的实现原理与应用

目录 引言ir.cron 实现原理运行机制应用场景使用案例 案例一:定期发送邮件通知案例二:自动清理过期数据案例三:订单状态自动更新案例四:系统健康检查 最佳实践与注意事项总结 引言 在企业级应用中,自动化是提高效率…

消费信心回升5.3%!亚马逊泳装搜索量暴涨120%的启示

近期,美国经济呈现出令人鼓舞的复苏迹象。根据密歇根大学发布的最新消费者信心指数(Consumer Sentiment Index),2024年5月,该指数环比增长5.3%,达到69.1,创下自2023年中以来的最高水平。与此同时…

绿发会回应涉哈佛女孩蒋雨融争议 特权质疑风波

绿发会回应涉哈佛女孩蒋雨融争议 特权质疑风波!2025年5月29日,哈佛大学毕业典礼上,中国籍学生蒋雨融作为毕业生代表发表演讲。她穿着中国传统服饰,通过讲述翻译洗衣机中文标识的趣事,呼吁多元与包容,并间接批评了特朗普政府的“禁招令”。这场本应充满励志色彩的演讲却因…

高效使用Map的“新”方法

个人名片: 😊作者简介:一个为了让更多人看见许舒雅的宝贝的小白先生 🤡个人主页:🔗 许舒雅的宝贝 🐼座右铭:深夜两点半的夜灯依旧闪烁,凌晨四点的闹钟不止你一个。 &…

35.x64汇编写法(二)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:34.x64汇编写法(一) 上一个内容写了,汇编调…

多地公共自行车退场 设备老旧促变革

多地公共自行车退场 设备老旧促变革!近期,多地宣布公共自行车项目停止运营。安徽省马鞍山市和县住房和城乡建设局发布公告称,该县公共自行车将于5月28日终止运营,有需要的市民在2025年6月28日前办理骑行卡押金退款业务。和县公共自行车系统于2016年2月正式运营,县城主城区…

Python----目标检测(训练YOLOV8网络)

一、数据集标注 在已经采集的数据中,使用labelImg进行数据集标注,标注后的txt与原始 图像文件同名且在同一个文件夹(data)即可。 二、制作数据集 在data目录的同目录下,新建dataset目录,以存放制作好的YOLO…

一周学会Pandas2之Python数据处理与分析-Pandas2时间序列数据分析

锋哥原创的Pandas2 Python数据处理与分析 视频教程: 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili Pandas 提供了强大的时间序列处理功能,是金融分析、物联网数据处理、业务指标监控等领域的核心工具。下面…

房屋租赁系统 Java+Vue.js+SpringBoot,包括房屋信息、看房申请、租赁合同、房屋报修、收租信息、维修数据、租客管理、公告管理模块

房屋租赁系统 JavaVue.jsSpringBoot,包括房屋信息、看房申请、租赁合同、房屋报修、收租信息、维修数据、租客管理、公告管理模块 百度云盘链接:https://pan.baidu.com/s/16YRGBPsfbd4_HxXhO0jM5Q 密码:smk4 摘 要 房屋是人类生活栖息的重要…

【PowerQuery专栏】Record.Combine 函数实现记录连接

Record.Combine 函数功能是将多个不同的记录进行合并,函数目前包含如下参数: 参数1为合并记录,数据类型为列表类型,值为需要进行合并操作的记录 函数的结果为记录类型,图为函数参数。 Record.Combine(record as lis…

C++标准模板库

C标准库参考: C 标准库-CSDN博客 标准模板库STL C 标准库 和 STL 的关系 1. 严格来说,STL ≠ C 标准库 STL(Standard Template Library) 是 C 标准库的一个子集,主要提供泛型编程相关的组件(如容器、迭代器…

Grafana对接Prometheus数据源

实验环境 在上一章的基础上完成 一、Grafana介绍 Grafana是一个独立的开源项目,它可以对接很多项目,实现各种功能的扩展 使用grafana对接Prometheus可以更好的展示Prometheus的metrics(指标) 二、Grafana安装 1、安装Grafana…

Flex弹性布局

Flexible Box(弹性盒子)布局是CSS3中引入的一种强大的布局模式,它能够更高效地处理容器内项目的排列、对齐和空间分配问题,特别适合构建响应式设计。 基本属性 Flex容器:设置了display: flex或display: inline-flex的…

Vue3(watch,watchEffect,标签中ref的使用,TS,props,生命周期)

Vue3(watch,watchEffect,标签中ref的使用,TS,props,生命周期) watch监视 情况三:监视reactive定义的对象类型的数据 监视reactive定义的对象类型的数据,默认开启深度监视。地址没变,新值和旧…

AI书签管理工具开发全记录(九):用户端页面集成与展示

文章目录 AI书签管理工具开发全记录(九):用户端页面集成与展示前言设计思路实现步骤1. 路由配置2. 全局样式设置3. 首页实现4. Vite配置 设计说明1. 部分UI设计2. 响应式布局3. 加载更多功能 效果展示效果展示 AI书签管理工具开发全记录&…

基于IRI-2020模型的电离层特征参量计算与可视化

1. 研究背景 电离层是地球大气层中重要的组成部分,位于地面以上约60-1000公里高度范围内,包含大量自由电子和离子。电离层对无线电通信、卫星导航和空间天气监测等现代技术系统具有重要影响。国际参考电离层模型(IRI)是由国际空间研究委员会(COSPAR)和国…

Chapter 10 Inductive DC–DC Converters

Chapter 10 Inductive DC–DC Converters Design of Power Management Integrated Circuits - Bernhard Wicht 电感型DC-DC用电感做功率转换, 因为有开关, 也被称为开关型DC-DC. 电感型DC-DC相比LDO, 效率更高, 但是不那么"干净". 相比于电容型DC-DC (switched cap…

美股收涨 世纪铝业涨超21% 金属板块领涨市场

美东时间周一,美股三大指数集体收涨。道指涨0.08%,纳指涨0.67%,标普500指数涨0.41%。热门科技股多数上涨,AMD、Meta涨幅超过3%,超微电脑接近3%,博通超过2%,英伟达超过1%。特斯拉和谷歌跌幅超过1%。贵金属和金属原材料板块表现突出,世纪铝业涨幅超过21%,黄金资源超过16…

最大规模换俘 领导人会晤 俄乌再谈判有乾坤

当地时间6月2日,俄乌两国代表团在土耳其伊斯坦布尔就和平解决俄乌冲突举行第二轮直接谈判。谈判历时约一小时,于当地时间16时许结束。5月第一轮谈判后,乌称“毫无成果”,俄称“基本满意”。而本次土耳其总统埃尔多安则表示谈判取得了“重大成果”。俄乌双方就大规模换俘、交…

国足抵达雅加达备战世预赛18强赛 关键战在即

中国男足国家队于6月2日晚抵达印度尼西亚首都雅加达,准备参加5日在那里举行的2026美加墨世界杯亚洲区预选赛18强赛第9轮对阵印尼队的关键比赛。当地时间晚上10点30分,中国队在主教练伊万科维奇的带领下走出雅加达苏加诺-哈达国际机场,并登上大巴前往酒店。伊万科维奇在机场接…