马尔可夫状态使用抽象形式储存过去所有的信息。所以如果训练实体预测未来的动作,其并不会使用全部的历史,而是使用马尔可夫状态。本质上来说,马尔可夫状态储存的信息并不比历史少。 所以在给定状态 St 的情况下求未来状态 St+1 的概率和给定前面所有状态求 St+1 的概率相同。这是因为状态 St 已经将前面所有状态的信息都嵌入了其中。 序列的游戏
现在假设有个游戏发生在餐厅里,餐厅提供三种食物:甜甜圈、饮料和三明治。现在顾客要求服务员带五样食品,且服务员会按顺序依次提供这五样食品。如果顾客喜欢这些食物的顺序,那么服务员将得到奖励,否则就会得到惩罚。现在服务员第一次提供食物的顺序如 S1 所示,他得到了奖励。 然而,当下一次服务员又以另一个顺序带来五份食品(S2)时,他得到了惩罚。那么现在第三个序列 S3 的输出是什么,奖励还是惩罚? 这里的解决方案取决于先前状态的定义。如果说状态的定义仅仅只是采用食物序列最后三项的顺序,那么根据 S1 最后三项的结果,S3 序列能获得奖励。然而如果根据每个食物出现的数量来定义,那么 S3 最有可能得到惩罚,因为 S2 和 S3 每一份食物的数量都相同。所以本质上系统的输出是依赖于状态的定义。 环境 如果你在电脑上玩自己编写的象棋,那么你就很清楚计算机是如何分析怎样下棋。所以基本上你知道在给定的行动下电脑确定的是哪一步棋。这是一种完全可观察的环境(Fully Observable Environment)。 现在如果你在玩由其他人编写的象棋游戏,你并不知道电脑下一步会怎么下。所以现在你能做的就是在下一步棋后观察电脑的下棋。这是一种部分可观察环境(Partially Observable Environment)。在这种情况下,你能做的就是预测游戏的内部动态,并期望能对其内部状态能有一个足够好的预测。 另外,根据周志华的《机器学习》,我们需注意「机器」与「环境」的界限。例如在种西瓜任务中,环境是西瓜生长的自然世界;在下棋对弈中,环境是棋盘与对手;在机器人控制中,环境是机器人的躯体与物理世界。总之,在环境中状态的转移、奖赏的返回是不受机器控制的,机器只能通过选择要执行的动作来影响环境,也只能通过观察转移后的状态和返回的奖赏来感知环境。 最后总结一下强化学习的概念,强化学习的输入 是: 状态 (States) = 环境,例如迷宫的每一格就是一个状态 动作 (Actions) = 在每个状态下,有什么行动是容许的 奖励 (Rewards) = 进入每个状态时,能带来正面或负面的价值 (utility) 而输出就是: 策略 (Policy) = 在每个状态下,你会选择哪个行动? 如上图所示,强化学习的思想主要:即训练实体 (Agent) 不断地采取动作 (action), 之后转到下一个状态 (State), 并且获得一个奖励 (reward), 从而进一步更新训练实体。 在了解了强化学习的基本概念后,我们就可以进一步理解 Q 学习(Q-Learning)的原理和实现。 下面我们将从迷宫寻宝游戏开始了解 Q 学习的基本概念。该游戏规则如下: 该游戏从一个给定的位置开始,即初始状态(starting state)。在每一个状态下训练实体都可以保留原地或选择向上、下、左、右移动,但不能穿越迷宫的边界。每个动作都将使得训练实体进入不同的单元格(即不同的状态)。现在在某个单元格有一个宝箱(即目标状态)。此外,迷宫的某些位置/状态有蛇。因此训练实体的目标就是通过寻找一条没有蛇的路径从起始状态走到目标状态。 现在当我们在网格中(即环境中)放置一个训练实体,它首先会开始探索。它最开始不知道蛇是什么,也不知道什么是宝箱或宝箱在哪。所以我们需要给定训练主体蛇和宝箱的概念,并在每一步动作后给予一定的奖励。对于每一块有蛇的单元格(状态),我们给予-10 的奖励,而对于宝藏,我们给予+10 的奖励。现在我们希望训练实体尽快完成任务(采取最短路径),因此我们给予其他状态-1 的奖励。最后我们给定训练实体的目标就是最大化最后累积得分。随着训练实体的探索,它会知道蛇是有害的,宝藏是有益的,并且它需要尽可能快地得到宝箱。上图中「-」就表示从起始状态到目标状态最短的路径。 Q 学习(Q-Learning)就尝试在给定状态下学习当前值,并采取特定的动作。 (责任编辑:本港台直播) |