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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Twin Delayed DDPG(TD3)-强化学习算法

發布時間:2024/9/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Twin Delayed DDPG(TD3)-强化学习算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • Background
  • Quick Facts
  • Key Equations
  • Exploration vs. Exploitation
  • Pseudocode
  • Documentation

Background

盡管DDPG有時可以實現出色的性能,但它在超參數和其他類型的調整方面通常很脆弱。 DDPG的常見故障模式是,學習到的Q函數開始顯著高估Q值,然后導致策略中斷,因為它利用了Q函數中的錯誤。 雙延遲DDPG(TD3)是一種通過引入三個關鍵技巧來解決此問題的算法:

  • Trick One: Clipped Double-Q Learning. TD3學習兩個Q-functions(因此命名為“twin"),還用了較小的兩個Q-值去構造Bellman誤差損失函數的目標s。、
  • Trick Two: “Delayed” Policy Updates. TD3更新策略(和目標網絡)的頻次比Q-function要少。文章建議每兩次Q-function的更新再更新一次策略。
  • Trick Three: Target Policy Smoothing. TD3對目標動作加入了噪聲,通過根據操作變化平滑Q,使策略更難以利用Q函數誤差。

總之,這三個技巧使性能大大超過了基準DDPG。

Quick Facts

  • TD3 is an off-policy algorithm.
  • TD3 can only be used for environments with continuous action spaces.
  • SpinningUP中的TD3不支持并行運算

Key Equations

TD3同時學習兩個Q-functions, Q?1andQ?2Q_{\phi_1} and \ Q_{\phi_2}Q?1??and?Q?2??通過均方Bellman誤差最小化(與DDPG學習它的單Q-函數幾乎同樣的方式)。為了更準確的說明TD3怎么做以及它與一般的DDPG到底有什么不同,我們將從損失函數的最內部開始進行工作。

  • 1:**目標策略平滑化. ** 用于構建Q-learning目標的動作是基于目標策略μθtarg\mu_{\theta_targ}μθt?arg?的, 但是伴隨著clipped噪聲加入動作的每個維度。在加入截斷噪聲,然后將目標動作裁剪為位于有效動作范圍內(所有有效動作,aaa,滿足aLow≤a≤aHigha_{Low}\leq a\leq a_{High}aLow?aaHigh?)。因此目標動作為:a′(s′)=clip(μθtarg(s′)+clip(?,?c,c),aLow,aHigh),?~N(0,σ)a'(s') = \text{clip}\left(\mu_{\theta_{\text{targ}}}(s') + \text{clip}(\epsilon,-c,c), a_{Low}, a_{High}\right), \;\;\;\;\; \epsilon \sim \mathcal{N}(0, \sigma) a(s)=clip(μθtarg??(s)+clip(?,?c,c),aLow?,aHigh?),?N(0,σ)目標策略平滑實質上是算法的正則化器。 它解決了DDPG中可能發生的特定故障模式:如果Q函數逼近器為某些動作形成了一個不正確的尖峰,該策略將迅速利用該峰,然后出現脆性或不正確的表現。 可以通過對Q函數進行平滑處理來避免此類行為,這是針對目標策略進行平滑處理而設計的。
  • 2:截斷double-Q learning 兩個Q-函數 使用一個目標,計算時使用兩個Q-函數中給出的最小目標值的那個:y(r,s′,d)=r+γ(1?d)min?i=1,2Q?i,targ(s′,a′(s′)),y(r,s',d) = r + \gamma (1 - d) \min_{i=1,2} Q_{\phi_{i, \text{targ}}}(s', a'(s')), y(r,s,d)=r+γ(1?d)i=1,2min?Q?i,targ??(s,a(s)),然后都可以通過退回到這個目標來學習:L(?1,D)=E(s,a,r,s′,d)~D(Q?1(s,a)?y(r,s′,d))2,L(\phi_1, {\mathcal D}) = E_{(s,a,r,s',d) \sim {\mathcal D}}{ \Bigg( Q_{\phi_1}(s,a) - y(r,s',d) \Bigg)^2 },L(?1?,D)=E(s,a,r,s,d)D?(Q?1??(s,a)?y(r,s,d))2,L(?2,D)=E(s,a,r,s′,d)~D(Q?2(s,a)?y(r,s′,d))2.L(\phi_2, {\mathcal D}) = E_{(s,a,r,s',d) \sim {\mathcal D}}{ \Bigg( Q_{\phi_2}(s,a) - y(r,s',d) \Bigg)^2 }.L(?2?,D)=E(s,a,r,s,d)D?(Q?2??(s,a)?y(r,s,d))2.對目標使用較小的Q值,然后逐步回歸該值,有助于避免Q函數的過高估計。
    3: 僅通過最大化來學習策略Q?1:Q_{\phi_1}:Q?1??:max?θEs~D[Q?1(s,μθ(s))],\max_{\theta} \underset{s \sim {\mathcal D}}{{\mathrm E}}\left[ Q_{\phi_1}(s, \mu_{\theta}(s)) \right],θmax?sDE?[Q?1??(s,μθ?(s))],這個同DDPG沒啥改變。然而,在TD3,策略比Q-函數更新得慢。由于策略的更新如何地更改目標,這種方式有助于抑制DDPG中通常出現的波動。

