精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用 Python TorchRL 進行多代理強化學習

人工智能
隨著多代理系統的出現,強化學習的復雜性不斷增加。為了管理這種復雜性,像 TorchRL 這樣的專門工具提供了一個強大的框架,可以開發和實驗多代理強化學習(MARL)算法。本文將深入探討如何使用 TorchRL 解決 MARL 問題,重點關注多代理環境中的近端策略優化(PPO)。

隨著多代理系統的出現,強化學習的復雜性不斷增加。為了管理這種復雜性,像 TorchRL 這樣的專門工具提供了一個強大的框架,可以開發和實驗多代理強化學習(MARL)算法。本文將深入探討如何使用 TorchRL 解決 MARL 問題,重點關注多代理環境中的近端策略優化(PPO)。

我們將使用 VMAS 模擬器,這是一個多機器人模擬器并且可以在 GPU 上進行并行訓練。他的主要目標多個機器人必須導航到各自的目標,同時避免碰撞。

依賴

在開始之前,請確保安裝以下依賴項:

!pip3 install torchrl  
 !pip3 install vmas  
 !pip3 install tqdm

理解近端策略優化 (PPO)

PPO 是一種策略梯度算法,它迭代地從環境中采樣數據,并直接使用這些數據來優化策略。這個過程包括采樣和訓練兩個階段,數據在收集后立即進行訓練更新。這種在線方法確保策略根據與環境最近的交互持續改進。

在線學習

在 PPO 中,學習過程依賴于一個評論家(critic),它評估策略所采取行動的質量。評論家估計給定狀態的價值,通過比較預期回報與實際結果來指導策略優化。

在多代理設置中,我們部署多個策略,每個代理一個,通常以分散的方式運作。每個代理的策略僅根據其局部觀察來決定其行動。但是評論家可以是集中的或分散的:

  • MAPPO : 評論家是集中的,以全局觀察或連接的代理觀察作為輸入。這種方法在可獲得全局狀態信息的集中式訓練場景中有益。
  • IPPO : 評論家是分散的,僅依賴于局部觀察。這種設置支持分散式訓練,代理只需要局部信息。

集中式評論家有助于緩解多個代理同時學習時出現的非平穩性問題,但可能因輸入的高維度性而面臨挑戰。

TorchRL

TorchRL是一個基于PyTorch的強化學習(Reinforcement Learning, RL)庫,專為研究人員和開發者設計,旨在提供一個靈活、高效的框架來實現和實驗各種RL算法。

  1. 與PyTorch深度集成:TorchRL充分利用了PyTorch的生態系統,使用戶能夠無縫地將RL算法與深度學習模型結合。
  2. 模塊化設計:庫提供了可組合的組件,允許用戶輕松構建和定制RL算法。
  3. 高性能:TorchRL注重效率,支持GPU加速和并行化,以加快訓練和推理速度。
  4. 多環境支持:兼容多種RL環境,包括OpenAI Gym、DeepMind Control Suite等。
  5. 豐富的算法實現:內置多種流行的RL算法,如DQN、PPO、SAC等。
  6. 擴展性:易于擴展和添加新的算法、環境和功能。

下面代碼我們將使用TorchRL來完成我們的目標

1、設置超參數

我們從定義 MARL 設置的超參數開始。這些參數控制模擬和訓練過程的各個方面,如設備類型、批量大小、學習率和 PPO 特定設置。

import torch  
 from torch import multiprocessing  
   
 # 設置設備  
 is_fork = multiprocessing.get_start_method() == "fork"  
 device = torch.device(0) if torch.cuda.is_available() and not is_fork else torch.device("cpu")  
 vmas_device = device  # 運行 VMAS 模擬器的設備  
 # 采樣和訓練參數  
 frames_per_batch = 6000    
 n_iters = 10    
 total_frames = frames_per_batch * n_iters  
 # 訓練細節  
 num_epochs = 30    
 minibatch_size = 400    
 lr = 3e-4    
 max_grad_norm = 1.0    
 # PPO 參數  
 clip_epsilon = 0.2    
 gamma = 0.99    
 lmbda = 0.9    
 entropy_eps = 1e-4

