IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 离线强化学习(Offline RL)系列3: (算法篇) AWR(Advantage-Weighted Regression)算法详解与实现 -> 正文阅读

[人工智能]离线强化学习(Offline RL)系列3: (算法篇) AWR(Advantage-Weighted Regression)算法详解与实现

[更新记录]

论文信息:Xue Bin Peng, Aviral Kumar, Grace Zhang, Sergey Levine: “Advantage-Weighted Regression: Simple and Scalable Off-Policy Reinforcement Learning”, 2020;
xbpeng.github.io/projects/AWR/2019_AWR.pdf

本篇论文由伯克利Sergey Levine团队的Xue Bin Peng以第一作者提出,投稿到ICLR 2020和ICLR 2021,尽管都被Reject了,但是论文的观点和方法实验还是很值得学习的。

摘要:Advantage-Weighted Regression (AWR),从名字上来看,就是Advantage版本的Reward-Weighted Regression (RWR)。AWR通过对RWR进行改进,包括两个标准的监督学习步骤,一个通过利用累积奖励的回归来训练价值函数基线,另一个通过加权回归来训练策略。核心思想是将策略优化过程看成是极大似然估计问题,在策略提升过程中,用优势函数进行权重似然估计。作者在Mujoco环境中和其他算法进行了比较,展现了算法的有效性。

1、预备知识

1.1 累计奖励

J ( π ) = E τ ~ p π ( τ ) [ ∑ t = 0 ∞ γ t r t ] = E s ~ d π ( s ) , a ~ π ( a ∣ s ) [ r ( s , a ) ] J(\pi)=\mathbb{E}_{\tau \sim p_{\pi}(\tau)}\left[\sum_{t=0}^{\infty} \gamma^{t} r_{t}\right]=\mathbb{E}_{\mathbf{s} \sim d_{\pi}(\mathbf{s}), a \sim \pi(\mathbf{a} \mid \mathbf{s})}[r(\mathbf{s}, \mathbf{a})] J(π)=Eτpπ?(τ)?[t=0?γtrt?]=Esdπ?(s),aπ(as)?[r(s,a)]
策略 π \pi π的累计奖励的期望, r ( s , a ) r(s,a) r(s,a)换成 R ( s , a ) R(s,a) R(s,a)更好。

1.2 RWR

π k + 1 = arg ? max ? π E s ~ d π k ( s ) E a ~ π k ( a ∣ s ) [ log ? π ( a ∣ s ) exp ? ( 1 β R s , a ) ] \pi_{k+1}=\underset{\pi}{\arg \max } \mathbb{E}_{\mathbf{s} \sim d_{\pi_{k}}(\mathbf{s})} \mathbb{E}_{\mathbf{a} \sim \pi_{k}(\mathbf{a} \mid \mathbf{s})}\left[\log \pi(\mathbf{a} \mid \mathbf{s}) \exp \left(\frac{1}{\beta} \mathcal{R}_{\mathbf{s}, \mathbf{a}}\right)\right] πk+1?=πargmax?Esdπk??(s)?Eaπk?(as)?[logπ(as)exp(β1?Rs,a?)]
通过使用当前策略 π k \pi_k πk?生成数据,新策略 π k + 1 \pi_{k+1} πk+1?(使用最大似然准则下的监督学习)拟合到给定状态的动作条件分布上,加权表示后返回。

2、AWR

2.1 策略评估

策略 ( π ) (\pi) (π)相对于策略 ( μ ) (\mu) (μ)的提升用下式来表示:
η ( π ) = J ( π ) ? J ( μ ) \eta(\pi)=J(\pi)-J(\mu) η(π)=J(π)?J(μ)
然后进行拟合,可以写成在策略 ( π ) (\pi) (π)下进行采样,对 ( μ ) (\mu) (μ)的优势函数计算期望
η ( π ) = E s ~ d π ( s ) E a ~ π ( a ∣ s ) [ R s , a μ ? V μ ( s ) ] \eta(\pi)=\mathbb{E}_{\mathbf{s} \sim d_{\pi}(\mathbf{s})} \mathbb{E}_{\mathbf{a} \sim \pi(\mathbf{a} \mid \mathbf{s})}\left[\mathcal{R}_{\mathrm{s}, \mathbf{a}}^{\mu}-V^{\mu}(\mathbf{s})\right] η(π)=Esdπ?(s)?Eaπ(as)?[Rs,aμ??Vμ(s)]