Exploration vs. Exploitation

TD3以off-policy方式訓練確定性策略。 由于該策略是確定性的,因此如果代理要探索策略,則一開始它可能不會嘗試采取足夠多種措施來找到有用的學習信號。 為了使TD3策略更好地探索,我們在訓練時在其操作中增加了噪聲,通常是不相關的均值零高斯噪聲。 為了便于獲取更高質量的訓練數據,您可以在訓練過程中減小噪聲的大小。 (在實現過程中,我們不會這樣做,并且始終將噪聲等級保持固定。)

在測試時,要查看策略如何充分利用它所學到的知識,我們不會在操作中增加噪音。

TD3實施在訓練開始時使用了一個技巧來改進探索。 對于開始時有固定數量的步驟(使用start_steps關鍵字參數設置),代理將采取從有效動作的均勻隨機分布中采樣的動作。 之后,它將返回到正常的TD3探索。

Pseudocode

Documentation

spinup.td3(env_fn, actor_critic=, ac_kwargs={}, seed=0, steps_per_epoch=5000, epochs=100, replay_size=1000000, gamma=0.99, polyak=0.995, pi_lr=0.001, q_lr=0.001, batch_size=100, start_steps=10000, act_noise=0.1, target_noise=0.2, noise_clip=0.5, policy_delay=2, max_ep_len=1000, logger_kwargs={}, save_freq=1)
Parameters:

  • env_fn – A function which creates a copy of the environment. The environment must satisfy the OpenAI Gym API.
  • actor_critic – A function which takes in placeholder symbols for state, x_ph, and action, a_ph, and returns the main outputs from the agent’s Tensorflow computation graph:
  • ac_kwargs (dict) – Any kwargs appropriate for the actor_critic function you provided to TD3.
  • seed (int) – Seed for random number generators.
  • steps_per_epoch (int) – Number of steps of interaction (state-action pairs) for the agent and the environment in each epoch.
  • epochs (int) – Number of epochs to run and train agent.
  • replay_size (int) – Maximum length of replay buffer.
  • gamma (float) – Discount factor. (Always between 0 and 1.)
  • polyak (float) – Interpolation factor in polyak averaging for target networks. Target networks are updated towards main networks according to:θtarg←ρθtarg+(1?ρ)θ\theta_{targ}\leftarrow\rho\theta_{targ}+(1-\rho)\thetaθtarg?ρθtarg?+(1?ρ)θwhere ρ\rhoρ is polyak. (Always between 0 and 1, usually close to 1.)
  • pi_lr (float) – Learning rate for policy.
  • q_lr (float) – Learning rate for Q-networks.
  • batch_size (int) – Minibatch size for SGD.
  • start_steps (int) – Number of steps for uniform-random action selection, before running real policy. Helps exploration.
  • act_noise (float) – Stddev for Gaussian exploration noise added to policy at training time. (At test time, no noise is added.)
  • target_noise (float) – Stddev for smoothing noise added to target policy.
  • noise_clip (float) – Limit for absolute value of target policy smoothing noise.
  • policy_delay (int) – Policy will only be updated once every policy_delay times for each update of the Q-networks.
  • max_ep_len (int) – Maximum length of trajectory / episode / rollout.
  • logger_kwargs (dict) – Keyword args for EpochLogger.
  • save_freq (int) – How often (in terms of gap between epochs) to save the current policy and value function.

