关键词
-
马尔可夫性质(Markov Property): 如果某一个过程未来的转移跟过去是无关,只由现在的状态决定,那么其满足马尔可夫性质。换句话说,一个状态的下一个状态只取决于它当前状态,而跟它当前状态之前的状态都没有关系。
-
马尔可夫链(Markov Chain): 概率论和数理统计中具有马尔可夫性质(Markov property)且存在于离散的指数集(index set)和状态空间(state space)内的随机过程(stochastic process)。
-
状态转移矩阵(State Transition Matrix): 状态转移矩阵类似于一个 conditional probability,当我们知道当前我们在这个状态过后,到达下面所有状态的一个概念,它每一行其实描述了是从一个节点到达所有其它节点的概率。
-
马尔可夫奖励过程(Markov Reward Process, MRP): 即马尔可夫链再加上了一个奖励函数。在 MRP之中,转移矩阵跟它的这个状态都是跟马尔可夫链一样的,多了一个奖励函数(reward function)。奖励函数是一个期望,它说当你到达某一个状态的时候,可以获得多大的奖励。
-
horizon: 定义了同一个 episode 或者是整个一个轨迹的长度,它是由有限个步数决定的。
-
return: 把奖励进行折扣(discounted),然后获得的对应的收益。
-
Monte Carlo Algorithm(蒙特卡罗方法): 可用来计算价值函数的值。通俗的讲,我们当得到一个MRP过后,我们可以从某一个状态开始,然后让它让把这个小船放进去,让它随波逐流,这样就会产生一个轨迹。产生了一个轨迹过后,就会得到一个奖励,那么就直接把它的 Discounted 的奖励 gg 直接算出来。算出来过后就可以把它积累起来,当积累到一定的轨迹数量过后,然后直接除以这个轨迹,然后就会得到它的这个价值。
-
Iterative Algorithm(动态规划方法): 可用来计算价值函数的值。通过一直迭代对应的Bellman Equation,最后使其收敛。当这个最后更新的状态跟你上一个状态变化并不大的时候,这个更新就可以停止。
-
Q函数 (action-value function): 其定义的是某一个状态某一个行为,对应的它有可能得到的 return 的一个期望(over policy function)。
MDP中的prediction(即policy evaluation问题): 给定一个 MDP 以及一个 policy \piπ ,去计算它的 value function,即每个状态它的价值函数是多少。其可以通过动态规划方法(Iterative Algorithm)解决。 -
MDP中的control问题: 寻找一个最佳的一个策略,它的 input 就是MDP,输出是通过去寻找它的最佳策略,然后同时输出它的最佳价值函数(optimal value function)以及它的这个最佳策略(optimal policy)。其可以通过动态规划方法(Iterative Algorithm)解决。
-
最佳价值函数(Optimal Value Function): 我们去搜索一种 policy \piπ ,然后我们会得到每个状态它的状态值最大的一个情况,就是到达每一个状态,它的值的极大化情况。在这种极大化情况上面,我们得到的策略就可以说它是最佳策略(optimal policy)。optimal policy 使得每个状态,它的状态函数都取得最大值。所以当我们说某一个 MDP 的环境被解了过后,就是说我们可以得到一个 optimal value function,然后我们就说它被解了。
-
P函数和R函数: P函数反应的是状态转移的概率,即反应的环境的随机性,R函数就是Reward function。但是我们通常处于一个未知的环境(即P函数和R函数是未知的)。
-
Q表格型表示方法: 表示形式是一种表格形式,其中横坐标为 action(agent)的行为,纵坐标是环境的state,其对应着每一个时刻agent和环境的情况,并通过对应的reward反馈去做选择。一般情况下,Q表格是一个已经训练好的表格,不过,我们也可以每进行一步,就更新一下Q表格,然后用下一个状态的Q值来更新这个状态的Q值(即时序差分方法)。
使用Q-learning解决悬崖寻路问题
CliffWalking-v0环境简介
悬崖寻路问题(CliffWalking)是指在一个4 x 12的网格中,智能体以网格的左下角位置为起点,以网格的下角位置为终点,目标是移动智能体到达终点位置,智能体每次可以在上、下、左、右这4个方向中移动一步,每移动一步会得到-1单位的奖励。
如图,红色部分表示悬崖,数字代表智能体能够观测到的位置信息,即observation,总共会有0-47等48个不同的值,智能体再移动中会有以下限制:
-
智能体不能移出网格,如果智能体想执行某个动作移出网格,那么这一步智能体不会移动,但是这个操作依然会得到-1单位的奖励
-
如果智能体“掉入悬崖” ,会立即回到起点位置,并得到-100单位的奖励
-
当智能体移动到终点时,该回合结束,该回合总奖励为各步奖励之和