增强学习总结

增强学习总结

增强学习概念:

增强学习关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报

通过增强学习,一个智能体应该知道在什么状态下应该采取什么行为

强化学习,就是根据奖励,判断在相应的状态下,应该做的动作——从状态到动作的映射就是学习策略

增强学习是机器学习中一个非常活跃且有趣的领域,相比其他学习方法,增强学习更接近生物学习的本质,因此有望获得更高的智能,这一点在棋类游戏中已经得到体现。

 

特点:

1.  增强学习是试错学习(Trail-and-error),由于没有直接的指导信息,智能体要以不断与环境进行交互,通过试错的方式来获得最佳策略。

2.  延迟回报增强学习的指导信息很少,而且往往是在事后(最后一个状态)才给出的,这就导致了一个问题,就是获得正回报或者负回报以后,如何将回报分配给前面的状态。

马尔可夫决策过程:

马尔可夫决策过程(Markov DecisionProcess, MDP)也具有马尔可夫性,与上面不同的是MDP考虑了动作,即系统下个状态不仅和当前的状态有关,也和当前采取的动作有关。

1、策略:状态到动作的映射

2、状态集

3、动作集

4、状态转移概率:在当前状态X下,执行了动作A后,状态会转移到Y的概率

5、奖励(延后)

 

问题一:

对于延后的奖励,如何将其分片到前面的状态,即如何根据后面的奖励,判断当前步骤的贡献?

推广起来就是,如何评价一个策略的好坏?

 

问题二

知道怎么评价策略后,如何改进当前策略至最优策略

 

分类:

一、有模型的强化学习(现实使用的情况基本不存在,应该就是为了推导用)

因为模型已知,所有情况都是可以计算出

首先,定义了奖励,解决了对于奖励延后的问题

当前的步骤的奖励:等于后面T步骤的奖励的和的组合

所以,对于T步的一个过程,其实由一个一步的过程和一个T-1 步的过程组合而成——这就是一个递推公式

根据递推公式,一个T步的过程,就可以从一个一步的过程逐渐递推得到

有了T步过程的奖励的计算方法后,因为强化学习主要是学习策略

最优的策略,可以理解为,在当前状态执行了这个动作之后,后面的T步的奖励最大

所以找到能使奖励最大的动作就是最优的动作,从而得到最优的策略

————这中间涉及到一些推到,用到了动态规划的算法+递推求极大

—这就是有模型机器学习的动态规划算法

动态规划的优点在于它有很好的数学上的解释,但是动态要求一个完全已知的环境模型,这在现实中是很难做到的。另外,当状态数量较大的时候,动态规划法的效率也将是一个问题。 

 

二、无模型的强化学习

同样利用有模型的思路,不同在于

1)没有模型

2)要从初始状态开始

 

解决办法:蒙特卡罗学习

方法概述:

1)首先,在状态未知的情况下,我们从初始状态出发,使用某种策略,进行采样,执行该策略T步,并获得轨迹

2)然后,对轨迹中出现的每个状态—动作,记录其后的奖赏之和,作为该状态—动作的一次累积奖赏的采样值

3)多次采样得到多条轨迹

4)将每个状态—动作对的累积奖赏采样值进行平均,及得到状态—动作值函数的估计

然后根据轨迹,不断的优化最优的策略

——即认为,当前出现的状态—动作对,是策略集中的一种,这个策略导致的后面的得分,是当前策略的评价

得分越高,评价越好。然后不断迭代,根据新一轮的轨迹,重新计算策略的得分,优化策略

 

需要处理的问题:

如何选择轨迹,用e贪心

 

 

改进:时间差分学习

对门特卡罗的改进,蒙特卡罗每完成一条轨迹才迭代一次,效率低

时间差分,综合了蒙特卡罗的思想和动态规划的原理,每执行一步,就迭代一次,更新策略

效率更高

 

总结:

增强学习的关键,就是从环境状态到动作的映射的学习,就是策略的学习,就是要学习当前这种情况应该采用什么动作处理。

增强学习的主要学习方式是试错

增强学习具有延迟回报的特点,所以如何将回报分配给前面的动作,这是一个必须要解决的

 

求最优策略的两点前提:

1、如何评估一个策略的值函数

2、如何改进至最优策略

 

遇到的问题

1)原本的递推公式是这一步和下一步的关系,怎么变成的迭代的关系

注意递推公式的下标,k表示的是执行k步,不是次数

所以地推公式的意思是,执行k步的奖赏,都可以通过执行当前步和执行k-1步计算出来

所以地推公式,就是执行k步,就分解成执行一步和执行k-1步

(k不是迭代的次数,而是执行的步骤距离即时激励的步数)


你可能感兴趣的:(机器学习)