强化学习入门到不想放弃-5

文摘   2024-10-11 22:18   新加坡  

      上回的地址:强化学习入门到不想放弃-4 (qq.com)

      上上回的地址:强化学习入门到不想放弃-3 (qq.com)

      上上上回地址:强化学习入门到不想放弃-2 (qq.com)

      上上上上回地址:强化学习入门到不想放弃-1 (qq.com)

       这节讲马尔可夫决策和Bellman方程

      其实到这也是基础吧,我之前的前三篇可能基础概念铺垫的不多,大家读起来费劲,所以没说明阅读量,直到我第四篇认真的科普RL的基础,然后还是没什么人阅读

      先说马尔可夫决策的要求:

      1- 得能够检测到理想的状态,才配叫state,别不可测,比如下围棋,你得知道什么是赢什么是输

       2- 可以多次尝试,不允许多次尝试的任务不适合

       3- 这个系统得next-state,比如St+1只和当前的状态St相关,而与再早先的state,比如St-1无关了

       4- 在决策的时候,还和你在state状态下,执行了什么action有关,比如你在下象棋的时候被人家将军,你直接支士

       满足以上要求才能执行马尔可夫决策

       马尔可夫决策的过程包含5个元素:

       S就是我们说的state,这个是一系列的state也就是states

       A是一些列动作actions

       P是大家都知道一般表示概率,比如某一个state 小s它属于states大S,我们列式子就是s∈S, 同理action 属于actions a∈A,  我们在s的状态下执行a,s的状态从s转移到s'的这个概率,我们用P(s'|s,a)来表示,一般管这个叫概率转移矩阵

           R 就是reward fuction,即奖励函数,表示agent或者叫Actor (这块看不懂,看上一节)采取某个action之后得到的瞬时奖励

            γ也就是折扣系数,这个理解起来也不难,比如你做了一个动作不光对当前的state s有影响,也会对之后的state都会有影响,引申的含义就是当前的状态也会影响到之后状态所获得的奖励,但是当下的奖励的重要性一定会大于未来的奖励,γ的取值范围也是0到1(不能是1), 比如0.4,0.6,理论上越近折扣系数应该越高,这个也好理解,列成式子就是

        举个例子

          Agent或者叫Actor的初始状态是s0,选择个动作a0来执行,那么经过概率转移矩阵Psa

之后就是P(s1|s0,a0)得到了s1,之后就是重复这个套路

        下面讲Bellman方程

       1讲Bellman方程之前,先普及状态价值函数

        

       t时刻的状态s就是St  , Ut是t时刻的回报,E自然就是期望了,所以整个式子的意思就是来求从t时间的某一状态s到之后的所有时间点累积的奖励期望回报

       写成上面这个式子的格式可能更好理解一点

       

       从一个t时候的s状态到之后的所有时间点,必然是经过了若干动作,那这个动作的概率分布,我们就称其为策略policy

       而最优价值函数就是 

       其中π一般在深度强化学习里代表Policy网络,这个我们之后讲,这里就理解π即使policy的缩写就可以了

       而最优价值函数的意思就是,求所有的policy下最优的奖励期望(把神经网络的参数训练到最优,让产出的action能给到最优reward)

       而Bellman方程的定义

       把价值函数给分解了,变成当前价值取决于2个因子。1是当前的奖励2是下一步的价值,如下式子所表示

      中括号里加号左边的就是当前s的奖励R,而加号右边的就是下一步的s'价值函数,但是因为是未来的,所以给加了一个折扣因子

      怎么理解这个玩意呢?

      比如说以下的一个状态机,这里面R就代表奖励,但是圆型的状态代表有后续,除非有明确的quit,方形的节点代表终结。

     圆形的有的有一个后续,有的有多个候选选择(概率),不同的action,有不同的奖励得分,比如刷facebook就扣1分-1,比如学习就加10分之类的

     


     比如我们从图右侧的圆圈s4出发,它有2个路径(s3,s5)对吧,概率分别为百分之50,有2个选择:

1- 往上去时study学习,然后得10分,直接终结

2- 往下去时是pub,得1分,但是仍然没法终结,所以在pub之后还有3种可能性,分别是20%概率的去往第一个圆s2,40%概率的去往第二个圆s3,和40%概率又回到原始的第三个圆s4

我们可以从第三个圆形s4的节点出发,简单做一个值函数的累加

首先在当前状态下的两种可能

第一种0.5*10,因为它没有下一个状态了,所以下一个状态的值函数=0

第二种0.5*1+[后面3种状态的值函数概率加乘]  即为0.5*1+0.2*1+0.4*1+0.4*1

到这一步,因为在state到达s2和s3还会有若干的状态

我不想care了,因为之前提过,Bellman方程只和即时奖励和下一个状态值函数相关,和下下个状态无关,但是请别忘记,下一个状态的值函数,也和它的下一个状态的值函数相关,所以其实要一直算到stop或者quit为止,咱们在这就不算了,理解什么意思就可以了

       马尔可夫和bellman方程就解释完了,下节计划是讲Policy gradient

      

熵减AI
科技类博客