0.SRM 的论文信息
1.介绍
介绍中提到了传统强化学习并不存在测试与训练中的分布的差距 (gap),同时也用图 1 详细展示了图像识别任务与强化学习任务中对于图像处理要求的不同。同时也不难想到,数据增强应该能帮助进行这种强化学习泛化的学习。
图 1.对于图像识别任务(左),原始图像 o 和翻转图像 o^ 的特征对于分类是不变的。相比之下,对于 RL 中的 cartpole 摆动任务 (右),其目标是摆动一个未驱动的极点,这种不变特征将引导策略网络输出 o和 o^ 的相同动作。然而,对于 o^,更好的动作是将反向力应用于这个购物车基以保持摆动。因此,o 的预收集动作和奖励对于 o^ 来说并不准确。
文章因此从频域的角度研究基于图像的 RL 的泛化。作者的动机源于最近对计算机视觉的傅立叶分析的研究 : 不同类型的空间损坏会影响模型对不同频率范围的鲁棒性。例如,高频数据增强 (例如随机高斯噪声) 使模型偏向于利用输入中的低频信息,并提高对高频损坏的鲁棒性。此外,基于单一空间的数据增强很少提高具有不同频率特征的损坏类型的模型鲁棒性。受这种现象的启发,作者推测观察到的相同 RL 任务的傅里叶统计数据在不同的环境分布上也有所不同。在图 2 中,作者可视化了 DeepMind 控制套件上原始环境的观测频谱幅度以及 4 个移位环境分布之间的平均增量。移位的环境与原始环境表现出不同的频谱差异,每个环境在不同的频率区域是不同的。知道深度模型往往倾向于对某些频带产生偏差,作者假设环境分布之间的不同频谱模式是基于图像的 RL 泛化的关键挑战。
基于上述分析,作者通过引入频谱随机掩蔽 (SRM) 正则化来关注基于频率的增强,而不是基于空间的增强,如图 3 所示。作者提出的 SRM 可以很容易地兼容大多数现有的 RL 基准。为了防止模型关注输入图像上的某个频率范围,SRM 在训练阶段随机丢弃观测的偏频,迫使策略选择具有剩余信息的适当动作。通过这种方式,作者可以通过考虑整个频率分布来增加对不同损坏 (高、中或低频特征) 的鲁棒性。具体来说,输入观察由三个步骤操作 : (1) 快速傅里叶变换 (FFT),(2) 频谱随机掩蔽,(3) 傅里叶逆变换 (IFFT),在保持主要内容的同时增强了训练观察的多样性。
2.背景和方法演化
图 2.四种移位环境的原始环境观测 E[∥F(O)∥] 的频谱幅度和观测频谱幅度差 E[∥F(O−D(O))∥]。F 是二维傅里叶变换,D 是环境移位函数。每个环境的样本观察图像被放置在相应光谱图的左侧。DeepMind Control 套件中 cartpole swing 任务共有 500K 帧用于计算,并对结果进行平均。
强化学习的设定 RL问题通常被描述为马尔可夫决策过程(MDP) M=<S,A,P,R,γ>,其中 S 和 A 分别表示状态空间和动作空间。P(st+1∣st,at) 是状态转换,R(st,at) 是奖励函数,γ∈[0,1) 是折扣因子。在这里,作者考虑连续控制任务的部分可观察 MDP (POMDP) M=<O,A,P,R,γ>,因为 S 通常不是直接从原始图像中获得的,其中 O 是图像的高维观察空间。按照约定,POMDP 通过将几个连续的环境帧 {ot,ot−1,ot−2} 堆叠为单个状态 st∈O,转换为MDP。
典型 RL 的目标是找到最优策略 πθ∗,使 MDPs 整个分布的预期累积奖励最大化 :
J(π)=t∑E(st,at)∼ρπ[r(st,at)],(1)
其中 ρπ(st,at) 是轨迹分布的状态-动作边缘。在这项工作中,作者不考虑在单个 MDP 上学习最优策略,而是考虑一个可推广的 πθ,它能够在一组MDPs M=<O,A,P,R,γ> 上获得高折现收益,其中 O 中的观测值在训练中不可见。
SAC 算法 SAC 是一种流行的连续控制任务的非策略方法。它学习了一个状态-动作值函数 Q(s,a) 和一个随机策略 π(a∣s),以基于最大熵 RL 框架找到最佳策略 :
J(π)=t∑E(st,at)∼ρπ[r(st,at)+αH(π(⋅∣st))],(2)
其中 α 是温度参数,它决定了熵项对奖励的相对重要性。α 将 SAC 退化为传统的 RL。H(⋅) 通过使动作输出尽可能多样化而不是集中在一个动作上,为探索和鲁棒性提供了实质性的改进。特别是,Q(s,a) 通过最小化软贝尔曼残差来近似 :
JQ=E(st,at)∼D(Q(st,at)−(rt+γVˉ(st+1)))2,(3)
其中 D 表示重放缓冲区,Vˉ(st+1) 是软目标值网络,近似为 :
Vˉst+1=Eat+1∼π[Qˉ(st+1,at+1)−αlogπ(at+1∣st+1)],(4)
其中 Qˉ 是目标 Q 函数,权重可以是 Q 中权重的指数移动平均值。在策略改进步骤中,通过最小化策略与软 Q 函数的指数之间的差异来更新策略 :
Jπ=Est∼D[DKL(π(⋅∣st)∥Z(st)exp(Q(st,⋅)))],(5)
3.方法论
图 3.SRM的框架和几个例子。对于三个连续的观察,SRM 分别被用作数据增强。有三种掩蔽策略,包括直接擦除、受噪声干扰或交换的干扰。在训练期间,掩蔽策略、位置和比率可以动态变化。
3.1 频谱随机掩蔽
作者首先介绍如何通过本节中的频谱随机掩蔽策略生成新的样本。假设有一个灰度图像观测 oi∈RH×W (对于 RGB 图像,将同样的操作用在每个颜色通道),傅里叶域谱 F(oi) 可以通过快速傅里叶变换计算 :
F(oi)(u,v)=(h=0∑H−1w=0∑W−1oi(h,w)e−j2π(uh/H+vw/W)),(6)
其中 u∈[0,H−1] 和 v∈[0,W−1] 是频域分量的水平和垂直索引,oi(h,w) 是位置 (h,w) 处的像素值。请注意,下标 i 只是样本的索引,与时间步长无关。为了更好地处理和可视化,作者使用放置在频谱中心的最低频率分量的 F(oi) 的移位版本。
补充 : 关于傅里叶变化 (Fourier transform)
-
连续傅里叶级数推导 : 对于周期为 P 的函数 s(x)
s(x)∼A0+n=1∑∞(Ancos(P2πnx)+Bnsin(P2πnx))
对于下面几个关键点我们进行推导 (其实就是和差化积再积分)
∫cos(p2πnx)cos(p2πkx)dx=4πp(k−nsin(p2πx(k−n))+k+nsin(p2πx(k+n)))+constant∫sin(p2πnx)cos(p2πkx)dx=4πp(k−ncos(p2πx(k−n))−k+ncos(p2πx(k+n)))+constant∫sin(p2πnx)sin(p2πkx)dx=4πp(k−nsin(p2πx(k−n))−k+nsin(p2πx(k+n)))+constant
由此不难推出
A0AnBn=P1∫Ps(x)dx=P2∫Ps(x)cos(P2πnx)dxfor n≥1=P2∫Ps(x)sin(P2πnx)dxfor n≥1
-
傅里叶级数的指数形式
由欧拉公式 eix=cosx+isinx,可以将傅里叶级数简化成复数指数的形式。重新进行相关定义 :
c0cncn=A0=(An−iBn)/2=(A−n+iB−n)/2for n>0for n<0
代入上面的级数定义可以证实
cn=P1∫Ps(x)e−P2πinxdxfor n∈Z
同时也可以用此对 An 和 Bn 进行复原 :
A0AnBn=c0=cn+c−n=i(cn−c−n)for n>0for n>0
通过这些定义,傅里叶级数可以写为 :
s(x)∼n=−∞∑∞cn⋅eP2πinx
-
傅里叶变化 (Fourier Transform, FT)
下面,我们让 P→+∞,与此同时取对应的 n 使得 Pn→ξ∈R,可以推得
g(ξ)=∫−∞∞s(x) e−i2πξxdx
此时的 g(ξ) 其实可看作 cn 的推广,同时也可以推广得到
s(x)=∫−∞∞g(ξ) ei2πξxdξ,∀ x∈R
-
二维离散傅里叶变换的性质
- (1) 可分离性 : 如果图像函数 f(x,y) 的傅立叶变换为 F(u,v), 图像函数 g(x,y) 的傅立叶变换为 G(u,v), 则图像函数 h(x,y)=f(x,y)⋅g(x,y), 它的傅立叶变换 H(u,v)=F(u,v)⋅G(u,v) 。
- (2) 线性 : 如果图像函数 f1(x,y) 的傅立叶变换为 F1(u,v), 图像函数 f2(x,y) 的傅立叶变换函数为 F2(u,v), 则 af1(x,y)+bf2(x,y) 的傅立叶变换为 aF1(u,v)+bF2(u,v)。
- (3) 共轭对称性 : 如果图像函数 f(x,y) 的傅立叶变换为 F(u,v),x 和 y 的取值周期为 M 和 N, 它的共轭函数 f∗(x,y), 则它共轭函数的傅立叶变换为 F∗(−u+pM,−v+qN),p 和 q 是任意整数。
- (4) 位移性 : 如果图像函数 f(x,y) 的傅立叶变换为 F(u,v), 则 f(x−x0,y−y0) 的傅立叶变换为 F(u,v)e−j2π(ux0+vy0)/N,f(x,y)ej2π(u0x+v0y)/N 的傅立叶变换为 F(u−u0,v−v0)。
- (5) 尺度变换性 : 如果图像函数 f(x,y) 的傅立叶变换为 F(u,v), 则图像函数 f(ax,by) 的傅立叶变换为 ∣ab∣1F(au,bv)。
- (6) 旋转不变性 : 如果图像函数 f(r,θ) 的傅立叶变换为 F(w,φ), 则 f(r,θ+θ0) 的傅立叶变换为 F(w,φ+θ0) 。
- (7) 卷积性 : 如果图像函数 f(x,y) 的傅立叶变换为 F(u,v), 图像函数 g(x,y) 的傅立叶变换为 G(u,v), 则图像函数 h1(x,y)=f(x,y)∗g(x,y), 它的傅立叶变换 H1(u,v)=F(u,v)⋅G(u,v);图像函数 h2(x,y)=f(x,y)⋅g(x,y), 它的傅立叶变换 H2(u,v)=F(u,v)∗G(u,v) 。
- (8) DC 系数 : 对于图像函数 f(x,y) 的傅立叶变换为 F(u,v),F(0,0) 是傅立叶换的 DC 系数, 则 F(0,0) 为;
F(0,0)=x=0∑M−1y=0∑N−1f(x,y)exp(0)=x=0∑M−1y=0∑N−1f(x,y)
在将图像从空间域转换到频域后,作者构造了一个二进制掩蔽矩阵 M∈{0,1}H×W。作者引入了两个半径参数 r1,r2∈[0,0.5] 来控制光谱邻域的位置和比率被屏蔽 (r1<r2)。如图 3 所示,M 是通过将两个同心圆 (半径为 r1 和 r2) 之间的环空区域设置为 0 来构造的。Δr=r2−r1 决定掩码区域的大小。掩蔽区域的面积比定义为 rp=r22−r12。因此,作者提出了 3 种典型的掩蔽策略类型:擦除、噪声和交换。如果频率分量位于 r1 和 r2 之间,它将被屏蔽;否则,将保留频率信号 :
F^(oi)=M⋅F(oi)+(1−M)⋅F(Z),(7)
其中 Z 由特定的掩蔽策略计算。对于擦除策略,作者将 Z 设置为 0H×W,并且在后续训练中只会充分探索非掩码频率分量。随机噪声策略将 Z 设置为随机噪声图像。交换策略通过设置 Z=I 替换另一个图像 I 中具有相同频率分量的去除频率分量,该 Z=I 的灵感来自于 Cutmix 和 Mixup。考虑到第三方数据 I 并不总是可用的,在训练期间,作者随机打乱训练批次并从混洗批次中选择 I=oj(j=i),其中 oj 与 oi 具有相同的批次索引。
掩蔽策略也会影响监督信号,因为它与 oi 相关。假设 ai,ri 是观察 oi 的监督信号,其中 ai 和 ri 分别表示动作和奖励。对于擦除和随机噪声策略,ai 和 ri 保持不变。对于交换策略,监督信号取决于掩蔽区域 rp 的面积比。如果 rp<0.5,我们保持 ai 和 ri 不变,否则我们将 ai,ri 替换为 aj 和 rj。
一旦得到掩模傅里叶谱 ^F(oi)(u, v),我们通过相应的傅里叶逆变换 F−1 将其逆变换恢复为空间域 :
o^i(h,w)=HW1h=0∑H−1w=0∑W−1F^(oi)(u,v)ej2π(uh/H+vw/W)
对于观测 oi,其下一个观测 oi′ 也经历了与 oi 相同的 SRM 操作。算法 1 详细说明了如何通过 SRM 生成新的样本。
算法 1 频谱随机掩蔽 (Spectrum Random Masking, SRM)
- 输入: 采样一批状态转移 : {oi,ai,ri,oi′∣i=1,⋯,K}∼B; 零矩阵 0∈RH×W;
随机噪声图谱 N∈RH×W; 掩蔽矩阵 M∈{0,1}H×W。
- 输出: 强化的状态转移 {o^i,a^i,r^i,o^i′∣i=1,⋯,K}
- 初始化: r1←Rand(0,0.5),r2←Rand(r1,0.5),Δr=r2−r1,rp=r22−r12
- for i=1,⋯,K do :
- 根据式 (6) 进行快速傅里叶变换: F(oi)←oi
- if 掩蔽策略是 'Erasing' (擦除) :
- F^(oi)=M⋅F(oi)+(1−M)⋅F(0),ai^←ai,ri^←ri
- else if 掩蔽策略是 'Noise' (噪声) :
- F^(oi)=M⋅F(oi)+(1−M)⋅F(N),ai^←ai,r^i←ri
- else if 掩蔽策略是 'Swapping' (交换) :
- Random Shuffle Batch: {oj,aj,rj,oj′∣j=1,⋯,K}
- F^(oi)=M⋅F(oi)+(1−M)⋅F(oj)
- if rp≤0.5 then
- a^i←ai,r^i←ri
- else
- a^i←aj,r^i←rj
- end if
- end if
- 根据式 8 进行傅里叶反变换: o^i←F^(oi)
- 使用 oi′ 重复步骤 (2)~(15) 以获得 o^i′
- end for
3.2 基于 SRM 的强化学习
在非策略强化学习中,观察是从重放缓冲区中采样的。在 RL 中使用数据增强的一种直观方法是在将它们传递给代理进行训练之前执行增强。同时,堆叠连续状态帧 st={ot,ot−1,ot−2} 上的增强过程应该是一致的,以保持时间信息 (如位置和速度) 不变。给定一个参数为 v∈V 的增强函数 τ(⋅,v),原始观察 st∈O 的增强观察 s^t∈O^ 可以通过 s^t=τ(st,v) 获得。最优地,τ:O×V→O^ 应该保持代理的 Q 值和策略 π :
{Q(st,at)π(at∣st)=Q(τ(st,v),at),=π(at∣τ(st,v)),(9)
其中 at∈A 是状态 st 下的动作。然而,实际上即使从原始观察中学习值和策略函数是不稳定的,更不用说外观差异很大的增强数据。因此,RL 优化中只能采用随机移位和随机裁剪等弱数据增强,如 DrQ 和 RAD。相比之下,随机卷积和旋转等强数据增强总是以特定方式应用。在 SVEA 中,原始图像和增强图像都用于优化 q 函数,但只采用前者计算 Bellman 方程的 q 目标。在 SECANT 中,弱增强的专家策略引导学生策略具有很强的增强学习鲁棒表示。直观地说,正如我们将在实验部分展示的那样,SRM 具有弱数据增强和强数据增强的优点 : 它可以以普通方式插入任何基于图像的 RL 方法,同时提供显着的性能提升。
在训练期间,我们在每批观察上应用概率为 0.5 的 SRM。在测试时没有应用数据增强。为了评估 SRM 的有效性,我们采用 DrQ 和 SVEA 两种流行的方法作为我们的基本算法。前者是一种将数据增强直接插入 RL 算法的简单方法,相应的 SAC 目标分别替换为 :
JQ=E(st,at)∼D[2(Q(st,at)+Q(s^t,a^t))−(rt+γ2Vˉ(st+1)+Vˉ(s^t+1))2].(10)
而后者精心设计,其中 Q-target 是使用从未增强数据严格计算的,以缓解高方差的问题,其目标是 :
JQ=E(st,at)∼D[2(Q(st,at)+Q(s^t,a^t))−(rt+γVˉ(st+1))2](11)
通过在方程式 (4) 和 (5) 中联合求解具有策略和价值网络的 Q 函数,RL 系统有可能从不同的观察中学习以进行策略学习。
4.实验
略。
5.感想
这个方法整体来说感觉是一种很有意思的数据增强的方法,对于傅里叶变换部分我需要进一步的思考和理解。
6.参考资料