后见之明体验回放的要求之一是为 DQN 提供我们希望最终达到的状态和目标(期望的最终状态):
<currState, goal> <-- For Hindsight Experience Replay;
<currState> <-- This would be an input for a usual DQN;
本文允许在奖励稀疏时快速学习。换句话说,当奖励在大多数情况下是统一的时,只有少数罕见的奖励值真正脱颖而出。
问题:
假设我想让玩家在我的游戏中被怪物杀死。因此,我的“目标状态”必须包含 0 值来表示玩家的生命值。但是,状态向量还包括他的位置(xyz 坐标)、旋转向量、装备物品的 ID:
inputVec = <hp, x1,x2,x3, q1,q2,q3, chestID, handsID, headID, feetID>
我不想强加一个球员的特定位置,等等——我只是想让他死。我只知道他的“hp”应该是什么(应该是零),我不关心其他值。
因此,我无法提供完美定义的目标向量——这是否意味着我无法使用事后经验回放?
编辑:
我的理解是组件必须具有相同的组件currState。goalState我们不能让这两个向量大小不同或存储不同的东西
接受答案后编辑:
正如@lfelipesv 提到的,第4页告诉我们:
我们假设每个目标对应于某个谓词并且代理的目标是达到任何满足. 在我们想要准确指定我们可能使用的系统的期望状态的情况下和
目标也可以只指定状态的一些属性,例如假设 我们希望能够用给定的 x 坐标值实现任意状态。在这种情况下和.