2、創建環境

TorchRL 與 VMAS 的集成允許我們高效地創建和管理多代理環境。在我們環境中多個代理必須在 LIDAR 傳感器的引導下導航到各自的目標,同時避免碰撞。

from torchrl.envs.libs.vmas import VmasEnv  
   
 max_steps = 100    
 num_vmas_envs = frames_per_batch // max_steps    
 scenario_name = "navigation"  
 n_agents = 3  
 env = VmasEnv(  
     scenario=scenario_name,  
     num_envs=num_vmas_envs,  
     continuous_actions=True,  
     max_steps=max_steps,  
     device=vmas_device,  
     n_agents=n_agents,  
 )

3、策略設計

策略網絡在 PPO 中至關重要,它負責根據代理觀察生成動作。鑒于環境中的連續動作空間,我們將使用 Tanh-Normal 分布來模擬動作,這樣還可以決定是否在代理之間共享參數,在計算效率和行為多樣性之間權衡。

from torch.nn import Sequential, Tanh  
 from tensordict.nn import TensorDictModule  
 from torchrl.modules import MultiAgentMLP, ProbabilisticActor, TanhNormal  
 from tensordict.nn.distributions import NormalParamExtractor  
   
 share_parameters_policy = True  
 # 定義策略網絡  
 policy_net = Sequential(  
     MultiAgentMLP(  
         n_agent_inputs=env.observation_spec["agents", "observation"].shape[-1],  
         n_agent_outputs=2 * env.action_spec.shape[-1],  
         n_agents=env.n_agents,  
         centralised=False,  
         share_params=share_parameters_policy,  
         device=device,  
         depth=2,  
         num_cells=256,  
         activation_class=Tanh,  
    ),  
     NormalParamExtractor(),  
 )  
 # 將網絡包裝在 TensorDictModule 中  
 policy_module = TensorDictModule(  
     policy_net,  
     in_keys=[("agents", "observation")],  
     out_keys=[("agents", "loc"), ("agents", "scale")],  
 )  
 # 創建概率性行動者  
 policy = ProbabilisticActor(  
     module=policy_module,  
     spec=env.unbatched_action_spec,  
     in_keys=[("agents", "loc"), ("agents", "scale")],  
     out_keys=[env.action_key],  
     distribution_class=TanhNormal,  
     distribution_kwargs={  
         "low": env.unbatched_action_spec[env.action_key].space.low,  
         "high": env.unbatched_action_spec[env.action_key].space.high,  
    },  
     return_log_prob=True,  
     log_prob_key=("agents", "sample_log_prob"),  
 )

4、評論家網絡設計

評論家網絡評估狀態值,指導策略更新。可以根據使用 MAPPO 還是 IPPO 來選擇集中式或分散式評論家。在代理之間共享參數可以加速訓練,但是可能導致同質化策略。

share_parameters_critic = True  
 mappo = True  # 設置為 False 以使用 IPPO  
   
 critic_net = MultiAgentMLP(  
     n_agent_inputs=env.observation_spec["agents", "observation"].shape[-1],  
     n_agent_outputs=1,    
     n_agents=env.n_agents,  
     centralised=mappo,  
     share_params=share_parameters_critic,  
     device=device,  
     depth=2,  
     num_cells=256,  
     activation_class=Tanh,  
 )  
 critic = TensorDictModule(  
     module=critic_net,  
     in_keys=[("agents", "observation")],  
     out_keys=[("agents", "state_value")],  
 )

5、數據收集

TorchRL 中的數據收集通過設計用于自動處理環境重置、動作計算和環境步進的類得到簡化。所以我們可以直接使用 SyncDataCollector 來收集訓練數據。

from torchrl.collectors import SyncDataCollector  
   
 collector = SyncDataCollector(  
     env,  
     policy,  
     device=vmas_device,  
     storing_device=device,  
     frames_per_batch=frames_per_batch,  
     total_frames=total_frames,  
 )

