因果强化学习入门

本文内容是ICML 2020 Causal Reinforcement Learning tutorial的整理.

阅读本文需要一点causal inference基础,可以看看

Causal effect可识别的一般条件

反事实因果(Counterfactual)简介

《因果推理导论》课程(2020) by Brady Neal

Causal RL的基本setting

大致分为3种任务:

  1. online learning:主动去干预(do)来学习干预后分布p(y|do(x))
  2. off policy learning:看别人干预的数据来学习干预后分布p(y|do(x))
  3. Do-calculus learning:观测数据,不主动干预,但需要从观测数据中学习干预后分布p(y|do(x))

在这个tutorial中,详细介绍了3个tasks:

  1. Generalized Policy Learning:结合online和offline learning
  2. When and where to intervene: 研究什么条件下需要去干预
  3. Counter factural Decision-Making: 反事实决策

在这里插入图片描述

CRL-TASK 1 GENERALIZED POLICY LEARNING (GPL)

任务1:我们能不能借助观测数据来加速强化学习的过程呢?

毕竟观测数据是很容易得到的,但是干预的数据是非常少的。显然,如果你知道因果结构,并且该因果结构满足一定假设(X变量不存在confounder连接其直接孩子),那么从观测数据中计算出干预后的分布是可以实现的,详情可看文章:Causal effect可识别的一般条件. 然而,当因果结构不满足这样的假设时就不行了。如下图右边是真实结构,U是一个观测不到的confounder,此时我们没有办法计算干预后的分布的

如果我们强行用观测分布作为prior,就会由于错误的prior导致了出错的效果,反正没有从0开始学的效果好。

那怎么办呢?虽然我们无法具体算出干预后分布的值,但是根据观测变量,我们是可以计算出干预后分布的bound的,换句话说,我们可以根据这个bound,来做一个类似reject的操作,如果落在外面就可以reject掉:

上图列举了几种计算bound的方法,non-parametric是最弱的,越往下其假设越强,但其bound会越窄。下图给出了一种拒绝采样的算法过程


这里抛砖引玉给出一个计算bound的例子,该例子来自于:

Zhang, Junzhe, and Elias Bareinboim. “Transfer learning in multi-armed bandit: a causal approach.” Proceedings of the 16th Conference on Autonomous Agents and MultiAgent Systems. 2017.

在这里插入图片描述

考虑TASK1,假设 X , Y ∈ { 0 , 1 } \displaystyle X,Y\in \{0,1\} X,Y{0,1},那么最一般的情况可以表述成下式这种情况:

