马尔可夫决策过程(Markov Decision Processes,MDPs)
MDPs 简单说就是一个智能体(Agent)采取行动(Action)从而改变自己的状态(State)获得奖励(Reward)与环境(Environment)发生交互的循环过程。绝大多数的增强学习都可以模型化为MDP的问题。MDP 的策略完全取决于当前状态,这也是它马尔可夫性质的体现,根据当前的状态来决定动作。元组表示为:
状态的好坏其实等价于对未来回报的期望。因此,引入回报来表示某个时刻t的状态将具备的回报,我们的目标是选择一组最佳的action,使得全部的回报加权和期望最大:
从上式可以发现,在t时刻的回报值被打了的折扣,是一个逐步衰减的过程,越靠后的状态对回报和影响越小。
定义在当前状态下,执行某个策略后,出现的结果的好坏,需要定义值函数(value function)
然而,在当前状态下,一个动作可以产生不同的结果,由Bellman等式,根据转移概率从上式得到,其中s’表示下一个状态:
当然,我们求V的目的就是想找到一个当前状态s下,最优的行动策略,定义最优的V*,即从可选择的策略
挑选一个最优策略,如下:
上式的Bellman等式形式如下,第二项是一个就决定了每个状态s的下一步动作a,执行a后,s’按概率分布的回报概率和的期望:
选择最优的,也就确定了每个状态s的下一步最优动作a,根据以上式子,我们可以知道
当前状态的最优的值函数V*,是由采用最优执行策略的情况下得出的,采用最优执行方案的回报显然要比采用其他的执行策略
要好。
这里需要注意的是,如果我们能够求得每个s下最优的a,那么从全局来看,的映射即可生成,而生成的这个映射是最优映射,称为
。
针对全局的s,确定了每一个s的下一个行动a,不会因为初始状态s选取的不同而不同。
Exploration and Exploitation 探索与利用
在上面的算法中,我们可以看到需要使用某一个policy来生成动作,也就是说这个policy不是优化的那个policy,所以Q-Learning算法叫做Off-policy的算法。另一方面,因为Q-Learning完全不考虑model模型也就是环境的具体情况,只考虑看到的环境及reward,因此是model-free的方法。
回到policy的问题,那么要选择怎样的policy来生成action呢?有两种做法:
- 随机的生成一个动作
- 根据当前的Q值计算出一个最优的动作,这个policy ππ称之为greedy policy,也就是
π(St+1)=argmaxaQ(St+