ARC Actionable representations for control
DAct(s1,s2) Actionable distances
arc 状态表达将着重记录那些对action有影响的状态信息,对于是否能重构原始状态并不关心
首先在一个强化学习环境中生成最大熵目标导向策略πθ (a|s, g),然后用πθ在环境中生成500组trajectories,然后从这500组trajectories随机抽取state计算下面的Dact距离,最终构成一个Dact矩阵
Dact(si, sj ) = Es∼D [DKL(π(a|s, si)||π(a|s, sj ))] act距离构成的矩阵
L(φ) = Es∼D[ ?Es′ ∼D[ ?|| ||φ(s) − φ(s′ )|| − Dact (s, s′ ) ||2 ] ]?? 需要最小化的目标
此处需要注意的是“After precomputing Dact:a matrix of actionable distances”,得到的Dact是一个对称的矩阵,代表两两状态之间的act距离。最小化L(φ)做的,就是保证通过神经网络生成的s,s′ 的arc状态表征φ(s),φ(s′ )的距离跟Dact矩阵中的距离尽量接近
arc有很好的泛化属性,可以使用于非单一目标导向策略的训练,伴随更大的状态空间,一系列的目标
使用arc替换一般的状态表达,可以有更快的训练速度,比如巡航任务
arc可以用于奖励重塑,对于奖励稀疏的任务,可以在目标函数中加上arc距离,加速训练
arc可以用于层次强化学习,对于特别大的任务,可以在arc空间分成一系列的小任务,然后一个一个弹出来,变成单一目标任务供agent实现
作者用model-based reinforcement learning作为基线,没有状态表达训练出来的效果比model-based reinforcement learning还要好,发现arc最接近基线效果
对于原始状态表达,vae状态表达,arc状态表达,作者将三种状态数据降到2维平面观察,发现,在arc空间中,不重要的数据会被压在一起,重要的数据将保持分离,而别的状态表达没有这种表现
在通过危险区域到达目标的任务中,使用arc状态表达的策略,可以更快的实现目标。这表明,arc虽然是利用单一目标任务训练出来,但是arc可以用于各种各样的不同任务