强化学习论文笔记 (2)

IMPALA

  • 参考网站: 1

Curriculum Learning

  • 概述: 藉由拓扑式的课程设计(可视为数据集的选取)、提升模型效果与收敛速度并增强泛化能力
  • 相关工作
    • continuation_method (没有理论收敛保证、但实际通常可用) : 欲优化参数集 C C C、首先优化 C λ = 0 ( θ ) C_{\lambda=0}(\theta) Cλ=0(θ)、接着逐渐增加难度 λ \lambda λ C λ = 1 ( θ ) C_{\lambda=1}(\theta) Cλ=1(θ),其间确保 θ \theta θ取值使得 C λ C_\lambda Cλ保持在局部极值,只要 C 0 C_0 C0 C 1 C_1 C1的平滑版本,则能够收敛
    • 预训练、迁移学习: 在其他任务或数据集上0训练得到旧参数,在新的下游任务中fine-tune旧参数以获取最终参数、能增加泛化能力与收敛速度。原因是能找到更好的优化起点
  • 定义 课程学习数据集权重 Q λ Q_\lambda Qλ满足(课程学习是一种选取挑选数据的方式、因此定义挑选的权重)
    • Q λ ( z ) ∝ W λ ( z ) P ( z ) Q_\lambda(z)\propto W_\lambda(z)P(z) Qλ(z)Wλ(z)P(z) 、其中 P ( z ) P(z) P(z)是原先的复杂数据集分部、z代表其中一条数据、 W λ W_\lambda Wλ λ \lambda λ时刻课程学习对数据集 P P P的加权权重 ( λ (\lambda (λ介于 0 − 1 0-1 01之间 )
    • ∫ z Q λ ( z ) d z = 1 \int_z Q_\lambda(z)dz = 1 zQλ(z)dz=1 Q Q Q也是一个概率密度
    • H ( Q λ ) < H ( Q λ + ϵ ) H(Q_\lambda) < H(Q_{\lambda+\epsilon}) H(Qλ)<H(Qλ+ϵ) W λ < W λ + ϵ W_\lambda\lt W_{\lambda+\epsilon} Wλ<Wλ+ϵ、单调性确保所学习的信息量逐渐增加且课程逐渐变难
    • W 1 = 1 W_1=1 W1=1 Q 1 ( z ) = P ( z ) Q_1(z)=P(z) Q1(z)=P(z)、确保从简单问题回到原始复杂问题
  • 优势与分析
    • 模型在开始时可以专注于简单数据、避免自己无法解决的噪声任务(分类器无法正确分类的数据)、等能力够了再面对这些数据
    • 在被优化的超平面逐渐变得复杂的情况下,课程学习能够更好地找到全局最优极值
    • 可以看作是一种预训练 : 起到正则化效果,相同训练误差情况下有更低的泛化误差 (类似迁移学习、从简单的数据集迁移到原始的数据集)
    • 能否实现主动学习(非人工设计课程) ?

EMERGENT COMPLEXITY VIA MULTI-AGENT COMPETITION

  • 简单的稀疏奖励环境,通过self-play可以实现课程学习效果,避开人工设计密集奖利、训练出复杂的智能体
  • 使用四个场景Run to Goal, You Shall, Not Pass, Sumo and Kick and Defend
  • 由于游戏只在终点获取奖励、因此不使用截断GAE、而使用整条episode的GAE
  • exploration return: 从头开始用RL训无法收敛、对于基本动作(如:站与跑等)需要设计密集奖励、此奖励随时间下降、占总训练时常15%、实验: 若此奖励不随时间下降将导致效果智能体学错任务(拿掉会无法收敛不拿掉会学偏所以退火)
  • choice of opponent: 直接使用self-playing会使训练不稳、需要记录每一个历史版本、每次训练从所有历史版本中抽样对手、使目前policy能够即败所有历史版本、将使泛化效果更好且训练更稳定。实验: 在self-play与历史版本均匀采样中取折中采样对手方式 δ \delta δ、发现 δ \delta δ取值取决于任务(无最优选取理论)、但对最终效果影响很大
  • 避免过拟合
    • 增加环境随机性(如: 场地大小、初始位置): 训练初期不能加太多随机性,否则会造成探索困难、应该逐步增加环境随机性
    • pool of policy: 同时训练一组policy、每个roll-out随机从pool中选出一个policy作为对手(类似multi-task思想以增加泛化能力)。实验: pool中有三组policy、三个单独的self-play policy、选取两个中最优的policy对战、发现pool(泛化)效果更好

Provable Self-Play Algorithms for Competitive Reinforcement Learning

  • UCB(Upper Confidence Bound)
    *
  • 参考网站: 1 2

Game Theory

  • self-interested agent: 每个玩家有自己的喜好(utility function)、对于给状态分布给出效用函数的期望

  • normal-form: 表格

    extracted-form: 顺序决策

  • Beauty contest game: 在1-100选择数字、最接近平均的2/3者获胜、理论Nash=1、进行多次实验数据下降也就代表非Nash会朝Nash前进

  • best-response: a i ∗ ∈ B R ( a − i ) a_i^*\in BR(a_{-i}) aiBR(ai) =: ∀ a i ∈ A i ,   u ( a i ∗ , a − i ) ≥ u ( a i , a − i ) \forall a_i\in A_i,\space u(a_i^*,a_{-i})\geq u(a_i,a_{-i}) aiAi, u(ai,ai)u(ai,ai)

    pure strategy Nash均衡: a = < a 1 , a 2 . . . a n > a=<a_1,a_2...a_n> a=<a1,a2...an> =: ∀ a i ∈ A , a i ∈ B R ( a − i ) \forall a_i\in A, a_i\in BR(a_{-i}) aiA,aiBR(ai)、可不唯一(所以用 ∈ \in )不存在

  • strategy: 选择每个action的概率

    strategy s i s_i si very weakly dominant s i ′ s_i' si =: ∀ s − i ,   u ( s i , s − i ) ≥ u ( s i ′ , s − i ) \forall s_{-i},\space u(s_i,s_{-i})\geq u(s_i',s_{-i}) si, u(si,si)u(si,si) 、strictly dominant > \gt >

    dominant strategy : s i s_i sidominant所有其他 s s s

    当所有玩家采用dominant strategy时、为Nash均衡。当所有玩家有dominant strategy时必有Nash均衡

    iterative removal: 当 a i a_i ai strictly dominant a i ′ a_i' ai、可以将 a i ′ a_i' ai该行/列从表格中移出、顺序无关

    如果 a i 1 与 a i 2 a_{i_1}与a_{i_2} ai1ai2的mix strategy strictly dominant a i ′ a_i' ai、也能够把 a i ′ a_i' ai移除

    weakly dominant: 也是可以使用iterative removal、但需要注意顺序、Nash可能落在 = = =成立的状态上

  • strategy是从玩家的角度出发、pareto是从上帝视角出发

    o o o pareto-dominant o ′ o' o : 对于所有玩家来说 u i ( o ) ≥ u i ( o ′ ) u_i(o)\geq u_i(o') ui(o)ui(o)、且要求至少有一个玩家是 > \gt >

    o ∗ o^* o pareto-optimal =: 没有其他 o o o pareto-dominant o ∗ o^* o

    对于囚徒困境来说Nash点是唯一的non-pareto-optimal点

  • mixed strategy : 多个动作有 ≥ 0 \geq0 0的概率被执行 (pure strategy)

    mix-strategy Nash均衡: s = < s 1 , s 2 . . . s n > s=<s_1,s_2...s_n> s=<s1,s2...sn> =: ∀ s i ∈ S , s i ∈ B R ( s − i ) \forall s_i\in S, s_i\in BR(s_{-i}) siS,siBR(si)

    对于所有finite game必有至少一个mix-strategy Nash点(pure-strategy不一定)

    目的: confuse对手、创造uncertainty使可能落入不同的均衡点、可以视为重复博弈与群体博弈

    求解mix-Nash: 假设两个玩家两个动作,假设R玩家概率 ( p , 1 − p ) (p,1-p) (p,1p),则对于C玩家来说 u ( a 1 ) = u ( a 2 ) u(a_1)=u(a_2) u(a1)=u(a2)、否则会变成使用pure-strategy

  • soccer penalty kick

    原本(概率)0.50.5更新后(概率)4/73/7
    0.50,11,03/70,11,0
    0.51,00,14/70.75,0.250,1
    • 直觉来说更新后行玩家在选动作一时收益变少了应该降低选择概率、但此处Nash均衡反而增加选择概率
    • 若列玩家固定概率(0.5,0.5)、行玩家会选右侧但Nash需要考虑更多
  • 在双人零和博弈中、minmax=maxmin=Nash均衡点=value of the game= V ∗ V^* V

    p f pf pf:

    maxmin strategy: a r g m a x s i   m i n s − i u i ( s i , s − i ) argmax_{s_i}\space min_{s_{-i}} u_i(s_i,s_{-i}) argmaxsi minsiui(si,si)、value的下界(因为当对手非最优我可以利用)

    minmax strategy: a r g m i n s − i   m a x s i u i ( s i , s − i ) argmin_{s_{-i}}\space max_{s_i} u_{i}(s_i,s_{-i}) argminsi maxsiui(si,si)、value的上界(因为当我非最优对手会利用)

    当NE时 ( x ^ , y ^ ) (\hat x, \hat y) (x^,y^)有下界= m a x 1 m i n 2   x 1 T A x 2 ≥ m i n 2   x ^ 1 T A x 2 = V ∗ = m a x 1   x 1 T A x ^ 2   ≥ m i n 2 m a x 1   x 1 T A x 2 max_1min_2\space x_1^TAx_2\geq min_2\space \hat x_1^TAx_2=V^*=max_1\space x_1^TA\hat x_2\space\geq min_2max_1\space x_1^TAx_2 max1min2 x1TAx2min2 x^1TAx2=V=max1 x1TAx^2 min2max1 x1TAx2=上界、得到下界 ≥ \geq 上界、即两者相等

    可利用之求解NE(变为解带条件的线性优化问题)

    m a x 1 m i n 2 ( x ^ 1 A x 2 ) = V ∗ max_1min_2(\hat x_1Ax_2)=V^* max1min2(x^1Ax2)=V、令 m i n 2 ( x 1 T A x 2 ) = v min_2(x_1^TAx_2)=v min2(x1TAx2)=v此时 x 1 x_1 x1待定、接着 m a x 1 ( v ) = V ∗ max_1(v)=V^* max1(v)=V

    写成数学形式 m a x i m i z e 1 ( v )   s . t .   ( x 1 T A x 2 ) ≥ v , ∑ x 1 = 1 , x 1 ≥ 0 maximize_1(v)\space s.t.\space (x_1^TAx_2)\geq v, \sum x_1=1, x_1\geq0 maximize1(v) s.t. (x1TAx2)v,x1=1,x10

  • correlated equilibrium

    battle of sexBF
    B2,10,0
    F0,01,2

