日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

要玩转这个星际争霸II开源AI,你只需要i5+GTX1050

發布時間:2024/4/14 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 要玩转这个星际争霸II开源AI,你只需要i5+GTX1050 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
DeepMind、OpenAI 和暴雪對于星際爭霸 2 人工智能的研究仍在進行中,面對復雜的即時戰略游戲,人們目前還鮮有進展。盡管近期騰訊、南大、伯克利等均在星際 II 上攻克了全場游戲,但其訓練規模并不是個體研究者所能 handle 的。最近,來自 University of Tartu 的 Roman Ring 開源了首個星際爭霸 2 的智能體項目,我們也可以在這個前沿領域里展開自己的研究了。

Reaver 是一個模塊化的深度強化學習框架,可提供比大多數開源解決方案更快的單機并行化能力,支持星際爭霸 2、OpenAI Gym、Atari、MuJoCo 等常見環境,其網絡被定義為簡單的 Keras 模型,易于配置和共享設置。在示例中,Reaver 在不到 10 秒鐘內通過了 CartPole-v0 游戲,在 4 核 CPU 筆記本上每秒采樣率為 5000 左右。

Reaver 可以在 30 分鐘內攻克星際爭霸 2 的 MoveToBeacon 小游戲,和 DeepMind 得到的結果相當,僅使用了配置 Intel i5-7300HQ CPU (4 核) 和 GTX 1050 GPU 的筆記本,你也可以在 Google Colab 上在線跑跑對比一下。

  • 項目鏈接:https://github.com/inoryy/reaver-pysc2
  • Reaver 的 Google Colab 地址:https://colab.research.google.com/drive/1DvyCUdymqgjk85FB5DrTtAwTFbI494x7

具體來說,Reaver 具備以下特征:

性能:現有研究的多數強化學習基線通常針對進程之間基于消息的通信(如 MPI)進行調整。這對于 DeepMind、OpenAI 等擁有大規模分布式 RL 設置的公司來說是有意義的,但對于只擁有一個計算機/HPC 節點的研究人員或發燒友來說,這似乎是一個很大的瓶頸。因此,Reaver 采用了共享內存,與之前基于消息的并行化的項目相比,速度提升了 2 倍。具體來說,Reaver 通過 lock-free 的方式利用共享內存,可以專門針對這種情況優化。這種方法可以在星際爭霸 II 采樣率上速度提升了 2 倍(在一般情況下可以實現 100 倍的加速),其最主要的瓶頸在于 GPU 的輸入/輸出管道。

模塊化:許多 RL 基線或多或少都是模塊化的,但經常緊緊地與作者使用的模型/環境耦合。以我個人經驗來看,當我只專注于星際爭霸 2 游戲時,每一次實驗或調試都是一個令人沮喪的長期過程。而有了 Reaver 之后,我就能夠在一行代碼中交換環境(即使是從 SC2 到雅達利或 CartPole)。對于模型來說也是如此——任何 Keras 模型都可以,只要它遵守基本 API 契約(inputs = agent obs, outputs = logits + value)。Reaver 的三個核心模塊 envs、models、 和 agents 基本上是完全獨立的。這保證了在一個模塊上的功能擴展可以無縫地連接到其它模塊上。

可配置性:現有的智能體通常具有幾十個不同的配置參數,共享這些參數似乎讓每一個參與其中的人都很頭疼。我最近偶然發現了這個問題的一個有趣的解決方案——gin-config,它支持將任意 Python 可調用函數配置為類似 Python 的配置文件和命令行參數。試驗后發現 gin-config 可以實現僅用一個文件共享全部訓練流程環境配置。所有的配置都能輕松地以.gin 文件的形式進行分享,包括所有超參數、環境變量和模塊定義。

不過時:DL 中充滿變數,即使只有一年歷史的代碼庫也會過時。我使用即將面世的 TensorFlow 2.0 API 寫 Reaver(大多使用 tf.keras,避開 tf.contrib),希望 Reaver 不會遭此厄運。

Reaver 的用途并不局限于星際爭霸 II 智能體的深度強化學習訓練,如果有任何擴展的想法歡迎分享給我。我計劃近期添加 VizDoom 環境到這個項目中去。

python -m reaver.run --env MoveToBeacon --agent a2c --envs 4 2> stderr.log

只需通過一行代碼,Reaver 就可以直接配置一個訓練任務,如上所示。Reaver 的獎勵函數可以很快收斂到大約 25-26RMe(mean episode rewards),這和 DeepMind 在該環境(MoveToBeacon)中得到的結果相當。具體的訓練時間取決于你自己的硬件。以下日志數據是通過配置了 Intel i5-7300HQ CPU (4 核) 和 GTX 1050 GPU 的筆記本訓練了 30 分鐘得到的。

| T 118 | Fr 51200 | Ep 212 | Up 100 | RMe 0.14 | RSd 0.49 | RMa 3.00 | RMi 0.00 | Pl 0.017 | Vl 0.008 | El 0.0225 | Gr 3.493 | Fps 433 |
| T 238 | Fr 102400 | Ep 424 | Up 200 | RMe 0.92 | RSd 0.97 | RMa 4.00 | RMi 0.00 | Pl -0.196 | Vl 0.012 | El 0.0249 | Gr 1.791 | Fps 430 |
| T 359 | Fr 153600 | Ep 640 | Up 300 | RMe 1.80 | RSd 1.30 | RMa 6.00 | RMi 0.00 | Pl -0.035 | Vl 0.041 | El 0.0253 | Gr 1.832 | Fps 427 |
...
| T 1578 | Fr 665600 | Ep 2772 | Up 1300 | RMe 24.26 | RSd 3.19 | RMa 29.00 | RMi 0.00 | Pl 0.050 | Vl 1.242 | El 0.0174 | Gr 4.814 | Fps 421 |
| T 1695 | Fr 716800 | Ep 2984 | Up 1400 | RMe 24.31 | RSd 2.55 | RMa 30.00 | RMi 16.00 | Pl 0.005 | Vl 0.202 | El 0.0178 | Gr 56.385 | Fps 422 |
| T 1812 | Fr 768000 | Ep 3200 | Up 1500 | RMe 24.97 | RSd 1.89 | RMa 31.00 | RMi 21.00 | Pl -0.075 | Vl 1.385 | El 0.0176 | Gr 17.619 | Fps 423 |


在 MoveToBeacon 環境上的 RMe 學習曲線。

基準評測分數


其中:

  • Human Expert 是由 DeepMind 從戰網天梯的大師級玩家中收集的數據
  • DeepMind ReDRL 是當前業內最佳結果,出自 DeepMind 2018 年 6 月的論文《Relational Deep Reinforcement Learning》
  • DeepMind SC2LE 成績出自 DeepMind 和暴雪 2017 年 8 月的論文《StarCraft II: A New Challenge for Reinforcement Learning》
  • Reaver(A2C)是通過訓練 reaver.agents.A2C 智能體獲得的結果,其在硬件上盡可能復制 SC2LE 的架構。通過訓練智能體 --test 模組 100 個迭代,計算總獎勵值,收集結果。表中列出的是平均值、標準差(在括號中),以及最小&最大值(在方括號中)。



訓練細節,注意這些訓練時間都是在配置了 Intel i5-7300HQ CPU (4 核) 和 GTX 1050 GPU 的筆記本上得到的。我并沒有花費太多時間來調超參數,而是先展示其可學習性,但至少在 MoveToBeacon 環境中,我已經顯著地降低了訓練樣本數。


不同環境下的 RMe 學習曲線和標準差。

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的要玩转这个星际争霸II开源AI,你只需要i5+GTX1050的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。