ML-Agents學(xué)習(xí)筆記五:使用TensorBoard 觀察訓(xùn)練

ML-Agents 是一個(gè)開源項(xiàng)目,使游戲和模擬場景能夠作為訓(xùn)練智能代理的環(huán)境。它提供最先進(jìn)算法的實(shí)現(xiàn)(基于 PyTorch),使游戲開發(fā)者和愛好者能夠輕松訓(xùn)練 2D蒋腮、3D 和 VR/AR 游戲的智能代理。研究人員還可以使用提供的簡單易用的 Python API 來使用強(qiáng)化學(xué)習(xí)藕各、模仿學(xué)習(xí)池摧、神經(jīng)進(jìn)化或任何其他方法來訓(xùn)練代理。


機(jī)器學(xué)習(xí)系列:
ML-Agents學(xué)習(xí)筆記一:環(huán)境搭建
ML-Agents學(xué)習(xí)筆記二:UNITY實(shí)例工程簡介
ML-Agents學(xué)習(xí)筆記三:Pyramids demo 詳解
ML-Agents學(xué)習(xí)筆記四:使用強(qiáng)化學(xué)習(xí)訓(xùn)練模型
ML-Agents學(xué)習(xí)筆記五:使用TensorBoard 觀察訓(xùn)練
……

AI小白系列:
AI小白篇一:Anaconda+Pycharm搭建深度學(xué)習(xí)環(huán)境
AI小白篇二:使用anaconda搭建TensorFlow環(huán)境
AI小白篇三:Tensorflow首項(xiàng)
AI小白篇四:Tensorflow的開源案例實(shí)踐1
AI小白篇五:Tensorflow的開源案例實(shí)踐2
AI小白篇六:Tensorflow的開源案例實(shí)踐3
……


按照上一節(jié)中描述的方式使用mlagents-learn命令將訓(xùn)練激况,在首次訓(xùn)練過程中作彤,ml-agents會(huì)在根目錄下創(chuàng)建一個(gè)results目錄,并將結(jié)果與過程中的統(tǒng)計(jì)信息乌逐,保存到改目錄下對應(yīng)run-id的文件夾中竭讳。

ML-Agents Toolkit 在學(xué)習(xí)期間保存統(tǒng)計(jì)數(shù)據(jù),您可以使用 TensorFlow提供的 可視化工具包TensorBoard查看這些數(shù)據(jù)浙踢。

1绢慢、 TensorBoard簡介

在機(jī)器學(xué)習(xí)中,要改進(jìn)模型的某些參數(shù)成黄,您通常需要對其進(jìn)行衡量呐芥。TensorBoard 是用于提供機(jī)器學(xué)習(xí)工作流期間所需測量和呈現(xiàn)的工具。它使您能夠跟蹤實(shí)驗(yàn)指標(biāo)(例如損失和準(zhǔn)確率)奋岁,呈現(xiàn)模型計(jì)算圖思瘟,將嵌入向量投影到較低維度的空間等。

TensorBoard 提供機(jī)器學(xué)習(xí)實(shí)驗(yàn)所需的可視化功能和工具:

  • 跟蹤和可視化損失及準(zhǔn)確率等指標(biāo)
  • 可視化模型圖(操作和層)
  • 查看權(quán)重闻伶、偏差或其他張量隨時(shí)間變化的直方圖
  • 將嵌入投射到較低的維度空間
  • 顯示圖片滨攻、文字和音頻數(shù)據(jù)
  • 剖析 TensorFlow 程序
  • ……

2、啟動(dòng)TensorBoard

為了在訓(xùn)練期間或之后觀察訓(xùn)練過程蓝翰,請啟動(dòng)TensorBoard

  1. 打開終端或控制臺窗口 -> CD到ML-Agents Toolkit的安裝目錄光绕。 -> 輸入命令運(yùn)行:
tensorboard --logdir=results/run-id --port=6006
  • --logdir : 訓(xùn)練統(tǒng)計(jì)信息存放目錄
    • results: ml-agents創(chuàng)建的,存放訓(xùn)練數(shù)據(jù)及結(jié)果的目錄
    • run-id : 上節(jié)執(zhí)行訓(xùn)練的命令 mlagents-learn /config/Pyramids.yaml --run-id=Pyramids 中的 Pyramids, ml-agents會(huì)把本次訓(xùn)練的結(jié)果存在Pyramids目錄下
  • --port : TensorBoard使用的端口畜份,如果不指定端口诞帐,則不需要改參數(shù)
  1. 打開瀏覽器窗口,然后導(dǎo)航到localhost:6006爆雹,就能查看詳細(xì)的訓(xùn)練數(shù)據(jù)了停蕉。

