日本在线看黄a美女久草|日本动漫亚洲在线一区|日韩人妻无码免费视频|A√有码中文字幕|日韩一级片视频热久久久|一区二区三区四区精品无码在线|亚洲AV成人无码一二三app|亚洲综合图片绯色|91极品人妻在线网站|国产成人精品一区二三区四区五区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給汪思穎
發(fā)送

0

TensorFlow Agents日前開源,輕松在TF中構建并行強化學習算法

本文作者: 汪思穎 編輯:郭奕欣 2017-09-11 17:25
導語:輕松在TensorFlow中構建并行強化學習算法

雷鋒網(wǎng) AI科技評論消息,用于在TensorFlow中構建并行強化學習算法的高效基礎架構范例TensorFlow Agents日前開源,這個項目是由谷歌的兩位研究員James Davidson、Vincent Vanhoucke,以及Danijar Hafner共同研發(fā)的。關于這個項目的開源信息他們在GitHub上進行了介紹,雷鋒網(wǎng) AI 科技評論將內容進行編譯整理。

TensorFlow Agents

TensorFlow Agents為強化學習提供了優(yōu)化的基礎架構,它將OpenAI gym接口擴展到多個并行環(huán)境,并能在TensorFlow中訓練智能體,進行批量計算。在這個項目中,我們提供BatchPPO,這是針對近端策略優(yōu)化(Proximal Policy Optimization,PPO)的一個實現(xiàn)。

如果你在研究中使用了我們這個項目的代碼,請引用我們之前發(fā)布的關于TensorFlow Agents的論文TensorFlow Agents: Efficient Batched Reinforcement Learning in TensorFlow,論文地址:https://drive.google.com/file/d/0B20Yn-GSaVHGMVlPanRTRlNIRlk/view

@misc{hafner2017agents,

   title={TensorFlow Agents: Efficient Batched Reinforcement Learning in TensorFlow},

   author={Hafner, Danijar and Davidson, James and Vanhoucke, Vincent},

   year={2017}

 }

工具:Python 2/3, TensorFlow 1.3+, Gym, rumamel.yaml

說明

先執(zhí)行如下代碼復制數(shù)據(jù)庫并運行PPO算法。

python3 -m agents.scripts.train --logdir=/path/to/logdir --config=pendulum

這里用的算法已經(jīng)在配置中定義好了,其中pendulum利用了已有的PPO實現(xiàn)??梢栽赼gents/scripts/configs.py中查看更多的預定義配置。

如果想要重新開始運行之前的任務,可以在最后的指令中增加--timestamp=<time>標志,并提供你運行的目錄名中的時間戳。

為了將度量可視化,需要從另一個終端啟動TensorBoard,然后將瀏覽器指向http://localhost:2222:

tensorboard --logdir=/path/to/logdir --port=2222

如果要渲染視頻,收集OpenAI Gym的統(tǒng)計數(shù)據(jù)上傳至記分板,請輸入以下代碼:

python3 -m agents.scripts.visualize --logdir=/path/to/logdir/<time>-<config> --outdir=/path/to/outdir/

修正

這個項目的發(fā)布能讓新的強化學習思想更容易實現(xiàn)。當修正代碼之后,你可以從如下幾個文件開始執(zhí)行任務。

  • scripts/configs.py(指定任務和算法的實驗配置)

  • scripts/networks.py(被定義為TensorFlow RNNCell的神經(jīng)網(wǎng)絡模型)

  • scripts/train.py(包含訓練設置的可執(zhí)行文件)

  • ppo/algorithm.py(PPO算法的TensorFlow圖)

如果要運行所有的單元測試,請輸入如下代碼:

python3 -m unittest discover -p "*_test.py"

如果有更多問題,可以在 Github上提問。

執(zhí)行

這次的發(fā)布還包括OpenAI Gym環(huán)境下的一個批處理接口,它能與TensorFlow無縫集成,實現(xiàn)高效的算法。這是通過如下核心組件實現(xiàn)的:

  • agents.tools.wrappers.ExternalProcess

    agents.tools.wrappers.ExternalProcess是構造外部進程里的OpenAI Gym 環(huán)境的包裝(wrapper),它可以調用step()、reset()以及屬性訪問,轉發(fā)到進程中,然后等待結果,可以并行運行多個環(huán)境而不受Python全局解釋器鎖(global interpreter lock)的限制。

  • agents.tools.BatchEnv

    agents.tools.BatchEnv能將OpenAI Gym接口擴展至多個環(huán)境中,它可以聯(lián)合多個OpenAI Gym環(huán)境,用step()接受批量的動作,返回觀察值、獎勵、完成的標記和info對象。如果有多個獨立的環(huán)境在外部進程中,它們將能被并行處理。

  • agents.tools.InGraphBatchEnv

    agents.tools.InGraphBatchEnv將batch環(huán)境集成到TensorFlow圖中,保證step()和reset()函數(shù)都可以被調用。觀察值、最后的動作、獎勵和完成的標記中的batch都存儲在變量中,并作為可用的張量。

  • agents.tools.simulate()

    agents.tools.simulate()將in-graph batch環(huán)境和強化學習算法融合成一步,可以在訓練循環(huán)中調用,這減少了調用會話的數(shù)量,并提供了一種簡單的方法來訓練接下來的算法。

如果要理解這些代碼,需要對TensorFlow的控制流運算(尤其是tf.cond(),tf.scan()和tf.control_dependencies())非常熟悉。

GitHub地址:https://github.com/tensorflow/agents

雷鋒網(wǎng) AI科技評論整理編譯。

雷峰網(wǎng)版權文章,未經(jīng)授權禁止轉載。詳情見轉載須知

TensorFlow Agents日前開源,輕松在TF中構建并行強化學習算法

分享:
相關文章

編輯

關注AI學術,例如論文
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說