日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

深度学习(四十二)——深度强化学习(5)PPO, IMPALA, Hierarchical RL, OpenAI

發(fā)布時(shí)間:2023/12/20 106 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习(四十二)——深度强化学习(5)PPO, IMPALA, Hierarchical RL, OpenAI 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

PPO(Proximal Policy Optimization)

PPO是2017年由OpenAI提出的一種基于隨機(jī)策略的DRL算法,也是當(dāng)前OpenAI的默認(rèn)算法。

PPO是一種Actor-Critic算法。它的主要改進(jìn)在它的Actor部分。

我們知道,Policy Gradient算法的訓(xùn)練過(guò)程中,始終存在著new Policy和old Policy這樣一對(duì)矛盾。

一方面,我們需要new Policy和old Policy有一定的差異,防止模型收斂到局部最優(yōu)。

另一方面,兩者的差異又不能太大,否則,模型的訓(xùn)練將無(wú)法收斂。

那么,如何衡量new Policy和old Policy的差異程度呢?

PPO的答案是:我們可以用兩種Policy得到的動(dòng)作的概率分布的KL散度,來(lái)描述這種差異。

具體的做法是在J(θ)J(\theta)J(θ)上添加一個(gè)KL懲罰項(xiàng):

JPPOθk(θ)=Jθk(θ)?βKL(θ,θk)J^{\theta^k}_{PPO}(\theta)=J^{\theta^k}(\theta)-\beta KL(\theta, \theta^k)JPPOθk?(θ)=Jθk(θ)?βKL(θ,θk)

這里的懲罰系數(shù)β\betaβ可以是定值,也可以是一個(gè)自適應(yīng)的值。例如,我們可以在KL值小于最小閾值時(shí),減小β\betaβ,在KL值大于最大閾值時(shí),增大β\betaβ。

除了KL懲罰項(xiàng)之外,還可以使用clip來(lái)限制Gradient的大小,這就是PPO2的做法。

和A3C類似,PPO也有一個(gè)分布式版本,叫做DPPO(Distributed Proximal Policy Optimization)。

參考:

https://www.jianshu.com/p/f4d383b0bd4c

TRPO與PPO實(shí)現(xiàn)

https://bluefisher.github.io/2018/07/03/Proximal-Policy-Optimization-Algorithms/

Proximal Policy Optimization Algorithms

https://www.jianshu.com/p/9f113adc0c50

Proximal Policy Optimization(PPO)算法原理及實(shí)現(xiàn)!

https://morvanzhou.github.io/tutorials/machine-learning/reinforcement-learning/6-4-DPPO/

Distributed Proximal Policy Optimization(DPPO)

IMPALA

論文:

《IMPALA: Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures》

代碼:

https://github.com/deepmind/lab/tree/master/game_scripts/levels/contributed/dmlab30

IMPALA是DeepMind于2018年提出的。

IMPALA的靈感來(lái)自于熱門的A3C架構(gòu)(上圖左),后者使用多個(gè)分布式actor來(lái)學(xué)習(xí)agent的參數(shù)。在類似這樣的模型中,每個(gè)actor都使用策略參數(shù)的一個(gè)副本,在環(huán)境中操作。actor會(huì)周期性地暫停探索,將它們已經(jīng)計(jì)算得出的梯度信息分享至中央?yún)?shù)服務(wù)器,而后者會(huì)對(duì)此進(jìn)行更新。

與此不同,IMPALA(上圖中)中的actor不會(huì)被用來(lái)計(jì)算梯度信息。它們只是收集經(jīng)驗(yàn),并將這些經(jīng)驗(yàn)傳遞至位于中心的learner。learner會(huì)計(jì)算梯度。因此在這樣的模型中,actor和learner是完全獨(dú)立的。

為了利用當(dāng)代計(jì)算系統(tǒng)的規(guī)模優(yōu)勢(shì),IMPALA在配置中可支持單個(gè)learner機(jī)器,也可支持多個(gè)相互之間同步的learner機(jī)器(上圖右)。

