zoukankan      html  css  js  c++  java
  • Decoupling Value and Policy for Generalization in Reinforcement Learning


    发表时间:2021(ICML2021)
    文章要点:这篇文章想说,通常在训练PG这类算法特别是图像作为输入的任务的时候,主流的做法是policy和value用一个网络表征,没有分开。这会导致policy overfitting,因为学value比学policy需要更多的信息,如果用一个网络来共享表征,就会导致policy利用了一些无关信息而overfitting,导致泛化性变差。作者把这个叫做policy value representation asymmetry。作者举了一个例子来说明这个问题确实存在,如下图

    这里有两个关卡,第一个状态除了背景颜色外,其他都一样,理论上来讲policy在这的策略应该完全一样,并且不应该利用背景颜色信息。但是两个关卡后面的状态是不一样的,这就是说在第一个状态的value是不一样的,这说明value function应该利用背景颜色来拟合出不同的value。作者想说这个例子就说明了policy 和value需要的信息是不一样多的。
    作者提出的解决方法是
    1)将policy和value分成两个单独的网络,但是只这么做的话之前有paper表明反而会导致训练变差,于是policy网络除了policy外还拟合advantage。作者的解释是advantage是一个关于动作的相对值,不是关于状态的绝对的值,不应该利用那些无关信息过拟合。(可能作者就是想说advantage和policy不存在policy value representation asymmetry)。(Because the advantage is a relative measure of an action’s value while the value is an absolute measure of a state’s value, the advantage can be expected to vary less with the number of remaining steps in the episode. Thus, the advantage is less likely to overfit to such instance specific features.)另一个好处是policy和value的更新频率可以不一样了。
    整个policy network的目标函数为

    第一项就是PPO那个带clip的目标函数,第二项是entropy,第三项是advantage的loss

    Value network的loss就是普通的mse

    2)在1)的基础上,添加辅助任务来避免policy过拟合。用对抗网络的方式训练一个discriminator,让discriminator不能区分经过policy编码过的两个状态哪个在前哪个在后。所以discriminator的loss就是区分开哪个在前,哪个在后

    Encoder的loss就是不让discriminator区分开

    这里虽然看起来loss一样,一个是用cross-entropy loss的方式,给准确的0-1 label来训ψ,一个是训练θ使得entropy最大,也就是靠近每个label概率为0.5。整个强化的loss就变成了

    总结:文章提出的这个问题其实感觉有点牵强,不管是举的那个procedurally generated environments的例子,还是后面说分开了还要再加个advantage的解释,感觉逻辑上都有点奇怪。不过作者最后自己也说了While our experiments show that predicting the advantage function improves generalization, we currently lack a firm theoretical argument for this. 可能就是这么做效果足够好吧。但是看实验结果,特别是appendix里面,挺多环境上都没有超过一个叫PPG的baseline。并且可以想象,作者做了多少实验,调了多少参。
    疑问:无。

  • 相关阅读:
    Java连接操作redis
    redis 6.0.x简介和安装
    设计模式之代理模式(proxy)
    设计模式之组合模式(composize)
    Linux Shell脚本调试方法
    linuxcfg.sh
    反向代理和正向代理区别
    WAF与IPS的区别总结
    【LemonCK】jQuery的基本使用
    【LemonCK】CSS盒子塌陷问题
  • 原文地址:https://www.cnblogs.com/initial-h/p/15392662.html
Copyright © 2011-2022 走看看