f X ( r x ) = r x    f Y ( x , r y ) = { 0  if  r y = 0 x  if  r y = 1 1 − x  if  r y = 2 1  if  r y = 3 f_{X} (r_{x} )=r_{x} \ \ f_{Y} (x,r_{y} )=\left\{\begin{array}{ l l } 0 & \text{ if } r_{y} =0\\ x & \text{ if } r_{y} =1\\ 1-x & \text{ if } r_{y} =2\\ 1 & \text{ if } r_{y} =3 \end{array}\right. fX(rx)=rx  fY(x,ry)=0x1x1 if ry=0 if ry=1 if ry=2 if ry=3

p i j = p ( X = i , Y = j ) \displaystyle p_{ij} =p( X=i,Y=j) pij=p(X=i,Y=j),因为X,Y都是取值0,1,所以一共有4种情况,分别是 p 00 , p 01 , p 10 , p 11 \displaystyle p_{00} ,p_{01} ,p_{10} ,p_{11} p00,p01,p10,p11,同样对于噪声也有, q i j = p ( r x = i , r y = j ) \displaystyle q_{ij} =p( r_{x} =i,r_{y} =j) qij=p(rx=i,ry=j),于是有:

p 00 = q 00 + q 01    p 01 = q 02 + q 03 p 10 = q 10 + q 12    p 11 = q 11 + q 13 E [ Y ∣ d o ( X = 0 ) ] = ∑ y y p ( y ∣ d o ( x = 0 ) ) = p ( y = 1 ∣ d o ( x = 0 ) ) = q 02 + q 03 + q 12 + q 13 E [ Y ∣ d o ( X = 1 ) ] = ∑ y y p ( y ∣ d o ( x = 1 ) ) = p ( y = 1 ∣ d o ( x = 1 ) ) = q 01 + q 03 + q 11 + q 13 \left. \begin{array}{ c } p_{00} =q_{00} +q_{01} \ \ p_{01} =q_{02} +q_{03}\\ p_{10} =q_{10} +q_{12} \ \ p_{11} =q_{11} +q_{13}\\ E[Y|do(X=0)]=\sum _{y} yp( y|do( x=0)) =p( y=1|do( x=0)) =q_{02} +q_{03} +q_{12} +q_{13}\\ E[Y|do(X=1)]=\sum _{y} yp( y|do( x=1)) =p( y=1|do( x=1)) =q_{01} +q_{03} +q_{11} +q_{13} \end{array}\right. p00=q00+q01  p01=q02+q03p10=q10+q12  p11=q11+q13E[Ydo(X=0)]=yyp(ydo(x=0))=p(y=1do(x=0))=q02+q03+q12+q13E[Ydo(X=1)]=yyp(ydo(x=1))=p(y=1do(x=1))=q01+q03+q11+q13

稍微解释下,对于 p ( y = 1 ∣ d o ( x = 0 ) ) \displaystyle p( y=1|do( x=0)) p(y=1do(x=0))因为我们强制 x = 0 \displaystyle x=0 x=0,所以不管 r x \displaystyle r_{x} rx是多少, x \displaystyle x x都会等于0。在x=0的情况下,y要的等于1的情况只有两种,分别是 r y = 2 , r y = 3 \displaystyle r_{y} =2,r_{y} =3 ry=2,ry=3,因此 p ( y = 1 ∣ d o ( x = 0 ) ) = q 02 + q 03 + q 12 + q 13 \displaystyle p( y=1|do( x=0)) =q_{02} +q_{03} +q_{12} +q_{13} p(y=1do(x=0))=q02+q03+q12+q13. 此外还有 p 00 \displaystyle p_{00} p00这些分布的约束,在这些约束下,我们发现

E [ Y ∣ d o ( X = 0 ) ] = p 01 + q 12 + q 13 E [ Y ∣ d o ( X = 1 ) ] = p 11 + q 01 + q 03 \begin{array}{ c } E[Y|do(X=0)]=p_{01} +q_{12} +q_{13}\\ E[Y|do(X=1)]=p_{11} +q_{01} +q_{03} \end{array} E[Ydo(X=0)]=p01+q12+q13E[Ydo(X=1)]=p11+q01+q03

因为我们是能够观测到分布 p \displaystyle p p的值的,所以 p 01 , p 11 \displaystyle p_{01} ,p_{11} p01,p11是可以确定的,至于 q \displaystyle q q我们无法确定,但因为 q ⩾ 0 \displaystyle q\geqslant 0 q0,所以一定有

0 ⩽ q 12 + q 13 ⩽ q 12 + q 13 + q 10 + q 11 = p 10 + p 11 0\leqslant q_{12} +q_{13} \leqslant q_{12} +q_{13} +q_{10} +q_{11} =p_{10} +p_{11} 0q12+q13q12+q13+q10+q11=p10+p11

于是

p 01 ⩽ E [ Y ∣ d o ( X = 0 ) ] ⩽ p 01 + p 10 + p 11 p_{01} \leqslant E[Y|do(X=0)]\leqslant p_{01} +p_{10} +p_{11} p01E[Ydo(X=0)]p01+p10+p11

同理

p 11 ⩽ E [ Y ∣ d o ( X = 0 ) ] ⩽ p 11 + p 00 + p 01 p_{11} \leqslant E[Y|do(X=0)]\leqslant p_{11} +p_{00} +p_{01} p11E[Ydo(X=0)]p11+p00+p01

这就是干预后分布期望的界。在这里,我们发现即使没有任何对分布的假设都可以计算出他的bound.

CRL-TASK 2. WHEN AND WHERE TO INTERVENE?

任务2:我们应该如何去干预?

我们需要对所有policy中的action同时进行干预吗?到底该如何去干预呢?是否有一个合适干预的时机呢?对于第一个问题,实际上很多工作都是这样做的,但从因果的角度来讲,同时干预是不需要的,并且同时干预会反而会使得最优的结果无法出现。

考虑下图,

U是观测不到的变量,而Z,X,Y是可观测的,于是针对这些观测到的变量,policy space中是可以存在4中action的,如上图右边,分别是什么都不做,或者只干预X,只干预Z,最后是两个一起干预。如果我们的目标是干预所有变量,并找到最优的action,使得期望收益Y最大:

arg ⁡ max ⁡ x z E [ Y ∣ d o ( x , z ) ] \arg\max_{xz}E[Y|do(x,z)] argxzmaxE[Ydo(x,z)]

这时候我们发现存在一些特殊的情况,在不完全干预的情况下比这个期望收益会更高,考虑下面的例子(假设所有变量的取值都只有0,1):

Z ← U z X ← Z ⊕ U Y ← X ⊕ U P ( U = 1 ) = P ( U z = 1 ) = 0.5 \left. \begin{array}{ l } Z\leftarrow U_{z}\\ X\leftarrow Z\oplus U\\ Y\leftarrow X\oplus U\\ P(U=1)=P(U_{z} =1)=0.5 \end{array}\right. ZUzXZUYXUP(U=1)=P(Uz=1)=0.5

显然,不管 X = 1 \displaystyle X=1 X=1 X = 0 \displaystyle X=0 X=0 E ( Y ∣ d o ( X = 1 ) ) = E ( Y ∣ d o ( X = 0 ) ) = E ( U ) = 0.5 \displaystyle E( Y|do( X=1)) =E( Y|do( X=0)) =E( U) =0.5 E(Ydo(X=1))=E(Ydo(X=0))=E(U)=0.5,类似的在这种结构下, d o ( X ) \displaystyle do( X) do(X)一操作会把 d o ( Z ) \displaystyle do( Z) do(Z)覆盖掉,于是 E [ Y ∣ d o ( X , Z ) ] = E [ Y ∣ d o ( X ) ] \displaystyle E[Y|do(X,Z)]=E[Y|do(X)] E[Ydo(X,Z)]=E[Ydo(X)],此外如果我们 d o ( Z ) \displaystyle do( Z) do(Z),我们发现Y就是个确定的值,因为 Y = ( Z ⊕ U ) ⊕ U = Z \displaystyle Y=(Z\oplus U)\oplus U=Z Y=(ZU)U=Z,于是乎 d o ( Z ) \displaystyle do( Z) do(Z)在这个问题下就是最优的选择。总结一下就是:

E [ Y ∣ d o ( X ) ] = E [ Y ∣ d o ( X , Z ) ] = 0.5 E [ Y ∣ d o ( Z ) ] = ( Z ⊕ U ) ⊕ U = Z  So, if  do ⁡ ( Z = 1 ) E [ Y ∣ do ⁡ ( Z = 1 ) ] = 1 \left. \begin{array}{ l } E[Y|do(X)]=E[Y|do(X,Z)]=0.5\\ E[Y|do(Z)]=(Z\oplus U)\oplus U=Z\\ \text{ So, if }\operatorname{do} (Z=1)\\ E[Y|\operatorname{do} (Z=1)]=1 \end{array}\right. E[Ydo(X)]=E[Ydo(X,Z)]=0.5E[Ydo(Z)]=(ZU)U=Z So, if do(Z=1)E[Ydo(Z=1)]=1

显然,单独干预Z比一起干预的收益要更高!那好,现在似乎解决这个问题就很简单了,那就是考虑干预所有的子集,但是你知道子集的组合有很多,有没有更好的做法呢?

有的,直观来讲,我们可以删减一下子集。

第一个规律是,我们发现一些干预其实是等价的,比如在上面例子中 d o ( X , Z ) do(X,Z) do(X,Z)等价于 d o ( X ) do(X) do(X),这是因为在干预后的图中 G X , Z ˉ G_{\bar{X,Z}} GX,Zˉ,独立性 Y ⊥ Z ∣ X Y\bot Z|X YZX成立,这里 G X , Z ˉ G_{\bar{X,Z}} GX,Zˉ表示删掉如果X,Z的入度边后的图。

第二个规律是,干预Z总比干预空集(什么都不干预)效果要好,所以空集这个action也可以删掉:

E ( Y ) = ∑ z E ( Y ∣ d o ( z ) ) P ( z ) ⩽ ∑ z E ( Y ∣ d o ( z ∗ ) ) P ( z ) = E ( Y ∣ d o ( z ∗ ) ) ∑ z P ( z ) = E ( Y ∣ d o ( z ∗ ) ) \begin{aligned} E( Y) & =\sum _{z} E( Y|do( z)) P( z)\\ & \leqslant \sum _{z} E\left( Y|do\left( z^{*}\right)\right) P( z)\\ & =E\left( Y|do\left( z^{*}\right)\right)\sum _{z} P( z)\\ & =E\left( Y|do\left( z^{*}\right)\right) \end{aligned} E(Y)=zE(Ydo(z))P(z)zE(Ydo(z))P(z)=E(Ydo(z))zP(z)=E(Ydo(z))

所以通过找到这些干预,就可以进一步简化policy space

第三个规律是,有一些干预是可以通过其他干预的分布来计算的,所以这些可以预测的干预就没有必要浪费时间去干预了.

CRL-TASK 3. COUNTERFACTUAL DECISION-MAKING

任务3:通过反事实来进行决策

我们不能仅仅去简单的干预,还要进一步考虑agent的真实意图,并利用这些意图来推导出conterfactural,并基于counterfactural的结果来给出最优的行为决策。

讲个故事,赌场发现,赌徒选择机子跟醉酒状态(D)和机子是否有RGB (B)相关,并满足一下方程
X ← f X ( B , D ) = ( D ∧ ¬ B ) ∨ ( ¬ D ∧ B ) = D ⊕ B X \leftarrow f _ { X } ( B , D ) = ( D \wedge \neg B ) \vee ( \neg D \wedge B ) = D \oplus B XfX(B,D)=(D¬B)(¬DB)=DB
具体的意思就是D=1,B=0或D=0,B=1就选M2 (X=1),否则就选M1 (X=0). 并且,每个赌徒有相同的概率喝醉,每个机子在某一时刻有相同的概率发光,即P(D=0)=P(D=1)=0.5 P(B=0)=P(B=1)=0.5. 现在,进一步假设法律规定最低的回报率是30%,就是赌1块钱至少赚3毛。根据赌场发现的这个规律,如table 1所示。既然(D,B)=(0,0)/(1,1)的人都会去M1机器,那我们就把他们的收益调低,分别是0.1和0.2,意思是,一块钱可以赚0.1元和0.2元。并且为了应付赌场的法律,其他的赔率调高(可以看到(D,B)=(0,1)/(1,0)在M1的收益很高)

这时候,如果有人来审查他们是否符合法规,于是就是派人随机地玩这些机器,就会发现回报率确实是0.3,但是在实际上,这个真实的赔率只有0.15,因为赌徒并不会去玩那些赔率高的机器!

那么问题来了:假设你观测不到D和B,你有什么办法可以拯救这群赌徒?

答案:最简单的策略就是,当你看到一个走向M1机器的时候,拦住他,让他去玩M2就可以了!为什么呢?因为当他要去玩M1的时候,根据这个事实,我们可以“猜”出,这个人要么是(D=0,B=0)要么是(D=1,B=1),因此,我们推荐他去M2,因为这类人在M2的收益更高。实际上这就是一个反事实的模型,我们通过事实(玩M1),反推出了观测不到的状态,B和D,从而找到一种更好的action(玩M2)。形式化地写出这反事实问题就是:
arg ⁡ max ⁡ a E ( Y X = a ∣ X = M 1 ) \arg\max_a E(Y_{X=a}|X=M_1) argamaxE(YX=aX=M1)
最后求解出来就是 a = M 2 a=M_2 a=M2时最大.

参考资料

ICML 2020 Causal Reinforcement Learning tutorial

ZHANG J, BAREINBOIM E. Markov Decision Processes with Unobserved Confounders: A Causal Approach[J]. 2016.

ZHANG J, KUMOR D, BAREINBOIM E. Causal Imitation Learning with Unobserved Confounders[J]. NeurIPS 34th, 2020, 33(NeurIPS): 1–12.

Causal effect可识别的一般条件

反事实因果(Counterfactual)简介

《因果推理导论》课程(2020) by Brady Neal

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值