强化学习入门(一)

在强化学习中,环境状态的转移和环境反馈给Agent的奖赏是不受Agent个体控制的,Agent只能通过选择要执行的动作来影响环境,并通过观察转移后的状态和环境反馈的奖赏值来感知环境,Agent的强化学习过程即是通过不断尝试各种动作-状态策略,并通过环境反馈的奖赏不断调整策略,从而达到在某一环境状态中Agent能选择最优的动作进而得到最大奖赏这一结果。最近我主要学习了free model思想的强化学习方法,顾名思义,由于在现实生活的强化学习任务重,环境状态的转移概率、奖赏函数往往都很难确定,甚至我们不清楚环境中存在多少的状态,即状态转移概率T、奖赏函数R均未知,这种不依赖环境的建模即为free model。最典型的free model的模型有时序差分学习方法(TD算法),Q-学习(Q-learning)算法。

在了解TD学习和Q学习时,需要先了解一些定义。强化学习中,学习环境的不同会有不同的学习策略。在马尔科夫环境中,一个重要的概念便是马尔科夫决策过程(MDP)。

定义1 马尔科夫决策过程:MDP包含一个环境状态集合S,Agent的行为集合A,奖赏函数RR(s,a,s’)表示Agent在状态s采用动作a使环境转移至s’时获得的瞬时奖赏值,状态转移函数TT(s,a,s’)表示Agent在状态s采用动作a使环境状态转移到s’的概率。

MDP的本质是:MAS环境中当前状态向下一状态转移的概率T和瞬时奖赏R只取决于当前状态和选择的动作,而与历史状态和动作均无关。因此在已知状态转移概率T和瞬时奖赏函数R的MAS环境中,可以采用动态规划技术求解最优策略。而强化学习中,重点在于研究当转移概率T和奖赏函数R未知的情况下,Agent如何通过学习获得最优的行为策略。目前通用的解决方案是采用迭代技术来调整当前状态和下一状态的值函数的估计值。

学习目标:(1)        

          (2) 

          (3) 

三种学习目标可以视情况选择,其中(1)为无限折扣模型,即考虑Agent从环境状态st转移到状态st+1后所接受到的奖赏ri,并以某种形式的折扣累积在值函数中,γ为折扣因子;(2)为有限模型,即Agent只考虑未来有限步h步的累积奖赏的和;(3)为平均奖赏模型,Agent考虑长期平均奖赏值。

确定好学习目标,则可以根据下式确定最优行为策略,

 

状态转移函数未知,和不确定环境的奖赏值,是强化学习的主要特征和难点。

考虑到目标函数,可以给出最优策略下的值函数定义为:

 

上述公式可以通过Bellman迭代逼近最优策略下的函数值,即:

 

掌握上述内容便可以对TD学习和Q学习进行深入理解。

TD学习

TD算法结合了蒙塔卡罗思想和动态规划思想,由Sutton于1988年提出,并证明当MAS满足马尔科夫性质,且α绝对递减的条件下,TD算法是绝对收敛的。Agent在不需要MAS模型的情况下可以利用估计的值函数进行迭代,是一中自适应的迭代算法。根据Agent获得的瞬时奖赏值向后推移的步数,可将TD算法分为TD(0)和TD(λ)算法,TD(0)算法是指Agent获得的瞬时奖赏值仅向后退一步,其状态值函数计算公式为:

 

其中V(st)表示Agent在t时刻访问环境状态st时估计的状态值函数,同理,V(st+1)表示t+1时刻访问环境状态st+1时估计的状态值函数,γ表示奖赏折扣,α表示学习速率,即迭代步长,rt+1表示Agent从状态st向状态st+1转移时获得的瞬时奖赏值。TD(0)算法在学习过程如下:

(1) 初始化值函数V(st);

(2) Agent在状态,根据当前策略确定动作at,得到经验知识和训练样例<st,at,st+1,rt+1>;

(3) 根据经验知识修改状态值函数V

(4) 当Agent访问到目标状态时,算法终止一次迭代;

(5) 继续从初始状态开始新的迭代循环,直至学习结束。

由于TD(0)算法中Agent获得瞬时奖赏rt+1时只修改相邻状态的值函数估计,这就导致TD(0)算法的收敛速度比较慢。为提高收敛速度,Sutton又提出了TD(λ)算法,即Agent可以获得的瞬时奖赏值可以向后退任意步,其状态置值函数计算公式为:

 

其中e(s)表示状态s的选举度,即状态s在MAS中出现的频率,在实际应用中e(s)可以通过以下方法计算:

 

其中,t表示Agent的奖赏值受到前t步的影响,在历史的t步中,如果当前状态s被多次访问,其选举度e(s)的值就越大,也就说明其对当前奖赏值的贡献最大。

Q-学习

不同于TD学习,学习过程考虑的是状态s下Agent能获得的奖赏值,而不依赖状态s下Agent的动作a,其迭代过程利用估计的值函数V(s),Q-学习是离策略的TD学习,其学习过程考虑的是状态-动作对的奖赏,其迭代过程中将Q(s,a)作为估计函数。因此在迭代的过程中,Q-学习中每一次的迭代都需要考察Agent的每一个行为,才能保证学习过程是收敛的。Watkins等人已经证明,当α满足一定条件,且MAS环境为马尔科夫环境时,Q-学习是具有收敛性的。当Q值函数的求解公式如下:

 

Q*(s,a)表示Agent在状态s下采取动作a所获得的最优奖赏折扣值的总和,T(s,a,s’)为状态转移函数,表示Agent采取动作a后,MAS环境状态由s转移至s’的概率。r(s,a,s’)表示Agent选择状态-动作对(s,a)到达目标状态s’时获取的奖赏值。其最优策略为在状态s下选用Q值最大的行为。因此,Q-学习中只需采用贪心策略选择动作。Q-学习的迭代步骤如下:

(1) 初始化动作价值函数Q;

(2) 在状态st下,Agent根据贪心策略确定动作a,得到经验知识和训练样例<st,at,st+1,rt+1>

(3) 根据经验知识,修改Q值,公式如下:

 

(4)Agent访问到目标状态时,算法终止一次迭代过程;

(5)重新从初始状态开始新的迭代循环,直至学习结束。

最后,比较两种算法:

 

TD学习

Q-学习

值函数

状态值函数V(s)

动作值函数Q(s,a)

收敛条件

马尔科夫环境、

学习速率α绝对递减

马尔科夫环境、

选择行为时采用贪心策略

选择最优策略的过程

从经验中学习

贪心策略,选择当前状态下能获得最大Q值的动作a

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值