注意: TensorBoard使用的默認(rèn)端口是6006。如果端口6006上正在運(yùn)行現(xiàn)有會(huì)話钙态,則可以使用--port選項(xiàng)指定端口(如6007)啟動(dòng)新會(huì)話慧起。

注意:如果不分配run-id標(biāo)識符,請mlagents-learn使用默認(rèn)字符串“ ppo”册倒。所有統(tǒng)計(jì)信息將保存到同一子文件夾中蚓挤,并在TensorBoard中顯示為一個(gè)會(huì)話。幾次運(yùn)行后,在這種情況下顯示可能會(huì)變得難以解釋灿意。您可以刪除results目錄下的文件夾以清除舊的統(tǒng)計(jì)信息估灿。

在TensorBoard窗口的左側(cè),您可以選擇要顯示的某個(gè)run-id訓(xùn)練結(jié)果脾歧。您可以選擇多個(gè)run-id來比較統(tǒng)計(jì)信息甲捏。TensorBoard窗口還提供有關(guān)如何顯示和平滑圖形的選項(xiàng)。

3鞭执、使用TensorBoard觀察過程

ML-Agents訓(xùn)練計(jì)劃保存以下統(tǒng)計(jì)信息:

mlagents-TensorBoard

默認(rèn)的統(tǒng)計(jì)指標(biāo)還是比較全面的司顿,下面一個(gè)個(gè)分析各種指標(biāo)的用途。

環(huán)境統(tǒng)計(jì)
  • Environment/Lesson-繪制從課程到課程的進(jìn)度兄纺。只有在進(jìn)行課程訓(xùn)練時(shí)才需要關(guān)注大溜。

  • Environment/Cumulative Reward-所有特工的平均累積情節(jié)獎(jiǎng)勵(lì)。在成功的訓(xùn)練課程中應(yīng)增加估脆。

  • Environment/Episode Length -環(huán)境中所有特工的每個(gè)情節(jié)的平均長度钦奋。

策略統(tǒng)計(jì)
  • Policy/Entropy(PPO;SAC) - 模型決策的隨機(jī)性疙赠。在成功的訓(xùn)練過程中應(yīng)緩慢下降付材。如果下降得太快,beta則應(yīng)增加超參數(shù)圃阳。

  • Policy/Learning Rate(PPO; SAC) - 訓(xùn)練算法在搜索最佳策略時(shí)采取的步長厌衔。應(yīng)隨時(shí)間減少。

  • Policy/Entropy Coefficient(SAC)- 確定熵項(xiàng)的相對重要性捍岳。此值會(huì)自動(dòng)調(diào)整富寿,以便代理在訓(xùn)練期間保留一定程度的隨機(jī)性。

  • Policy/Extrinsic Reward(PPO; SAC)——這對應(yīng)于每集從環(huán)境收到的平均累積獎(jiǎng)勵(lì)锣夹。

  • Policy/Value Estimate(PPO; SAC) - 代理訪問的所有狀態(tài)的平均值估計(jì)页徐。在成功的訓(xùn)練過程中應(yīng)該會(huì)增加。

  • Policy/Curiosity Reward(PPO/SAC+Curiosity)——這對應(yīng)于每集產(chǎn)生的平均累積內(nèi)在獎(jiǎng)勵(lì)银萍。

  • Policy/Curiosity Value Estimate(PPO/SAC+好奇心)——代理對好奇心獎(jiǎng)勵(lì)的價(jià)值估計(jì)变勇。

  • Policy/GAIL Reward(PPO/SAC+GAIL) - 這對應(yīng)于每集產(chǎn)生的平均累積基于判別器的獎(jiǎng)勵(lì)。

  • Policy/GAIL Value Estimate(PPO/SAC+GAIL) - 代理對 GAIL 獎(jiǎng)勵(lì)的價(jià)值估計(jì)贴唇。

  • Policy/GAIL Policy Estimate(PPO/SAC+GAIL)- 鑒別器對策略生成的狀態(tài)和動(dòng)作的估計(jì)贰锁。

  • Policy/GAIL Expert Estimate(PPO/SAC+GAIL)——根據(jù)專家示范得出的鑒別器對狀態(tài)和行動(dòng)的估計(jì)。

