- 标题:An Equivalence between Loss Functions and Non-Uniform Sampling in Experience Replay
- 文章链接:An Equivalence between Loss Functions and Non-Uniform Sampling in Experience Replay
- 发表:NIPS 2020
- 领域:强化学习 —— Experience Replay
- 摘要:优先经验重放(PER)是一种深度强化学习技术,该技术中 agent 从非均匀采样的 transition 中学习,transition 被采样的概率与他们的 TD error 成比例。我们证明了基于非均匀采样 transition 计算的任何损失函数都可以转化为另一个具有相同期望梯度的基于均匀采样 transition 的损失函数。令人惊讶的是,我们发现在某些环境中,PER 可以完全被这种新的损失函数所取代,而不会对经验性能产生影响。此外,这种关系还提出了改进 PER 的一个新的分支,即通过修正其等价的均匀采样损失函数来进行改进。我们在几个 MuJoCo 和 Atari 环境中证明了我们对 PER 和等效的损失函数的修改的有效性
文章目录
1. PER 背景
1.1 Experience Replay
- 对于 off-policy 的强化学习方法而言,由于不要求 target policy 和 behavior policy 相同,我们可以把过去的经验 transition 保存下来重复使用,这样有三个好处
- 破除价值估计和探索方向的循环依赖,使 agent 训练更稳定
- 破除短时数据相关性,减少优化时的震荡
- 增加数据利用率
- 为了实现 Experience Replay,通常增设一个 Experience Buffer 存储过去的 transition,agent 和环境交互图如下
1.2 Prioritized Experience Replay
- 原始的 Experience Replay 中,训练 agent 使用的 transition 是从 Experience Buffer 中均匀采样的,这里其实隐含了一个假设,就是 “agent 从不同 transition 中学习的量相等”,但是显然有些 transition 是更利于 agent 学习的,这就好像监督学习中的困难样本和简单样本,如果能在学习过程中强调这些关键 transition,就可能大幅提升样本效率和收敛速度
- Prioritized Experience Replay 就是基于这个思路提出的一个方法,它认为 “TD error 代表 agent 对一个 transition 的惊讶程度,可以作为该 transition 对于学习作用量的一个估计”,所以该方法以更高的概率重放那些高 TD error 的 transition,使用重尾分布来保证 transition 的多样性,并且使用重要性采样比来消除期望梯度方向的偏差
- 关于 PER 的详细介绍可以参考:论文理解【RL - Exp Replay】 —— 【PER】Prioritized Experience Replay
2. 本文方法
2.1 理论分析
- PER 论文是比较启发式的,没有严格的理论推导,人们发现有时引入 PER 这个 trick 后算法性能反而下降了,但由于缺乏理论基础难以定量地分析其中原因。作者从 PER 切入,对以 PER 为代表非均匀优先级经验重放进行了详细的理论分析 ,这也是本文的主要贡献
- 本文的 general result 是:“使用某损失函数
L
1
\mathcal{L}_1
L1 的非均匀优先重放策略” 的期望梯度(方向)和 “使用另一损失函数
L
2
\mathcal{L}_2
L2 的均匀重放策略” 是相等的。利用此结果,我们可以把任意非均匀采样重放方法转换为另一个使用特定损失函数的均匀采样重放方法,进而通过这个新的损失函数分析原方法合理性,如下图所示
作者使用此方法分析了 PER 的问题所在,并提出一个改进方法,这是本文的另一贡献
2.1.1 问题的形式化描述
- 首先明确分析的对象和数学形式:本文针对基于 Bellman equation 迭代的 off-policy value prediction 类方法(类似 Actor-Critic 框架中 Critic)展开分析,这种情况下我们要学习一个 Q 价值网络来估计某个给定策略
π
\pi
π 对应的价值
-
设网络参数为 θ \theta θ,任意状态 ( s , a ) (s,a) (s,a) 的价值估计为
Q θ π ( s , a ) = E π [ ∑ t = 0 ∞ γ t r t + 1 ∣ s 0 = s , a 0 = a ] = E r , s ′ ∼ p ; a ′ ∼ π [ r + γ Q θ π ( s ′ , a ′ ) ] \begin{aligned} Q_\theta^\pi(s,a) &= \mathbb{E}_\pi[\sum_{t=0}^\infin \gamma^tr_{t+1}|s_0=s,a_0=a] \\ &= \mathbb{E}_{r,s'\sim p;a'\sim \pi}[r+\gamma Q_\theta^\pi(s',a')] \end{aligned} Qθπ(s,a)=Eπ[t=0∑∞γtrt+1∣s0=s,a0=a]=Er,s′∼p;a′∼π[r+γQθπ(s′,a′)] 给一个从 replay buffer B \mathcal{B} B 中采样的 transition i = ( s , a , r , s ′ ) i = (s,a,r,s') i=(s,a,r,s′),TD error 为
δ ( i ) = Q θ ( i ) − y ( i ) = Q θ ( i ) − ( r + γ Q θ ′ ( s , a ) ) \delta(i) = Q_\theta(i) - y(i) = Q_\theta(i)-(r+\gamma Q_{\theta'}(s,a)) δ(i)=Qθ(i)−y(i)=Qθ(i)−(r+γQθ′(s,a)) 其中学习目标 y ( i ) = r + γ Q θ ′ ( s , a ) y(i)= r+\gamma Q_{\theta'}(s,a) y(i)=r+γQθ′(s,a) 由一个独立的,参数为 θ ′ \theta' θ′ 的目标网络给出,每隔一定步数做更新 θ ′ ← θ \theta' \leftarrow \theta θ′←θ -
基于 TD error 设计损失函数 L ( δ ( i ) ) \mathcal{L}(\delta(i)) L(δ(i)) ,在一个尺寸为 M M M 的 mini-batch 上的平均损失为 1 M ∑ i L ( δ ( i ) ) \frac{1}{M}\sum_i \mathcal{L}(\delta(i)) M1∑iL(δ(i))
这里的常数 M M M 不会影响期望损失或梯度,在分析中不重要
-
考察更新价值网络时的梯度
▽ θ L = ∂ L ∂ θ = ∂ L ∂ δ ∂ δ ∂ Q ∂ Q ∂ θ = ∂ L ∂ Q ∂ Q ∂ θ = ▽ Q L ⋅ ▽ θ Q \triangledown_\theta \mathcal{L} = \frac{\partial \mathcal{L}}{\partial \theta} = \frac{\partial \mathcal{L}}{\partial \delta} \frac{\partial \delta}{\partial Q} \frac{\partial Q}{\partial \theta} = \frac{\partial \mathcal{L}}{\partial Q} \frac{\partial Q}{\partial \theta} = \triangledown_Q\mathcal{L}·\triangledown_\theta Q ▽θL=∂θ∂L=∂δ∂L∂Q∂δ∂θ∂Q=∂Q∂L∂θ∂Q=▽QL⋅▽θQ 其中 ▽ θ Q \triangledown_\theta Q ▽θQ 只和 Q Q Q 网络结构有关,不在我们关心的范畴,我们只考察和损失函数相关的 ▽ Q L \triangledown_Q\mathcal{L} ▽QL 项 (注意 δ ( i ) \delta(i) δ(i) 是关于 Q ( i ) Q(i) Q(i) 的函数) -
本文关注三种损失
- L 1 L_1 L1 损失: L L 1 ( δ ( i ) ) = ∣ δ ( i ) ∣ \mathcal{L}_{L1}(\delta(i)) = |\delta(i)| LL1(δ(i))=∣δ(i)∣,梯度为 ▽ Q L L 1 ( δ ( i ) ) = sign ( δ ( i ) ) \triangledown_Q\mathcal{L}_{L1}(\delta(i)) = \text{sign}(\delta(i)) ▽QLL1(δ(i))=sign(δ(i))
- MSE 损失: L MSE ( δ ( i ) ) = 0.5 δ ( i ) 2 \mathcal{L}_{\text{MSE}}(\delta(i)) = 0.5\delta(i)^2 LMSE(δ(i))=0.5δ(i)2,梯度为 ▽ Q L MSE ( δ ( i ) ) = δ ( i ) \triangledown_Q\mathcal{L}_{\text{MSE}}(\delta(i)) = \delta(i) ▽QLMSE(δ(i))=δ(i)
- Huber 损失:
L Huber = { 0.5 δ ( i ) 2 i f ∣ δ ( i ) ∣ ≤ k , k ( ∣ δ ( i ) ∣ − 0.5 k ) otherwise \mathcal{L}_{\text{Huber}} = \left\{ \begin{aligned} &0.5\delta(i)^2 && if \space\space|\delta(i)|\leq k,\\ &k(|\delta(i)|-0.5k) && \text{otherwise} \end{aligned} \right. LHuber={0.5δ(i)2k(∣δ(i)∣−0.5k)if ∣δ(i)∣≤k,otherwise 通常设置 k = 1 k=1 k=1,这样根据 ∣ δ ( i ) ∣ |\delta(i)| ∣δ(i)∣ 的取值,Huber 损失的梯度等价与 MSE 或 L 1 L_1 L1 损失。这种损失函数可以看作 0 附近更平滑的 L 1 L_1 L1 损失
-
2.1.2 定理 1(等期望梯度转换的条件)
-
给出实现 2.1 节引子部分转换的思路:给定 transition 分布 D 1 \mathcal{D}_1 D1 和 D 2 \mathcal{D}_2 D2,损失函数 L 1 \mathcal{L}_1 L1 和 L 2 \mathcal{L}_2 L2。对于第 i i i 个样本,在 D 1 \mathcal{D}_1 D1 上采样并使用 L 1 \mathcal{L}_1 L1 的期望损失梯度,可以通过使用重要性采样比 p D 1 ( i ) p D 2 ( i ) \frac{p_{\mathcal{D}_1}(i)}{p_{\mathcal{D}_2}(i)} pD2(i)pD1(i) 从另一个分布 D 2 \mathcal{D}_2 D2 上确定
假设 L 2 \mathcal{L}_2 L2 的梯度是上述右式内部的式子,即
▽ Q L 2 ( δ ( i ) ) = p D 1 ( i ) p D 2 ( i ) ▽ Q L 1 ( δ ( i ) ) (1) \triangledown_Q\mathcal{L}_2(\delta(i)) = \frac{p_{\mathcal{D}_1}(i)}{p_{\mathcal{D}_2}(i)}\triangledown_Q\mathcal{L}_1(\delta(i)) \tag{1} ▽QL2(δ(i))=pD2(i)pD1(i)▽QL1(δ(i))(1) 满足如此条件的 L 2 \mathcal{L}_2 L2 可以保证两个分布下的期望梯度相等,即 E D 1 [ ▽ Q L 1 ( δ ( i ) ) ] = E D 2 [ ▽ Q L 2 ( δ ( i ) ) ] \mathbb{E}_{\mathcal{D}_1}[\triangledown_Q\mathcal{L}_1(\delta(i))] = \mathbb{E}_{\mathcal{D}_2}[\triangledown_Q\mathcal{L}_2(\delta(i))] ED1[▽QL1(δ(i))]=ED2[▽QL2(δ(i))]举例来说,如果把 D 1 \mathcal{D}_1 D1 定义为有限集 B \mathcal{B} B 上的均匀分布 U \mathcal{U} U, D 2 \mathcal{D}_2 D2 定义为优先采样分布 p ( i ) = ∣ δ ( i ) ∣ ∑ j ∈ B ∣ δ ( j ) ∣ p(i) = \frac{|\delta(i)|}{\sum_{j\in\mathcal{B}}|\delta(j)|} p(i)=∑j∈B∣δ(j)∣∣δ(i)∣,则 MSE 和 L 1 L_1 L1 之间有以下关系
E U [ ▽ Q L MSE ( δ ( i ) ) ] = E D 2 [ p D 1 ( i ) p D 2 ( i ) ▽ Q L MSE ( δ ( i ) ) ] = E D 2 [ 1 N ∑ j ∣ δ ( i ) ∣ ∣ δ ( i ) ∣ δ ( i ) ] = E D 2 [ ∑ j ∣ δ ( i ) ∣ N δ ( i ) ∣ δ ( i ) ∣ ] = E D 2 [ ∑ j ∣ δ ( i ) ∣ N sign ( δ ( i ) ) ] ∝ E D 2 [ sign ( δ ( i ) ) ] = E D 2 [ ▽ Q L L 1 ( δ ( i ) ) ] \begin{aligned} \mathbb{E}_\mathcal{U}\big[\triangledown_Q\mathcal{L}_{\text{MSE}}(\delta(i)) \big] &= \mathbb{E}_{\mathcal{D}_2}\big[\frac{p_{\mathcal{D}_1}(i)}{p_{\mathcal{D}_2}(i)}\triangledown_Q\mathcal{L}_{\text{MSE}}(\delta(i))\big] \\ &=\mathbb{E}_{\mathcal{D}_2}\big[ \frac{1}{N}\frac{\sum_j|\delta(i)|}{|\delta(i)|}\delta(i) \big] \\ &= \mathbb{E}_{\mathcal{D}_2}\big[\frac{\sum_j|\delta(i)|}{N} \frac{\delta(i)}{|\delta(i)|}\big] \\ &=\mathbb{E}_{\mathcal{D}_2}\big[\frac{\sum_j|\delta(i)|}{N}\text{sign}(\delta(i))\big] \\ &\propto\mathbb{E}_{\mathcal{D}_2}\big[\text{sign}(\delta(i))\big] \\ &= \mathbb{E}_\mathcal{\mathcal{D}_2}\big[\triangledown_Q\mathcal{L}_{\text{L}_1}(\delta(i)) \big] \end{aligned} EU[▽QLMSE(δ(i))]=ED2[pD2(i)pD1(i)▽QLMSE(δ(i))]=ED2[N1∣δ(i)∣∑j∣δ(i)∣δ(i)]=ED2[N∑j∣δ(i)∣∣δ(i)∣δ(i)]=ED2[N∑j∣δ(i)∣sign(δ(i))]∝ED2[sign(δ(i))]=ED2[▽QLL1(δ(i))] 这意味着 “使用优先采样重放的 L 1 L_1 L1 损失” 和 “使用均匀采样重放的的 MSE 损失” 具有相同的期望梯度方向。另外请注意这里第四个等号中的系数 ∑ j ∣ δ ( i ) ∣ N = ∑ j p r ( j ) N \frac{\sum_j|\delta(i)|}{N} = \frac{\sum_j pr(j)}{N} N∑j∣δ(i)∣=N∑jpr(j)( p r ( i ) pr(i) pr(i) 代表第 i i i 个样本优先级),该系数是联系均匀分布和优先级分布的桥梁,后面的分析中会经常出现 -
Theorem 1:给定大小为 N N N 的数据集 B \mathcal{B} B,损失 L 1 , L 2 \mathcal{L}_1,\mathcal{L}_2 L1,L2 和某种优先级为 p r pr pr 的优先级分布(即样本 i i i 被选出的概率为 p r ( i ) ∑ j p r ( j ) \frac{pr(i)}{\sum_jpr(j)} ∑jpr(j)pr(i)),若 ▽ Q L 1 ( δ ( i ) ) = 1 λ p r ( i ) ▽ Q L 2 ( δ ( i ) ) \triangledown_Q\mathcal{L}_1(\delta(i)) = \frac{1}{\lambda}pr(i)\triangledown_Q\mathcal{L}_2(\delta(i)) ▽QL1(δ(i))=λ1pr(i)▽QL2(δ(i)) 其中 λ = ∑ j p r ( j ) N \lambda = \frac{\sum_jpr(j)}{N} λ=N∑jpr(j),则从 B \mathcal{B} B 中均匀采样的样本 i i i 对应的 L 1 ( δ ( i ) ) \mathcal{L}_1(\delta(i)) L1(δ(i)) 的期望梯度,和从 B \mathcal{B} B 中按 p r pr pr 优先采样的样本 i i i 对应的 L 2 ( δ ( i ) ) \mathcal{L}_2(\delta(i)) L2(δ(i)) 的期望梯度相等
Proof:
E i ∼ B [ ▽ Q L 1 ( δ ( i ) ) ] = 1 N ∑ i ▽ Q L 1 ( δ ( i ) ) = 1 N ∑ i N ∑ j p r ( j ) p r ( i ) ▽ Q L 2 ( δ ( i ) ) ( 假设条件 ) = ∑ i p r ( i ) ∑ j p r ( j ) ▽ Q L 2 ( δ ( i ) ) = E i ∼ p r [ ▽ Q L 2 ( δ ( i ) ) ] \begin{aligned} \mathbb{E}_{i\sim\mathcal{B}}[\triangledown_Q\mathcal{L}_1(\delta(i))] &= \frac{1}{N}\sum_i\triangledown_Q\mathcal{L}_1(\delta(i))\\ &= \frac{1}{N}\sum_i\frac{N}{\sum_jpr(j)}pr(i)\triangledown_Q\mathcal{L}_2(\delta(i))\space\space\space\space\space\space(假设条件)\\ &=\sum_i\frac{pr(i)}{\sum_jpr(j)}\triangledown_Q\mathcal{L}_2(\delta(i)) \\ &=\mathbb{E}_{i\sim pr}[\triangledown_Q\mathcal{L}_2(\delta(i))] \end{aligned} Ei∼B[▽QL1(δ(i))]=N1i∑▽QL1(δ(i))=N1i∑∑jpr(j)Npr(i)▽QL2(δ(i)) (假设条件)=i∑∑jpr(j)pr(i)▽QL2(δ(i))=Ei∼pr[▽QL2(δ(i))] 另一种更好理解的证法是直接把 λ \lambda λ 代入,这样有 ▽ Q L 1 ( δ ( i ) ) = p r ( i ) ∑ j p r ( j ) N ▽ Q L 2 ( δ ( i ) ) = p D 2 ( i ) p D 1 ( i ) ▽ Q L 2 ( δ ( i ) ) \triangledown_Q\mathcal{L}_1(\delta(i)) = \frac{pr(i)}{\sum_jpr(j)}N\triangledown_Q\mathcal{L}_2(\delta(i)) = \frac{p_{\mathcal{D}_2}(i)}{p_{\mathcal{D}_1}(i)}\triangledown_Q\mathcal{L}_2(\delta(i)) ▽QL1(δ(i))=∑jpr(j)pr(i)N▽QL2(δ(i))=pD1(i)pD2(i)▽QL2(δ(i)) 发现得到了等式 (1),由此即可得证Theorem 1 是本文的主要结果,它说明:保证 “均匀采样的 L 1 \mathcal{L}_1 L1 损失” 和 “根据某种优先级方案 p r pr pr 采样的 L 2 \mathcal{L}_2 L2 损失” 具有相同期望梯度的条件是 ▽ Q L 1 ( δ ( i ) ) = 1 λ p r ( i ) ▽ Q L 2 ( δ ( i ) ) \triangledown_Q\mathcal{L}_1(\delta(i)) = \frac{1}{\lambda}pr(i)\triangledown_Q\mathcal{L}_2(\delta(i)) ▽QL1(δ(i))=λ1pr(i)▽QL2(δ(i))
2.1.2.1 推论 1(构造等期望梯度均匀重放损失 L 1 \mathcal{L}_1 L1 的方法)
-
Corollary 1:若 L 1 ( δ ( i ) ) = 1 λ ∣ p r ( i ) ∣ × L 2 ( δ ( i ) ) \mathcal{L}_1(\delta(i)) = \frac{1}{\lambda}|pr(i)|_\times \mathcal{L}_2(\delta(i)) L1(δ(i))=λ1∣pr(i)∣×L2(δ(i)) for all i i i,其中 λ = ∑ j p r ( j ) N \lambda = \frac{\sum_jpr(j)}{N} λ=N∑jpr(j), ∣ ⋅ ∣ × |·|_\times ∣⋅∣× 是停止梯度符号,则 Theorem 1 对任意均匀采样的损失 L 1 \mathcal{L}_1 L1 和按任意按优先级 p r pr pr 非均匀采样的损失 L 2 \mathcal{L}_2 L2 均成立
proof:
▽ Q L 1 ( δ ( i ) ) = ▽ Q 1 λ ∣ p r ( i ) ∣ × L 2 ( δ ( i ) ) = 1 λ p r ( i ) ▽ Q L 2 ( δ ( i ) ) \begin{aligned} \triangledown_Q\mathcal{L}_1(\delta(i)) &= \triangledown_Q\frac{1}{\lambda}|pr(i)|_\times \mathcal{L}_2(\delta(i)) \\ &= \frac{1}{\lambda}pr(i)\triangledown_Q\mathcal{L}_2(\delta(i)) \end{aligned} ▽QL1(δ(i))=▽Qλ1∣pr(i)∣×L2(δ(i))=λ1pr(i)▽QL2(δ(i)) 满足 Theorem 1 成立条件,得证 -
该推论告诉我们,给定按 p r pr pr 优先级的非均匀重放和相应 L 2 \mathcal{L}_2 L2 损失时,如何构造均匀重放时等期望梯度的损失函数 L 1 \mathcal{L}_1 L1
2.1.2.2 推论 2(构造等期望梯度优先重放优先级 p r pr pr 及对应损失函数 λ L 2 \lambda\mathcal{L}_2 λL2 的方法)
-
Corollary 2:若 sign ( ▽ Q L 1 ( δ ( i ) ) ) = sign ( ▽ Q L 2 ( δ ( i ) ) ) \text{sign}(\triangledown_Q\mathcal{L}_1(\delta(i))) = \text{sign}(\triangledown_Q\mathcal{L}_2(\delta(i))) sign(▽QL1(δ(i)))=sign(▽QL2(δ(i))) 且 p r ( i ) = ▽ Q L 1 ( δ ( i ) ) ▽ Q L 2 ( δ ( i ) ) pr(i) = \frac{\triangledown_Q \mathcal{L}_1(\delta(i))}{\triangledown_Q \mathcal{L}_2(\delta(i))} pr(i)=▽QL2(δ(i))▽QL1(δ(i)) for all i i i,则 Theorem 1 对任意均匀采样的损失 L 1 \mathcal{L}_1 L1 和任意按 p r pr pr 非均匀采样的损失 λ L 2 \lambda\mathcal{L}_2 λL2 均成立,其中 λ = ∑ j p r ( j ) N \lambda = \frac{\sum_jpr(j)}{N} λ=N∑jpr(j)
proof:给定 sign ( ▽ Q L 1 ( δ ( i ) ) ) = sign ( ▽ Q L 2 ( δ ( i ) ) ) \text{sign}(\triangledown_Q\mathcal{L}_1(\delta(i))) = \text{sign}(\triangledown_Q\mathcal{L}_2(\delta(i))) sign(▽QL1(δ(i)))=sign(▽QL2(δ(i)))
1 λ p r ( i ) ▽ Q λ L 2 ( δ ( i ) ) = λ λ ▽ Q L 1 ( δ ( i ) ) ▽ Q L 2 ( δ ( i ) ) ▽ Q L 2 ( δ ( i ) ) = ▽ Q L 1 ( δ ( i ) ) \begin{aligned} \frac{1}{\lambda}pr(i)\triangledown_Q\lambda\mathcal{L}_2(\delta(i)) &= \frac{\lambda}{\lambda}\frac{\triangledown_Q\mathcal{L}_1(\delta(i))}{\triangledown_Q\mathcal{L}_2(\delta(i))}\triangledown_Q\mathcal{L}_2(\delta(i)) \\ &= \triangledown_Q\mathcal{L}_1(\delta(i)) \end{aligned} λ1pr(i)▽QλL2(δ(i))=λλ▽QL2(δ(i))▽QL1(δ(i))▽QL2(δ(i))=▽QL1(δ(i)) 满足 Theorem 1 成立条件,得证 -
由于采样优先级不能是负的或 0,必有 sign ( p r ( i ) ) = sign ( ▽ Q L 1 ( δ ( i ) ) ▽ Q L 2 ( δ ( i ) ) ) = 1 \text{sign}(pr(i)) = \text{sign}(\frac{\triangledown_Q \mathcal{L}_1(\delta(i))}{\triangledown_Q \mathcal{L}_2(\delta(i))})=1 sign(pr(i))=sign(▽QL2(δ(i))▽QL1(δ(i)))=1,因此需要满足条件 sign ( ▽ Q L 1 ( δ ( i ) ) ) = sign ( ▽ Q L 2 ( δ ( i ) ) ) \text{sign}(\triangledown_Q\mathcal{L}_1(\delta(i))) = \text{sign}(\triangledown_Q\mathcal{L}_2(\delta(i))) sign(▽QL1(δ(i)))=sign(▽QL2(δ(i)))。通常,所有旨在最小化 Q Q Q 输出与给定目标间距离的损失函数都满足此条件
因为有同样的目标,优化方向是相同的,梯度方向也应大致相同
这时非均匀采样的作用类似于重要性采样,它对 L 2 \mathcal{L}_2 L2 做重加权来匹配 L 1 \mathcal{L}_1 L1 的期望梯度
-
该推论告诉我们,给定按均匀重放对应的 L 1 \mathcal{L}_1 L1 损失和另一损失函数 L 2 \mathcal{L}_2 L2 时,如何构造保证期望梯度相等的非均匀重放优先级 p r pr pr 及对应损失函数 λ L 2 \lambda\mathcal{L}_2 λL2
举例来说,当 L 2 \mathcal{L}_2 L2 是 L 1 L_1 L1 损失时,由于其梯度 ▽ Q L L 1 ( δ ( i ) ) = ± 1 \triangledown_Q\mathcal{L}_{L_1}(\delta(i)) = \pm 1 ▽QLL1(δ(i))=±1,把 p r pr pr 设置为 p r ( i ) = ∣ ▽ Q L 1 ( δ ( i ) ) ∣ pr(i) = |\triangledown_Q\mathcal{L}_1(\delta(i))| pr(i)=∣▽QL1(δ(i))∣,就能把均匀采样 L 1 \mathcal{L}_1 L1 损失转换为优先级采样机制。事实证明,这样做可以减少梯度的方差(2.1.2.1 节 Observation 1)
2.1.3 定理 2(转换为等价的优先重放方案可以减少梯度方差)
2.1.3.1 观察 1(方差减小)
-
Observation 1:给定大小为 N N N 的数据集 B \mathcal{B} B 和损失函数 L 1 \mathcal{L}_1 L1,样本 i i i 以优先级 p r ( i ) = ∣ ▽ Q L 1 ( δ ( i ) ) ∣ pr(i) = |\triangledown_Q\mathcal{L}_1(\delta(i))| pr(i)=∣▽QL1(δ(i))∣ 进行优先采样,有 λ = ∑ j p r ( j ) N \lambda = \frac{\sum_j pr(j)}{N} λ=N∑jpr(j),则 λ L L 1 ( δ ( i ) ) \lambda\mathcal{L}_{L_1}(\delta{(i)}) λLL1(δ(i)) 的梯度的方差小于等于均匀采样的 L 1 ( δ ( i ) ) \mathcal{L}_1(\delta(i)) L1(δ(i)) 的梯度的方差
-
这个观察就是说,如果设定 L 2 = L 1 \mathcal{L}_2 = L_1 L2=L1,则对任意均匀重放损失 L 1 \mathcal{L}_1 L1,按推论 2 构造优先重放的优先级 p r pr pr 及相应的优先损失 λ L 2 \lambda\mathcal{L}_2 λL2,可以减小 mini-batch 梯度的方差
该观察主要用来引出定理2,故详细证明不再给出(后面定理2证明之后,可以直接用定理2证明该观察)
2.1.3.2 定理 2(转换为等价的优先重放方案可以减少梯度方差)
-
Theorem 2:给定大小为 N N N 的数据集 B \mathcal{B} B 和损失函数 L 1 , L 2 \mathcal{L}_1,\mathcal{L}_2 L1,L2,利用 Corollary 2 可以设计出优先级方案 p r pr pr 及相应的损失函数 λ L 2 \lambda \mathcal{L}_2 λL2(其中 λ = ∑ j p r ( j ) N \lambda = \frac{\sum_j pr(j)}{N} λ=N∑jpr(j)),使得 Theorem 1 成立。当 L 2 = L L 1 \mathcal{L}_2 =\mathcal{L}_{L_1} L2=LL1 并按 Corollary 2 设计 p r ( i ) = ∣ ▽ Q L 1 ( δ ( i ) ) ∣ pr(i) = |\triangledown_Q\mathcal{L}_1(\delta(i))| pr(i)=∣▽QL1(δ(i))∣ 时, ▽ Q λ L 2 ( δ ( i ) \triangledown_Q\lambda\mathcal{L}_2(\delta(i) ▽QλL2(δ(i) 的方差在所有具有相同期望梯度的损失函数(及对应的优先级方案)中最小
Proof:
- 考虑优先采样梯度的方差(注意方差公式为
V
a
r
(
x
)
=
E
[
x
2
]
−
E
[
x
]
2
Var(x) = \mathbb{E}[x^2]-\mathbb{E}[x]^2
Var(x)=E[x2]−E[x]2)
Var ( ∇ Q λ L 2 ( δ ( i ) ) ) = E i ∼ p r [ ( ∇ Q λ L 2 ( δ ( i ) ) ) 2 ] − E i ∼ p r [ ∇ Q λ L 2 ( δ ( i ) ) ] 2 = ∑ i p r ( i ) ∑ j p r ( j ) ( ∑ j p r ( j ) ) 2 N 2 ( ∇ Q L 2 ( δ ( i ) ) ) 2 − X = ∑ j p r ( j ) N 2 ∑ i ∇ Q L 1 ( δ ( i ) ) ∇ Q L 2 ( δ ( i ) ) − X (2) \begin{aligned} \operatorname{Var}\left(\nabla_{Q} \lambda \mathcal{L}_{2}(\delta(i))\right) &=\mathbb{E}_{i \sim p r}\left[\left(\nabla_{Q} \lambda \mathcal{L}_{2}(\delta(i))\right)^{2}\right]-\mathbb{E}_{i \sim p r}\left[\nabla_{Q} \lambda \mathcal{L}_{2}(\delta(i))\right]^{2} \\ &=\sum_{i} \frac{p r(i)}{\sum_{j} p r(j)} \frac{\left(\sum_{j} p r(j)\right)^{2}}{N^{2}}\left(\nabla_{Q} \mathcal{L}_{2}(\delta(i))\right)^{2}-X \\ &=\frac{\sum_{j} p r(j)}{N^{2}} \sum_{i} \nabla_{Q} \mathcal{L}_{1}(\delta(i)) \nabla_{Q} \mathcal{L}_{2}(\delta(i))-X \end{aligned} \tag{2} Var(∇QλL2(δ(i)))=Ei∼pr[(∇QλL2(δ(i)))2]−Ei∼pr[∇QλL2(δ(i))]2=i∑∑jpr(j)pr(i)N2(∑jpr(j))2(∇QL2(δ(i)))2−X=N2∑jpr(j)i∑∇QL1(δ(i))∇QL2(δ(i))−X(2) 其中 X = E i ∼ B [ ▽ Q L 1 ( δ ( i ) ) ] 2 = E i ∼ p r [ ▽ Q L 2 ( δ ( i ) ) ] 2 X = \mathbb{E}_{i\sim\mathcal{B}}[\triangledown_Q\mathcal{L}_1(\delta(i))]^2 = \mathbb{E}_{i\sim pr}[\triangledown_Q\mathcal{L}_2(\delta(i))]^2 X=Ei∼B[▽QL1(δ(i))]2=Ei∼pr[▽QL2(δ(i))]2 是无偏期望梯度的平方 - 注意
sign
(
▽
Q
L
1
(
δ
(
i
)
)
)
=
sign
(
▽
Q
L
2
(
δ
(
i
)
)
)
\text{sign}(\triangledown_Q\mathcal{L}_1(\delta(i))) = \text{sign}(\triangledown_Q\mathcal{L}_2(\delta(i)))
sign(▽QL1(δ(i)))=sign(▽QL2(δ(i))),令
L
2
=
L
L
1
\mathcal{L}_2 = \mathcal{L}_{L_1}
L2=LL1,有
▽
Q
L
2
(
δ
(
i
)
)
=
±
1
\triangledown_Q\mathcal{L}_2(\delta(i)) = \pm 1
▽QL2(δ(i))=±1,则
▽
Q
L
1
(
δ
(
i
)
)
▽
Q
L
2
(
δ
(
i
)
)
=
∣
▽
Q
L
1
(
δ
(
i
)
)
∣
\triangledown_Q\mathcal{L}_1(\delta(i))\triangledown_Q\mathcal{L}_2(\delta(i)) = |\triangledown_Q\mathcal{L}_1(\delta(i))|
▽QL1(δ(i))▽QL2(δ(i))=∣▽QL1(δ(i))∣。设
p
r
(
i
)
=
∣
▽
Q
L
1
(
δ
(
i
)
)
∣
pr(i) = |\triangledown_Q\mathcal{L}_1(\delta(i))|
pr(i)=∣▽QL1(δ(i))∣,上式可以进一步简化
= ∑ j ∣ ▽ Q L 1 ( δ ( j ) ) ∣ N 2 ∑ i ∣ ▽ Q L 1 ( δ ( i ) ) ∣ − X = ( ∑ j ∣ ▽ Q L 1 ( δ ( j ) ) ∣ N ) 2 − X (3) \begin{aligned} &= \frac{\sum_j|\triangledown_Q\mathcal{L}_1(\delta(j))|}{N^2}\sum_i|\triangledown_Q\mathcal{L}_1(\delta(i))|-X \\ &= \Big(\frac{\sum_j|\triangledown_Q\mathcal{L}_1(\delta(j))|}{N}\Big)^2 - X \end{aligned} \tag{3} =N2∑j∣▽QL1(δ(j))∣i∑∣▽QL1(δ(i))∣−X=(N∑j∣▽QL1(δ(j))∣)2−X(3) - 考虑一般情况,
▽
Q
L
2
(
δ
(
i
)
)
=
f
(
δ
(
i
)
)
\triangledown_Q\mathcal{L}_2(\delta(i)) = f(\delta(i))
▽QL2(δ(i))=f(δ(i)),为了保证期望梯度一致,根据 Theorem 1 必须设置为
p
r
(
i
)
=
▽
Q
L
1
(
δ
(
i
)
f
(
δ
(
i
)
)
pr(i) = \frac{\triangledown_Q\mathcal{L}_1(\delta(i)}{f(\delta(i))}
pr(i)=f(δ(i))▽QL1(δ(i),为了计算方差,把这一项带入式 (2)
= ∑ j p r ( j ) N 2 ∑ i ∇ Q L 1 ( δ ( i ) ) ∇ Q L 2 ( δ ( i ) ) − X = ∑ j ∇ Q L 1 ( δ ( j ) ) / f ( δ ( j ) ) N 2 ∑ i ∇ Q L 1 ( δ ( i ) ) f ( δ ( i ) ) − X . (4) \begin{aligned} &=\frac{\sum_{j} p r(j)}{N^{2}} \sum_{i} \nabla_{Q} \mathcal{L}_{1}(\delta(i)) \nabla_{Q} \mathcal{L}_{2}(\delta(i))-X \\ &=\frac{\sum_{j} \nabla_{Q} \mathcal{L}_{1}(\delta(j)) / f(\delta(j))}{N^{2}} \sum_{i} \nabla_{Q} \mathcal{L}_{1}(\delta(i)) f(\delta(i))-X . \end{aligned} \tag{4} =N2∑jpr(j)i∑∇QL1(δ(i))∇QL2(δ(i))−X=N2∑j∇QL1(δ(j))/f(δ(j))i∑∇QL1(δ(i))f(δ(i))−X.(4) 然后选择(这个构造不知道怎么想出来的)
u j = ▽ Q L 1 ( δ ( i ) f ( δ ( i ) ) N , v j = ▽ Q L 1 ( δ ( i ) f ( δ ( i ) ) N u_j = \frac{\sqrt{\frac{\triangledown_Q\mathcal{L}_1(\delta(i)}{f(\delta(i))}}}{\sqrt{N}}, v_j = \frac{\sqrt{\triangledown_Q\mathcal{L}_1(\delta(i)f(\delta(i))}}{\sqrt{N}} uj=Nf(δ(i))▽QL1(δ(i),vj=N▽QL1(δ(i)f(δ(i))
根据 Cauchy-Schwarz 不等式: ( x , y ) 2 ≤ ( x , x ) ( y , y ) (\pmb{x},\pmb{y})^2\leq (\pmb{x},\pmb{x})(\pmb{y},\pmb{y}) (xx,yy)2≤(xx,xx)(yy,yy) ,即 ( ∑ i a i b i ) 2 ≤ ∑ i a 2 ∑ i b 2 (\sum_ia_ib_i)^2\leq \sum_ia^2\sum_ib^2 (∑iaibi)2≤∑ia2∑ib2 ,有
( ∑ j ∣ ∇ Q L 1 ( δ ( j ) ) ∣ N ) 2 ≤ ∑ j ∇ Q L 1 ( δ ( j ) ) / f ( δ ( j ) ) N 2 ∑ i ∇ Q L 1 ( δ ( i ) ) f ( δ ( i ) ) (5) \left(\frac{\sum_{j}\left|\nabla_{Q} \mathcal{L}_{1}(\delta(j))\right|}{N}\right)^{2} \leq \frac{\sum_{j} \nabla_{Q} \mathcal{L}_{1}(\delta(j)) / f(\delta(j))}{N^{2}} \sum_{i} \nabla_{Q} \mathcal{L}_{1}(\delta(i)) f(\delta(i)) \tag{5} (N∑j∣∇QL1(δ(j))∣)2≤N2∑j∇QL1(δ(j))/f(δ(j))i∑∇QL1(δ(i))f(δ(i))(5) 当 f ( δ ( j ) ) = ± c f(\delta(j)) = \pm c f(δ(j))=±c 常数时等号成立。因此当 L 2 \mathcal{L}_2 L2 是 L 1 L_1 L1 损失时, λ L 2 \lambda\mathcal{L}_2 λL2 的方差最小化
- 考虑优先采样梯度的方差(注意方差公式为
V
a
r
(
x
)
=
E
[
x
2
]
−
E
[
x
]
2
Var(x) = \mathbb{E}[x^2]-\mathbb{E}[x]^2
Var(x)=E[x2]−E[x]2)
-
定理 2 说明:对于均匀重放情况下的任何损失函数 L 1 \mathcal{L}_1 L1,都可以在保持期望梯度不变的情况下,将其转换为优先级重放方案 p r ( i ) = ∣ ▽ Q L 1 ( δ ( i ) ) ∣ pr(i) = |\triangledown_Q\mathcal{L}_1(\delta(i))| pr(i)=∣▽QL1(δ(i))∣ 下的 λ L L 1 \lambda \mathcal{L}_{L_1} λLL1 损失,以减少梯度的方差
2.1.4 定理 3(广义 Huber 损失 + PER对应的均匀重放下的等效损失函数)
- 为了分析 PER 的特性,可以通过 Theorem 1 导出其对应的均匀采样情况下的等效损失函数进行分析。原始 PER 论文中使用的是和 DQN 相同的 Huber 损失,先分析广义 PER 结合损失 1 τ ∣ δ ( i ) ∣ τ ( τ > 0 ) \frac{1}{\tau}|\delta(i)|^\tau \space (\tau>0) τ1∣δ(i)∣τ (τ>0) 一起使用时的一般结果
2.1.4.1 定理 3(广义 Huber 损失 + PER对应的均匀重放下的等效损失函数)
- Theorem 3 :当与 PER 一起使用时,损失
1
τ
∣
δ
(
i
)
∣
τ
\frac{1}{\tau}|\delta(i)|^\tau
τ1∣δ(i)∣τ(
τ
>
0
\tau>0
τ>0) 的期望梯度等于使用均匀采样重放时以下损失的期望梯度
L PER τ ( δ ( i ) ) = η N τ + α − α β ∣ δ ( i ) ∣ τ + α − α β , η = min j ∣ δ ( j ) ∣ α β ∑ j ∣ δ ( j ) ∣ α (6) \mathcal{L}_{\text{PER}}^\tau(\delta(i)) = \frac{\eta N}{\tau+\alpha-\alpha\beta}|\delta(i)|^{\tau+\alpha-\alpha\beta},\space\space\space\space\space \eta = \frac{\min_j|\delta(j)|^{\alpha\beta}}{\sum_j|\delta(j)|^\alpha} \tag{6} LPERτ(δ(i))=τ+α−αβηN∣δ(i)∣τ+α−αβ, η=∑j∣δ(j)∣αminj∣δ(j)∣αβ(6)proof:根据 PER 定义,有
p ( i ) = ∣ δ ( i ) ∣ α + ϵ ∑ j ( ∣ δ ( j ) ∣ α + ϵ ) , w ( i ) = ( 1 N ⋅ 1 p ( i ) ) β max j ( 1 N ⋅ 1 p ( j ) ) β p(i) = \frac{|\delta(i)|^\alpha +\epsilon}{\sum_j(|\delta(j)|^\alpha +\epsilon)},\space\space\space w(i) = \frac{(\frac{1}{N}·\frac{1}{p(i)})^\beta}{\max_j(\frac{1}{N}·\frac{1}{p(j)})^\beta} p(i)=∑j(∣δ(j)∣α+ϵ)∣δ(i)∣α+ϵ, w(i)=maxj(N1⋅p(j)1)β(N1⋅p(i)1)β 其中 α ∈ ( 0 , 1 ] , β ∈ [ 0 , 1 ] \alpha\in(0,1],\beta\in[0,1] α∈(0,1],β∈[0,1]。下面考察使用 PER 时损失函数 1 τ ∣ δ ( i ) ∣ τ \frac{1}{\tau}|\delta(i)|^\tau τ1∣δ(i)∣τ 的期望梯度
E i ∼ P E R [ ∇ Q w ( i ) 1 τ ∣ δ ( i ) ∣ τ ] = ∑ i ∈ B w ( i ) p ( i ) ∇ Q 1 τ ∣ δ ( i ) ∣ τ = ∑ i ∈ B ( 1 N ⋅ 1 p ( i ) ) β max j ∈ B ( 1 N ⋅ 1 p ( j ) ) β ∣ δ ( i ) ∣ α ∑ j ∈ B ∣ δ ( j ) ∣ α sign ( δ ( i ) ) ∣ δ ( i ) ∣ τ − 1 = 1 max j ∈ B 1 ∣ δ ( j ) ∣ α β ∑ j ∈ B ∣ δ ( j ) ∣ α ∑ i ∈ B ∣ δ ( i ) ∣ τ + α − 1 sign ( δ ( i ) ) ∣ δ ( i ) ∣ α β = η ∑ i ∈ B sign ( δ ( i ) ) ∣ δ ( i ) ∣ τ + α − α β − 1 . (7) \begin{aligned} \mathbb{E}_{i \sim \mathrm{PER}}\left[\nabla_{Q} w(i) \frac{1}{\tau}|\delta(i)|^{\tau}\right]&=\sum_{i \in \mathcal{B}} w(i) p(i) \nabla_{Q} \frac{1}{\tau}|\delta(i)|^{\tau}\\ &=\sum_{i \in \mathcal{B}} \frac{\left(\frac{1}{N} \cdot \frac{1}{p(i)}\right)^{\beta}}{\max _{j \in \mathcal{B}}\left(\frac{1}{N} \cdot \frac{1}{p(j)}\right)^{\beta}} \frac{|\delta(i)|^{\alpha}}{\sum_{j \in \mathcal{B}}|\delta(j)|^{\alpha}} \operatorname{sign}(\delta(i))|\delta(i)|^{\tau-1}\\ &=\frac{1}{\max _{j \in \mathcal{B}} \frac{1}{|\delta(j)|^{\alpha \beta}} \sum_{j \in \mathcal{B}}|\delta(j)|^{\alpha}} \sum_{i \in \mathcal{B}} \frac{|\delta(i)|^{\tau+\alpha-1} \operatorname{sign}(\delta(i))}{|\delta(i)|^{\alpha \beta}}\\ &=\eta \sum_{i \in \mathcal{B}} \operatorname{sign}(\delta(i))|\delta(i)|^{\tau+\alpha-\alpha \beta-1} \text {. } \end{aligned} \tag{7} Ei∼PER[∇Qw(i)τ1∣δ(i)∣τ]=i∈B∑w(i)p(i)∇Qτ1∣δ(i)∣τ=i∈B∑maxj∈B(N1⋅p(j)1)β(N1⋅p(i)1)β∑j∈B∣δ(j)∣α∣δ(i)∣αsign(δ(i))∣δ(i)∣τ−1=maxj∈B∣δ(j)∣αβ1∑j∈B∣δ(j)∣α1i∈B∑∣δ(i)∣αβ∣δ(i)∣τ+α−1sign(δ(i))=ηi∈B∑sign(δ(i))∣δ(i)∣τ+α−αβ−1. (7) 现在考虑 L PER τ ( δ ( i ) ) \mathcal{L}_{\text{PER}}^\tau(\delta(i)) LPERτ(δ(i)) 的期望梯度
E i ∼ B [ ∇ Q L P E R τ ( δ ( i ) ) ] = 1 N ∑ i ∈ B η N τ + α − α β ∇ Q ∣ δ ( i ) ∣ τ + α − α β = η ∑ i ∈ B sign ( δ ( i ) ) ∣ δ ( i ) ∣ τ + α − α β − 1 (8) \begin{aligned} \mathbb{E}_{i \sim \mathcal{B}}\left[\nabla_{Q} \mathcal{L}_{\mathrm{PER}}^{\tau}(\delta(i))\right] &=\frac{1}{N} \sum_{i \in \mathcal{B}} \frac{\eta N}{\tau+\alpha-\alpha \beta} \nabla_{Q}|\delta(i)|^{\tau+\alpha-\alpha \beta} \\ &=\eta \sum_{i \in \mathcal{B}} \operatorname{sign}(\delta(i))|\delta(i)|^{\tau+\alpha-\alpha \beta-1} \tag{8} \end{aligned} Ei∼B[∇QLPERτ(δ(i))]=N1i∈B∑τ+α−αβηN∇Q∣δ(i)∣τ+α−αβ=ηi∈B∑sign(δ(i))∣δ(i)∣τ+α−αβ−1(8) 二者相等,证毕
2.1.4.2 推论 3(Huber 损失 + PER对应的均匀重放下的等效损失函数)
-
考虑 PER 原文,当与 PER 一起使用时,传统 DQN 使用的 Huber 损失的期望梯度等于使用均匀采样重放时以下损失的期望梯度
L P E R Huber ( δ ( i ) ) = η N τ + α − α β ∣ δ ( i ) ∣ τ + α − α β , τ = { 2 if ∣ δ ( i ) ∣ ≤ 1 , 1 otherwise , η = min j ∣ δ ( j ) ∣ α β ∑ j ∣ δ ( j ) ∣ α (9) \mathcal{L}_{\mathrm{PER}}^{\text {Huber }}(\delta(i))=\frac{\eta N}{\tau+\alpha-\alpha \beta}|\delta(i)|^{\tau+\alpha-\alpha \beta}, \quad \tau=\left\{\begin{array}{ll} 2 & \text { if }|\delta(i)| \leq 1, \\ 1 & \text { otherwise }, \end{array} \quad \eta=\frac{\min _{j}|\delta(j)|^{\alpha \beta}}{\sum_{j}|\delta(j)|^{\alpha}}\right. \tag{9} LPERHuber (δ(i))=τ+α−αβηN∣δ(i)∣τ+α−αβ,τ={21 if ∣δ(i)∣≤1, otherwise ,η=∑j∣δ(j)∣αminj∣δ(j)∣αβ(9) 其实就是把 τ = 1 \tau = 1 τ=1 和 τ = 2 \tau=2 τ=2 分别代入等式 (6) -
为了理解 Corollary 3 的意义及其对 PER 目标的描述,首先考虑以下两个关于 MSE 和 L 1 L_1 L1 的观察现象
-
Observation 2 (优化 MSE 损失得到的估计结果为真实样本的均值,无偏): B ( s , a ) ⊂ B \mathcal{B}(s,a)\subset \mathcal{B} B(s,a)⊂B 是包含 ( s , a ) (s,a) (s,a) 的 transition 的子集, δ ( i ) = Q ( i ) − y ( i ) \delta(i) = Q(i)-y(i) δ(i)=Q(i)−y(i),若 ▽ Q E i ∼ B ( s , a ) [ 0.5 δ ( i ) 2 ] = 0 \triangledown_Q\mathbb{E}_{i\sim\mathcal{B}(s,a)}[0.5\delta(i)^2] = 0 ▽QEi∼B(s,a)[0.5δ(i)2]=0,则 Q ( s , a ) = mean i ∈ B ( s , a ) y ( i ) Q(s,a) = \text{mean}_{i\in\mathcal{B}(s,a)}y(i) Q(s,a)=meani∈B(s,a)y(i)
proof:
E i ∼ B ( s , a ) [ ∇ Q 0.5 ∣ δ ( i ) ∣ 2 ] = 0 ⇒ E i ∼ B ( s , a ) [ δ ( i ) ] = 0 ⇒ 1 N ∑ i ∈ B ( s , a ) Q ( s , a ) − y ( i ) = 0 ⇒ Q ( s , a ) − 2 c N ∑ i ∈ B ( s , a ) y ( i ) = 0 ⇒ Q ( s , a ) = 1 N ∑ i ∈ B ( s , a ) y ( i ) . \begin{aligned} & \mathbb{E}_{i \sim \mathcal{B}(s, a)}\left[\nabla_{Q} 0.5|\delta(i)|^{2}\right]=0 \\ \Rightarrow & \mathbb{E}_{i \sim \mathcal{B}(s, a)}[\delta(i)]=0 \\ \Rightarrow & \frac{1}{N} \sum_{i \in \mathcal{B}(s, a)} Q(s, a)-y(i)=0 \\ \Rightarrow & Q(s, a)-\frac{2 c}{N} \sum_{i \in \mathcal{B}(s, a)} y(i)=0 \\ \Rightarrow & Q(s, a)=\frac{1}{N} \sum_{i \in \mathcal{B}(s, a)} y(i) . \end{aligned} ⇒⇒⇒⇒Ei∼B(s,a)[∇Q0.5∣δ(i)∣2]=0Ei∼B(s,a)[δ(i)]=0N1i∈B(s,a)∑Q(s,a)−y(i)=0Q(s,a)−N2ci∈B(s,a)∑y(i)=0Q(s,a)=N1i∈B(s,a)∑y(i). -
Observation 3 (优化 L 1 L_1 L1 损失得到的估计结果为真实样本的中位数,有偏但是更鲁棒): B ( s , a ) ⊂ B \mathcal{B}(s,a)\subset \mathcal{B} B(s,a)⊂B 是包含 ( s , a ) (s,a) (s,a) 的 transition 的子集, δ ( i ) = Q ( i ) − y ( i ) \delta(i) = Q(i)-y(i) δ(i)=Q(i)−y(i),若 ▽ Q E i ∼ B ( s , a ) [ ∣ δ ( i ) ∣ ] = 0 \triangledown_Q\mathbb{E}_{i\sim\mathcal{B}(s,a)}[|\delta(i)|] = 0 ▽QEi∼B(s,a)[∣δ(i)∣]=0,则 Q ( s , a ) = median i ∈ B ( s , a ) y ( i ) Q(s,a) = \text{median}_{i\in\mathcal{B}(s,a)}y(i) Q(s,a)=mediani∈B(s,a)y(i)
proof:
E i ∼ B ( s , a ) [ ∇ Q ∣ δ ( i ) ∣ ] = 0 ⇒ E i ∼ B ( s , a ) [ sign ( δ ( i ) ) ] = 0 ⇒ ∑ i ∈ B ( s , a ) 1 { Q ( s , a ) ≤ y ( i ) } = ∑ i ∈ B ( s , a ) 1 { Q ( s , a ) ≥ y ( i ) } ⇒ Q ( s , a ) = median i ∈ B ( s , a ) y ( i ) . \begin{aligned} & \mathbb{E}_{i \sim \mathcal{B}(s, a)}\left[\nabla_{Q}|\delta(i)|\right]=0 \\ \Rightarrow & \mathbb{E}_{i \sim \mathcal{B}(s, a)}[\operatorname{sign}(\delta(i))]=0 \\ \Rightarrow & \sum_{i \in \mathcal{B}(s, a)} \mathbb{1}\{Q(s, a) \leq y(i)\}=\sum_{i \in \mathcal{B}(s, a)} \mathbb{1}\{Q(s, a) \geq y(i)\} \\ \Rightarrow & Q(s, a)=\operatorname{median}_{i \in \mathcal{B}(s, a)} y(i) . \end{aligned} ⇒⇒⇒Ei∼B(s,a)[∇Q∣δ(i)∣]=0Ei∼B(s,a)[sign(δ(i))]=0i∈B(s,a)∑1{Q(s,a)≤y(i)}=i∈B(s,a)∑1{Q(s,a)≥y(i)}Q(s,a)=mediani∈B(s,a)y(i).
-
-
基于 Corollary 3 和上述观察,可以做以下陈述
- 若 τ + α − α β ≠ 2 \tau+\alpha-\alpha\beta \neq 2 τ+α−αβ=2(就是不用 MSE 损失),则 PER 的目标是有偏的(估计值的期望和目标期望不等),Observation 2 的含义是通过最小化 MSE 可以得到一个感兴趣目标的估计值,期望 TD target 是 y ( i ) = r + γ E s ′ , a ′ [ Q ( s ′ , a ′ ) ] y(i) = r+\gamma\mathbb{E}_{s',a'}[Q(s',a')] y(i)=r+γEs′,a′[Q(s′,a′)]。因此,使用 PER 优化损失 ∣ δ ( i ) ∣ τ |\delta(i)|^\tau ∣δ(i)∣τ,且 τ + α − α β ≠ 2 \tau+\alpha-\alpha\beta \neq 2 τ+α−αβ=2 将得到对目标的有偏估计
- 并非所有的估计偏差都是等价的,从 Observation 3 可以看出,最小化 L 1 L_1 L1 损失得到目标的中位数而非期望,考虑到强化学习中函数估计和 bootstrap 的作用,人们可能认为中位数是一个合理的估计,因为它更鲁棒
- 存在这种可能性:介于 MSE 和
L
1
L_1
L1 之间的损失函数可以在 “鲁棒性” 和 “正确性” 之间取得平衡。从等式 (6) 可见
- PER 和 L 1 L_1 L1 损失结合时,因为 α ∈ ( 0 , 1 ] , β ∈ [ 0 , 1 ] \alpha\in(0,1],\beta\in[0,1] α∈(0,1],β∈[0,1],损失中 ∣ δ ( i ) ∣ |\delta(i)| ∣δ(i)∣ 的幂次 1 + α − α β ∈ [ 1 , 2 ] 1+\alpha-\alpha\beta\in[1,2] 1+α−αβ∈[1,2],相当于进行了上述平衡
- PER 和 MSE 损失结合时,若 β < 1 \beta<1 β<1,则当 α ∈ ( 0 , 1 ] \alpha\in(0,1] α∈(0,1] 时损失中 ∣ δ ( i ) ∣ |\delta(i)| ∣δ(i)∣ 的幂次 2 + α − α β > 2 2+\alpha-\alpha\beta>2 2+α−αβ>2,这意味着虽然 MSE 单独使用时通过均值来最小化损失(最小二乘法),但当与PER结合时,损失将通过一些有利于异常值的表达式最小化。这种偏差解释了在基于 MSE 的连续控制任务标准算法中引入 PER 时性能不佳的原因
- 重要性采样比可以省去。PER 原文中使用重要性采样比(IS)对损失函数进行重新加权,以减少优先顺序引入的梯度期望偏差,我们知道若超参数 β = 1 β=1 β=1,则带有 PER 的 MSE 是无偏的(Observation 2),PER 原文也提到了这一点。但更重要的是,上述理论推导是带着 IS 进行的,所以即使不使用 IS( β = 0 \beta=0 β=0),得到的结果中也已经消除了因为非均匀重放引入的偏差
2.2 提出方法
-
首先捋一捋我们中理论分析中得到结论
- 根据定理 2,期望梯度相等的情况下,优先级重放配合 λ L L 1 \lambda \mathcal{L}_{L_1} λLL1 损失可以减小梯度方差
- PER 的问题在于将优先级重放结合 MSE 损失使用,导致转换为均匀损失后损失函数中 ∣ δ ( i ) ∣ |\delta(i)| ∣δ(i)∣ 的幂次超过 2,损失优化过程中会过于偏向异常点(这和最小二乘法受离群点影响很大是一个道理);原始 DQN 中的将均匀重放结合 MSE 损失使用,这时的估计结果是无偏的
- 根据推论 3 的分析,当转换成均匀重放损失时,损失中 ∣ δ ( i ) ∣ |\delta(i)| ∣δ(i)∣ 的幂次应该介于 1(对应 L 1 L_1 L1 损失)到 2(对应 MSE 损失)之间,从而在 “鲁棒性” 和 “正确性” 之间取得平衡
基于以上结论,作者首先设计了一种优先级采样方案,称为 “损失调整优先经验重放(Loss-Adjusted Prioritized Experience Replay, LAP) ”,并进一步利用推论 1 等到了等价的均匀重放损失 “优先级近似损失(Prioritized Approximation Loss, PAL)”
2.2.1 优先级重放方法 LAP
-
为了结合 2.2 节中的两个结论,作者的思路是:像定理 2 中那样设计损失函数 L 2 = L L 1 \mathcal{L}_2 = \mathcal{L}_{L_1} L2=LL1,并把重放优先级设计为 ∣ δ ( i ) ∣ α , α ∈ ( 0 , 1 ] |\delta(i)|^\alpha,\alpha\in(0,1] ∣δ(i)∣α,α∈(0,1],这样根据推论 1 转换得到的等期望梯度均匀重放损失为
L 1 ( δ ( i ) ) = 1 λ ∣ p r ( i ) ∣ × L 2 ( δ ( i ) ) = 1 λ ∣ ∣ δ ( i ) ∣ α ∣ × ∣ δ ( i ) ∣ \mathcal{L}_1(\delta(i)) = \frac{1}{\lambda}|pr(i)|_\times \mathcal{L}_2(\delta(i)) = \frac{1}{\lambda}||\delta(i)|^\alpha|_\times|\delta(i)| L1(δ(i))=λ1∣pr(i)∣×L2(δ(i))=λ1∣∣δ(i)∣α∣×∣δ(i)∣ 其中 ∣ ⋅ ∣ × |·|_\times ∣⋅∣× 是停止梯度符号,可见损失中 ∣ δ ( i ) ∣ |\delta(i)| ∣δ(i)∣ 的幂次介于 1 到 2 之间满足了注:前文分析中,对于优先级重放部分都是说的损失为 λ L 2 \lambda\mathcal{L}_2 λL2,这里没提 λ \lambda λ 让我很困惑,我猜想这是因为把前文分析中所有 L 1 \mathcal{L}_1 L1 和 λ L 2 \lambda\mathcal{L}_2 λL2 都换成 1 λ L 1 \frac{1}{\lambda}\mathcal{L}_1 λ1L1 和 L 2 \mathcal{L}_2 L2 不影响结论,因为只有这样这里才能保持逻辑一致。显然对于 Corollary 2 这样替换没问题,但最关键的 Theorem 2 是不是这样我没证
-
在实践中 L 1 L_1 L1 损失不是最佳的,因为它每次更新都步进一个固定大小的步长(梯度为 ± 1 \pm1 ±1),如果学习率太高,可能会经常超出目标(overstepping the target),导致优化过程出现很多震荡。因此作者采用了常用的 k = 1 k=1 k=1 的 Huber 损失,当误差低于阈值 1 时,Huber 损失从 L 1 L_1 L1 转换为 MSE,这样就能在 δ ( i ) \delta(i) δ(i) 接近 0 时适当地缩放梯度。为了消除对优先级重放结合 MSE 导致的偏差,在这个区间内改用均匀采样重放,这可以通过优先级方案 p r ( i ) = max ( ∣ δ ( i ) ∣ α , 1 ) pr(i) = \max(|\delta(i)|^\alpha,1) pr(i)=max(∣δ(i)∣α,1) 实现(低优先级的样本被剪裁为优先级至少为 1,这样就变成均匀采样了)。这样修改后就得到 LAP 算法,它可以用以下非均匀采样加 Huber 损失来描述
p ( i ) = max ( ∣ δ ( i ) ∣ α , 1 ) ∑ j max ( ∣ δ ( j ) ∣ α , 1 ) , L Huber ( δ ( i ) ) = { 0.5 δ ( i ) 2 if ∣ δ ( i ) ∣ ≤ 1 ∣ δ ( i ) ∣ otherwise p(i)=\frac{\max \left(|\delta(i)|^{\alpha}, 1\right)}{\sum_{j} \max \left(|\delta(j)|^{\alpha}, 1\right)}, \quad \mathcal{L}_{\text {Huber }}(\delta(i))= \begin{cases}0.5 \delta(i)^{2} & \text { if }|\delta(i)| \leq 1 \\ |\delta(i)| & \text { otherwise }\end{cases} p(i)=∑jmax(∣δ(j)∣α,1)max(∣δ(i)∣α,1),LHuber (δ(i))={0.5δ(i)2∣δ(i)∣ if ∣δ(i)∣≤1 otherwise - ∣ δ ( i ) ∣ > 1 |\delta(i)|>1 ∣δ(i)∣>1 时: L 1 L_1 L1 损失,优先级 p r ( i ) = ∣ δ ( i ) ∣ α pr(i) = |\delta(i)|^\alpha pr(i)=∣δ(i)∣α
- ∣ δ ( i ) ∣ ≤ 1 |\delta(i)|\leq1 ∣δ(i)∣≤1 时:MSE损失,均匀采样重放
在纠正异常偏差的基础上, max ( ∣ δ ( i ) ∣ α , 1 ) \max(|\delta(i)|^\alpha,1) max(∣δ(i)∣α,1) 这个剪裁还降低了 p ( i ) ≈ 0 p(i)\approx 0 p(i)≈0 时发生 dead transition 的可能,因此不再需要 PER 中的超参数 ϵ \epsilon ϵ,此外,LAP 保持了定理 2 说明的方差减少特性,因为它在所有误差较大的样本上使用 L 1 L_1 L1 损失
2.2.2 均匀重放方法 PAL
-
按理论分析部分的思路,作者将 LAP 转换为均匀重放下具有相等期望梯度的镜像损失函数,称其为 PAL,具体可由 Corollary 1 推出,即 L PLA ( δ ( i ) ) = 1 λ ∣ p r ( i ) ∣ × L Huber ( δ ( i ) ) \mathcal{L}_{\text{PLA}}(\delta(i)) = \frac{1}{\lambda}|pr(i)|_\times \mathcal{L}_{\text{Huber}}(\delta(i)) LPLA(δ(i))=λ1∣pr(i)∣×LHuber(δ(i)),结果如下
L P A L ( δ ( i ) ) = 1 λ { 0.5 δ ( i ) 2 if ∣ δ ( i ) ∣ ≤ 1 , ∣ δ ( i ) ∣ 1 + α 1 + α otherwise, λ = ∑ j max ( ∣ δ ( j ) ∣ α , 1 ) N . \mathcal{L}_{\mathrm{PAL}}(\delta(i))=\frac{1}{\lambda}\left\{\begin{array}{ll} 0.5 \delta(i)^{2} & \text { if }|\delta(i)| \leq 1, \\ \frac{|\delta(i)|^{1+\alpha}}{1+\alpha} & \text { otherwise, } \end{array} \quad \lambda=\frac{\sum_{j} \max \left(|\delta(j)|^{\alpha}, 1\right)}{N} .\right. LPAL(δ(i))=λ1{0.5δ(i)21+α∣δ(i)∣1+α if ∣δ(i)∣≤1, otherwise, λ=N∑jmax(∣δ(j)∣α,1).- ∣ δ ( i ) ∣ ≤ 1 |\delta(i)|\leq 1 ∣δ(i)∣≤1 时, p r ( i ) = 1 pr(i)=1 pr(i)=1, L PLA ( δ ( i ) ) = 1 λ ⋅ 1 ⋅ 0.5 δ ( i ) 2 = 1 λ ⋅ 0.5 δ ( i ) 2 \mathcal{L}_{\text{PLA}}(\delta(i)) = \frac{1}{\lambda}·1·0.5\delta(i)^2 = \frac{1}{\lambda}·0.5\delta(i)^2 LPLA(δ(i))=λ1⋅1⋅0.5δ(i)2=λ1⋅0.5δ(i)2
- ∣ δ ( i ) ∣ > 1 |\delta(i)|> 1 ∣δ(i)∣>1 时, p r ( i ) = ∣ δ ( i ) ∣ α pr(i) = |\delta(i)|^\alpha pr(i)=∣δ(i)∣α, L PLA ( δ ( i ) ) = 1 λ ∣ ∣ δ ( i ) ∣ α ∣ × ∣ δ ( i ) ∣ \mathcal{L}_{\text{PLA}}(\delta(i)) = \frac{1}{\lambda}||\delta(i)|^\alpha|_\times |\delta(i)| LPLA(δ(i))=λ1∣∣δ(i)∣α∣×∣δ(i)∣,对它求梯度是 ▽ Q L PLA = 1 λ ∣ δ ( i ) ∣ α ▽ Q ∣ δ ( i ) ∣ \triangledown_Q\mathcal{L}_{\text{PLA}} = \frac{1}{\lambda}|\delta(i)|^\alpha\triangledown_Q |\delta(i)| ▽QLPLA=λ1∣δ(i)∣α▽Q∣δ(i)∣ 为了表示和计算简便,这里停止梯度的操作改为等效的允许梯度操作,即 ▽ Q 1 λ ∣ δ ( i ) ∣ 1 + α 1 + α = 1 λ ∣ δ ( i ) ∣ α ▽ Q ∣ δ ( i ) ∣ \triangledown_Q\frac{1}{\lambda}\frac{|\delta(i)|^{1+\alpha}}{1+\alpha} = \frac{1}{\lambda}|\delta(i)|^\alpha\triangledown_Q |\delta(i)| ▽Qλ11+α∣δ(i)∣1+α=λ1∣δ(i)∣α▽Q∣δ(i)∣
-
Observation 4 (LAP 和 PAL 具有相同的期望梯度)
Proof. From Corollary 1 we have:
L PAL ( δ ( i ) ) = 1 λ ∣ p r ( i ) ∣ × L Huber ( δ ( i ) ) = 1 λ ∣ max ( ∣ δ ( i ) ∣ α , 1 ) ∣ × L Huber ( δ ( i ) ) = 1 λ ∣ max ( ∣ δ ( i ) ∣ α , 1 ) ∣ × { 0.5 δ ( i ) 2 if ∣ δ ( i ) ∣ ≤ 1 , ∣ δ ( i ) ∣ otherwise, = 1 λ { 0.5 δ ( i ) 2 if ∣ δ ( i ) ∣ ≤ 1 , ∣ δ ( i ) ∣ 1 + α 1 + α otherwise, \begin{aligned} \mathcal{L}_{\text {PAL }}(\delta(i)) &=\frac{1}{\lambda}|p r(i)|_{\times} \mathcal{L}_{\text {Huber }}(\delta(i)) \\ &=\frac{1}{\lambda}\left|\max \left(|\delta(i)|^{\alpha}, 1\right)\right|_{\times} \mathcal{L}_{\text {Huber }}(\delta(i)) \\ &=\frac{1}{\lambda}\left|\max \left(|\delta(i)|^{\alpha}, 1\right)\right|_{\times} \begin{cases}0.5 \delta(i)^{2} & \text { if }|\delta(i)| \leq 1, \\ |\delta(i)| & \text { otherwise, }\end{cases} \\ &=\frac{1}{\lambda} \begin{cases}0.5 \delta(i)^{2} & \text { if }|\delta(i)| \leq 1, \\ \frac{|\delta(i)|^{1+\alpha}}{1+\alpha} & \text { otherwise, }\end{cases} \end{aligned} LPAL (δ(i))=λ1∣pr(i)∣×LHuber (δ(i))=λ1∣max(∣δ(i)∣α,1)∣×LHuber (δ(i))=λ1∣max(∣δ(i)∣α,1)∣×{0.5δ(i)2∣δ(i)∣ if ∣δ(i)∣≤1, otherwise, =λ1{0.5δ(i)21+α∣δ(i)∣1+α if ∣δ(i)∣≤1, otherwise, where
λ = ∑ j p r ( j ) N = ∑ j max ( ∣ δ ( j ) ∣ α , 1 ) N . \lambda=\frac{\sum_{j} p r(j)}{N}=\frac{\sum_{j} \max \left(|\delta(j)|^{\alpha}, 1\right)}{N} . λ=N∑jpr(j)=N∑jmax(∣δ(j)∣α,1). Then by Corollary 1, LAP and PAL have the same expected gradient.注意到,PAL 定义的损失的幂次永远不会大于2,这意味着 PER 的异常值偏差已被消除。在那些不看重优先重放带来的方差减少的优势的领域,PAL 应当和 LAP 具有相似的性能,且实现更简便
3. 实验结果
-
作者将 LAP/PAL 与 TD3 和 SAC 方法结合,在 MuJoCo 连续控制任务上测试结果如下
发现增加 LAP/PAL 后 TD3 的性能得到提升;增加 PER 时由于 PER + MSE 引入偏差导致性能下降;LAP 和 PAL 没有太大差别,说明这时真的去做非均匀重放几乎没有什么好处(唯一的优势是减小方差,但是强化学习往往不是很看重这一点) -
作者将 LAP/PAL 与 DDQN 方法结合,在 Atari 任务上测试结果如下
发现增加 LAP/PAL 后 DDQN 的性能得到提升;增加 LAP 后性能超过 PER,但是增加 PAL 后不及 PER,这可能是因为 Atria 环境都是需要较长轨迹且奖励稀疏的,这时还是需要真的去做优先重放,使指导更稠密 -
此外,作者还在 MuJoCo 环境结合 TD3 对 PAL 进行了消融实验,注意到 α = 0 \alpha=0 α=0 时 PAL 就是一个用 1 λ \frac{1}{\lambda} λ1 放缩过的 Huber 损失,实验结果发现完全版本的 PAL 实现了最高性能;去掉 1 λ \frac{1}{\lambda} λ1 的 PAL 次之;在 Huber 损失上增加 1 λ \frac{1}{\lambda} λ1 可以显著提升性能,这说明性能提升主要来自对期望梯度的调整
4. 总结
- 本文主要贡献在于
- 说明了非均匀重放和均匀重放之间的等价性,并给出了转换方法。这一点非常重要,从转换后的均匀重放损失函数入手设计新的经验重放方法更加直观简便,本文之后很多关于经验重放的文章都是从这个角度做的
- 建立了非均匀经验重放技术的理论分析基础,类似 PER,在此之前很多经验重放方法都是启发式方法,都可以用本文方法进行分析和优化
- 说明了 PER 用于连续控制任务导致性能下降的原因是 PER 结合 MSE 损失使用时梯度会偏向异常值,并且设计了两个改进方法
- 一个好的非均匀重放方法,其等期望梯度的均匀重放损失关于 ∣ δ ( i ) ∣ |\delta(i)| ∣δ(i)∣ 的幂次应该在 1 到 2 之间,从而在 “鲁棒性” 和 “正确性” 之间取得平衡(直接设计均匀重放下价值估计损失时这一点同样适用)
- 真正去做非均匀重放的主要优势在于可以减小梯度的方差,但这个优势往往并不重要;稀疏奖励环境下非均匀重放的优势可能是最明显的,因为转换后的等价损失函数依靠重要度采样平衡期望梯度方向(这类似极大似然估计),在样本量少的情况下很不准,而稀疏奖励环境下有效样本量就很少,这时还是得靠真正去做非均匀采样来提升性能
- 本文的分析全部建立在 Bellman Equation 基础上,能否对 Bellman Optimal Equation 建立类似的分析框架