由于actor只用于環(huán)境采樣,而這個(gè)任務(wù)通常是一個(gè)仿真環(huán)境(例如游戲模擬器),因此它和learner在計(jì)算側(cè)重點(diǎn)上有很大差異(例如在游戲領(lǐng)域,actor更側(cè)重于仿真、渲染。),所以actor和learner的軟硬件可以是異構(gòu)的。

其次,由于Actor無(wú)須計(jì)算梯度,因此就可以一直采樣,而無(wú)須等待策略的更新,這也是它和Batched A2C的最大區(qū)別。

上圖展示了這種差異,A2C采樣了一個(gè)Batch之后,所有的actor都要停下來(lái)計(jì)算梯度,而IMPALA中的actor可以一直采樣,從而大大提高了采樣效率。

上圖中的Batched A2C(sync step)和Batched A2C(sync traj)的區(qū)別在于:前者每次采樣之后都要同步,這對(duì)于采樣時(shí)間差異較大的例子,顯然效率是很低下的。而后者是采樣一批之后,再同步。

不過(guò)這種操作和學(xué)習(xí)的解耦也導(dǎo)致actor的策略落后于learner。為了彌補(bǔ)這樣的差距,IMPALA還引入了V-trace技術(shù)。

參考:

https://zhuanlan.zhihu.com/p/56043646

AlphaStar之IMPALA

https://mp.weixin.qq.com/s/1zJyw67B6DqsHEJ3avbsfQ

DeepMind推出分布式深度強(qiáng)化學(xué)習(xí)架構(gòu)IMPALA,讓一個(gè)Agent學(xué)會(huì)多種技能

reward modeling

訓(xùn)練一個(gè)獎(jiǎng)勵(lì)模型,其中包含來(lái)自用戶的反饋,從而捕捉他們的意圖。與此同時(shí),我們通過(guò)強(qiáng)化學(xué)習(xí)訓(xùn)練一個(gè)策略,使獎(jiǎng)勵(lì)模型的獎(jiǎng)勵(lì)最大化。換句話說(shuō),我們把學(xué)習(xí)做什么(獎(jiǎng)勵(lì)模型)和學(xué)習(xí)怎么做(策略)區(qū)分開(kāi)來(lái)。

參考:

https://mp.weixin.qq.com/s/4yGQtHtMqWlaB7MAsr8T_g

DeepMind重磅論文:通過(guò)獎(jiǎng)勵(lì)模型,讓AI按照人類意圖行事

https://mp.weixin.qq.com/s/TIWnnCmVZnFQNH9Fig5aTw

DeepMind發(fā)布新獎(jiǎng)勵(lì)機(jī)制:讓智能體不再“碰瓷”

Hierarchical RL

之前已經(jīng)提到,在DeepMind測(cè)試的40多款游戲中,有那么幾款游戲無(wú)論怎么訓(xùn)練,結(jié)果都是0,也就是DQN完全無(wú)效。上面就是其中最知名的代表游戲《Montezuma’s Revenge》。這是一個(gè)解謎游戲,比如圖中要拿到鑰匙,然后去開(kāi)門。這對(duì)我們而言是通過(guò)先驗(yàn)知識(shí)得到的。但是很難想象計(jì)算機(jī)如何僅僅通過(guò)圖像感知這些內(nèi)容。感知不到,那么這種游戲也就無(wú)從解決。

論文:

《Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation》

該論文的主要思路就是,弄一個(gè)兩個(gè)層級(jí)的神經(jīng)網(wǎng)絡(luò),頂層用于決策,確定下一步的目標(biāo),底層用于具體行為。

這里的內(nèi)在目標(biāo)是人工確定的,因此智能程度不高,但是比較實(shí)用。

其他算法:

FuN (FeUdal Networks for Hierarchical Reinforcement Learning)

HIRO (Data Efficient Hierarchical Reinforcement Learning)

HAC (Learning Multi-Level Hierarchies with Hindsight)

參考:

https://zhuanlan.zhihu.com/p/78098982

Hierarchical IL/RL(ICML 2018)

https://blog.csdn.net/zhkmxx930xperia/article/details/87742722

