在强化学习中,有一个非常常见的决策过程叫马尔克夫决策过程。
它和我们前面讲的决策过程是有一样的结构,只不过它会有更多限制。这里同样也有 agent 和环境,只不过还就多了一个状态,用 s 来表示。状态 state 是 agent 可以在环境中所观察到的东西, 然后 agent 可以选择一个行为,并从环境中获得反馈。
所有的行为用 a 表示,所有的状态用 s 表示。r 代表 agent 可以获得的奖励,它的值越大,我们就越应该加强这个行为。
这个决策过程之所以叫马尔可夫决策过程是因为需要有一个马尔科夫假设。
意思是在这个环境里,没有其他因素来影响它的状态。也就意味着,当我们想要预测下一个状态的概率,或者想要预测 agent 能获得的奖励时,只需要知道环境的当前状态和行为。
听起来可能觉得有点不现实,因为这意味着,如果我们想要给用户展示一个横幅广告,需要的就是一个状态,这个状态要包含用户的所有信息,可是我们肯定无法知道用户的大脑的状态的。
所以这只是一个数学模型,我们需要把问题做简化,模型并不需要精准。在这个决策过程中只需要假装周围的其他任何事情都是噪音。
和通常一样,我们想要优化的是 reward。区别在于这一次环境可以在每个时间点给 agent 即时的奖励。
例如,我们想训练机器人向前走。可以在一个完整的过程后给他一个奖励。例如在它摔倒时只是衡量一下走了有多长多远,这个值就作为奖励。另一种是可以在任何时候都给 agent 一个小小的反馈。
那么这时我们想要优化的不仅仅是单个的奖励,而是想要优化奖励的总和。
这同样适用于棋牌游戏。例如在象棋中,我们可以尝试优化即时的奖励,但这可能会导致我们很快就失败,因为通常即时奖励高的那一步棋并不是最好的那一步,事实上它总是最坏的那一步。
---
学习资料: