惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MyScale Blog
MyScale Blog
U
Unit 42
M
MIT News - Artificial intelligence
小众软件
小众软件
P
Proofpoint News Feed
雷峰网
雷峰网
L
LangChain Blog
S
SegmentFault 最新的问题
腾讯CDC
F
Fortinet All Blogs
A
About on SuperTechFans
WordPress大学
WordPress大学
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
Recent Announcements
Recent Announcements
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog

博客园 - 孤独的猫咪神

自定义贪吃蛇环境进行PPO模型训练 通过TensorBoard进行PPO参数优化 macos(M4)上跑强化学习 - PyTorch LunarLander-v3 Stable-Baselines3 部分机型下,Flutter的flutter_inappwebview在使用evaluateJavascript调用postMessage失败的情况 HarmonyOS中,html 与 ets 桥接沟通 Flutter中,html 与 dart 桥接沟通 Flutter 环境变量 Mole,清理Mac的小工具 Flutter自定义主题Theme最佳实践 Ubuntu 20.04 开机自动添加git的ssh 米家 + arduino + 自定义服务器 Flutter 第三方库 Jenkins CLI 通过ssh方式链接时的证书 阿里云Ubuntu 14.04 + Nginx + .net core + MySql 移动开发网络接口 经验总结 阿里云Ubuntu 14.04 + Nginx + let's encrypt 搭建https访问 Pathoto项目:AWS+golang+beego搭建 osx开发,skport项目记录 使用Jekyll在Github上搭建博客 iOS搜索附近的位置(类似微博朋友圈位置) retrofit2中ssl的Trust anchor for certification path not found问题 Android中的Semaphore React Native 在现有项目中的探路 博客园 Linux客户端 2.0 正式发布! 博客园 Windows客户端 2.0 正式发布! 博客园 Mac客户端 2.0 正式发布!
TensorBoard PPO log 解析
孤独的猫咪神 · 2026-07-27 · via 博客园 - 孤独的猫咪神

接上篇: macos(M4)上跑强化学习 - PyTorch LunarLander-v3 Stable-Baselines3

官方文档参考:https://stable-baselines3.readthedocs.io/en/master/common/logger.html#explanation-of-logger-output

通用的图例数据基础介绍:

  • Value:原始真实指标数值。(图标中与图例颜色较淡的那根线)
  • Smotthed:TensorBoard 自带曲线滑动平均处理后的数值。主要用来观察整体升降趋势。(图表中和图例相同颜色的那根线)
  • Step:横轴坐标,也就是从训练开始,智能体和环境一共执行了多少步 action。
  • Relative:相对时间。用来横向对比不同实验训练速度快慢。

Rollout

PPO 不是走一步更新一次,而是先收集一批轨迹,再统一训练,这一批收集过程就叫一次 rollout。
其中有2个图标:如下图
image

rollout/ep_len_mean

本轮 rollout 收集到的所有回合,平均回合长度(其实就是回合执行的时间,这里用步数代替了)。如下图:
image

rollout/ep_rew_mean

本轮 rollout 收集到的所有回合,平均回合奖励(就是平均回合奖励的总数)。如下图:
image

Time

其中只有一个,就是fps。(这个不是游戏渲染帧率)每秒完成多少条环境交互 step,也就是训练数据采集阶段的运行速度

简单来说,fps越高,收集训练样本速度越快,也就意味着训练速度越快。

image

Train

这里有9个表格。

train/approx_kl

Approximate KL Divergence,近似平均KL散度,代表的是更新前旧策略 和 更新后新策略 的分布差距有多大

PPO 最核心思想:不能让策略一次性改动太大!,否则训练极易崩溃、震荡。

  • 数值小:新旧策略几乎没变化,更新力度太弱,学习慢
  • 数值大:新策略一次性改动过猛,很危险,容易训崩
    网上有很多说法,有说0.001-0.02之间,有说0.001-0.03之间。不过没有找到详细的解析或说明。
    image

train/clip_fraction

被 Clip 裁剪截断的样本占全部样本的比例
强化学习中,需要限制策略更新幅度,阻止一次性改动过大。也就意味着,更新的新策略越多,裁剪越大。所以这里有一个规律,KL 越高 → 策略改动越大 → 更多样本触发裁剪 → clip_fraction 上升
image

train/clip_fraction

PPO 裁剪区间的半径,是初始化模型设置的参数。默认为0.2。可以开启动态自适应clip_range。
image

train/entropy_loss

熵损失。熵(Entropy):用来衡量策略随机性大小。

  • 熵越大:动作概率分布越平均 → 智能体更喜欢随机探索
  • 熵越小:策略趋向确定性,总是固定选最优动作,探索变少
    image

train/explained_variance

解释方差(Explained Variance)专门用来评价 PPO 里 Critic 价值网络(估值网络)预测准不准
数值区间解读

  • ≈ 1.0:完美!价值网络预测和真实回报几乎一致
  • > 0:价值网络有一定预测能力(有效)
  • ≈ 0:价值网络预测效果 ≈ 和直接猜平均值差不多,基本没用
  • < 0:最差情况!价值网络预测完全不靠谱,甚至还不如直接输出常数均值
    image

train/learning_rate

优化器当前使用的学习率 lr。其实就是控制神经网络每一次参数更新的步幅大小。

  • lr 大:参数改动幅度大,学习快,但容易震荡、训崩
  • lr 小:更新平稳,不容易翻车,但收敛速度变慢
    图中是固定学习率,没有开启线性衰减(lr_schedule)。开启后随着训练步数增加,学习率会持续慢慢降低,这条曲线会一路向下倾斜。线性衰减优势在于,开始时快速探索,后期稳定收敛,不容易崩。
    image

train/policy_gradient_loss

策略梯度损失(Actor 网络专属损失)
这一步是策略更加倾向选择能拿到更高奖励的动作。只控制模型怎么选择动作。

好的表现是:缓慢持续下降,不会剧烈震荡、不会突然断崖式飙升。
强化学习的一个结论:平稳温和的迭代,经常比单次激进优化得到更好的最终结果。

image

train/value_loss

价值网络损失(Critic 网络专属损失)
这个目标是让 Critic 的估值越来越贴近真实收益
价值网络:评估当前状态好不好。

好的表现是:训练前期 Critic 完全不懂环境,预测偏差巨大;随着训练不断修正,估值误差持续缩小。平稳持续下降,没有突然剧烈跳涨。

image

train/loss

图表中这个会在policy_gradient_loss和value_loss前面。只是这里我放到了最后。
PPO 总的联合损失函数(Total Loss)
策略梯度损失(policy_gradient_loss,优化 Actor) + 价值网络损失(优化 Critic)+ 熵损失(entropy_loss,鼓励探索,带负号)
强化学习中,不能像普通监督学习一样,单纯认为 loss 越低 = 模型越好!

image