總結

以上是生活随笔為你收集整理的Twin Delayed DDPG(TD3)-强化学习算法的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 91精品久久人妻一区二区夜夜夜 | 污网站免费 | 精品日韩在线播放 | 黄色av播放| 成年丰满熟妇午夜免费视频 | 欧美一区二区三区 | 成人欧美性 | 日韩av免费在线观看 | 国产做受麻豆动漫 | 国产视频高清 | 成人在线电影网站 | 成人小视频在线观看 | 日日精品| 蜜桃av免费| 日韩女优在线播放 | 中国极品少妇xxxx | 国产一级爱c视频 | 老局长的粗大高h | 国产波霸爆乳一区二区 | 强伦人妻一区二区三区视频18 | 亚洲毛片在线 | 日本五十肥熟交尾 | 丁香花电影免费播放电影 | 亚洲天堂无吗 | 亚洲交性网 | 看毛片看毛片 | 中文字幕乱码亚洲精品一区 | 亚洲自拍偷拍视频 | 国产一区二区三区免费看 | 久久免费精品视频 | 免费人成视频在线 | 国产午夜精品久久久久久久 | 亚洲欧美成人综合 | 亚洲综合涩 | 少妇丰满尤物大尺度写真 | 蜜臀久久精品久久久久久酒店 | 澳门黄色网 | 九九爱精品视频 | 亚洲小视频在线观看 | 国产精品果冻传媒潘 | 99久久精品一区二区三区 | 亚洲天堂一区 | 亚洲欧美色图 | 182tv午夜福利在线观看 | 欧美怡红院视频一区二区三区 | av一区在线 | 97色伦影院| 尤物91| 国产露脸国语对白在线 | 高跟鞋丝袜猛烈xxxx | 亚洲天堂第一页 | 天堂在线www | 久久精久久 | 日韩三级国产精品 | www.超碰97.com| 免费看女人裸体 | 中文字幕在线观看不卡 | 亚洲av中文无码乱人伦在线视色 | 亚洲精品在线网站 | 222aaa | 极品色影视 | 性综艺节目av在线播放 | 国产肥熟 | 激情综合五月婷婷 | 日本精品少妇 | 好av在线| 韩国美女福利视频 | 无码日韩精品一区二区 | aa成人 | 欧美福利在线 | 91麻豆网| av免费观看不卡 | 久久精品小视频 | 成年人黄色 | 黄色网址在线免费播放 | 长腿校花无力呻吟娇喘的视频 | wwww黄色片| 玖玖视频网 | 欧美成人免费在线观看 | 99热国内精品 | 18禁裸乳无遮挡啪啪无码免费 | 色综合一区二区 | 麻豆电影网站 | 少妇把腿扒开让我舔18 | 色婷婷av一区二区 | 中字幕一区二区三区乱码 | 香蕉久久国产av一区二区 | 蜜乳av一区| 亚洲精品免费在线播放 | 欧美黄色免费看 | 视频一区免费 | 亚洲欧美日韩国产精品 | 国产二区视频在线观看 | 天天干天天爽天天操 | 精品日本一区二区三区 | 日韩福利在线观看 | 国偷自产av一区二区三区 | 狂野少女电影在线观看国语版免费 | 一个人在线观看www软件 |