在上述游戏中、采用mix_strategy可以达到最优解、但可能选中(0,0)、在现实生活中可以使用抛硬币的方式决定(2,1)还是(1,2)、此策略称为correlated equilibrium、红绿灯也是一例、随机选定两方的策略使两方都无法在单独改变策略时受益

  • extensive form game

    符号 : 玩家N动作A选择点H谁的回合 p p p可选动作 x x x叶节点Z状态传递 σ \sigma σ效用函数u

    pure-strategy: Π h ∈ H x ( h ) \Pi_{h\in H} x(h) ΠhHx(h)、数量=所有可选择点处的可选动作数连乘

    可转换为normal-from: 但会exp-blow-up、多个normal的o指到同个extensive的叶子节点、normal无法转为extensive(可以转化为imperfect-info extensive)(变化过去变化回来树可能长不一样但NE一样)

    所有prefect information extensive game有pure strategy NE (normal form 没有这个特性)

  • subgame perfect equilibrium: 经过动态规划求解后,对于每个选择点(子树),每个轮到的玩家都选择对自己最有利的动作

    subgame perfect equilibrium不一定是NE、要求玩家在整个时间序列上完全理性、实验表明统计数据与NE相符但与subgame perfect不相符

  • imperfect information game =: I i = ( I i , 1 , . . . , I i , k ) I_i=(I_{i,1},...,I_{i,k}) Ii=(Ii,1,...,Ii,k)对于玩家 i i i来说所有的选择点都可以被归类到 1 − k 1-k 1k里面、且 I i , 1 I_{i,1} Ii,1中的所有选择点玩家 i i i无法分辨、如果 I i I_i Ii的每个元素都只有刚好一个选择点退化到完全信息博弈

  • behavior strategy: 在每个info-state定义要采取的动作

    mixed strategy: 以一定的概率选择特定的pure-strategy

  • belief: 在飞完全信息博弈中不好求解subgame、求解时需要假设每个玩家有自己的belief、也就是他们始终=遵循这个belief行动

  • fictitious play : 每次都根据对手的历史策略平均选择策略、若能收敛则收敛到NE(必须是零和、能够用strictly dominant求解、2 × n \times n ×n个strategy)

  • no-regret learning: 不model对手策略(??)

    • 在时间t采用当前策略相对于策略 s s s的regret定义为 R t ( s ) = α t − α ( s ) R^t(s)=\alpha_t - \alpha(s) Rt(s)=αtα(s) α t \alpha^t αt是当前策略采取的动作的回奖励、 α ( s ) \alpha(s) α(s)是采取策略s获得的奖励
  • 算法(选择概率正比于regret): σ s = R ( s ) ∑ s ′ ∈ S R ( s ′ ) \sigma_s=\frac{R(s)}{\sum_{s'\in S}R(s')} σs=sSR(s)R(s)

  • enforceable: 每个玩家 r > m i n − i m a x i r\gt min_{-i}max_{i} r>minimaxi值函数

    feasible: 存在一个权重 α \alpha α使得 r = ∑ a α a u ( a ) r=\sum_a\alpha_au(a) r=aαau(a) ∑ a α a = 1 \sum_a\alpha_a=1 aαa=1

    folk Thm: enforceable&feasible -> NE、 NE-> enforceable 在infinite repeated game

