国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

幾行代碼實現強化學習

人工智能 機器學習
本文的目的是讓您快速使用一些簡潔的程序包,以便您可以輕松地開始學習強化學習。有關如何實施SOTA深度強化學習算法的深入教程,請參閱此內容。

在過去的一年中,強化學習已經取得了重大進步,最新技術每兩個月發布一次。 我們已經看到AlphaGo擊敗了世界冠軍圍棋選手Ke Jie,Multi-Agents玩了捉迷藏,甚至AlphaStar在星際爭霸中也擁有自己的實力。

實施這些算法可能會非常具有挑戰性,因為它需要對深度學習和強化學習都有很好的理解。 本文的目的是讓您快速使用一些簡潔的程序包,以便您可以輕松地開始學習強化學習。

有關如何實施SOTA深度強化學習算法的深入教程,請參閱此內容。 強烈推薦您仔細閱讀!

強化學習

一、環境

在開始實現這些算法之前,我們首先需要創建一個工作環境,即游戲。 對于算法而言,重要的是要了解什么是動作和觀察空間。 為此,我們將介紹幾個可用于選擇有趣環境的軟件包。

1. Gym

Gym是用于開發和比較強化學習算法的工具包。 它通常用于實驗和研究目的,因為它提供了一個易于使用的界面來處理環境。

只需使用以下命令安裝軟件包:

  1. pip install gym 

之后,您可以使用以下代碼創建環境:

  1. import gym 
  2. env = gym.make(‘CartPole-v0’) 

在 CartPole 環境中,您的任務是防止頭連接到推車的電線桿掉落。

env變量包含有關環境(游戲)的信息。 要了解CartPole的操作空間是什么,只需運行env.action_space即可產生Discrete(2)。 這意味著可能有兩個離散的動作。 要查看觀察空間,請運行env.observation_space,它產生Box(4)。 此框代表 n(4)個封閉間隔的笛卡爾積。

要渲染游戲,請運行以下代碼:

  1. import gym 
  2. env = gym.make('CartPole-v0') 
  3.  
  4. obs = env.reset() 
  5. while True: 
  6.     action = env.action_space.sample() 
  7.     obs, rewards, done, info = env.step(action) 
  8.     env.render() 
  9.  
  10.     if done: 
  11.         break 
[[336834]]

我們可以看到,如果我們選擇采取隨機行動,則小車車一直在失敗。 最終,目標將是運行強化學習算法,該算法將學習如何解決此問題。

有關Gym中環境的完整列表,請參閱此。

注意:如果您在運行atari(阿塔利)游戲時遇到問題,請參見內容:https://github.com/openai/gym/issues/1726。

2. Retro

創建有趣的環境的另一個選項是使用Retro。 該軟件包由OpenAI開發,可讓您使用ROMS來模擬Airstriker-Genesis之類的游戲。

只需使用以下命令安裝軟件包:

  1. pip install gym-retro 

