首页 > 其他分享 >强化学习(七):n步自举法(多步引导法)

强化学习(七):n步自举法(多步引导法)

时间:2022-12-21 14:05:22浏览次数:40  
标签:采样 引导 策略 步自 状态 举法 差分 时序 时刻


强化学习(七):n步自举法(多步引导法)

  在之前,我们知道求解有限马尔可夫决策过程可以通过蒙特卡洛和时序差分来通过与环境多次交互从经验中学习,然而,蒙特卡洛方法在一些不满足分幕式任务或连续型任务上无法获得最终的收益,因此我们引入时序差分方法。时序差分的思想就是将下一时刻的状态价值或下一时刻的状态动作价值作为估计值,用于估计当前状态价值或动作价值。时序差分是一种结合采样和自举的方法,那么一种介于二者之间的则是n步自举,也叫做多步引导(n step bootstraping)。


  本节将主要讲解n步时序差分。下面给出n步时序差分的回溯图:

强化学习(七):n步自举法(多步引导法)_强化学习


白色圆圈表示状态,黑色圆圈表示(状态动作,Q)。当n=1时,即是上一节描述的TD(0),如果是分幕式任务,当n时幕的采样序列长度时,这时候则是经典的蒙特卡洛;如若n趋向于无穷,则是一种接近蒙特卡洛的近似。介于二者之间的则是n步自举。

1、n步时序差分的TD误差

强化学习(七):n步自举法(多步引导法)_强化学习_02强化学习(七):n步自举法(多步引导法)_多步引导法_03 ,其中强化学习(七):n步自举法(多步引导法)_初始化_04是当前预测值与下一时刻状态或动作的带有折扣的估计值的和,即:强化学习(七):n步自举法(多步引导法)_n步自举_05强化学习(七):n步自举法(多步引导法)_多步引导法_06 。事实上我们可以推广到接下来的n个时刻,我们记做强化学习(七):n步自举法(多步引导法)_n步自举_07,例如关于状态价值的多步收益为:

强化学习(七):n步自举法(多步引导法)_n步自举_08

动作价值的多步收益是:

强化学习(七):n步自举法(多步引导法)_多步引导法_09

其中强化学习(七):n步自举法(多步引导法)_差分_10。我们可以发现,前强化学习(七):n步自举法(多步引导法)_多步引导法_11个时刻都是将实际的即时奖励作为n步收益的真实值,而最后时刻对应的奖励则是一个估计值。例如在预测阶段,当前时刻强化学习(七):n步自举法(多步引导法)_强化学习_12的状态价值强化学习(七):n步自举法(多步引导法)_强化学习_13的预测值是从当前时刻强化学习(七):n步自举法(多步引导法)_强化学习_12起一直到强化学习(七):n步自举法(多步引导法)_差分_15执行相应动作获得的折扣即时奖励与第强化学习(七):n步自举法(多步引导法)_初始化_16时刻的状态价值估计值的和。注意这里的强化学习(七):n步自举法(多步引导法)_多步引导法_17应为状态强化学习(七):n步自举法(多步引导法)_多步引导法_18的即时奖励,只不过其只有在强化学习(七):n步自举法(多步引导法)_强化学习_19时刻才能获得。

2、n步时序差分预测

  与单步TD(0)预测算法一样,只不过这里的TD误差是多步TD误差,算法流程如图所示:

强化学习(七):n步自举法(多步引导法)_强化学习_20


(1)首先输入一个固定的策略,初始化相关的参数。对于某一个episode,从头开始进行采样。根据当前的状态执行相应的动作,观察并存储得到的收益以及下一时刻转移的状态。

(2)这里需要注意的是,强化学习(七):n步自举法(多步引导法)_多步引导法_21表示一个临界时刻,在这个时刻之前,我们整个一幕的步数是达不到n-1步,所以不存在一个时刻是可以获得n-1步长的即时奖励(第n步在初始化时候是状态价值为0),因此在这之前仅仅只是遵循固定的策略做采样,并保存这些收益,并不对状态做更新。

(3)一旦达到或超越这个临界时刻,便执行下面的步骤:在第强化学习(七):n步自举法(多步引导法)_差分_15时刻来更新强化学习(七):n步自举法(多步引导法)_强化学习_12时刻的状态价值强化学习(七):n步自举法(多步引导法)_强化学习_24,使用的估计值则是强化学习(七):n步自举法(多步引导法)_初始化_16时刻的状态价值强化学习(七):n步自举法(多步引导法)_强化学习_26。这里会有人不理解强化学习(七):n步自举法(多步引导法)_强化学习_24下标的含义,直观理解就是在强化学习(七):n步自举法(多步引导法)_差分_15时刻的强化学习(七):n步自举法(多步引导法)_多步引导法_18状态的价值,因为在前强化学习(七):n步自举法(多步引导法)_多步引导法_11步并没有更新这些值,而是等到过了强化学习(七):n步自举法(多步引导法)_多步引导法_11步后能够保证采样序列中存在一个状态使得其能够向后推延n步获得估计值,才更新这些状态价值。

  更新的方法和单步时序差分一样,公式为:

强化学习(七):n步自举法(多步引导法)_强化学习_32

3、n步时序差分控制

强化学习(七):n步自举法(多步引导法)_强化学习_33)。

强化学习(七):n步自举法(多步引导法)_多步引导法_11步是即时奖励,最后一步则是对应的动作价值的估计值,n步回报:

强化学习(七):n步自举法(多步引导法)_多步引导法_09

n步SARSA的n步回报还可以写作:

强化学习(七):n步自举法(多步引导法)_强化学习_36

同理对于n步期望SARSA,最后一步则是所有状态动作二元组价值的期望:

强化学习(七):n步自举法(多步引导法)_多步引导法_37

更新公式则是:

强化学习(七):n步自举法(多步引导法)_n步自举_38

可以通过回溯图理解这个过程,对应的n步SARSA算法如下所示:

强化学习(七):n步自举法(多步引导法)_差分_39

强化学习(七):n步自举法(多步引导法)_差分_40


这里需要注意的是,对策略进行预测时,需要考虑到开发与探索两者矛盾,通常遵循同一个贪心策略,例如强化学习(七):n步自举法(多步引导法)_强化学习_41贪心策略。

4、n步时序差分离轨策略预测与控制

  对于离轨策略下,采用基于重要度采样的方法,通过观察行动策略的经验和收益来预测目标策略,重要度采样比是:

强化学习(七):n步自举法(多步引导法)_多步引导法_42

如果只对n步进行重要度采样,则是强化学习(七):n步自举法(多步引导法)_差分_43

其中强化学习(七):n步自举法(多步引导法)_差分_44是行动策略,强化学习(七):n步自举法(多步引导法)_强化学习_45是目标策略。

  基于重要度采样的离轨策略的策略预测公式为:

强化学习(七):n步自举法(多步引导法)_多步引导法_46

  基于重要度采样的离轨策略的策略控制公式为:

强化学习(七):n步自举法(多步引导法)_强化学习_47

事实上,其与之前的同轨策略不同地方就是多乘一个重要度采样比。


  本节看似公式比较多,但基本上和单步TD很类似,只是在选择估计值上看的更长远。在基于表格型的有限马尔可夫决策时,n步时序差分是比较合理、有用的算法。基于这个还有一系列推广,比如n步树回溯、蒙特卡洛树回溯(MCTS)等,下一节将会主要对这两个算法进行讲解。


标签:采样,引导,策略,步自,状态,举法,差分,时序,时刻
From: https://blog.51cto.com/u_15919249/5959874

相关文章