ML-Agents学习笔记五:使用TensorBoard 观察训练

ML-Agents 是一个开源项目,使游戏和模拟场景能够作为训练智能代理的环境。它提供最先进算法的实现(基于 PyTorch),使游戏开发者和爱好者能够轻松训练 2D、3D 和 VR/AR 游戏的智能代理。研究人员还可以使用提供的简单易用的 Python API 来使用强化学习、模仿学习、神经进化或任何其他方法来训练代理。


机器学习系列:
ML-Agents学习笔记一:环境搭建
ML-Agents学习笔记二:UNITY实例工程简介
ML-Agents学习笔记三:Pyramids demo 详解
ML-Agents学习笔记四:使用强化学习训练模型
ML-Agents学习笔记五:使用TensorBoard 观察训练
……

AI小白系列:
AI小白篇一:Anaconda+Pycharm搭建深度学习环境
AI小白篇二:使用anaconda搭建TensorFlow环境
AI小白篇三:Tensorflow首项
AI小白篇四:Tensorflow的开源案例实践1
AI小白篇五:Tensorflow的开源案例实践2
AI小白篇六:Tensorflow的开源案例实践3
……


按照上一节中描述的方式使用mlagents-learn命令将训练,在首次训练过程中,ml-agents会在根目录下创建一个results目录,并将结果与过程中的统计信息,保存到改目录下对应run-id的文件夹中。

ML-Agents Toolkit 在学习期间保存统计数据,您可以使用 TensorFlow提供的 可视化工具包TensorBoard查看这些数据。

1、 TensorBoard简介

在机器学习中,要改进模型的某些参数,您通常需要对其进行衡量。TensorBoard 是用于提供机器学习工作流期间所需测量和呈现的工具。它使您能够跟踪实验指标(例如损失和准确率),呈现模型计算图,将嵌入向量投影到较低维度的空间等。

TensorBoard 提供机器学习实验所需的可视化功能和工具:

  • 跟踪和可视化损失及准确率等指标
  • 可视化模型图(操作和层)
  • 查看权重、偏差或其他张量随时间变化的直方图
  • 将嵌入投射到较低的维度空间
  • 显示图片、文字和音频数据
  • 剖析 TensorFlow 程序
  • ……

2、启动TensorBoard

为了在训练期间或之后观察训练过程,请启动TensorBoard

  1. 打开终端或控制台窗口 -> CD到ML-Agents Toolkit的安装目录。 -> 输入命令运行:
tensorboard --logdir=results/run-id --port=6006
  • --logdir : 训练统计信息存放目录
    • results: ml-agents创建的,存放训练数据及结果的目录
    • run-id : 上节执行训练的命令 mlagents-learn /config/Pyramids.yaml --run-id=Pyramids 中的 Pyramids, ml-agents会把本次训练的结果存在Pyramids目录下
  • --port : TensorBoard使用的端口,如果不指定端口,则不需要改参数
  1. 打开浏览器窗口,然后导航到localhost:6006,就能查看详细的训练数据了。

注意: TensorBoard使用的默认端口是6006。如果端口6006上正在运行现有会话,则可以使用--port选项指定端口(如6007)启动新会话。

注意:如果不分配run-id标识符,请mlagents-learn使用默认字符串“ ppo”。所有统计信息将保存到同一子文件夹中,并在TensorBoard中显示为一个会话。几次运行后,在这种情况下显示可能会变得难以解释。您可以删除results目录下的文件夹以清除旧的统计信息。

在TensorBoard窗口的左侧,您可以选择要显示的某个run-id训练结果。您可以选择多个run-id来比较统计信息。TensorBoard窗口还提供有关如何显示和平滑图形的选项。

3、使用TensorBoard观察过程

ML-Agents训练计划保存以下统计信息:

mlagents-TensorBoard

默认的统计指标还是比较全面的,下面一个个分析各种指标的用途。

环境统计
  • Environment/Lesson-绘制从课程到课程的进度。只有在进行课程训练时才需要关注。

  • Environment/Cumulative Reward-所有特工的平均累积情节奖励。在成功的训练课程中应增加。

  • Environment/Episode Length -环境中所有特工的每个情节的平均长度。

策略统计
  • Policy/Entropy(PPO;SAC) - 模型决策的随机性。在成功的训练过程中应缓慢下降。如果下降得太快,beta则应增加超参数。

  • Policy/Learning Rate(PPO; SAC) - 训练算法在搜索最佳策略时采取的步长。应随时间减少。

  • Policy/Entropy Coefficient(SAC)- 确定熵项的相对重要性。此值会自动调整,以便代理在训练期间保留一定程度的随机性。

  • Policy/Extrinsic Reward(PPO; SAC)——这对应于每集从环境收到的平均累积奖励。

  • Policy/Value Estimate(PPO; SAC) - 代理访问的所有状态的平均值估计。在成功的训练过程中应该会增加。

  • Policy/Curiosity Reward(PPO/SAC+Curiosity)——这对应于每集产生的平均累积内在奖励。

  • Policy/Curiosity Value Estimate(PPO/SAC+好奇心)——代理对好奇心奖励的价值估计。

  • Policy/GAIL Reward(PPO/SAC+GAIL) - 这对应于每集产生的平均累积基于判别器的奖励。

  • Policy/GAIL Value Estimate(PPO/SAC+GAIL) - 代理对 GAIL 奖励的价值估计。

  • Policy/GAIL Policy Estimate(PPO/SAC+GAIL)- 鉴别器对策略生成的状态和动作的估计。

  • Policy/GAIL Expert Estimate(PPO/SAC+GAIL)——根据专家示范得出的鉴别器对状态和行动的估计。

学习损失函数
  • Losses/Policy Loss(PPO;SAC)- 策略损失函数的平均幅度。与策略(决定行动的过程)的变化程度相关。在成功的训练过程中,该幅度应该会减小。

  • Losses/Value Loss(PPO;SAC) - 价值函数更新的平均损失。与模型预测每个状态的价值的能力相关。在代理学习时,该值应该会增加,然后在奖励稳定后减少。

  • Losses/Forward Loss(PPO/SAC+Curiosity)- 前向模型损失函数的平均幅度。对应于模型预测新观察编码的能力。

  • Losses/Inverse Loss(PPO/SAC+Curiosity)- 逆模型损失函数的平均幅度。对应于模型能够多好地预测两次观察之间采取的行动。

  • Losses/Pretraining Loss(BC) - 行为克隆损失的平均幅度。对应于模型模仿演示数据的程度。

  • Losses/GAIL Loss(GAIL) - GAIL 鉴别器损失的平均幅度。对应于模型模仿演示数据的程度。

自我对弈
  • Self-Play/ELO(自我对战)- ELO衡量两名玩家之间的相对技能水平。在适当的训练过程中,代理的 ELO 应该稳步提高。

4、 从 TensorBoard 导出数据

要以 CSV 或 JSON 格式导出时间序列数据,请选中左上角的“显示数据下载链接”。这将启用每个图表下方的下载链接。

5、Unity 的自定义指标

要将 C# 环境中的自定义指标导入 TensorBoard,您可以使用 StatsRecorder:

var statsRecorder = Academy.Instance.StatsRecorder;
statsRecorder.Add("MyMetric", 1.0);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容