DBC 论文阅读

0 论文信息

1 文章简介

一开始关注这个方法是因为其将 Invariant Representation 也应用到了强化学习的视觉任务之中。但是强化学习在成功识别到目标特征之后仍需要相应的反馈来完成操作,这点与传统的计算机视觉中的大部分应用场景不同,其对于收敛性、算法的计算复杂度等方面都提出来了更高的要求。

如图 1 所示,(Deep bisimulation for control, DBC) 希望在画面中排除不相关的信息,只从潜在空间中获取相关的信息。

图 1. 视觉场景的鲁棒表示应该对不相关的对象 (比如云) 或细节 (比如汽车类型) 不敏感,如果它们的相关细节相等 (如道路方向和其他汽车的位置),则等价地编码两个观察结果。

2 方法总览

2.1 预备知识

假设底层环境是一个马尔可夫决策过程 (MDP),由元组 <math xmlns="http://www.w3.org/1998/Math/MathML"> M = ( S , A , P , R , γ ) \mathcal{M}=(\mathcal{S}, \mathcal{A}, \mathcal{P}, \mathcal{R}, \gamma) </math>M=(S,A,P,R,γ) 描述,其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> S \mathcal{S} </math>S 是状态空间, <math xmlns="http://www.w3.org/1998/Math/MathML"> A \mathcal{A} </math>A 是动作空间, <math xmlns="http://www.w3.org/1998/Math/MathML"> P ( s ′ ∣ s , a ) \mathcal{P}\left(\mathbf{s}^{\prime} \mid \mathbf{s}, \mathbf{a}\right) </math>P(s′∣s,a) 从状态 <math xmlns="http://www.w3.org/1998/Math/MathML"> s ∈ S \mathbf{s}\in\mathcal{S} </math>s∈S 过渡到状态 <math xmlns="http://www.w3.org/1998/Math/MathML"> s ′ ∈ S \mathbf{s}^{\prime}\in\mathcal{S} </math>s′∈S 的概率, <math xmlns="http://www.w3.org/1998/Math/MathML"> γ \gamma </math>γ 是折扣因子。"代理" 根据策略函数 <math xmlns="http://www.w3.org/1998/Math/MathML"> a ∼ π ( s ) \mathbf{a} \sim \pi(\mathbf{s}) </math>a∼π(s) 选择动作 <math xmlns="http://www.w3.org/1998/Math/MathML"> a ∈ A \mathbf{a} \in \mathcal{A} </math>a∈A,该函数更新系统状态 <math xmlns="http://www.w3.org/1998/Math/MathML"> s ′ ∼ P ( s , a ) \mathbf{s}^{\prime} \sim \mathcal{P}(\mathbf{s}, \mathbf{a}) </math>s′∼P(s,a),产生奖励 <math xmlns="http://www.w3.org/1998/Math/MathML"> r = R ( s ) ∈ R r=\mathcal{R}(\mathbf{s}) \in \mathbb{R} </math>r=R(s)∈R。代理的目标是通过学习一个好的策略来最大化预期的累积折扣奖励 : <math xmlns="http://www.w3.org/1998/Math/MathML"> max ⁡ π E P [ ∑ t = 0 ∞ [ γ t R ( s t ) ] \max \pi \mathbb{E}{\mathcal{P}}\left[\sum_{t=0}^{\infty}\left[\gamma^t \mathcal{R}\left(\mathbf{s}_t\right)\right]\right. </math>maxπEP[∑t=0∞[γtR(st)]。虽然作者的主要关注点是从图像中学习的,但作者没有明确解决部分可观察性问题 : 相反,作者将堆叠像素观察近似为完全观察到的系统状态 <math xmlns="http://www.w3.org/1998/Math/MathML"> s \mathbf{s} </math>s。

Bisimulation 是一种状态抽象形式,它将状态 <math xmlns="http://www.w3.org/1998/Math/MathML"> s i \mathbf{s}_i </math>si 和 <math xmlns="http://www.w3.org/1998/Math/MathML"> s j \mathbf{s}j </math>sj 分组为 "行为等效"。对于任何动作序列 <math xmlns="http://www.w3.org/1998/Math/MathML"> a 0 : ∞ \mathbf{a}{0:\infty} </math>a0:∞, <math xmlns="http://www.w3.org/1998/Math/MathML"> s i \mathbf{s}_i </math>si 和 <math xmlns="http://www.w3.org/1998/Math/MathML"> s j \mathbf{s}_j </math>sj 的奖励概率序列是相同的。更紧凑的定义具有递归形式 : 如果两个状态在下一个相似状态上共享相同的即时奖励和等效分布,则它们是相似的。


定义 1 (Bisimulation Relations). 给定一个 <math xmlns="http://www.w3.org/1998/Math/MathML"> MDP ⁡ M \operatorname{MDP} \mathcal{M} </math>MDPM,状态之间的等价关系 <math xmlns="http://www.w3.org/1998/Math/MathML"> B B </math>B 是一个双模拟关系,如果对于所有在 <math xmlns="http://www.w3.org/1998/Math/MathML"> B B </math>B 下等价的状态 <math xmlns="http://www.w3.org/1998/Math/MathML"> s i , s j ∈ S \mathbf{s}_i, \mathbf{s}_j \in \mathcal{S} </math>si,sj∈S (记作 <math xmlns="http://www.w3.org/1998/Math/MathML"> s i ≡ B s j \mathbf{s}_i \equiv{ }_B \mathbf{s}_j </math>si≡Bsj),则下列条件成立 :
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> R ( s i , a ) = R ( s j , a ) ∀ a ∈ A , P ( G ∣ s i , a ) = P ( G ∣ s j , a ) ∀ a ∈ A , ∀ G ∈ S B \begin{align} \mathcal{R}\left(\mathbf{s}_i, \mathbf{a}\right) & =\mathcal{R}\left(\mathbf{s}_j, \mathbf{a}\right) & & \forall \mathbf{a} \in \mathcal{A}, \\ \mathcal{P}\left(G \mid \mathbf{s}_i, \mathbf{a}\right) & =\mathcal{P}\left(G \mid \mathbf{s}_j, \mathbf{a}\right) & & \forall \mathbf{a} \in \mathcal{A}, \quad \forall G \in \mathcal{S}_B \end{align} </math>R(si,a)P(G∣si,a)=R(sj,a)=P(G∣sj,a)∀a∈A,∀a∈A,∀G∈SB

其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> S B \mathcal{S}B </math>SB 是关系 <math xmlns="http://www.w3.org/1998/Math/MathML"> B B </math>B (等价状态的所有组 <math xmlns="http://www.w3.org/1998/Math/MathML"> G G </math>G 的集合) 下的 <math xmlns="http://www.w3.org/1998/Math/MathML"> S S </math>S 分区, <math xmlns="http://www.w3.org/1998/Math/MathML"> P ( G ∣ s , a ) = ∑ s ′ ∈ G P ( s ′ ∣ s , a ) \mathcal{P}(G \mid \mathbf{s}, \mathbf{a})=\sum{\mathbf{s}^{\prime} \in G} \mathcal{P}\left(\mathbf{s}^{\prime} \mid \mathbf{s}, \mathbf{a}\right) </math>P(G∣s,a)=∑s′∈GP(s′∣s,a)。

具有双模拟关系的精确分区在连续状态空间中通常是不切实际的,因为关系对奖励函数或动力学的无穷小变化高度敏感。出于这个原因,Bisimulation Metrics 弱化了状态分区的概念,而是定义了一个伪度量空间 <math xmlns="http://www.w3.org/1998/Math/MathML"> ( S , d ) (\mathcal{S}, d) </math>(S,d),其中距离函数 <math xmlns="http://www.w3.org/1998/Math/MathML"> d : S × S ↦ R ≥ 0 d: \mathcal{S} \times \mathcal{S} \mapsto \mathbb{R}_{\geq 0} </math>d:S×S↦R≥0 测量两个状态之间的 "行为相似性"。

定义状态之间的距离 <math xmlns="http://www.w3.org/1998/Math/MathML"> d d </math>d 需要定义奖励之间的距离 (用来弱化 (1) 式) 和状态分布之间的距离 (用来弱化 (2) 式)。先前的工作 (最初在 van Breugel (2001) 的双模拟度量的文中使用) 对后者使用 Wasserstein 度量。第 <math xmlns="http://www.w3.org/1998/Math/MathML"> p p </math>p 个 Wasserstein 度量在两个概率分布 <math xmlns="http://www.w3.org/1998/Math/MathML"> P i \mathcal{P}_i </math>Pi 和 <math xmlns="http://www.w3.org/1998/Math/MathML"> P j \mathcal{P}_j </math>Pj 之间定义为 <math xmlns="http://www.w3.org/1998/Math/MathML"> W p ( P i , P j ; d ) = ( inf ⁡ γ ′ ∈ Γ ( P i , P j ) ∫ S × S d ( s i , s j ) p d γ ′ ( s i , s j ) ) 1 / p W_p\left(\mathcal{P}_i, \mathcal{P}_j ; d\right)=\left(\inf _{\gamma^{\prime} \in \Gamma\left(\mathcal{P}_i, \mathcal{P}j\right)} \int{\mathcal{S} \times \mathcal{S}} d\left(\mathbf{s}_i, \mathbf{s}_j\right)^p \mathrm{~d} \gamma^{\prime}\left(\mathbf{s}_i, \mathbf{s}_j\right)\right)^{1 / p} </math>Wp(Pi,Pj;d)=(infγ′∈Γ(Pi,Pj)∫S×Sd(si,sj)p dγ′(si,sj))1/p,其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> Γ ( P i , P j ) \Gamma\left(\mathcal{P}_i, \mathcal{P}_j\right) </math>Γ(Pi,Pj) 是 <math xmlns="http://www.w3.org/1998/Math/MathML"> P i \mathcal{P}_i </math>Pi 和 <math xmlns="http://www.w3.org/1998/Math/MathML"> P j \mathcal{P}_j </math>Pj 的所有耦合的集合。这被称为 "推土机" 距离,表示将质量从一个分布转移到另一个分布的成本。最后,双模拟度量是在过渡分布之间的 Wasserstein 距离上加上奖励差 :

定义 2 (双模拟度量) .由 Ferns et al.(2011) 中的定理 2.6,其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> c ∈ [ 0 , 1 ] c\in[0,1] </math>c∈[0,1] :
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> d ( s i , s j ) = max ⁡ a ∈ A ( 1 − c ) ⋅ ∣ R s i a − R s j a ∣ + c ⋅ W 1 ( P s i a , P s j a ; d ) \begin{align} d\left(\mathbf{s}_i, \mathbf{s}_j\right)=\max {\mathbf{a} \in \mathcal{A}}(1-c) \cdot\left|\mathcal{R}{\mathbf{s}i}^{\mathbf{a}}-\mathcal{R}{\mathbf{s}j}^{\mathbf{a}}\right|+c \cdot W_1\left(\mathcal{P}{\mathbf{s}i}^{\mathbf{a}}, \mathcal{P}{\mathbf{s}_j}^{\mathbf{a}} ; d\right) \end{align} </math>d(si,sj)=a∈Amax(1−c)⋅∣ ∣Rsia−Rsja∣ ∣+c⋅W1(Psia,Psja;d)

2.2 DBC 方法 (Learning Representations for Control with Bisimulation Metrics)

图 2 .学习双模拟度量表示 : 蓝色部分是主要的模型体系结构,它在两种状态下都被重用,就像暹罗网络一样。损失是奖励和折扣的转移分布距离 (使用 Wasserstein 度量 <math xmlns="http://www.w3.org/1998/Math/MathML"> W W </math>W)。

作者提出了控制的深度双模拟 (DBC),这是一种数据高效的方法,可以从非结构化的高维状态中学习控制策略。与之前的双模拟研究不同,双模拟研究的目标是学习状态之间 <math xmlns="http://www.w3.org/1998/Math/MathML"> d : S × S ↦ R ≥ 0 d: \mathcal{S} \times \mathcal{S} \mapsto \mathbb{R}_{\geq 0} </math>d:S×S↦R≥0 的距离函数,而作者的目标是学习表征 <math xmlns="http://www.w3.org/1998/Math/MathML"> Z \mathcal{Z} </math>Z,其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> ℓ 1 − \ell_1- </math>ℓ1−距离对应于双模拟度量,然后使用这些表征来改进强化学习。作者的目标是学习编码器 <math xmlns="http://www.w3.org/1998/Math/MathML"> ϕ : S ↦ Z \phi: \mathcal{S} \mapsto \mathcal{Z} </math>ϕ:S↦Z,它捕获适合控制的状态表示,同时丢弃与控制无关的任何信息。任何依赖于状态重建的表示都不能做到这一点,因为这些不相关的细节对于重建仍然很重要。作者假设双模拟度量可以获得这种类型的表示,而不需要任何重建。

双模拟度量是一种有用的状态抽象形式,但之前训练距离函数的方法要么不能扩展到像素观测 (根据式(3)中的最大算子),要么只设计用于 (固定的) 策略评估设置。相比之下,随着在线策略的改进,作者学习了策略输入的改进表示。作者的 <math xmlns="http://www.w3.org/1998/Math/MathML"> π ∗ \pi^* </math>π∗-双模拟度量是基于梯度学习的,并在一定的假设下证明了它收敛于定理 1 中的一个不动点。为了训练作者的编码器 <math xmlns="http://www.w3.org/1998/Math/MathML"> ϕ \phi </math>ϕ 达到作者期望的关系 <math xmlns="http://www.w3.org/1998/Math/MathML"> d ( s i , s j ) : = ∥ ϕ ( s i ) − ϕ ( s j ) ∥ 1 d\left(\mathbf{s}_i, \mathbf{s}_j\right):=\left\|\phi\left(\mathbf{s}_i\right)-\phi\left(\mathbf{s}_j\right)\right\|_1 </math>d(si,sj):=∥ϕ(si)−ϕ(sj)∥1,作者抽取了一批状态对,并最小化其策略双模拟度量与潜在空间中 <math xmlns="http://www.w3.org/1998/Math/MathML"> ℓ 1 − \ell_1- </math>ℓ1−距离的均方误差 :
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> J ( ϕ ) = ( ∣ ∣ z i − z j ∥ 1 − ∣ r i − r j ∣ − γ W 2 ( P ^ ( ⋅ ∣ z ‾ i , a i ) , P ^ ( ⋅ ∣ z ‾ j , a j ) ) ) 2 \begin{align} J(\phi)=\left(|| \mathbf{z}_i-\mathbf{z}_j \|_1-\left|r_i-r_j\right|-\gamma W_2\left(\hat{\mathcal{P}}\left(\cdot \mid \overline{\mathbf{z}}_i, \mathbf{a}_i\right), \hat{\mathcal{P}}\left(\cdot \mid \overline{\mathbf{z}}_j, \mathbf{a}_j\right)\right)\right)^2 \end{align} </math>J(ϕ)=(∣∣zi−zj∥1−∣ri−rj∣−γW2(P^(⋅∣zi,ai),P^(⋅∣zj,aj)))2

其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> z i = ϕ ( s i ) , z j = ϕ ( s j ) , r \mathbf{z}_i=\phi\left(\mathbf{s}_i\right), \mathbf{z}_j=\phi\left(\mathbf{s}j\right), r </math>zi=ϕ(si),zj=ϕ(sj),r 是奖励, <math xmlns="http://www.w3.org/1998/Math/MathML"> Z ‾ \overline{\mathbf{Z}} </math>Z 表示具有停止梯度的 <math xmlns="http://www.w3.org/1998/Math/MathML"> ϕ ( s ) \phi\left(\mathbf{s}\right) </math>ϕ(s)。式 (4) 还使用输出高斯分布的概率动力学模型 <math xmlns="http://www.w3.org/1998/Math/MathML"> P ^ \hat{\mathcal{P}} </math>P^。出于这个原因,作者使用式 (4) 中的 2-Wasserstein 度量 <math xmlns="http://www.w3.org/1998/Math/MathML"> W 2 W_2 </math>W2,而不是式 (3) 中的 1-Wasserstein,因为 <math xmlns="http://www.w3.org/1998/Math/MathML"> W 2 W_2 </math>W2 度量具有方便的封闭形式 : <math xmlns="http://www.w3.org/1998/Math/MathML"> W 2 ( N ( μ i , Σ i ) , N ( μ j , Σ j ) ) 2 = ∥ μ i − μ j ∥ 2 2 + W_2\left(\mathcal{N}\left(\mu_i, \Sigma_i\right), \mathcal{N}\left(\mu_j, \Sigma_j\right)\right)^2=\left\|\mu_i-\mu_j\right\|2^2+ </math>W2(N(μi,Σi),N(μj,Σj))2=∥μi−μj∥22+ <math xmlns="http://www.w3.org/1998/Math/MathML"> ∥ Σ i 1 / 2 − Σ j 1 / 2 ∥ F 2 \left\|\Sigma_i^{1 / 2}-\Sigma_j^{1 / 2}\right\|{\mathcal{F}}^2 </math>∥ ∥Σi1/2−Σj1/2∥ ∥F2,其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> ∥ ⋅ ∥ F \|\cdot\|{\mathcal{F}} </math>∥⋅∥F 是 Frobenius-范数。对于所有其他距离,继续使用 <math xmlns="http://www.w3.org/1998/Math/MathML"> l 1 − l_1- </math>l1−范数。

Algorithm 1 Deep Bisimulation for Control (DBC)

  1. for Time <math xmlns="http://www.w3.org/1998/Math/MathML"> t = 0 t = 0 </math>t=0 to <math xmlns="http://www.w3.org/1998/Math/MathML"> ∞ \infty </math>∞ do
  2. Encode state <math xmlns="http://www.w3.org/1998/Math/MathML"> z t = ϕ ( s t ) \mathbf{z}_t=\phi\left(\mathbf{s}_t\right) </math>zt=ϕ(st)
  3. Execute action <math xmlns="http://www.w3.org/1998/Math/MathML"> a t ∼ π ( z t ) \mathbf{a}_t \sim \pi\left(\mathbf{z}_t\right) </math>at∼π(zt)
  4. Record data : <math xmlns="http://www.w3.org/1998/Math/MathML"> D ← D ∪ { s t , a t , s t + 1 , r t + 1 } \mathcal{D} \leftarrow \mathcal{D} \cup\left\{\mathbf{s}t, \mathbf{a}t, \mathbf{s}{t+1}, r{t+1}\right\} </math>D←D∪{st,at,st+1,rt+1}
  5. Sample batch <math xmlns="http://www.w3.org/1998/Math/MathML"> B i ∼ D B_i \sim \mathcal{D} </math>Bi∼D
  6. Permute batch : <math xmlns="http://www.w3.org/1998/Math/MathML"> B i = B_i= </math>Bi= permute <math xmlns="http://www.w3.org/1998/Math/MathML"> ( B i ) \left(B_i\right) </math>(Bi)
  7. Train policy : <math xmlns="http://www.w3.org/1998/Math/MathML"> E B i [ J ( π ) ] ▹ \mathbb{E}_{B_i}[J(\pi)]\quad\quad\triangleright </math>EBi[J(π)]▹ Algorithm 2
  8. Train encoder : <math xmlns="http://www.w3.org/1998/Math/MathML"> E B i , B j [ J ( ϕ ) ] ▹ \mathbb{E}_{B_i, B_j}[J(\phi)]\quad\quad\triangleright </math>EBi,Bj[J(ϕ)]▹ Equation (4)
  9. Train dynamics : <math xmlns="http://www.w3.org/1998/Math/MathML"> J ( P , ϕ ) = ( P ( ϕ ( s t ) , a t ) − z ‾ t + 1 ) 2 J(\mathcal{P}, \phi)=\left(\mathcal{P}\left(\phi\left(\mathbf{s}_t\right), \mathbf{a}t\right)-\overline{\mathbf{z}}{t+1}\right)^2 </math>J(P,ϕ)=(P(ϕ(st),at)−zt+1)2

Algorithm 2 Train Policy (changes to SAC in <math xmlns="http://www.w3.org/1998/Math/MathML"> red \color{red}\text{red} </math>red)

  1. Get value : <math xmlns="http://www.w3.org/1998/Math/MathML"> V = min ⁡ i = 1 , 2 Q ^ i ( ϕ ^ ( s ) ) − α log ⁡ π ( a ∣ ϕ ( s ) ) V=\min _{i=1,2} \hat{Q}_i(\hat{\color{red}\phi}(\mathbf{s}))-\alpha \log \pi(\mathbf{a} \mid {\color{red}\phi}(\mathbf{s})) </math>V=mini=1,2Q^i(ϕ^(s))−αlogπ(a∣ϕ(s))
  2. Train critics : <math xmlns="http://www.w3.org/1998/Math/MathML"> J ( Q i , ϕ ) = ( Q i ( ϕ ( s ) ) − r − γ V ) 2 J\left(Q_i, {\color{red}\phi}\right)=\left(Q_i({\color{red}\phi}(\mathbf{s}))-r-\gamma V\right)^2 </math>J(Qi,ϕ)=(Qi(ϕ(s))−r−γV)2
  3. Train actor : <math xmlns="http://www.w3.org/1998/Math/MathML"> J ( π ) = α log ⁡ p ( a ∣ ϕ ( s ) ) − min ⁡ i = 1 , 2 Q i ( ϕ ( s ) ) J(\pi)=\alpha \log p(\mathbf{a} \mid {\color{red}\phi}(\mathbf{s}))-\min _{i=1,2} Q_i({\color{red}\phi}(\mathbf{s})) </math>J(π)=αlogp(a∣ϕ(s))−mini=1,2Qi(ϕ(s))
  4. Train alpha : <math xmlns="http://www.w3.org/1998/Math/MathML"> J ( α ) = − α log ⁡ p ( a ∣ ϕ ( s ) ) J(\alpha)=-\alpha \log p(\mathbf{a} \mid {\color{red}\phi}(\mathbf{s})) </math>J(α)=−αlogp(a∣ϕ(s))
  5. Update target critics: <math xmlns="http://www.w3.org/1998/Math/MathML"> Q ^ i ← τ Q Q i + ( 1 − τ Q ) Q ^ i \hat{Q}_i \leftarrow \tau_Q Q_i+\left(1-\tau_Q\right) \hat{Q}_i </math>Q^i←τQQi+(1−τQ)Q^i
  6. <math xmlns="http://www.w3.org/1998/Math/MathML"> Update target encoder : ϕ ^ ← τ ϕ ϕ + ( 1 − τ ϕ ) ϕ ^ \color{red}\text{Update target encoder :} \hat{\phi} \leftarrow \tau_\phi \phi+\left(1-\tau_\phi\right) \hat{\phi} </math>Update target encoder :ϕ^←τϕϕ+(1−τϕ)ϕ^

合并控制 作者将其表示学习方法 (算法 1) 与弱化的演员-评论家 (SAC) 算法相结合,设计了一种实用的强化学习方法。作者在算法 2 中略微修改了 SAC,以允许值函数反向映射到编码器中,这可以进一步提高性能。尽管原则上该方法可以与任何强化学习算法相结合,包括无模型 DQN 或基于模型的 PETS。作者通过依次迭代更新三个组件来训练 DBC:策略 <math xmlns="http://www.w3.org/1998/Math/MathML"> π \pi </math>π (在本例中为 SAC)、编码器 <math xmlns="http://www.w3.org/1998/Math/MathML"> ϕ \phi </math>ϕ 和动力学模型 <math xmlns="http://www.w3.org/1998/Math/MathML"> P ^ \hat{\mathcal{P}} </math>P^ (算法 1 的 7-9 行)。同时作者发现单一损失函数的训练稳定性较差。算法 1 中的每个损失函数 <math xmlns="http://www.w3.org/1998/Math/MathML"> J ( ⋅ ) J(\cdot) </math>J(⋅) 的输入表示更新哪些组件。在每个训练步骤之后,使用策略 <math xmlns="http://www.w3.org/1998/Math/MathML"> π \pi </math>π 在环境中进行按步迭代,将数据收集在回放缓冲区 <math xmlns="http://www.w3.org/1998/Math/MathML"> D \mathcal{D} </math>D 中,并随机选择一批进行重复训练。

3 泛化界和与因果推断的联系

作者同时也对于 DBC 的性质进行了更多理论方面的补充。在这里我进行简单赘述 (更多的等我再理解理解看看能不能补充)。

首先,作者展示了该方法中的 <math xmlns="http://www.w3.org/1998/Math/MathML"> π ∗ \pi^* </math>π∗-bisimulation 度量收敛到一个固定点,从初始化的策略 <math xmlns="http://www.w3.org/1998/Math/MathML"> π 0 \pi_0 </math>π0 开始并收敛到最优策略 <math xmlns="http://www.w3.org/1998/Math/MathML"> π ∗ \pi^* </math>π∗。

定理 1 设 <math xmlns="http://www.w3.org/1998/Math/MathML"> m e t \mathtt{met} </math>met 是 <math xmlns="http://www.w3.org/1998/Math/MathML"> S \mathcal{S} </math>S 上的有界伪度量空间, <math xmlns="http://www.w3.org/1998/Math/MathML"> π \pi </math>π 是不断改进的策略。对于 <math xmlns="http://www.w3.org/1998/Math/MathML"> F : m e t ↦ m e t \mathcal{F}: \mathtt{met} \mapsto \mathtt{met} </math>F:met↦met 使用如下定义 :
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> F ( d , π ) ( s i , s j ) = ( 1 − c ) ∣ r s i π − r s j π ∣ + c W ( d ) ( P s i π , P s j π ) . \mathcal{F}(d, \pi)\left(\mathbf{s}_i, \mathbf{s}j\right)=(1-c)\left|r{\mathbf{s}i}^\pi-r{\mathbf{s}j}^\pi\right|+c W(d)\left(\mathcal{P}{\mathbf{s}i}^\pi, \mathcal{P}{\mathbf{s}_j}^\pi\right) . </math>F(d,π)(si,sj)=(1−c)∣ ∣rsiπ−rsjπ∣ ∣+cW(d)(Psiπ,Psjπ).

然后 <math xmlns="http://www.w3.org/1998/Math/MathML"> F \mathcal{F} </math>F 有一个最小不动点 <math xmlns="http://www.w3.org/1998/Math/MathML"> d ~ \tilde{d} </math>d~,它是一个 <math xmlns="http://www.w3.org/1998/Math/MathML"> π ∗ \pi^* </math>π∗-bisimulation 度量。

定理 2 (基于双模拟度量的值界) 给定一个 <math xmlns="http://www.w3.org/1998/Math/MathML"> MDP ⁡ M ˉ \operatorname{MDP} \bar{\mathcal{M}} </math>MDPMˉ,通过聚合 <math xmlns="http://www.w3.org/1998/Math/MathML"> ϵ − \epsilon- </math>ϵ−邻域中的状态来构建,以及一个编码器 <math xmlns="http://www.w3.org/1998/Math/MathML"> ϕ \phi </math>ϕ,它将原始 <math xmlns="http://www.w3.org/1998/Math/MathML"> MDP ⁡ M \operatorname{MDP} \mathcal{M} </math>MDPM M 中的状态映射到这些集群,两个 <math xmlns="http://www.w3.org/1998/Math/MathML"> MDPs ⁡ \operatorname{MDPs} </math>MDPs 的最优值函数有界为 :
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> ∣ V ∗ ( s ) − V ∗ ( ϕ ( s ) ) ∣ ≤ 2 ϵ ( 1 − γ ) ( 1 − c ) \left|V^*(\mathbf{s})-V^*(\phi(\mathbf{s}))\right| \leq \frac{2 \epsilon}{(1-\gamma)(1-c)} </math>∣V∗(s)−V∗(ϕ(s))∣≤(1−γ)(1−c)2ϵ

MDP 动态与因果推理和因果图有很强的联系,因果图是有向无环图。具体来说,时刻 <math xmlns="http://www.w3.org/1998/Math/MathML"> t t </math>t 的状态和动作会对时刻 <math xmlns="http://www.w3.org/1998/Math/MathML"> t + 1 t+1 </math>t+1 的下一个状态产生因果关系。而作者关心所的是对当前和未来奖励产生因果影响的状态空间的组成部分。DBC 与因果特征集相关联,或预测目标变量所需的最小特征集。

定理 3 (与因果特征集的关联) 如果使用双模拟度量对观察结果进行分区,这些集群 (双模拟分区) 对应于观察空间对当前和未来奖励的因果特征集。

定义 3 (因果祖先) 在因果图中,节点对应于父节点 <math xmlns="http://www.w3.org/1998/Math/MathML"> P P </math>P 和子节点 <math xmlns="http://www.w3.org/1998/Math/MathML"> C C </math>C 之间的变量和有向边是因果关系,节点的因果祖先 <math xmlns="http://www.w3.org/1998/Math/MathML"> A N ( C ) AN(C) </math>AN(C) 是从 <math xmlns="http://www.w3.org/1998/Math/MathML"> C C </math>C 到根节点的路径中的所有节点。

如果存在干扰变量的干预,或者控制渲染函数 <math xmlns="http://www.w3.org/1998/Math/MathML"> q q </math>q 并因此控制渲染观察但不影响奖励的变量,则因果特征集将对这些干预具有鲁棒性,并在线性函数近似设置中正确预测当前和未来的奖励。例如,在自动驾驶中,干预可以是白天到晚上的变化,它会影响观察空间,但不会影响动态或奖励。最后,作者证明了基于双模拟度量的表示可以推广到具有相同因果祖先的其他奖励函数。

定理 4 (任务泛化) 给定编码器 <math xmlns="http://www.w3.org/1998/Math/MathML"> ϕ : S ↦ Z \phi: \mathcal{S} \mapsto \mathcal{Z} </math>ϕ:S↦Z,其将观察映射到潜在的双模拟度量表示表示,其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> ∥ ϕ ( s i ) − ϕ ( s j ) ∥ 1 : = d ~ ( s i , s j ) \left\|\phi\left(\mathbf{s}_i\right)-\phi\left(\mathbf{s}_j\right)\right\|_1:=\tilde{d}\left(\mathbf{s}_i, \mathbf{s}_j\right) </math>∥ϕ(si)−ϕ(sj)∥1:=d~(si,sj), <math xmlns="http://www.w3.org/1998/Math/MathML"> Z \mathcal{Z} </math>Z 编码关于奖励 <math xmlns="http://www.w3.org/1998/Math/MathML"> A N ( R ) AN(R) </math>AN(R) 的所有因果祖先的信息。

定理5 ( <math xmlns="http://www.w3.org/1998/Math/MathML"> V ∗ V^∗ </math>V∗ 是关于 <math xmlns="http://www.w3.org/1998/Math/MathML"> d ~ \tilde{d} </math>d~ Lipschitz-连续的) 令 <math xmlns="http://www.w3.org/1998/Math/MathML"> V ∗ V^* </math>V∗ 是给定折扣因子 <math xmlns="http://www.w3.org/1998/Math/MathML"> γ \gamma </math>γ 的最佳值函数。如果 <math xmlns="http://www.w3.org/1998/Math/MathML"> c ≥ γ c\ge\gamma </math>c≥γ,则 <math xmlns="http://www.w3.org/1998/Math/MathML"> V ∗ V^∗ </math>V∗ 对于 Lipschitz 常数 <math xmlns="http://www.w3.org/1998/Math/MathML"> 1 1 − c \frac{1}{1-c} </math>1−c1 是 Lipschitz-连续的,其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> d ~ 是一个 \tilde{d} 是一个 </math>d~是一个\pi^*$-双模拟度量。
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> ∣ V ∗ ( s i ) − V ∗ ( s j ) ∣ ≤ 1 1 − c d ~ ( s i , s j ) \left|V^*\left(\mathbf{s}_i\right)-V^*\left(\mathbf{s}_j\right)\right| \leq \frac{1}{1-c} \tilde{d}\left(\mathbf{s}_i, \mathbf{s}_j\right) </math>∣V∗(si)−V∗(sj)∣≤1−c1d~(si,sj)

4 实验

5 读后感

感觉是在双模拟度量的基础上做了一些改进,但是我对于双模拟度量还是不是很了解,后续继续精进。以及感觉 AI 方面很多论文会把很多很稀疏平常的数学写得很哈人,对于这些数学要逐渐不要害怕,看清本质。

相关推荐
醒了就刷牙26 分钟前
机器翻译与数据集_by《李沐:动手学深度学习v2》pytorch版
pytorch·深度学习·机器翻译
靡不有初1111 小时前
深度学习领域相关的专业术语(附带音标解释)
深度学习
AI第一基地1 小时前
推荐系统-电商直播 多目标排序算法探秘
人工智能·深度学习·排序算法·transformer·知识图谱·word2vec
叫我:松哥1 小时前
基于机器学习的癌症数据分析与预测系统实现,有三种算法,bootstrap前端+flask
前端·python·随机森林·机器学习·数据分析·flask·bootstrap
我是瓦力1 小时前
球形包围框-Bounding Sphere-原理-代码实现
人工智能·python·深度学习·计算机视觉·3d
B站计算机毕业设计超人1 小时前
计算机毕业设计hadoop+spark知网文献论文推荐系统 知识图谱 知网爬虫 知网数据分析 知网大数据 知网可视化 预测系统 大数据毕业设计 机器学习
大数据·hadoop·爬虫·机器学习·spark·知识图谱·推荐算法
智能汽车人1 小时前
行业分析---自动驾驶行业的发展
人工智能·机器学习·自动驾驶
##晴天小猪1 小时前
ByteTrack多目标跟踪流程图
人工智能·算法·目标检测·机器学习·目标跟踪
Colddd_d2 小时前
动手学深度学习(五)循环神经网络RNN
人工智能·rnn·深度学习
机器白学2 小时前
【强化学习系列】Gym库使用——创建自己的强化学习环境3:矢量化环境+奖励函数设计
强化学习