为求得约束条件下的最优策略,可以采用拉格朗日乘数法进行求解,约束条件是策略 π \pi π和策略 μ μ μ尽可能相似,利用KL散度的概念进行表示:
arg ? max ? π ∫ s d μ ( s ) ∫ a π ( a ∣ s ) [ R s , a μ ? V μ ( s ) ] d a d s ?s.t.? ∫ s d μ ( s ) D K L ( π ( ? ∣ s ) ∣ ∣ μ ( ? ∣ s ) ) d s ≤ ? \begin{aligned} \arg \max _{\pi} & \int_{\mathbf{s}} d_{\mu}(\mathbf{s}) \int_{\mathbf{a}} \pi(\mathbf{a} \mid \mathbf{s})\left[\mathcal{R}_{\mathbf{s}, \mathbf{a}}^{\mu}-V^{\mu}(\mathbf{s})\right] d \mathbf{a} d \mathbf{s} \\ & \text { s.t. } \quad \int_{\mathbf{s}} d_{\mu}(\mathbf{s}) D_{\mathrm{KL}}(\pi(\cdot \mid \mathbf{s})|| \mu(\cdot \mid \mathbf{s})) d \mathbf{s} \leq \epsilon \end{aligned} argπmax??s?dμ?(s)a?π(as)[Rs,aμ??Vμ(s)]dads?s.t.?s?dμ?(s)DKL?(π(?s)μ(?s))ds??

构建拉格朗日方程,带入化简得:
L ( π , β ) = ∫ s d μ ( s ) ∫ a π ( a ∣ s ) [ R s , a μ ? V μ ( s ) ] d a d s + β ( ? ? ∫ s d μ ( s ) D K L ( π ( ? ∣ s ) ∥ μ ( ? ∣ s ) ) d s ) \mathcal{L}(\pi, \beta)=\int_{\mathbf{s}} d_{\mu}(\mathbf{s}) \int_{\mathbf{a}} \pi(\mathbf{a} \mid \mathbf{s})\left[\mathcal{R}_{\mathrm{s}, \mathbf{a}}^{\mu}-V^{\mu}(\mathbf{s})\right] d \mathbf{a} d \mathbf{s}+\beta\left(\epsilon-\int_{\mathbf{s}} d_{\mu}(\mathbf{s}) \mathrm{D}_{\mathrm{KL}}(\pi(\cdot \mid \mathbf{s}) \| \mu(\cdot \mid \mathbf{s})) d \mathbf{s}\right) L(π,β)=s?dμ?(s)a?π(as)[Rs,aμ??Vμ(s)]dads+β(??s?dμ?(s)DKL?(π(?s)μ(?s))ds)

p i pi pi求偏导得到的最优解是:
π ? ( a ∣ s ) = 1 Z ( s ) μ ( a ∣ s ) exp ? ( 1 β ( R s , a μ ? V μ ( s ) ) ) \pi^{*}(\mathbf{a} \mid \mathbf{s})=\frac{1}{Z(\mathbf{s})} \mu(\mathbf{a} \mid \mathbf{s}) \exp \left(\frac{1}{\beta}\left(\mathcal{R}_{\mathrm{s}, \mathbf{a}}^{\mu}-V^{\mu}(\mathbf{s})\right)\right) π?(as)=Z(s)1?μ(as)exp(β1?(Rs,aμ??Vμ(s)))

若要将其用神经网络的形式进行表示,也就是最优策略投影到策略网络上, π ? \pi^{*} π? π ? \pi^{*} π?的KL散度尽可能小,转换成优势函数回归的样式:

