上回的地址:强化学习入门到不想放弃-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