Expressing Arbitrary Reward Functions as Potential-Based Advice论文阅读

Abstract

在强化学习领域,结合外部的知识是个很重要的问题。基于势能的reward shaping为agent提供了指定形式的additional reward,这种做法是能保证最优策略不变的。这篇文章的主要工作是提出一种新的方法,能够将任意的reward function转换成动态的势能函数,当成是一种辅助的value function训练。

Introduction

由于强化学习具有奖励稀疏性,agent可能很长时间都没办法得到奖励,所以可以在reward中加入额外的奖励信息引导agent的前进,加快探索。由于改变了reward,additive reward function可能会导致策略的改变,所以需要保证增加了reward后最优策略的不变。早期的additive reward function很难保证策略不变性,比如学习骑单车到某个目标,如果设定车轮向前会得到奖励,那么会一致骑车而不会到达目的地。而potential-based reward shaping可以解决这个问题,设定了对不同状态有不同的势能函数,打破了循环。但是potential function需要额外的知识,并且限制additional reward的形式。
这篇文章提出了一种新的方法,直接通过任意的奖励函数指定shaping reward,并且能保证policy invarience。主要是完成了两件事,第一件事 扩展Wiewiora’s advice framework,提出dynamic advice potentials。其次根据reward function学习一个新的secondary value function,根据这个新的value function评估dynamic advice potentials。 提出这个框架的主要动机还是potential-based方法需要的条件太苛刻了,需要提供先验知识,对形式也有一定的限制,本文基于这些缺陷提出了dynamic advice potentials,解决这些问题。

Reward Shaping

Reward shaping可以写成如下形式: R ′ = R + F R' = R + F R=R+F。新增的F称为shaping reward。
99年吴恩达定义是potential function:

Wiewiora在03年扩展成advice potential functions,增加了动作

Devlin and Kudenko在12年提出动态的potential

引入了一些时间参数,这样potential function就可以用于训练。

From Reward Functions to Dynamic Potentials

吴恩达提出的potential based reward shaping有两个缺点,efficacy and specification。前者与设计potential function相关,后者则是针对特定的领域知识,将一些领域的知识转换为potential的形式。 这项工作主要是针对后者。

给定任意的reward function R,如果能够构建一个新的potential function F,使得R == F,那么policy invariance就保证了。问题就等价于寻找一个potential function,使得R≈F。
Expressing Arbitrary Reward Functions as Potential-Based Advice论文阅读_第1张图片
将potential function扩展成动态的形式,用类似TD的方法去更新,将potential function看成是一个类似于Q值的东西,也就是上面提到的secondary value function。

Experience

Grid-World

到达特定位置就算赢。到达终点positive reward,否则就是0。定义一个arbitrary reward function

现在需要通过从这个arbitrary函数中学一个potential出来,更具上面的方法。

Cart-Pole

这是一个连续状态,也就是说会有状态不可数,也是能够处理的。

Conclusion

这篇文章主要解决的问题是PBRS的两个问题,一个是选择potential function的问题,一个是特定领域的知识转换成potential form的问题。其次还解决了positive cycle的问题,上面的两个实验的arbitrary reward function都会导致循环,但是加入potential就没有了。自己训练了一个potential function,但其实还是需要自己去定义一个arbitrary reward function出来的。另外这种方法只是适用于value-based的方法,不适合policy based。

你可能感兴趣的:(强化学习,机器学习,深度学习)