这两天回顾了《西瓜书》中的最后一章——“强化学习”,但是忽然发现之前对于本章中的“策略π”的理解有些偏差,导致我在看值函数公式时有些看不明白。对此,我在网上查了一些资料,但是大部分人都是一笔带过,或者是照本宣科,看的我仍然很迷惑,然后自己琢磨了一下,所以这篇文章主要想分享一下个人对于强化学习中的“策略π”的看法,如果有误请见谅,欢迎一起进行探讨。当然,如果这篇文章还能入得了各位“看官”的法眼,麻烦点赞、关注、收藏,支持一下!
话不多说,进入正文。
相信很多学习强化学习的伙伴们在初期都会有一个疑惑,具体的“策略π”是指什么?
直接我个人的看法,一个具体的“策略π”本质上就是一条具体的公式。
相信很多学习强化学习的伙伴们都知道,“策略π”分为两种,一种是确定性策略,一种是随机性策略。在我看来,一个具体的“策略π”,不管是确定性策略还是随机性策略,都只是一条具体的公式,两者本质上是没有区别的,只是说两者的输入与输出不同。对于确定性策略,他的输入是“状态”,输出是“动作”,而对与随机性策略,他的输入时“状态”和“动作”,输出是“概率”。
既然,“策略π”是一条具体的公式,那么他的输入和输出就是不固定的,换句话说,就是可以存在多个输入和多个输出的,但是每一个输入都对应一个输出,具体该如何理解呢?我举个路径规划例子,大家直观的感受一下,该例子中的“策略π”为随机性策略:
S0是起点,S3是终点,S1和S2是我们中间可能经过的地方,a0~a4是我们的具体选择,即我们要走哪条路,P0~P4则代表着我们在当前位置选择走某条路的概率,从上图中,我们不难看出,从起点S0出发,到达终点S3,有三种路径:
①S0→S1→S3 ②S0→S2→S3 ③S0→S2→S1→S3
在日常生活中,我们肯定会认为以上三种路径分别对应的是三种不同的策略,但是在强化学习中则不是这样的。在强化学习中,不管我们选择上面三条路径中的哪一条路径,其实都是基于同一个“策略π”。
说到这里,可能有些小伙伴会很疑惑,为什么三条种路径都是基于同一个策略?因为“策略π”的本质是一条公式啊,概率P0~P4都是将相对应的S和a带入这条公式算出来的,这条公式是没变的,所以三条路径都是基于同一条“策略π”,也就是说,在同一“策略π”下,只要我们的输入S和a是确定的,那么我们就能得到一个固定的输出P。
另外,这里有一点需要注意:
网上很多图片的标注具备误导性,导致广大网友可能会认为上图中的part1部分存在一个策略,part2部分存在一个策略,part3部分存在一个策略,这样其实是不对的。之所以不对,我举个反例大家就清楚了:
我们都知道T步积累状态值函数V是指按照某一确定的策略执行T步的平均奖励的期望,定义式如下图所示。假设上图中的第③种路径不存在,只剩①和②两种路径,那么我们要算S0到S3的积累状态值函数,如果认为part1部分存在一个策略,part3部分存在一个策略,那从S0到S3的过程中就是在执行两个策略,那么就直接违背了积累状态值函数V是在执行某一确定策略的定义和要求,那么我们就无法求得积累状态值函数V。
说明一下,上述公式中的x就对应第一张图中的S,两者都是表示状态 。
既然说到T步积累状态值函数了,我就紧接着路径规划的这个例子,把这条T步积累状态值函数的公式展开跟大家说说:
先把P0~P4的值以及相应的奖励给出,如下两表所示:
P0 | P1 | P2 | P3 | P4 |
0.8 | 1 | 0.2 | 0.8 | 0.2 |
S0→S1 | S1→S3 | S0→S2 | S2→S1 | S2→S3 |
R0=1 | R1=2 | R2=3 | R3=4 | R4=5 |
解释一下,为什么第一张表格中的P1=1,因为当我们处于S1位置时,我们只有一条路可以选,所以选择走这条路的概率就是1
根据所列数据,我们可以求出在确定的某一“策略π”下,三种路径各自被选中的概率:
P(S0→S1→S3)=P0*P1=0.8*1=0.8
P(S0→S2→S3)=P2*P4=0.2*0.2=0.04
P(S0→S2→S1→S3)=P2*P3*P1=0.2*0.8*1=0.16
仔细观察上述的三个概率,不难发现:
P(S0→S1→S3)+P(S0→S2→S3)+P(S0→S2→S1→S3)=1
下面,我们计算积累状态值函数V :
参考文章链接:
强化学习中状态价值函数和动作价值函数的理解-CSDN博客