重温强化学习之深度强化学习
1、簡介
? ? ? ? ? ? ??
? ? ? ? ? ? ? ?輸入特征和真實特征相距比較遠,加一個深度學習提取源的特征
2、基于值函數的深度強化學習
意義:不用函數近似無法解決大規模的問題,用函數近似訓練不穩定,首次證明了能夠通過原始像素解決游戲問題,并且對所有游戲通用
主要論文:
Playing Atari with Deep Reinforcement Learning?(2013)
Human-level control through deep reinforcement learning(2015)
關鍵技術:
? ? ? ? ? ? ?Q-learning? + DNN
? ? ? ? ? ? ?Experience Replay
? ? ? ? ? ? ?Target Network
DQN算法:
? ? ? ? ? ? ?
DQN主要分為兩個部分:一部分是交互,一部分是學習
DQN主要貢獻是:1、經驗回放(解決數據相關性問題)? 2、構建target-Network(減小誤差)
之前存在的問題是數據之間存在相關性,例如游戲畫面,前一秒的畫面和下一秒的畫面之間存在的關系,所以為了解決這種情況通過采樣的方式把當前狀態、動作、獎勵和下一個狀態存入到經驗池當中(對應上面圖片Store transition(....) in D)
這里注意一下,因為你存入數據(數據的策略)和下一次從這里面抽樣用的策略不是一個策略,所以是異策略,這也是不選用sarsa 算法而是Q-learning算法的原因
從上述算法可以看出更新參數之后,每隔C步之后,重新把Q網絡復制新的Q網絡
?
針對DQN的改進1:Double DQN:
主要論文:Deep Reinforcement Learning with Double Q-learning(2016)
地址連接:https://arxiv.org/pdf/1509.06461v3.pdf
之前存在的問題是:Q-learning中存在過估計:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
理解例子:
? ? ? ? ?對于狀態s下,如果對于所有的a,真實的q(s,a)均為0,但是估計值由于不精確,會導致有些大于0,有些小于0.對估計值取最大,會引入一個正向的偏差
? ? ? ? ? ? ? ? ? ? ????
主要針對DQN對y進行變化:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
針對DQN的改進2:Dueling?DQN
主要優勢:對于很多狀態并不需要估計每個動作的值,增加了V函數的學習機會,V函數的泛化性能好,當有新動作加入時,并不需要重新學習,減少了Q函數由于狀態和動作維度差導致的噪聲和突變
? ? ? ? ? ? ? ? ? ? ? ??
主要論文:Dueling Network Architectures for Deep Reinforcement Learning(2016)
地址連接:https://arxiv.org/abs/1511.06581
? ? ? ? ? ? ? ? ? ? ? ? ?
針對DQN的改進3:Prioritized Experience Replay
? ? ? ? ? ? ? ? ? ? ? ? ? ??
主要改進:針對DQN來說,DQN一個重要的改進就是Experience Replay,訓練時從經驗池均勻采樣,所以針對這部分改進:Prioritized Experience Replay就是維護一個帶優先級的Experience Replay,具體有如下幾方面:
? ? ? 不同的經驗的權重不同;用TD誤差去衡量權重;需要使用sum-tree以及 binary heap data structure去實現;新的transition的TD誤差會被設置為最大;類似DP中的優先清理;Experience Replay使得更新不受限于實際經驗的順序,Prioritized Experience Replay 使得更新不受限于實際經驗的頻率
主要論文:Prioritized Experience Replay
具體使用時存在一些問題:TD誤差對噪聲敏感;TD誤差小的Transition長時間不更新;過多關注TD誤差大的transition丟失樣本多樣性;使用某種分布采樣經驗,會引入誤差
解決辦法:
1、兩種變體:
? ? ? ? ? ?
? ? ? ? ? ?或
? ? ? ? ??
2、加入重要性采樣來消除誤差
?
Prioritized Experience Replay算法
? ? ? ? ? ? ? ? ? ? ? ? ? ??
結構圖:
Rainbow:
論文:Rainbow: Combining Improvements in Deep Reinforcement Learning
結合DQN及多種DQN變體:
? ? ? ?具體參考論文,論文中實驗結果截圖如下所示:
? ? ? ? ? ? ? ? ? ??
3、基于策略的深度強化學習
策略梯度框架
? ? ? 1)、DPG:
? ? ? ? ? ?主要論文:Deterministic Policy Gradient Algorithms(2014)
? ? ? ? ? ?將策略梯度定理用到了高維和連續動作
? ? ? ? ? ? 常規的策略梯度方法無法用到高維和連續動作空間
? ? ? ? ? ? ? ? ? ?連續動作無法使用概率分布輸出的形式
? ? ? ? ? ? ? ? ? ?高維動作空間中采樣費時
? ? ? ? ? ? ? ? ? ?隨機策略梯度是通過采樣的方式估算策略梯度,需要在狀態空間和動作空間內采樣
? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ??
? ? ? ? ?直接采用確定性策略輸出:a = pi(s)
? ? ? ? ?實現的過程中出現幾個問題:
? ? ? ? 1)確定性策略情況下如何求策略梯度?
? ? ? ? 2)如何探索?
? ? ? ? ?DPG證明確定性策略梯度定理的存在,并且和Q函數梯度建立關系:
? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? 只需要對狀態S進行積分,使用off-policy的方式探索并更新(需要重要性采樣)
? 2)DDPG
? ? 主要論文:Continuous Control with Deep Reinforcement Learning (2016)
? ? 結合DQN和DPG,使用DQN兩種技術:Experience Replay 和 Target Network,利用隨機過程產生探索性動作
? ? ? ? ? ? ? ? ? ? ? ? ?
DDPG算法:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
? 3) A3C
主要論文:Asynchronous Methods for Deep Reinforcement Learning(2016)
Online的算法和DNN結合后不穩定(樣本關聯性),通過創建多個agent在多個環境執行異步學習構建batch:來自不同環境的樣本無相關性,不依賴于GPU和大型分布式系統,不同線程使用了不同的探索策略,增加探索量?
A3C算法:
? ?4)A2C
? ? ? 改異步為同步,能更好的利用GPU,在batch_size較大時效果好
? ? ??? ? ?
框架結構圖:
? ? ?? ?
?
總結
以上是生活随笔為你收集整理的重温强化学习之深度强化学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重温强化学习之策略梯度算法
- 下一篇: 模型评估(笔记)