我是 RL 的新手,我正在关注 Sutton & Barto 的书。
我的疑问是,当我们谈论代理的政策时,我们说的是采取某种行动的概率给定状态 . 但是,我认为应该根据观察而不是状态来定义策略,因为我认为由于各种原因(可能是缺少传感器或缺少内存),代理并不总是可能完全捕获状态。
那么,为什么将策略定义为状态函数而不是观察值?
我是 RL 的新手,我正在关注 Sutton & Barto 的书。
我的疑问是,当我们谈论代理的政策时,我们说的是采取某种行动的概率给定状态 . 但是,我认为应该根据观察而不是状态来定义策略,因为我认为由于各种原因(可能是缺少传感器或缺少内存),代理并不总是可能完全捕获状态。
那么,为什么将策略定义为状态函数而不是观察值?
最终,策略必须是代理可以执行的。
如果策略依赖于状态,则隐含的假设是代理了解状态,因此可以相应地选择其动作。这是将 MDP 作为 RL 的底层框架的常见情况。
如果代理不知道状态,它可能会感知与状态有某种关系的观察(尽管它们可能不会完全揭示状态)。然后,可以根据最后收到的观察来调整策略。
然而,值得注意的是,在部分可观察的环境中对最后一次观察进行调节通常不足以实现最佳行为。在某些情况下,人们可能需要记住更长的观察历史来决定哪种行动是最好的。一般来说,在这种部分可观察的环境中采取最佳行动要求策略是过去采取的行动和所感知的观察的完整历史的函数。底层框架是部分可观察的MDP,或 POMDP。