学习笔记:DDPG
學(xué)習(xí)內(nèi)容:DDPG
關(guān)鍵詞:記憶庫(kù),估計(jì)網(wǎng)絡(luò),現(xiàn)實(shí)網(wǎng)絡(luò),Policy Gradient,Value Based,Actor-Critic
簡(jiǎn)述:
????? ? DDPG(Deep Deterministic Policy Gradient)可以概括為兩個(gè)部分Deep和Deterministic Policy Gradient,其中Deep和DQN類似擁有兩套結(jié)構(gòu)相同但是更新頻率不同的神經(jīng)網(wǎng)絡(luò),Deterministic Policy Gradient指的是確定性策略梯度.在連續(xù)動(dòng)作上輸出一個(gè)動(dòng)作值.
????????? ? 動(dòng)作估計(jì)網(wǎng)絡(luò)輸出實(shí)時(shí)動(dòng)作,為actor在現(xiàn)實(shí)中實(shí)行,動(dòng)作現(xiàn)實(shí)網(wǎng)絡(luò)用于更新價(jià)值網(wǎng)絡(luò)系統(tǒng).狀態(tài)估計(jì)網(wǎng)絡(luò)將actor的動(dòng)作當(dāng)做輸入,狀態(tài)現(xiàn)實(shí)網(wǎng)絡(luò)將動(dòng)作現(xiàn)實(shí)網(wǎng)絡(luò)輸出動(dòng)作與狀態(tài)值加以分析.
????????? ?DDPG是基于actor-critic的無模型確定性策略梯度算法,人工智能就是解決無數(shù)據(jù)預(yù)處理,多維度,敏感輸入的多目標(biāo)任務(wù)。DQN只能解決低維度的離散輸出動(dòng)作的任務(wù),不能直接解決連續(xù)動(dòng)作任務(wù),DQN及其衍生算法直接扔掉了動(dòng)作空間中一些可能有用的信息。
????????? ? DDPG吸收練DQN算法的優(yōu)點(diǎn),使用異策略(離線學(xué)習(xí))方法,在樣本存儲(chǔ)緩存區(qū)(replay buffer)中采樣最小化樣本間的相關(guān)性,使用Q-network訓(xùn)練,并定時(shí)返回參數(shù)。
Policy Gradient:
????????? ? 能夠在連續(xù)區(qū)間內(nèi)挑選動(dòng)作,并且不通過分析反向誤差,而是直接輸出行為.是基于整條回合數(shù)據(jù)的更新和基于策略梯度的更新
? ??????? ??
DDPG偽代碼:
偽代碼注釋:
?隨機(jī)初始化critic網(wǎng)絡(luò)和actor網(wǎng)絡(luò),并初始化各自參數(shù)
初始化上述兩個(gè)網(wǎng)絡(luò)對(duì)應(yīng)目標(biāo)網(wǎng)絡(luò)
初始化repaly buffer
在M個(gè)回合內(nèi):
????????? ? 隨機(jī)初始化分布N用作動(dòng)作探索
????????? ? 初始化初始狀態(tài)
????????? ? 在次數(shù)T內(nèi):
????????????????????? ? 根據(jù)當(dāng)前策略和噪聲選擇動(dòng)作
????????????????????? ? 執(zhí)行動(dòng)作和得到獎(jiǎng)勵(lì)與下一個(gè)狀態(tài)
????????????????????? ? 將當(dāng)前狀態(tài),當(dāng)前動(dòng)作,當(dāng)前獎(jiǎng)勵(lì)和下一個(gè)狀態(tài)存儲(chǔ)在R中
????????????????????? ? 隨機(jī)采樣
????????????????????????
????????????????????? ? 根據(jù)critic的損失函數(shù)更新critic網(wǎng)絡(luò)
????????????????????? ? 根據(jù)actor的梯度更新actor網(wǎng)絡(luò)
????????? ? 結(jié)束循環(huán)
結(jié)束循環(huán)
????????????????????????
公式的前半部分表示根據(jù)梯度選擇獎(jiǎng)賞值最大的動(dòng)作,后半部分表示根據(jù)梯度選擇選該最大獎(jiǎng)賞值動(dòng)作的策略
Tensorboard 數(shù)據(jù)圖:
接下來展開C-train,C代表critic,在訓(xùn)練價(jià)值系統(tǒng)時(shí),需要當(dāng)前狀態(tài)s,下一個(gè)狀態(tài)s_,環(huán)境獎(jiǎng)勵(lì)R,和策略梯度,其中用到Actor的是eval網(wǎng)絡(luò)即動(dòng)作估計(jì)網(wǎng)絡(luò),來更新價(jià)值系統(tǒng).
再展開TD_error,采用時(shí)序差分算法計(jì)算現(xiàn)實(shí)網(wǎng)絡(luò)和估計(jì)網(wǎng)絡(luò)的差值,論文采用均方差求解,然后傳遞給C-train
展開target_q,Q現(xiàn)實(shí)現(xiàn)實(shí)更新與下一個(gè)狀態(tài)和動(dòng)作獎(jiǎng)勵(lì)有關(guān)
展開Policy Gradient,策略梯度算法與當(dāng)前狀態(tài)有關(guān)
?
總結(jié)
- 上一篇: 浙大工商管理硕士(MBA)项目报考必须了
- 下一篇: OGG mgr定期清理tail 文件