强化学习的学习之路(五十七)2021-02-26 模仿学习的理论分析

作为一个新手,写这个强化学习-基础知识专栏是想和大家分享一下自己学习强化学习的学习历程,希望对大家能有所帮助。这个系列后面会不断更新,希望自己在2021年能保证平均每日一更的更新速度,主要是介绍强化学习的基础知识,后面也会更新强化学习的论文阅读专栏。本来是想每一篇多更新一点内容的,后面发现大家上CSDN主要是来提问的,就把很多拆分开来了(而且这样每天任务量也小一点哈哈哈哈偷懒大法)。但是我还是希望知识点能成系统,所以我在目录里面都好按章节系统地写的,而且在github上写成了书籍的形式,如果大家觉得有帮助,希望从头看的话欢迎关注我的github啊,谢谢大家!另外我还会分享深度学习-基础知识专栏以及深度学习-论文阅读专栏,很早以前就和小伙伴们花了很多精力写的,如果有对深度学习感兴趣的小伙伴也欢迎大家关注啊。大家一起互相学习啊!可能会有很多错漏,希望大家批评指正!不要高估一年的努力,也不要低估十年的积累,与君共勉!

Theory Analysis of Imitation learning

首先,我们定义我们的cost function:

c ( s , a ) = { 0  if  a = π ⋆ ( s ) 1  otherwise  c(\mathbf{s}, \mathbf{a})=\left\{\begin{array}{l} 0 \text { if } \mathbf{a}=\pi^{\star}(\mathbf{s}) \\ 1 \text { otherwise } \end{array}\right. c(s,a)={0 if a=π(s)1 otherwise 

也就是说当我们做的动作不是最优策略的动作时,我们会得到cost = 1

然后我们假设,我们的动作不是最优策略的动作的概率小于 ϵ \epsilon ϵ, 然后我们举一个最极端的例子,就是让智能体去走钢丝,智能体需要一直向前走,一旦智能体没有想走前而是向左或者向右了,它就会掉入一个以前没有见过的状态。在这种情况下,让智能体去走T步,会得到:

E [ ∑ t c ( s t , a t ) ] ≤ ϵ T + ( 1 − ϵ ) ( ϵ ( T − 1 ) + ( 1 − ϵ ) ( … ) ) ⏟ T E\left[\sum_{t} c\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right] \leq \underbrace{\epsilon T+(1-\epsilon)(\epsilon(T-1)+(1-\epsilon)(\ldots))}_{T} E[tc(st,at)]T ϵT+(1ϵ)(ϵ(T1)+(1ϵ)())

也即这个期望最终会在 O ( ϵ T 2 ) O\left(\epsilon T^{2}\right) O(ϵT2),表明单纯的Behavior Cloning的cost会随着随着决策步长的增加而呈现平方次增加。

当然我们可以让这个证明的泛化性变得更加强一点,也就是在实际中,我们其实不需要状态s都严格在train set中,我们只需要s在train set的分布中就行,因为泛化性的存在,也就是对 s ∼ p train  ( s ) \mathbf{s} \sim p_{\text {train }}(\mathbf{s}) sptrain (s) E p train  ( s ) [ π θ ( a ≠ π ⋆ ( s ) ∣ s ) ] ≤ ϵ E_{p_{\text {train }}(\mathbf{s})}\left[\pi_{\theta}\left(\mathbf{a} \neq \pi^{\star}(\mathbf{s}) \mid \mathbf{s}\right)\right] \leq \epsilon Eptrain (s)[πθ(a=π(s)s)]ϵ,在这种情况下,

p θ ( s t ) = ( 1 − ϵ ) t p train ⁡ ( s t ) + ( 1 − ( 1 − ϵ ) t ) ) p mistake  ( s t ) \left.p_{\theta}\left(\mathbf{s}_{t}\right)=(1-\epsilon)^{t} p_{\operatorname{train}}\left(\mathbf{s}_{t}\right)+\left(1-(1-\epsilon)^{t}\right)\right) p_{\text {mistake }}\left(\mathbf{s}_{t}\right) pθ(st)=(1ϵ)tptrain(st)+(1(1ϵ)t))pmistake (st)

前一项表明我们不犯错的概率,后一项表明其他的分布。

∣ p θ ( s t ) − p train  ( s t ) ∣ = ( 1 − ( 1 − ϵ ) t ) ∣ p mistake  ( s t ) − p train  ( s t ) ∣ ≤ 2 ( 1 − ( 1 − ϵ ) t ) \left|p_{\theta}\left(\mathbf{s}_{t}\right)-p_{\text {train }}\left(\mathbf{s}_{t}\right)\right|=\left(1-(1-\epsilon)^{t}\right)\left|p_{\text {mistake }}\left(\mathbf{s}_{t}\right)-p_{\text {train }}\left(\mathbf{s}_{t}\right)\right| \leq 2\left(1-(1-\epsilon)^{t}\right) pθ(st)ptrain (st)=(1(1ϵ)t)pmistake (st)ptrain (st)2(1(1ϵ)t)

 useful identity:  ( 1 − ϵ ) t ≥ 1 − ϵ t  for  ϵ ∈ [ 0 , 1 ] \text { useful identity: }(1-\epsilon)^{t} \geq 1-\epsilon t \text { for } \epsilon \in[0,1]  useful identity: (1ϵ)t1ϵt for ϵ[0,1]

上面那一项就会小于 2 ϵ t 2 \epsilon t 2ϵt

∑ t E p θ ( s t ) [ c t ] = ∑ t ∑ s t p θ ( s t ) c t ( s t ) ≤ ∑ t ∑ s t p train  ( s t ) c t ( s t ) + ∣ p θ ( s t ) − p train  ( s t ) ∣ c max ⁡ ≤ ∑ t ϵ + 2 ϵ t O ( ϵ T 2 ) \begin{aligned} \sum_{t} E_{p_{\theta}\left(\mathbf{s}_{t}\right)}\left[c_{t}\right]=\sum_{t} \sum_{\mathbf{s}_{t}} p_{\theta}\left(\mathbf{s}_{t}\right) c_{t}\left(\mathbf{s}_{t}\right) \leq \sum_{t} \sum_{\mathbf{s}_{t}} p_{\text {train }}\left(\mathbf{s}_{t}\right) c_{t}\left(\mathbf{s}_{t}\right)+\left|p_{\theta}\left(\mathbf{s}_{t}\right)-p_{\text {train }}\left(\mathbf{s}_{t}\right)\right| c_{\max } \\ \leq \sum_{t} \epsilon+2 \epsilon t \\ O\left(\epsilon T^{2}\right) \end{aligned} tEpθ(st)[ct]=tstpθ(st)ct(st)tstptrain (st)ct(st)+pθ(st)ptrain (st)cmaxtϵ+2ϵtO(ϵT2)

和上面的结果一样。

上一篇:强化学习的学习之路(五十六)2021-02-25 模仿学习存在的问题
下一篇:强化学习的学习之路(五十八)2021-02-27 其他做模仿学习的方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值