Integrating Temporal Abstraction and Intrinsic Motivation

https://blog.csdn.net/songrotek/article/details/51384752

DRL前沿之:Hierarchical Deep Reinforcement Learning

https://mp.weixin.qq.com/s/IYyGgnoXZm6YfamLejqoNQ

深度強(qiáng)化學(xué)習(xí)試金石:DeepMind和OpenAI攻克蒙特祖瑪復(fù)仇的真正意義

https://mp.weixin.qq.com/s/iBWjobr9srhB3MTiE_Wwmg

史上最強(qiáng)Atari游戲通關(guān)算法:蒙特祖瑪獲分超過(guò)200萬(wàn)!

OpenAI

OpenAI,由諸多硅谷大亨(Elon Musk等)聯(lián)合建立的人工智能非營(yíng)利組織。

官網(wǎng):

https://openai.com/

github:

https://github.com/openai

Baselines

若干經(jīng)典RL算法的實(shí)現(xiàn),包括A2C、DQN等。

代碼:

https://github.com/openai/baselines

Gym

Openai gym是一個(gè)用于開(kāi)發(fā)和比較強(qiáng)化學(xué)習(xí)(reinforcement learning,RL)算法的工具包,與其他的數(shù)值計(jì)算庫(kù)兼容,如tensorflow或者theano庫(kù)?,F(xiàn)在主要支持的是python語(yǔ)言,以后將支持其他語(yǔ)言。

官網(wǎng):

https://gym.openai.com/

sudo apt install libffi-dev swig git clone https://github.com/openai/gym cd gym pip install -e . # minimal install pip install -e .[all] # all install

這里選擇minimal install就可以了,all install需要安裝MuJoCo,而后者是收費(fèi)軟件。

和Gym配套的還有一個(gè)算法庫(kù):

https://github.com/openai/baselines

當(dāng)然,看名字也知道這只是一個(gè)簡(jiǎn)單的算法庫(kù)。

參考:

http://tech.163.com/16/0510/09/BMMOPSCR00094OE0.html

馬斯克的AI野心——OpenAI Gym系統(tǒng)深度解析

https://mp.weixin.qq.com/s/KK1gwDW2EyptZOiuFjyAlw

OpenAI發(fā)布強(qiáng)化學(xué)習(xí)環(huán)境Gym Retro:支持千種游戲

https://blog.csdn.net/jinzhuojun/article/details/77144590

常用增強(qiáng)學(xué)習(xí)實(shí)驗(yàn)環(huán)境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)

https://blog.csdn.net/jinzhuojun/article/details/78508203

常用增強(qiáng)學(xué)習(xí)實(shí)驗(yàn)環(huán)境 II (ViZDoom, Roboschool, TensorFlow Agents, ELF, Coach等)

https://mp.weixin.qq.com/s/0oVG7zMi08dzMQrk43T3mw

像訓(xùn)練Dota2一樣訓(xùn)練真實(shí)機(jī)器人?Gibson Environment環(huán)境了解一下

https://mp.weixin.qq.com/s/_A0q8DFAsIclaofVgZfjMA

定制股票交易OpenAI Gym強(qiáng)化學(xué)習(xí)環(huán)境

https://blog.csdn.net/gsww404/article/details/80627892

OpenAI-baselines的使用方法

RND

OpenAI最近開(kāi)發(fā)了RND(Random Network Distillation),一種基于預(yù)測(cè)的強(qiáng)化學(xué)習(xí)算法,用于鼓勵(lì)強(qiáng)化學(xué)習(xí)代理通過(guò)好奇心來(lái)探索他們所處環(huán)境。在游戲任務(wù)Montezuma’s Revenge上首次超過(guò)人類的平均表現(xiàn)。

blog:

https://blog.openai.com/reinforcement-learning-with-prediction-based-rewards/

Reinforcement Learning with Prediction-Based Rewards

代碼:

https://github.com/openai/random-network-distillation

總結(jié)

以上是生活随笔為你收集整理的深度学习(四十二)——深度强化学习(5)PPO, IMPALA, Hierarchical RL, OpenAI的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。