Efficient Deep Reinforcement Learning via Adaptive Policy Transfer


发表时间:2020(IJCAI 2020)
文章要点:这篇文章提出Policy Transfer Framework (PTF)算法来做policy transfer。主要思路就是自动去学什么时候用哪一个source policy用来作为target policy的学习目标,以及什么时候terminate这个source policy并换另一个source policy来学习(learns when and which source policy is the best to reuse for the target policy and when to terminate it by modeling multi-policy transfer as the option learning problem. adaptively select a suitable source policy during target task learning and use it as a complementary optimization objective of the target policy)。
具体的,在和环境交互的时候,除了RL的网络之外,还有option-value network以及termination network。先用option-value network选一个option,这个option就是一个source policy \(\pi_o\),然后用RL里面的policy \(\pi\)去和环境交互,比如作者举的例子就是A3C和PPO,然后termination network会决定什么结束当前的source policy然后换下一个source来学习。学习的方式就是在更新RL的policy的时候,会加一个cross-entropy loss来使得policy和source policy接近

RL部分的更新除了新加的loss,就和普通的RL一样了

这里第一项是PG更新的loss,第二项是entropy,第三项就是policy transfer的loss。此外,这个\(L_H\)权重也是自适应调整的,具体设置方式为

这里的\(f(t)\)相当于是一个衰减系数,会随着时间不断变小,也就是最开始多学学source policy,后期就主要看环境的reward。然后这里的\(\beta\)就是termination network,因为termination network的标准就是option的value越大,terminate的概率就越小。所以后面这项的意思就是说如果当前这个option对应的value越大,那么这个权重就大,反之就越小。
剩下的问题是如何更新option-value network和termination network。option-value network就是通常的Q function,只不过这里是关于option的value,不是action的value,用的时候就用\(\epsilon\)-greedy的方式来选option,更新的时候就和DQN的更新类似,通过reward和bellman方程更新

termination network的更新公式为


这里的A是advantage function,\(\xi\)是一个正则项。这里这个更新的目的就是使得option value里不是最大的所有option的termination probability增加。然后整个算法的更新就完了。整个算法如下

总结:transfer的主要思路就是一边学source policy来加快训练,一边用环境的reward来提高performance,是make sense的。从效果上看是有一定效果的,不过提升就提升一点,没有数量级的提升

疑问:里面和环境交互用的是target policy,而不是source policy,但是最后要算两个policy的cross-entropy loss也必须要得到对应的概率才行吧,也就是说source policy也会输出动作对应的概率?
这个option value network的更新里面的reward是一个option的reward还是一个动作step对应的reward呢,文章看来像是一个step对应的reward,不知道这样更新能不能得到option对应的value。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章