6、訓練循環

訓練循環將環境、策略、評論家和數據收集器結合在一起,通過采樣和訓練階段的迭代來優化代理的性能。

from torchrl.data.replay_buffers import ReplayBuffer  
 from torchrl.data.replay_buffers.samplers import SamplerWithoutReplacement  
 from torchrl.data.replay_buffers.storages import LazyTensorStorage  
 from torchrl.objectives import ClipPPOLoss, ValueEstimators  
 from tqdm import tqdm  
   
 # 重放緩沖區設置  
 replay_buffer = ReplayBuffer(  
     storage=LazyTensorStorage(  
         size=frames_per_batch,  
         device=device,  
    ),  
     sampler=SamplerWithoutReplacement(),  
 )  
 # PPO 損失設置  
 ppo_loss = ClipPPOLoss(  
     actor=policy,  
     critic=critic,  
     clip_epsilon=clip_epsilon,  
     entropy_bonus=entropy_eps,  
     value_loss_coef=0.5,  
     gamma=gamma,  
     lam=lmbda,  
     advantage_normalization=True,  
 )  
 # 訓練循環  
 for i in tqdm(range(n_iters)):  
     batch = collector.next()  
     replay_buffer.extend(batch)  
     for _ in range(num_epochs):  
         for minibatch in replay_buffer.sample(minibatch_size):  
             loss = ppo_loss(minibatch)  
             loss.backward()  
             torch.nn.utils.clip_grad_norm_(ppo_loss.parameters(), max_grad_norm)  
             optimizer.step()  
             optimizer.zero_grad()

這樣我們完整的代碼就完成了,可以看到通過TorchRL,可以減少我們很多的代碼開發工作。

總結

本文提供了使用 TorchRL 和 PPO 實現 MARL 解決方案的全面指南。通過這些步驟,可以在多代理環境中訓練代理以導航復雜任務,同時利用 GPU 加速模擬和并行計算的力量。無論選擇集中式還是分散式評論家,TorchRL 都提供了設計和實驗不同 MARL 架構,可以幫助你解決多代理強化學習的復雜性。

責任編輯:華軒 來源: DeepHub IMBA
相關推薦

2024-10-12 17:14:12

2023-08-28 06:52:29

2024-05-30 16:37:29

2025-03-28 10:16:15

2023-03-09 08:00:00

強化學習機器學習圍棋

2020-08-10 06:36:21

強化學習代碼深度學習

2020-06-05 08:09:01

Python強化學習框架

2023-11-07 07:13:31

推薦系統多任務學習

2023-10-31 16:40:39

機器學習強化學習

2025-06-03 08:49:00

2021-09-17 15:54:41

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

2020-11-12 19:31:41

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

2024-04-03 07:56:50

推薦系統多任務推薦

2022-11-02 14:02:02

強化學習訓練

2025-05-08 09:16:00

模型強化學習訓練

2025-06-03 06:12:03

2025-05-06 08:40:00

2024-12-09 08:45:00

模型AI

2023-07-20 15:18:42

2023-04-23 10:12:14

算法強化學習
點贊
收藏

51CTO技術棧公眾號