然后,我們可以使用以下方法創建和查看環境:

  1. import retro 
  2. env = retro.make(game='Airstriker-Genesis'

同樣,要渲染游戲,請運行以下代碼:

  1. import retro 
  2. env = retro.make(game='Airstriker-Genesis'
  3.  
  4. obs = env.reset() 
  5. while True: 
  6.     action = env.action_space.sample() 
  7.     obs, rewards, done, info = env.step(action) 
  8.     env.render() 
  9.  
  10.     if done: 
  11.         break 
幾行代碼實現強化學習

要安裝ROMS,您需要找到相應的.sha文件,然后運行:

  1. python3 -m retro.import /path/to/your/ROMs/directory/ 

注意:有關易于使用的環境的完整列表,請運行:

  1. retro.data.list_games() 

3. Procgen

強化學習的一個典型問題是,生成的算法通常可以在特定環境下很好地工作,但無法學習任何可通用的技能。 例如,如果我們要改變游戲的外觀或敵人的反應該怎么辦?

為了解決這個問題,OpenAI開發了一個名為Procgen的軟件包,該軟件包允許創建過程生成的環境。 我們可以使用此軟件包來衡量強化學習代理學習通用技能的速度。

渲染游戲非常簡單:

  1. import gym 
  2. param = {"num_levels": 1, "distribution_mode": "hard"} 
  3. env = gym.make("procgen:procgen-leaper-v0", **param) 
  4.  
  5. obs = env.reset() 
  6. while True: 
  7.     action = env.action_space.sample() 
  8.     obs, rewards, done, info = env.step(action) 
  9.     env.render() 
  10.  
  11.     if done: 
  12.         break 
[[336835]]

這將生成可在其上訓練算法的單個級別。 有幾個選項可用于以程序方式生成同一環境的許多不同版本:

  • num_levels-可以生成的唯一級別數
  • distribution_mode-使用哪種級別的變量,選項為"easy簡單","hard難","extreme極致","memory記憶","exploration探索"。 所有游戲都支持“易”和“難”,而其他選項則取決于游戲。

二、強化學習

現在,終于是時候進行實際的強化學習了。 盡管有許多可用的軟件包可用于訓練算法,但由于它們的可靠實現,我將主要研究“穩定Baselines ”。

請注意,我不會在此帖子中解釋RL算法的實際工作方式,因為這本身就需要一個全新的帖子。 有關最新算法(例如PPO,SAC和TD3)的概述,請參見內容:

https://github.com/dennybritz/reinforcement-learning。

1. 穩定的基線(穩定Baselines)

穩定基準(SB)是基于OpenAI基準的,旨在使研究社區和行業更容易復制,改進和識別新想法。 他們在“基線”上進行了改進,使之成為一個更穩定,更簡單的工具,使初學者可以嘗試進行“強化學習”,而不會陷入實施細節中。

SB之所以經常使用,是因為它可以輕松,快速地應用最新的強化學習算法。 此外,創建和訓練RL模型只需要幾行代碼。

安裝可以簡單地通過以下方式完成:pip install stable-baselines。 然后,為了創建和學習RL模型(例如PPO2),我們運行以下代碼行:

  1. from stable_baselines import PPO2 
  2. from stable_baselines.common.policies import MlpPolicy 
  3. model = PPO2(MlpPolicy, env, verbose=1
  4. model.learn(total_timesteps=10_000log_interval=10

有些事情可能需要一些解釋:

  • total_timesteps:要訓練的樣本總數
  • MlpPolicy:實現actor-critic的Policy對象。 在這種情況下,將使用2層64層的多層感知器。還有視覺信息策略,例如CnnPolicy甚至CnnLstmPolicy

為了將此模型應用于CartPole示例,我們需要將環境包裝在Dummy中,以使其可供SB使用。 然后,在CartPole環境中訓練PPO2的完整示例如下:

  1. from stable_baselines.common.policies import MlpPolicy 
  2. from stable_baselines.common.vec_env import DummyVecEnv 
  3. from stable_baselines import PPO2 
  4. import gym 
  5.  
  6. env = gym.make('CartPole-v0') 
  7. env = DummyVecEnv([lambda: env]) 
  8.  
  9. model = PPO2(MlpPolicy, env, verbose=1
  10. model.learn(total_timesteps=50_000log_interval=10
  11.  
  12. obs = env.reset() 
  13. while True: 
  14.     action, _states = model.predict(obs) 
  15.     obs, rewards, dones, info = env.step(action) 
  16.     env.render() 
[[336836]]

如上圖所示,PPO2僅用50,000步就設法找到一種保持極點穩定的方法。 這只需要幾行代碼和幾分鐘的處理!

如果要將其應用于Procgen或Retro,請確保選擇一個允許基于卷積的網絡的策略,因為觀察空間很可能是環境當前狀態的圖像。

最后,CartPole示例非常簡單,僅需訓練50,000步即可。 大多數其他環境在顯示出顯著改進之前通常需要執行幾千萬步。

注意:《穩定基準》的作者警告初學者在產品中使用該軟件包之前,對強化學習要有很好的了解。 強化學習有許多關鍵組成部分,如果其中任何一個出現錯誤,該算法將失敗,并且可能會留下很少的解釋。

2. 其他軟件包

還有其他一些常用于應用RL算法的軟件包:

  • TF-Agents-比穩定基線需要更多的編碼,但通常是強化學習研究的必備軟件包。
  • MinimalRL-在Pytorch中以非常少的代碼實現的最新RL算法。 它絕對有助于理解算法。
  • DeepRL-Pytorch的另一種實現,但是此版本還具有實現要使用的其他環境。
  • MlAgents-一個開放源代碼的Unity插件,使游戲和模擬可用作培訓代理的環境。

三、結論

強化學習可能是一個棘手的課題,因為很難調試代碼中是否以及何時出現問題。 希望這篇文章可以幫助您開始進行強化學習。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2023-03-23 16:30:53

PyTorchDDPG算法

2023-01-24 17:03:13

強化學習算法機器人人工智能

2023-06-25 11:30:47

可視化

2025-05-08 09:16:00

模型強化學習訓練

2023-03-09 08:00:00

強化學習機器學習圍棋

2019-08-12 08:43:53

GitHub代碼開發者

2023-11-07 07:13:31

推薦系統多任務學習

2022-11-02 14:02:02

強化學習訓練

2020-11-12 19:31:41

強化學習人工智能機器學習

2024-04-03 07:56:50

推薦系統多任務推薦

2021-09-17 15:54:41

深度學習機器學習人工智能

2021-06-11 09:28:04

人工智能機器學習技術

2024-12-09 08:45:00

模型AI

2020-04-01 12:18:11

人工智能強化學習開源

2019-09-29 10:42:02

人工智能機器學習技術

2024-05-30 16:37:29

2017-07-25 16:04:31

概念應用強化學習

2020-06-05 08:09:01

Python強化學習框架

2023-04-23 10:12:14

算法強化學習

2023-07-20 15:18:42

點贊
收藏

51CTO技術棧公眾號

一本色道久久综合亚洲精品按摩| 欧美在线综合视频| 国产精品自拍偷拍| 精品欧美色视频网站在线观看| 成人一二三区视频| 91精品久久久久久久| 成人四虎影院| 成人免费视频caoporn| 欧美成人蜜桃| 国产亚洲精品美女久久久m| 91传媒视频在线观看| 91香蕉嫩草影院入口| 国产91精品入口17c| 国产福利成人在线| 男女午夜激情视频| 国产激情视频一区二区在线观看 | 国产精品一区二区久久久| 周于希免费高清在线观看| 大伊人狠狠躁夜夜躁av一区| 538任你躁在线精品免费| 国产一区二区三区在线观看免费视频| 国产伦精品一区二区三区视频免费 | 蜜桃成人免费视频| 999精品视频| 91成人性视频| 91欧美日韩在线| 主播福利视频一区| 9i看片成人免费高清| 日韩美女视频在线| 黄色网址在线免费观看| 日本道色综合久久| 理论在线观看| 欧美午夜影院一区| 91高清在线| 欧美日韩精品高清| 日本精品一区二区三区在线播放| 在线视频观看一区| 猫咪在线永久网站| 7777精品伊人久久久大香线蕉 | 欧美激情在线免费| 欧美做受高潮1| 欧美aaaaa级| 性视频1819p久久| 超碰成人免费| 国产ts一区二区| 精品九九在线| 亚洲一区二区三区四区视频| 欧美一区久久| 国产日韩精品推荐| 丝袜亚洲另类欧美| 看一级黄色录像| 91小视频在线免费看| 欧美婷婷精品激情| 洋洋av久久久久久久一区| 青青国产在线| 在线播放91灌醉迷j高跟美女 | 天天做天天摸天天爽国产一区| 嫩草嫩草嫩草| 色偷偷久久一区二区三区| 欧美一级二级三级区| 亚洲国产精彩中文乱码av在线播放| 久久影院午夜精品| 美女视频久久黄| 欧美亚洲激情| 久久青青草综合| 成人三级伦理片| 毛片毛片毛片毛片| 在线不卡a资源高清| 日韩免费小视频| 91av视频在线| 亚洲国产一区二区三区a毛片| 亚洲欧美一区二区原创| 老牛国内精品亚洲成av人片| 欧美精品一区二区三区高清aⅴ| 91国语精品自产拍在线观看性色 | 亚洲国产精品中文| a一区二区三区亚洲| 日韩av电影院| 性欧美xxxx大乳国产app| 无码人妻aⅴ一区二区三区日本| 久久综合网色—综合色88| 91网页在线看| 欧美精品一区二区在线播放| 亚洲一区二区小说| 国产精品综合不卡av| 丝袜美腿高跟呻吟高潮一区| 久久久久国产精品熟女影院| 国产亚洲欧美视频| 18在线观看的| 九九精品在线观看| 欧美国内亚洲| 黄色成人在线看| 午夜精品福利视频网站| 日韩免费高清在线观看| 在线观看18视频网站| 国产精品国产馆在线真实露脸 | 久久精品电影网站| 亚洲成人99| www.亚洲成人网| 亚洲成人动漫一区| 一区二区乱码| 国产精品美乳在线观看| 激情欧美一区二区| 日韩黄色网址| 国产亚洲精品综合一区91| 国产精品久久久久一区二区三区厕所| 一区二区三区四区欧美日韩| 亚洲美女偷拍久久| 欧美aa一级| 成人91视频| 国产精品白丝在线| 小草在线视频免费播放| 国产日产欧美a一级在线| 国产69精品一区二区亚洲孕妇| 在线国产一区二区三区| 久久久国产精品免费| 免播放器亚洲| 天堂资源最新在线| 久久久久久久av| 国产大陆a不卡| 九色porny在线| 孩xxxx性bbbb欧美| 国产成人精品免费看| 色老头视频在线观看| 日本精品久久电影| 99久久婷婷国产精品综合| 国产蜜臀在线| 亚洲一区二区三区四区在线播放 | 91国内免费在线视频| 国产河南妇女毛片精品久久久| 日本啊v在线| 午夜精品一区二区三区在线视| 精品中文av资源站在线观看| 成年人视频在线看| 成人疯狂猛交xxx| 伊人性伊人情综合网| 亚洲成人影音| 可以在线看的av网站| 亚洲精品永久免费精品| 日韩一区精品视频| 成人免费视屏| 国产一区二区三区无遮挡| 欧美日韩一区免费| 日韩久久精品网| 免费成人高清| 日本精品一区二区三区在线播放视频| 国产夜色精品一区二区av| 九九热这里有精品| 日本午夜激情视频| 这里只有视频精品| 国产精品456| 欧美18av| 天堂а√在线中文在线| 亚洲欧洲国产一区| 国产91精品入口| 成人午夜sm精品久久久久久久| 亚洲爆乳无码精品aaa片蜜桃| 亚洲精品综合久久中文字幕| 久久国产麻豆精品| 韩漫成人漫画| a级黄色一级片| 九色成人免费视频| 亚洲国产精品激情在线观看| 香蕉成人app| 伊人国产在线视频| 97不卡在线视频| 一区二区成人在线| 成人写真视频| 黄色网址在线播放| 国产一区高清视频| 欧美一区二区在线观看| 日本aⅴ精品一区二区三区| 91豆花视频在线播放| 国产a级黄色大片| 伊人伊人伊人久久| 国产亚洲欧美在线| 免费一区二区| 毛片在线能看| 午夜精品视频在线观看一区二区| 日韩久久精品电影| 91在线视频免费观看| 欧美日韩一区二区三区在线电影| 超碰在线电影| 欧美精品与人动性物交免费看| 亚洲成人av在线播放| 成人性视频免费网站| 国内精品国产成人国产三级粉色| 白白色视频在线| 久久九九视频| 丝袜亚洲另类欧美重口| 亚洲精品视频在线| 国产精品久久久久毛片大屁完整版 | 好吊色欧美一区二区三区四区| 日韩一级在线观看| 成人小视频在线| 青青草原在线亚洲| 国产午夜在线视频| 国产成人亚洲综合无码| 国产福利视频一区二区| 制服丝袜av成人在线看|