arg ? min ? π E s ~ d μ ( s ) [ D K L ( π ? ( ? ∣ s ) ∥ π ( ? ∣ s ) ) ] = arg ? min ? π E s ~ d μ ( s ) [ D K L ( 1 Z ( s ) μ ( a ∣ s ) exp ? ( 1 β ( R s , a μ ? V μ ( s ) ) ) ∣ ∣ π ( ? ∣ s ) ) ] = arg ? max ? π E s ~ d μ ( s ) E a ~ μ ( a ∣ s ) [ log ? π ( a ∣ s ) exp ? ( 1 β ( R s , a μ ? V μ ( s ) ) ) ] \begin{aligned}&\underset{\pi}{\arg \min } \mathbb{E}_{\mathbf{s} \sim d_{\mu}(\mathbf{s})}\left[\mathrm{D}_{\mathrm{KL}}\left(\pi^{*}(\cdot \mid \mathbf{s}) \| \pi(\cdot \mid \mathbf{s})\right)\right]\\ &=\underset{\pi}{\arg \min } \quad \mathbb{E}_{\mathrm{s} \sim d_{\mu}(\mathbf{s})}\left[\mathrm{D}_{\mathrm{KL}}\left(\frac{1}{Z(\mathbf{s})} \mu(\mathbf{a} \mid \mathbf{s}) \exp \left(\frac{1}{\beta}\left(\mathcal{R}_{\mathrm{s}, \mathbf{a}}^{\mu}-V^{\mu}(\mathbf{s})\right)\right)|| \pi(\cdot \mid \mathbf{s})\right)\right]\\ &=\underset{\pi}{\arg \max } \quad \mathbb{E}_{\mathbf{s} \sim d_{\mu}(\mathbf{s})} \mathbb{E}_{\mathbf{a} \sim \mu(\mathbf{a} \mid \mathbf{s})}\left[\log \pi(\mathbf{a} \mid \mathbf{s}) \exp \left(\frac{1}{\beta}\left(\mathcal{R}_{\mathbf{s}, \mathbf{a}}^{\mu}-V^{\mu}(\mathbf{s})\right)\right)\right]\end{aligned} ?πargmin?Esdμ?(s)?[DKL?(π?(?s)π(?s))]=πargmin?Esdμ?(s)?[DKL?(Z(s)1?μ(as)exp(β1?(Rs,aμ??Vμ(s)))π(?s))]=πargmax?Esdμ?(s)?Eaμ(as)?[logπ(as)exp(β1?(Rs,aμ??Vμ(s)))]?

2.2 伪代码


AWR算法利用Off-policy获取的数据队列D,每次迭代包括以下步骤:

  • 使用策略 π k \pi_{k} πk?对一系列轨迹进行采样,将其存储在回放缓冲区 D D D中,采样得到的数据以先进先出队列的形式进行储存。
  • D D D中对数据进行采样,利用数据去拟合一个V函数。
  • 使用优势加权回归在相同的缓冲区内来拟合新策略,进行策略优化,其中缓冲区中的状态动作对根据指数优势函数进行加权,并对其进行拟合。

2.3 off policy

on policy的采样效率很低,每次迭代中收集到的数据在一次更新迭代之后会被丢弃,为了充分提升样本的利用效率,算法利用了Off-policy思想,最新策略 π k \pi_{k} πk?收集到的数据存储到缓冲区 D D D中。对V函数进行拟合和策略改进时,采样策略为之前的策略或者其他不同策略共同组成的一个复合策略。

2.3.1 样本分布

经验池 D D D是之前的策略采集的数据,轨迹分布、状态动作分布和状态分布如下:

