初始状态的选择有多重要?

人工智能 强化学习 dqn
2021-11-09 20:06:35

对于强化学习,例如对于 Q-learning 或 DQN,始终具有相同的初始(开始)状态是否至关重要?或者它可以变化?

1个回答

初始状态在训练和使用过程中可能会有所不同,您决定如何执行此操作对 Q-learning 几乎没有影响。重要的因素是是否可以达到与最佳行为相关的所有状态/动作对。由于任何探索策略中已经存在随机性,并且在许多环境中作为状态转换和奖励功能的一部分,因此在开始时添加更多内容不是问题。

更正式地说,您可以将任何现有环境与状态S1,S2,S3...Sn加上明确的行动和奖励。添加特殊的固定启动状态S0用一个特殊的动作A0允许。使该动作之后的状态转换矩阵成为您喜欢的其他状态的任何分布,并奖励0. 它显然是一个有效的 MDP,并且在状态的价值和政策功能方面与您的原始 MDP 相同S1,S2,S3...Sn. 对于代理的所有意图和目的(在S0),它以随机选择的状态从原始 MDP 开始。

只要在训练期间不故意排除一些稍后需要的状态空间,或者以其他方式用于“攻击”代理并阻止其学习,就可以做出这些变化。Q-learning 收敛证明假设所有状态/动作对在无限训练时间的限制内可以无限次到达。当然,在实践中这永远不会实现,但很明显,如果您通过选择以一种永远无法到达的方式开始而排除了一些重要的状态,一开始就无法看到它,那么代理将永远不会了解它。

您可以使用高度可变的开始状态进行训练以发挥自己的优势。这是一种探索形式,真正的探索开始(可以从任何状态/动作对开始,因此您希望随机化第一个动作选择)允许您跳过任何进一步的探索并仍然保证收敛到最优策略 - 即您可以使用确定性策略在策略上学习 Q 值。这不一定会使事情收敛得更快,但确实证明了随机开始状态不是 RL 的障碍。

“做你喜欢的事”有几个小/部分例外:

  • 如果环境在其他方面具有高度确定性,则添加随机开始可能会增加优化它的难度,因为即使使用最优策略,也可以到达更多状态,因此需要发现最优行为的状态空间可能会更大并且需要学习时间更长。

  • Policy Gradient 方法,如 REINFORCE,优化策略以从已知的起始状态分布中最大化回报。所以你可以改变开始状态,但你应该坚持一个标准的开始程序,包括允许的开始状态的固定分布

  • 同样,如果您想报告代理的标准分数,通常会引用起始状态的预期回报。同样,这并不意味着您有固定的开始状态,但您应该使用固定的开始状态分布来评估您的代理。

许多标准环境,例如 Open AI 的 Gym 环境 CartPole 和 LunarLander,在开始状态中包含一些随机性,因此代理必须解决更普遍的问题,而不仅仅是生成始终从一开始就有效的固定动作序列。