色吧亚洲日本| 国产黄a三级三级看三级| 国产精品三级| 欧美日本高清视频在线观看| 成人在线免费观看视频网站| 无码精品在线观看| 免费欧美在线视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 少妇精品无码一区二区| 在线观看涩涩| 亚洲图片激情小说| 精品乱码一区| 国产精品爽爽久久久久久| 好看的亚洲午夜视频在线| 国产婷婷97碰碰久久人人蜜臀| 杨幂毛片午夜性生毛片| 免费毛片在线看片免费丝瓜视频| 91色视频在线| 亚洲xxxx视频| 天堂网一区二区| 欧美天天视频| 日日骚av一区| 久久久精品人妻无码专区| 色综合视频一区二区三区日韩| 亚洲午夜免费电影| 一区二区精品在线观看| 亚洲av成人无码网天堂| 一色屋精品亚洲香蕉网站| 成人免费看片网址| 亚洲免费视频二区| 夜夜夜久久久| 欧美日本亚洲视频| 秋霞欧美一区二区三区视频免费| 日本一区福利在线| 日韩欧美一区二区久久婷婷| 亚洲视频在线观看一区二区三区| 丁香花在线影院| 亚洲特级片在线| 日本一区视频在线播放| 香蕉av在线播放| 国产成人免费在线视频| 91精品视频在线播放| jizz国产在线观看| 噜噜噜91成人网| 欧美亚洲另类在线| 久一区二区三区| 欧美精品色网| 美乳少妇欧美精品| 色欲一区二区三区精品a片| 成人在线免费观看网站| 国产亚洲精品美女久久久| 精品国产人妻一区二区三区| 国产成人aa在线观看网站站| 精品免费国产二区三区| 熟女人妻一区二区三区免费看| **国产精品| 欧美一区二区三区成人| 日韩不卡的av| 91成人噜噜噜在线播放| 精品国产乱码久久久久久浪潮| 国产人妻精品久久久久野外| 精品视频国内| 精品久久久久久亚洲综合网| 亚洲av午夜精品一区二区三区| 伊人久久噜噜噜躁狠狠躁| www.在线欧美| 国产亚洲欧洲997久久综合| 国产精品国产三级国产专播精品人 | 国产一区二区在线电影| 91九色综合久久| 国产男男gay网站| 国产成人免费视频| 国偷自产av一区二区三区小尤奈| 亚洲欧美一区二区三| 久久久午夜精品理论片中文字幕| 欧美在线视频二区| 日韩伦理在线电影| 夜夜嗨av一区二区三区中文字幕 | 国产私拍一区| 日韩资源在线| 中文字幕一区在线观看| 成年在线观看视频| 色在线中文字幕| 欧美丝袜丝nylons| 超碰91在线播放| 秋霞影视一区二区三区| 一区二区三区日韩在线| 成熟的女同志hd| 99精品国产一区二区青青牛奶| 国产精品xxx视频| 99热这里只有精品66| 99re这里只有精品6| 亚洲激情电影在线| 深夜国产在线播放| 一本色道a无线码一区v| 91免费视频污| 久操国产精品| 欧美老妇交乱视频| 精品国产一区二区三区四| 精品在线播放免费| 含羞草久久爱69一区| 色影视在线观看| 天天影视涩香欲综合网| 超碰在线公开97| 群体交乱之放荡娇妻一区二区| 黄色aa久久| 亚洲另类在线制服丝袜| 人妻有码中文字幕| 日韩亚洲精品在线观看| 亚洲午夜激情免费视频| 精品人妻在线播放| 久久精品999| 蜜桃狠狠色伊人亚洲综合网站| 黄色av电影在线播放| 欧美日韩亚洲一区二| av影片在线播放| 欧美精品一区二区久久| 91av在线免费观看视频| 国产偷拍一区二区| 国产精品人成在线观看免费 | 国产精品对白一区二区三区| 波多野结衣在线影院| 亚洲国产精品久久久久秋霞影院 | www.av蜜桃| 日韩高清不卡| 日韩经典中文字幕| 国产一级二级三级| 韩国成人在线视频| 四虎影院一区二区三区 | 成人www视频在线观看| 四虎国产精品永远| 亚洲国产成人av网| 国产老头和老头xxxx×| 99精品电影| 国产日韩精品电影| 国产精品毛片一区二区三区四区| 亚洲高清免费观看高清完整版在线观看| 国产探花在线看| 欧美日中文字幕| 国产99久久精品一区二区 夜夜躁日日躁 | 日韩av官网| 欧美军同video69gay| 丁香激情五月少妇| 日本中文字幕一区二区有限公司| 久久99精品国产99久久| av成人福利| 欧美tk丨vk视频| 久久无码精品丰满人妻| 国产麻豆欧美日韩一区| 亚洲美女自拍偷拍| 亚洲精品成a人ⅴ香蕉片| 色妞久久福利网| 91高潮大合集爽到抽搐| 国产精品福利一区| 五月天婷婷影视| 久久久9色精品国产一区二区三区| 国产精品三级久久久久久电影| 国产黄在线观看| 在线区一区二视频| 五月激情四射婷婷| 久久国产剧场电影| 在线视频亚洲自拍| 国产免费区一区二区三视频免费| 久久不射电影网| www.蜜臀av.com| 午夜精品在线视频一区| 99久久人妻无码中文字幕系列| 国产精品永久| 五月天色一区| 国产九九在线观看| yy6080久久伦理一区二区| 中文字幕欧美日韩va免费视频| 伊人精品在线视频| 亚洲欧美激情在线| 国产大学生视频| 美女尤物久久精品| 一区二区三区四区视频在线观看| 国产午夜亚洲精品一级在线| 欧美黑人巨大精品一区二区| 天堂av在线7| 欧美日韩专区在线| 精品国产乱码久久久久久鸭王1| 成人免费观看视频| 中文字幕乱码人妻综合二区三区 | 欧美aaaaaaaa| 欧美黄网免费在线观看| 天堂网www中文在线| 欧美日韩在线一区二区| 九九视频免费看| 久久久影视传媒| 免费在线观看污网站| 最新亚洲一区| 亚洲国产一区二区在线| 视频成人永久免费视频| 日韩av片免费在线观看| 欧美a在线看| 亚洲精品久久久久久久久久久| 中文字幕+乱码+中文| 一区二区三区**美女毛片| xxxxx在线观看| 国产剧情一区在线| 欧美一级在线看| 亚洲成人免费| 日韩福利二区| 国产成人精品福利| 成人欧美一区二区三区在线湿哒哒| 美女精品视频| 最近中文字幕2019免费| 天堂网av2014| 欧美一级一区二区| 国产精品无码粉嫩小泬| 午夜精品福利在线| 日韩黄色免费观看| 国产精品无码永久免费888| 污污免费在线观看| 国模无码大尺度一区二区三区| 国产主播在线看| 国产精品红桃| 伊人精品久久久久7777| 免费一区二区三区视频导航| 91av一区二区三区| 成人午夜在线| 日韩美女视频免费看| 欧美6一10sex性hd| 精品国产一区二区三区四区在线观看| 青青草视频免费在线观看| 精品国产免费人成电影在线观看四季| 在线黄色av网站| 日韩欧美亚洲国产一区| 日韩少妇高潮抽搐| 一区二区在线观看免费视频播放| 五月天婷婷丁香网| 国产欧美日韩麻豆91| 右手影院亚洲欧美| 91小视频免费观看| 成年人的黄色片| 成人av综合一区| 黑人无套内谢中国美女| 国产麻豆日韩欧美久久| 亚洲五月激情网| 精品一区二区三区免费毛片爱| 亚洲色成人www永久在线观看 | 欧美另类在线观看| 老司机在线视频二区| 欧美一区一区| 97国产一区二区精品久久呦| 青青青国内视频在线观看软件| 俺去啦;欧美日韩| 黄色精品免费看| 美乳少妇欧美精品| 青青草原av在线| 久久久中精品2020中文| www.九色在线| 51午夜精品视频| 激情开心成人网| 国产精品视频播放| 国产成人精选| 亚洲一区二区三区在线免费观看 | 免费在线播放第一区高清av| 亚洲熟妇无码另类久久久| 国产精品免费看| 激情网站五月天| 另类成人小视频在线| 污污的视频免费| 国产激情视频一区二区在线观看| 亚洲911精品成人18网站| www.视频一区| 亚洲精品国产一区黑色丝袜| 国产欧美一区二区精品婷婷 | 亚洲综合精品久久| 香蕉免费毛片视频| 在线观看成人免费视频| 91影院在线播放| 精品久久国产字幕高潮| 五月婷婷在线播放| 中文字幕亚洲欧美日韩2019| 九七电影韩国女主播在线观看| 欧美日本高清一区| 黑人巨大亚洲一区二区久| 国产日韩欧美在线播放| 一区二区三区四区精品视频| 蜜桃成人在线| 亚洲xxx拳头交| 人妻av中文系列| 日韩电影在线观看电影| 中文字幕乱码在线人视频| 99精品欧美一区二区三区综合在线| 91精彩刺激对白露脸偷拍| 国产精品成人网| 可以免费看的av毛片| 欧美日韩欧美一区二区| 好男人www在线视频| 亚洲视频电影图片偷拍一区| h片在线观看网站| 欧美一区二区三区精品电影| 国产欧美日韩电影| 久久久久欧美| 午夜欧美精品久久久久久久| 已婚少妇美妙人妻系列| 国产99一区视频免费| 亚洲精品午夜视频| 亚洲国产一区视频| 中文字幕在线观看欧美| 日韩av在线播放资源| 成人福利在线观看视频| 人妖精品videosex性欧美| 日韩欧美激情电影| 五月婷婷一区| 午夜一级在线看亚洲| 欧美精品一区二区三| 日韩二区三区| 欧美精品做受xxx性少妇| 朝桐光一区二区| aa国产精品| 97国产在线播放| 国产乱一区二区| 91视频免费在观看| 黑人极品videos精品欧美裸| 精品久久久久久亚洲综合网站 | 成人在线观看免费| 国内精品久久久久影院优| 国产在线不卡一区二区三区| 日本一区二区三区视频在线观看| 在线看片欧美| 熟女人妻一区二区三区免费看| 亚洲欧洲一区二区在线播放| 波多野结衣绝顶大高潮| 日韩国产中文字幕| 爱搞国产精品| 国产伦精品一区二区三区免费视频| 一区二区电影| 嫩草视频免费在线观看| 国产精品日韩精品欧美在线| 波多野结衣av无码| 亚洲欧美一区二区激情| 亚洲第一av| 久久久久九九九| 四季av一区二区凹凸精品| 三级在线视频观看| 久久久国产综合精品女国产盗摄| 久久精品视频7| 亚洲精品之草原avav久久| 欧美aa免费在线| 国产精品久久久对白| 伊人成年综合电影网| 波多野结衣视频播放| 天天综合色天天综合色h| 污视频网站在线播放| 欧美一级bbbbb性bbbb喷潮片| 鲁大师精品99久久久| 缅甸午夜性猛交xxxx| 91热门视频在线观看| 一区二区欧美日韩视频| 性欧美videos高清hd4k| 亚洲综合大片69999| 欧美a级在线| 一级黄色免费视频| 精品久久久久久中文字幕大豆网| 天天干天天做天天操| 国产成人avxxxxx在线看| 精品久久久久久久久久久aⅴ| 中文字幕第21页| 中文字幕一区在线观看| www.色播.com| 欧美最近摘花xxxx摘花| 久久av网址| 四季av一区二区三区| 亚洲一区二区三区四区五区中文| 日韩一区二区三区不卡| 日韩av不卡电影| 99久久影视| 性活交片大全免费看| 欧美午夜xxx| 午夜在线播放| 国产欧美日韩综合精品二区| 三级成人在线视频| 四虎永久免费在线| 日韩av在线免费播放| 狠狠久久伊人中文字幕| 激情六月天婷婷| 久久嫩草精品久久久精品| 在线观看免费视频一区| 欧美激情中文字幕在线| 蜜桃视频欧美| 夜夜爽久久精品91| 欧美特级www| av电影免费在线观看| 久久久精彩视频| 黑人精品欧美一区二区蜜桃| 豆国产97在线 | 亚洲| 亚洲性av网站| 97久久综合精品久久久综合| 999精品视频在线| 亚洲综合成人网| 在线看av的网址| 狠狠爱一区二区三区| 激情小说亚洲一区| 一二三区免费视频| 欧美国产日韩一区| 91日韩欧美|