學(xué)習(xí)損失函數(shù)
  • Losses/Policy Loss(PPO滤蝠;SAC)- 策略損失函數(shù)的平均幅度。與策略(決定行動(dòng)的過程)的變化程度相關(guān)授嘀。在成功的訓(xùn)練過程中物咳,該幅度應(yīng)該會(huì)減小。

  • Losses/Value Loss(PPO蹄皱;SAC) - 價(jià)值函數(shù)更新的平均損失览闰。與模型預(yù)測每個(gè)狀態(tài)的價(jià)值的能力相關(guān)芯肤。在代理學(xué)習(xí)時(shí),該值應(yīng)該會(huì)增加压鉴,然后在獎(jiǎng)勵(lì)穩(wěn)定后減少崖咨。

  • Losses/Forward Loss(PPO/SAC+Curiosity)- 前向模型損失函數(shù)的平均幅度。對應(yīng)于模型預(yù)測新觀察編碼的能力油吭。

  • Losses/Inverse Loss(PPO/SAC+Curiosity)- 逆模型損失函數(shù)的平均幅度击蹲。對應(yīng)于模型能夠多好地預(yù)測兩次觀察之間采取的行動(dòng)。

  • Losses/Pretraining Loss(BC) - 行為克隆損失的平均幅度婉宰。對應(yīng)于模型模仿演示數(shù)據(jù)的程度歌豺。

  • Losses/GAIL Loss(GAIL) - GAIL 鑒別器損失的平均幅度。對應(yīng)于模型模仿演示數(shù)據(jù)的程度心包。

自我對弈
  • Self-Play/ELO(自我對戰(zhàn))- ELO衡量兩名玩家之間的相對技能水平类咧。在適當(dāng)?shù)挠?xùn)練過程中,代理的 ELO 應(yīng)該穩(wěn)步提高蟹腾。

4痕惋、 從 TensorBoard 導(dǎo)出數(shù)據(jù)

要以 CSV 或 JSON 格式導(dǎo)出時(shí)間序列數(shù)據(jù),請選中左上角的“顯示數(shù)據(jù)下載鏈接”娃殖。這將啟用每個(gè)圖表下方的下載鏈接值戳。

5、Unity 的自定義指標(biāo)

要將 C# 環(huán)境中的自定義指標(biāo)導(dǎo)入 TensorBoard珊随,您可以使用 StatsRecorder:

var statsRecorder = Academy.Instance.StatsRecorder;
statsRecorder.Add("MyMetric", 1.0);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末述寡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子叶洞,更是在濱河造成了極大的恐慌鲫凶,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衩辟,死亡現(xiàn)場離奇詭異螟炫,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)艺晴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門昼钻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人封寞,你說我怎么就攤上這事然评。” “怎么了狈究?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵碗淌,是天一觀的道長。 經(jīng)常有香客問我,道長亿眠,這世上最難降的妖魔是什么碎罚? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮纳像,結(jié)果婚禮上荆烈,老公的妹妹穿的比我還像新娘。我一直安慰自己竟趾,他們只是感情好憔购,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著潭兽,像睡著了一般倦始。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上山卦,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天鞋邑,我揣著相機(jī)與錄音,去河邊找鬼账蓉。 笑死枚碗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的铸本。 我是一名探鬼主播肮雨,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼嘶卧,長吁一口氣:“原來是場噩夢啊……” “哼念脯!你這毒婦竟也來了窿克?” 一聲冷哼從身側(cè)響起珊佣,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎别洪,沒想到半個(gè)月后母债,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體暇昂,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡舶得,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年掰烟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沐批。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡纫骑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出九孩,到底是詐尸還是另有隱情先馆,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布躺彬,位于F島的核電站磨隘,受9級特大地震影響缤底,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜番捂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望江解。 院中可真熱鬧设预,春花似錦、人聲如沸犁河。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽桨螺。三九已至宾符,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灭翔,已是汗流浹背魏烫。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肝箱,地道東北人哄褒。 一個(gè)月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像煌张,于是被迫代替她去往敵國和親呐赡。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容