μ ( τ ) = ∑ i = 1 k w i d π i ( τ ) , μ ( s , a ) = ∑ i = 1 k w i d π i ( s ) π i ( a ∣ s ) , d μ ( s ) = ∑ i = 1 k w i d π i ( s ) \mu(\tau)=\sum_{i=1}^{k} w_{i} d_{\pi_{i}}(\tau), \quad \mu(\mathbf{s}, \mathbf{a})=\sum_{i=1}^{k} w_{i} d_{\pi_{i}}(\mathbf{s}) \pi_{i}(\mathbf{a} \mid \mathbf{s}), \quad d_{\mu}(\mathbf{s})=\sum_{i=1}^{k} w_{i} d_{\pi_{i}}(\mathbf{s}) μ(τ)=i=1k?wi?dπi??(τ),μ(s,a)=i=1k?wi?dπi??(s)πi?(as),dμ?(s)=i=1k?wi?dπi??(s)

2.3.2 策略提升

添加策略权重
η ( π ) = J ( π ) ? J ( μ ) = J ( π ) ? ∑ i = 1 k w i J ( π i ) = ∑ i = 1 k w i ( J ( π ) ? J ( π i ) ) = ∑ i = 1 k w i ( E s ~ d π ( s ) , a ~ π ( a ∣ s ) [ A π i ( s , a ) ] ) \begin{aligned}\eta(\pi) &=J(\pi)-J(\mu) \\ &=J(\pi)-\sum_{i=1}^{k} w_{i} J\left(\pi_{i}\right) \\ &=\sum_{i=1}^{k} w_{i}\left(J(\pi)-J\left(\pi_{i}\right)\right) \\ &=\sum_{i=1}^{k} w_{i}\left(\mathbb{E}_{\mathbf{s} \sim d_{\pi}(\mathbf{s}), \mathbf{a} \sim \pi(\mathbf{a} \mid \mathbf{s})}\left[A^{\pi_{i}}(\mathbf{s}, \mathbf{a})\right]\right)\end{aligned} η(π)?=J(π)?J(μ)=J(π)?i=1k?wi?J(πi?)=i=1k?wi?(J(π)?J(πi?))=i=1k?wi?(Esdπ?(s),aπ(as)?[Aπi?(s,a)])?
构建拉格朗日方程:
L ( π , β , α ) = ( ∑ i w i E s ~ d π i ( s ) E a ~ π ( a ∣ s ) [ R s , a π i ? V π i ( s ) ] ) + β ( ? ? E s ~ d μ ( s ) D K L ( π ( ? ∣ s ) ∥ ∑ i = 1 k w i d π i ( s ) π i ( ? ∣ s ) ∑ j = 1 k w j d π j ( s ) ) + ∫ α s ( 1 ? ∫ π ( a ∣ s ) d a ) d s , \begin{aligned}\mathcal{L}(\pi, \beta, \alpha)=&\left(\sum_{i} w_{i} \mathbb{E}_{\mathbf{s} \sim d_{\pi_{i}}(\mathbf{s})} \mathbb{E}_{\mathbf{a} \sim \pi(\mathbf{a} \mid \mathbf{s})}\left[\mathcal{R}_{\mathbf{s}, \mathbf{a}}^{\pi_{i}}-V^{\pi_{i}}(\mathbf{s})\right]\right) \\ &+\beta\left(\epsilon-\mathbb{E}_{\mathbf{s} \sim d_{\mu}(\mathbf{s})} \mathrm{D}_{\mathrm{KL}}\left(\pi(\cdot \mid \mathbf{s}) \| \frac{\sum_{i=1}^{k} w_{i} d_{\pi_{i}}(\mathbf{s}) \pi_{i}(\cdot \mid \mathbf{s})}{\sum_{j=1}^{k} w_{j} d_{\pi_{j}}(\mathbf{s})}\right)\right.\\ &+\int \alpha_{\mathbf{s}}\left(1-\int \pi(\mathbf{a} \mid \mathbf{s}) d \mathbf{a}\right) d \mathbf{s},\end{aligned} L(π,β,α)=?(i?wi?Esdπi??(s)?Eaπ(as)?[Rs,aπi???Vπi?(s)])+β(??Esdμ?(s)?DKL?(π(?s)j=1k?wj?dπj??(s)i=1k?wi?dπi??(s)πi?(?s)?)+αs?(1?π(as)da)ds,?

求解得到的结果:
arg ? max ? π ∑ i = 1 k w i E s ~ d π i ( s ) E a ~ π i ( a ∣ s ) [ log ? π ( a ∣ s ) exp ? ( 1 β ( R s , a π i ? ∑ j w j d π j ( s ) V π j ( s ) ∑ j w j d π j ( s ) ) ) ] \underset{\pi}{\arg \max } \sum_{i=1}^{k} w_{i} \mathbb{E}_{\mathbf{s} \sim d_{\pi_{i}}(\mathbf{s})} \mathbb{E}_{\mathbf{a} \sim \pi_{i}(\mathbf{a} \mid \mathbf{s})}\left[\log \pi(\mathbf{a} \mid \mathbf{s}) \exp \left(\frac{1}{\beta}\left(\mathcal{R}_{\mathbf{s}, \mathbf{a}}^{\pi_{i}}-\frac{\sum_{j} w_{j} d_{\pi_{j}}(\mathbf{s}) V^{\pi_{j}}(\mathbf{s})}{\sum_{j} w_{j} d_{\pi_{j}}(\mathbf{s})}\right)\right)\right] πargmax?i=1k?wi?Esdπi??(s)?Eaπi?(as)?[logπ(as)exp(β1?(Rs,aπi???j?wj?dπj??(s)j?wj?dπj??(s)Vπj?(s)?))]

2.3.3 价值函数

设置baseline,在 D D D中采样数据进行拟合得到价值函数:
V ˉ = arg ? min ? V ∑ i w i E s , ~ d π i ( s ) , a ~ π i ( a ∣ s ) [ ∥ R s , a π i ? V ( s ) ∥ 2 ] \bar{V}=\underset{V}{\arg \min } \sum_{i} w_{i} \mathbb{E}_{\mathbf{s}, \sim d_{\pi_{i}}}(\mathbf{s}), \mathbf{a} \sim \pi_{i}(\mathbf{a} \mid \mathbf{s})\left[\left\|\mathcal{R}_{\mathrm{s}, \mathbf{a}}^{\pi_{i}}-V(\mathbf{s})\right\|^{2}\right] Vˉ=Vargmin?i?wi?Es,dπi???(s),aπi?(as)[?Rs,aπi???V(s)?2]

3、实验

在mujoco、Humanoid和Dog上实验

和其他算法进行比较

AWR在某些环境上表现很好

AWR相对于RWR有了明显提升

时间更短,可以更快的收敛

在静态数据集上效果也不错

Github
结构很清楚,而且比较简单

参考文献

[1]. Xue Bin Peng,Aviral Kumar,Grace Zhang,Sergey Levine: “Advantage-Weighted Regression: Simple and Scalable Off-Policy Reinforcement Learning”, 2019; xbpeng.github.io/projects/AWR/2019_AWR.pdf7.


OfflineRL推荐阅读

离线强化学习(Offline RL)系列3: (算法篇) Onestep 算法详解与实现
离线强化学习(Offline RL)系列3: (算法篇) IQL(Implicit Q-learning)算法详解与实现
离线强化学习(Offline RL)系列3: (算法篇) CQL 算法详解与实现
离线强化学习(Offline RL)系列3: (算法篇) TD3+BC 算法详解与实现(经验篇)
离线强化学习(Offline RL)系列3: (算法篇) REM(Random Ensemble Mixture)算法详解与实现
离线强化学习(Offline RL)系列3: (算法篇)策略约束 - BRAC算法原理详解与实现(经验篇)
离线强化学习(Offline RL)系列3: (算法篇)策略约束 - BEAR算法原理详解与实现
离线强化学习(Offline RL)系列3: (算法篇)策略约束 - BCQ算法详解与实现
离线强化学习(Offline RL)系列2: (环境篇)D4RL数据集简介、安装及错误解决
离线强化学习(Offline RL)系列1:离线强化学习原理入门

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 17:43:23  更:2022-04-18 17:45:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/8 3:08:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码