Fictitious self-play

  • Fictitious play

    • 利用迭代方式获取双人零和游戏中玩家的理论收益(converge to the value of a zero-sum game)
    • 行玩家奖励矩阵: R = ( − 2    3 3   − 4 ) R=\begin{pmatrix} -2 \ \ 3 \\ 3 \ -4 \end{pmatrix} R=(2  33 4)、代表行玩家做动作一列玩家做动作二时、行玩家获取三分、双人零和游戏时列玩家奖励矩阵 = − R -R R
    • fictitious play算法流程:
      • 行列玩家随机选择动作 ( e i 1 T = ( 1 , 0 ) , e j 1 = ( 0 1 ) ) (e_{i_1}^T=\begin{pmatrix} 1,0\end{pmatrix}, e_{j_1}=\begin{pmatrix}0\\1\end{pmatrix}) (ei1T=(1,0),ej1=(01))
      • 根据对方选择获得观测 ( o r = R e j 1 = ( 3 − 4 ) , o c = e i 1 T R = ( − 2 , 3 ) o_r=Re_{j_1}=\begin{pmatrix} 3\\-4 \end{pmatrix}, o_c=e_{i_1}^TR=\begin{pmatrix} -2,3 \end{pmatrix} or=Rej1=(34),oc=ei1TR=(2,3)
      • 根据观测选择动作 ( i 2 = a r g m a x i   e i T R e j 1 = 0 i_2=argmax_i\space e_i^TRe_{j_1}=0 i2=argmaxi eiTRej1=0, j 2 = a r g m i n j   e i 1 T R e j = 0 j_2=argmin_j\space e_{i_1}^TRe_j=0 j2=argminj ei1TRej=0)
      • 迭代时需要考虑所有的历史信息、即 i t + 1 = a r g m a x i   e i T R ( 1 t ∑ t e j t ) i_{t+1}=argmax_i\space e_i^TR(\frac{1}{t}\sum_t e_{j_t}) it+1=argmaxi eiTR(t1tejt)、列玩家同理
      • 根据动作得到值函数、根据以下定理可以证明此值函数收敛到Nash均衡
    • 定理 : m a x i   e i T R y t ≥ v ≥ m i n j   x t T R e j max_i\space e_i^T R y_t \geq v \geq min_j\space x_t^TRe_j maxi eiTRytvminj xtTRej、其中 x , y x,y x,y代表 ( 1 t ∑ e ) (\frac{1}{t}\sum e) (t1e)
      • 可以证明: l i m t → ∞ m a x i e i T R y t = l i m t → ∞ m i n j   x t T R e j = v lim_{t\rightarrow\infty}max_i e_i^T R y_t=lim_{t\rightarrow\infty}min_j\space x_t^TRe_j=v limtmaxieiTRyt=limtminj xtTRej=v、收敛到Nash均衡
    • 收敛速度 :
      • 对于所有 ϵ > 0 \epsilon\gt 0 ϵ>0,当 t ≥ ( R m a x ϵ ) Ω ( m + n ) t\geq(\frac{R_{max}}{\epsilon})^{\Omega(m+n)} t(ϵRmax)Ω(m+n)、有 ∣ m a x i e i T R y t − m i n j   x t T R e j ∣ ≤ ϵ |max_i e_i^T R y_t-min_j\space x_t^TRe_j|\leq\epsilon maxieiTRytminj xtTRejϵ
      • 其中 R m a x R_{max} Rmax是收益矩阵中的最大值、上式让我们联想到 ϵ − a p p r o x i m a t e \epsilon-approximate ϵapproximate Nash均衡
      • 事实上 t ≥ 1 ϵ 2 f 2 ( ∣ R ∣ ) t\geq\frac{1}{\epsilon^2}f^2(|R|) tϵ21f2(R)
    • ϵ − a p p r o x i m a t e \epsilon-approximate ϵapproximate Nash均衡
      • 对于所有玩家、单向改变动作只会获取最多 ϵ \epsilon ϵ的奖励
      • 数学形式 x t R y ≥ m a x x ′ x t ′ R y − ϵ x_tRy\geq max_{x'}x'_tRy-\epsilon xtRymaxxxtRyϵ、其中行玩家x’是单向改变的动作
    • 定理: 对于所有 ϵ > 0 \epsilon\gt 0 ϵ>0,当 t ≥ ( R m a x ϵ ) Ω ( m + n ) t\geq(\frac{R_{max}}{\epsilon})^{\Omega(m+n)} t(ϵRmax)Ω(m+n)、有 x t , y t x_t, y_t xt,yt ϵ − a p p r o x i m a t e \epsilon-approximate ϵapproximate Nash均衡
      • 证明: m a x i e i T R y t − m i n j   x t T R e j ≤ ϵ ,   m i n j   x t T R e j ≤ x t T R y t → m a x i e i T R y t − x t T R y t ≤ ϵ max_i e_i^T R y_t-min_j\space x_t^TRe_j\leq\epsilon,\space min_j\space x_t^TRe_j\leq x_t^TRy_t\rightarrow max_i e_i^T R y_t-x_t^TRy_t\leq\epsilon maxieiTRytminj xtTRejϵ, minj xtTRejxtTRytmaxieiTRytxtTRytϵ
  • Another way to say the same thing, the process of learning is to find the probabilities (or probability distribution) to use each strategy (or action) so that we won’t lose on average.

  • Normal-form game: 完全信息静态博弈、过程可以写为收益矩阵

    Extensive-form game: 动态博弈、或非完美信息、可以把所有动作组合写作收益矩阵、可表示为树其中点是游戏状态S边是动作A、信息状态U代表模型能够建模的状态与S不同

  • π i ( u ) \pi^i(u) πi(u)是第 i i i个玩家在看到信息状态 u u u后给出的动作分布、 Δ b i \Delta_b^i Δbi是玩家 i i i可以选择的所有策略、 π = { π 1 . . . π n } \pi=\{ \pi^1...\pi^n \} π={π1...πn}称为strategy profile代表每个玩家都遵守 π i \pi^i πi b i ( π − i ) b^i(\pi^{-i}) bi(πi)代表玩家 i i i对其他玩家的最优策略、 Δ p i ∈ Δ b i \Delta_p^i\in\Delta_b^i ΔpiΔbi, p代表pure_strategy,能把extensive_game变成normal_form_game、 Π i \Pi^i Πi代表玩家 i i i Δ p i \Delta_p^i Δpi的分布、 σ u \sigma_u σu代表到达 u u u的轨迹 σ u a \sigma_ua σua代表根据轨迹到达 u u u后执行动作 a a a、至此 π i ( u , a ) \pi_i(u,a) πi(u,a)可以表示为 x ( σ u , a ) x ( σ u ) \frac{x(\sigma_u, a)}{x(\sigma_u)} x(σu)x(σu,a)其中 x x x称为realization_plan、在pure_strategy中x非零即一,而在mixed_strategy中 x Π = ∑ i w i x π x_\Pi=\sum_i w_ix_\pi xΠ=iwixπ

  • behavioral strategy: linear to state num. An agent’s (probabilistic) choice at each node is independent of his/her choices at other nodes

  • full-width extensive-form fictitious play: 需要对每个状态做推理、复杂度与状态数线性相关

  • Fictitious Self-Play (FSP) : a machine learning framework that implements generalized weakened fictitious play in behavioral strategies and in a sample-based fashion

  • 在perfect_recall的游戏中、所有mixed_strategy都可以等价的表示为一个behavior_strategy?

  • generalized weakened fictitious play更新: Π t + 1 = ( 1 − α t + 1 ) Π t + α t + 1 ( b ϵ t ( Π t − i ) + M t + 1 ) \Pi_{t+1}=(1-\alpha_{t+1})\Pi_t+\alpha_{t+1}(b_{\epsilon_t}(\Pi_t^-i)+M_{t+1}) Πt+1=(1αt+1)Πt+αt+1(bϵt(Πti)+Mt+1)、其中 α \alpha α随时间递减到零、M是扰动项 、在双人零和博弈能够收敛到Nash

  • mix-strategy M = λ 1 Π + λ 2 B M=\lambda_1\Pi+\lambda_2B M=λ1Π+λ2B可以显示表示为behavioral strategy μ ( u ) = λ 1 x π ( σ u ) π ( u ) + λ 2 x β ( σ u ) β ( u ) λ 1 x π ( σ u ) + λ 2 x β ( σ u ) \mu(u)=\frac{\lambda_1x_\pi(\sigma_u)\pi(u)+\lambda_2x_\beta(\sigma_u)\beta(u)}{\lambda_1x_\pi(\sigma_u)+\lambda_2x_\beta(\sigma_u)} μ(u)=λ1xπ(σu)+λ2xβ(σu)λ1xπ(σu)π(u)+λ2xβ(σu)β(u)、可以理解为使用两种策略到达状态 u u u的概率乘以 λ \lambda λ最为权重、对两个分布 π , β \pi,\beta π,β的加权

  • 因此 Π t + 1 = ( 1 − α t + 1 ) Π t + α t + 1 ( b ϵ t ( Π t − i ) + M t + 1 ) \Pi_{t+1}=(1-\alpha_{t+1})\Pi_t+\alpha_{t+1}(b_{\epsilon_t}(\Pi_t^-i)+M_{t+1}) Πt+1=(1αt+1)Πt+αt+1(bϵt(Πti)+Mt+1)可写为、 π t + 1 = ( 1 − α t + 1 ) x π t ( σ u ) π t ( u ) + α t + 1 x β t + 1 ( σ u ) β t + 1 ( u ) ( 1 − α t + 1 ) x π t ( σ u ) + α t + 1 x β t + 1 ( σ u ) \pi_{t+1}=\frac{(1-\alpha_{t+1})x_{\pi_t}(\sigma_u)\pi_t(u)+\alpha_{t+1}x_{\beta_{t+1}}(\sigma_u)\beta_{t+1}(u)}{(1-\alpha_{t+1})x_{\pi_t}(\sigma_u)+\alpha_{t+1}x_{\beta_{t+1}}(\sigma_u)} πt+1=(1αt+1)xπt(σu)+αt+1xβt+1(σu)(1αt+1)xπt(σu)πt(u)+αt+1xβt+1(σu)βt+1(u)

  • Extensive-Form Fictitious Play: 初始化 π 0 \pi_0 π0为随机走、根据对手历史平均策略算出 b b b此处复杂度指数级别、用 b b b更新混合策略并翻译为显示策略

  • 监督学习: 对 Π , B \Pi,B Π,B采样得到的数据来训练以得到平均策略、选择的对手是 π k − i \pi_k^{-i} πki虽然这样引入偏差、但 π \pi π的变换随时间递减因此可接受

  • FSP: 对战搜集数据(对手与自己的)、用对手的数据更新RL、用自己的数据更新平均策略

  • 引入机器学习算法对状态具有抽象能力

  • NFSP: 用神经网络方法完成FSP、其中需要注意每回合有 η \eta η概率选择 ϵ − g r e e d y \epsilon-greedy ϵgreedy 1 − η 1-\eta 1η的概率选取 Π \Pi Π、让两边都可以当做数据训练、否则将有一方将无法生成 β \beta β

  • 参考网站 : 1 2 3 4

Reverb

  • 简介 : 采集到的数据日渐复杂、分为learner、actor分部进行,中间以data storage & transport system连接

  • 功能与特色 : 负责data_transpose与storage、算法灵活(支持buffer,FIFO,LIFO)、结构灵活(支持任意多actor,任意多learner)、提取与输入数据速度比率可调

  • gRPC : 远程过程调用、程序间通信机制遵循client/server架构、http2,protobuf转为二进制编码,流式传输

  • 架构图

在这里插入图片描述

  • Chunk

    • Chunk : N个数据组成一个表称为Chunk、其中数据相关性高可以压缩(x0.1)
    • Chunk_Store : 用来控制Chunk的销毁、与table解耦(有mutex保护)
    • Data : 内存中的每一笔数据都是一个Data (实际占用地址)
  • Table

    • Item : 应该记录Chunk中的引用地址、优先级、被引用次数、key、可能有多条数据
    • Selector : sample优先级、Remove优先级
    • Rate_Limiter : 当SPI过大禁止Learner采样、过小禁止Actor放置数据、设置warmup数据量
    • S P I = S a m p l e   n u m I n s e r t   n u m = f o r   t r a i n i n g f r o m   a c t o r s SPI = \frac{Sample\space num}{Insert\space num} = \frac{for\space training}{from\space actors} SPI=Insert numSample num=from actorsfor training
  • Server、Client

    • Server : 全并行互不通信、参数可以不同、可以拥有自己的Client、可均衡附载需求
    • Client : 被轮询通常被多个Server用、分为Writer,Sampler
    • checkpoint : Server需要定期备份Table,Chunk_Store,期间不接受Client数据
  • 参考网站 : 1

ACME

  • 概述 : 模块化实现智能体基本功能、支持分布式(各种规模)并行
  • 模块划分 :
    • 原因 : 可以同步(synchronized)在单机上运行简单任务、也能异步分布式运行复杂任务、将Actor拿掉可以执行offline-learning、模块在任意大小任务都具有物理意义
    • 好处 : 异步执行(可尽量学习不管数据采集)、并行加速数据采集
    • 执行者 : environment、actor、environment_loop(处理智能体与环境交互逻辑)、variable client(轮询learner)
    • 特殊 : agents(有 π \pi π V V V的智能体)
    • 设施 : Dataset(Reverb、Sampler、Remover、Limit_Rate)、Adder(观测数据预处理、例如RDQN需要存储整个序列的数据)、background evaluator
    • 学习者 : loss、network…
  • 分布式 : 交互的边使用RPC而非简单的函数调用
  • Launchpad :
    • 概述 : 把节点(模块)跟边(RPC连接)串联为图的机制、与其他机器交互就像调用本地函数、架构大小可缩放、只负责启动
    • 结构
      • 点 : server、执行指定运算任务、handle是其引用、每个点又分为多个可执行文件(executables)
      • 边 : client的handle连到server、传输由接收者发起
      • 启动器 : 平台特定(server与启动器分离)、分配资源,编译节点,执行节点运算
    • 节点分类
      • type : 同类型节点执行相同任务(例如强化学习中的环境)
      • resource group : 限制资源使用量
    • 生命周期
      • setup : 构建图、分组
      • launch : 分配资源,地址(依赖平台)、执行预设置、关联引用
      • execute : 构建客户机、执行服务、集中启动但分布运算
  • Reverb
    • 并行可能导致高方差(?)、通过设置Rate_Limiter让快的等慢的
  • MAVA : 基于ACME的MARL框架
    • 接口等继承于ACME、数据库用Reverb、启动器用Launch_pad、环境遵循DeepMind API(给出多个常见环境的wrapper)
    • 分布式 : 专门定义Reverb_Node(Launchpad)与其他点通信
    • 组建 : 需要构建多智能体的特殊网络(如: 集中训练分布运行)、神经网络,损失函数,通信等

RLlib_flow

  • 前身 : Ray - 机器学习领域的分布式计算框架
  • 前身 : RLlib - 强化学习Ray
    • 策略是对象 : 包含 π , L θ \pi,L_\theta π,Lθ以及后处理函数、被视为黑盒(可任意语言实现)
    • 每个worker被分配到指定的policy,由监督者执行分配的分层式运行
    • 多种层次的抽象
  • 问题 : 执行的层面太底层(RLlib_flow抽象较高级)、只能在定义的模版上运行
  • 基于图的计算方式是成功的、目前的抽象程度不满足大多数用户、需要客制化的config
  • 参考 data processing and distributed dataflow两个领域、提供多个可组合原始算子(不用预定义拓扑)
  • 把引用对象传给actor使传递消息最少、消息传递受到顺序/并行算子控制
  • 分为 Roll-out(环境交互) -> Replay -> Optimization(可能多GPU并行)
  • 块状与箭头都是带有状态的、有同步/异步计算(可增加并行性)
  • fine-grained发给指定的人、coarse-grained发给所有人、同步利用barrier semantics保障、checkpoint 降低对鲁棒性的要求
  • lazy算子被调用才执行、算子必须被worker创建、算子有单向与全体、
  • 你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发parallel
    你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行concurrency
  • gather async接收越快越好、gather sync等最慢的
  • concurrency控制多个算子的关系(union、split…)
  • 调度是静态的、并行转换在最近的上游源参与者上执行
  • 参考网站 : 1 2

AI_arena

  • 贡献 : 多智能体同时采用多个算法、定制课程(自我对弈与淘汰赛等)、常见算法与环境
  • OpenAI Gym接口改为List = AI_arena接口 (适用于多智能体),此时环境不再是一个问题而是智能体的载体
  • 环境有最小时间单位,所有人每隔N个时刻更新一次、环境可以发出done提前结束
  • 每个智能体一个policy、全部共用一个policy、多个用一个有很多组、MARL算法
  • 使用MPI技术管理多线程间的通信问题,每个环境与智能体都属于各自的线程、也可控制多个worker间通信
  • 顶层用python类封装通信、用户面对的接口是AI_arena接口
  • AI_arena只管各模块间通信,每个模块内可以控制其他部件(如:游戏引擎)
  • 容易实现锦标赛模式训练等

Q&A

7/4 找学长答疑
  • model-base是指啥?

    model指的不是物理引擎,而是指用一个神经网络去拟合出整个环境,即输入s,a输出s’,r的网络

  • policy-base 在连续空间时的输出是高斯的 μ , α \mu,\alpha μ,α,会不会太简单?

    不会,因为输出是高维空间,每个维度都服从高斯,已经足够覆盖大部份任务。

  • TD3: 延迟的策略更新、降低 π \pi π更新频率,为啥是 π \pi π不是Q?

    在深度强化学习中,重点是Q网络而非 π \pi π,如果Q好 π \pi π烂可以直接通过贪婪得到好的 π \pi π。因此我们的目标是训练出一个最优的 V ∗ ( s ) V^*(s) V(s)。实际操作中有 π a c t o r \pi_{actor} πactor π l e a r n e r \pi_{learner} πlearner V l e a r n e r V_{learner} Vlearner,其中我们不关心 V l e a r n e r π ′ 的 V_{learner}^{\pi'}的 Vlearnerπ π ′ \pi' π是否是 π l e a r n e r \pi_{learner} πlearner(实际上如上所说我们根本不关心 π l e a r n e r \pi_{learner} πlearner),我们只关心 π ′ \pi' π π a c t o r \pi_{actor} πactor是否差太远(太远就要用重要性采样)。回归题目,由于Q重要因此需要固定 π \pi π让Q能稳定更新。

  • DDPG只有maxmize Q、而PPO的 L = E s ( L C L I P ( θ ) − c 1 L V F + c 2 S ) L=E_s(L^{CLIP}(\theta)-c_1 L^{VF}+c_2 S) L=Es(LCLIP(θ)c1LVF+c2S)、两者都是AC但差很多为啥?

    DDPG是value-base的进化、PPO是Policy-base的进化。DDPG反向传播时直接将Q网络的梯度传给 π \pi π,这样导致两者是耦合的,可能训练会有问题。PPO将Q与 π \pi π的损失分开,使得计算时是并行的,更好。

  • on-policy、off-policy区别

    on-policy跟off-policy的差别在于on的执行策略与采样策略相同off不同,因此on倾向使用最新数据效果较好而off的数据利用率高,在实际工程中希望使用on增加效果而学术界希望用off提升性能指标。所以并不是on-policy就不能重复采样(只要重要采样就好)。如: PPO是on-policy,但是他可以重复采样。

  • 当r偏离1的时后重要性采样效果不好,那不直接丢弃它反而还要继续使用只是限制其更新步长? 假设情况: 一开始r=1、A>0,此时 π θ n e w ( a ∣ s ) \pi_{\theta_{new}}(a|s) πθnew(as)会被逐渐增大,直到 r ≥ 1 + ϵ r\ge1+\epsilon r1+ϵ,此时这个样本应该已经失效,但他会继续被使用(仍然会使 π θ n e w ( a ∣ s ) \pi_{\theta_{new}}(a|s) πθnew(as)逐渐增大)

    在学术界中数据宝贵不能乱丢,虽然他已经跟真实采样策略有所偏差,单可能底层的一些信息(如:图像信息)还有利用价值,所以只对他的更新步长进行限制。但在业界确实倾向使用最新数据、增加训练速度。

8/2找学长答疑
  • on-policy ? off-policy?

PG也可以是off-policy的,on-policy跟off-policy其实是光谱的关系,当策略不同导致的误差很大时,需要使用on-policy的算法,如果误差不大时,可以称之为off-policy。当采样策略与训练策略不同时,一个轨迹的步数越大导致的误差会越大,所以可以说记录的轨迹越长、越接近on-policy

  • 使用PopArt后可以不用理会SAC中的温度系数吗?

温度系数是个超参,假如把他当超参还要调、但如果当成可训练参数还可以不用调

  • 多头比输入one-hot合理吗?

多头适用差异更大的场景(如:角色能力不同)、而输入id的one-hot适用于agent间差异较小场景

  • GAE说当 γ \gamma γ小于1时 V γ , π V^{\gamma,\pi} Vγ,π有偏,但前题是V去逼近的函数是 ∑ t = 0 ∞ r t \sum_{t=0}^\infty r_t t=0rt、假如逼近 ∑ l = 0 ∞ γ l r t + l \sum_{l=0}^\infty \gamma^lr_{t+l} l=0γlrt+l就无偏了,而通常都是逼近后者,且逼近后者没啥副作用,那为啥GAE要讨论? T D ( λ ) TD(\lambda) TD(λ)只支持on-policy算法 ? 可不可以逼近函数r(s,a)、这样就能在off-policy情况下用 T D ( λ TD(\lambda TD(λ)了?

引入R就变为model-base,因为环境存在随机性,f(s,a)=s’很难用监督学习学好,所以基本希望用model-free解决。而且就算引入R(s,a)、也不能用来做多步更新。因为R其实也是 R π R^\pi Rπ

  • 关于off-policy与on-policy查到的资料: 1 2
    • 误差来源: 轨迹使用policy与实际policy不同,导致在n-step_reward时是有偏的。replay_buffer中数据的分布与实际policy的分布不同,求期望也是有偏的
    • 解释: policy相差不大可以忽视、环境本身有随机性,在n不大时可以偏差可以忽视、reward是稀疏的,因此预测值取决于V(s),不同policy最终到的s相差不大,因此偏差不大
    • 实际上可以逐步计算n步中的每步与现有policy是否相同,在不同处截断,就能确保是无偏的,但需要每次调用现有policy查看动作,可能计算量远大于消除的偏差。
8/16答疑
  • error=bias+variance
    • bias: 欠拟合、当模型训练不充足时会导致预测与真值有很大偏差
    • variance: 过拟合、当模型训练过度时会拟合到数据集上、导致换了个数据就会对预测结果有很大影响
    • bias与variance不可兼得、需要trade-off
  • batch-size 与 lr 参考
    • batch-size过小,花费时间多,同时梯度震荡严重,不利于收敛;batch-size过大,稳定但不同batch的梯度方向没有任何变化,因为优化的函数非凸、用大batch容易陷入局部最小
    • 较小的batch-size要设置小lr。以避免异常值对结果造成的扰巨大扰动。而对于较大的batch-size,要设置大一点的lr。因为大batch每次迭代的梯度方向相对固定,大lr可以加速其收敛过程
  • on-policy跟off-policy的折中方案:
    • 对1-step TD更新Q函数来说、是完全的off-policy、理论上来说是可以不用丢弃任何数据
    • DQN中、可以使用4-step TD来更新、减小估计的bias、但会引入policy不同而引入的误差(足够小)
    • 理论上可以根据目前policy获得的轨迹与采样时的轨迹逐一比对,让DQN用n-step TD来更新,其中n是两条轨迹第一次不一样的步数
    • 推广到on-policy更新,我们可以用IS ratio来当做评判指标,我们一样用n-step来更新,这里n可以跟GAE中的 λ \lambda λ相关
  • 引入RNN解决POMDP问题合理性
    • 假如是纸牌游戏,我们虽然无法确定对手手牌,但可以根据他们的出牌历史纪录,得到她手上可能的牌型(用RNN-state隐式表达、也有显式表达的工作)
    • 通常RNN的输入是玩家的历史观测、但其实更好的是其他玩家的历史动作(当然观测可能包含动作信息)
    • 用历史轨迹预测无法观测信息可能取决于对手policy、但这里我们更关心那些普世的动作(从而忽视对对手policy预测的过程)
  • intrinsic rewards中拟合的目标在变化,是否有收敛性保证。参考potential function相关证明
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值