当前位置:   article > 正文

《白话强化学习与python》笔记——第二章强化学习的脉络_强化学习算法脉络

强化学习算法脉络

第二章:强化学习的脉络

1.什么是策略:

一般用这样一个表达式来描述:

a =π(s).
  • 1

这里的a指的是动作,s指的是状态,函数π就是用来描述策略的。从形式上看,策略就像一个函数,只要输入一个状态s,就输出一个动作a。

2.什么是模型

用于预测环境中将发生什么的一套描述信息。

3.如何得到一个好的策略:

(1)直接法

在策略函数a=π(s|θ)中,在输入状态s确定的情况下,输出的动作a其实只和后面的参数θ有关。这个θ就是我们在训练智能机器人的时候想要得到的最终的模型参数。

r= R(als)
  • 1

虽然我们可能说不清这个函数中的其他系数是什么,不过在一个确定的环境中,通常在一个确定的状态s下输入一个确定的动作a,就会有得分产生。同时也可以将两个函数进行结合

(2)间接法

我们通常会借助另一个函数–值函数(ValueFunction)来描述并期望尽可能精确地描述这个状态的价值。值函数的表达式可以这样写:

u„(s)=E[R+1+γR 2+γR+з+...|S,=s].
  • 1

v就是价值(Value)的意思。这个表达式的含义也比较清楚:”(s)表示,在策略π确定的情况下,状态s的值为多少(价值为多少的概率;价值越高,状态就越好);在等号的右边是计算方法,E-[R:1+γR+2+2R+3+.S=s」指的是将下个时间片的奖励值、下下个时间片的奖励值、下下下个时间片的奖励值……相加,然后得出一个用于评估这个状态的价值的数学期望值。

4、马可夫决策过程

在这里插入图片描述

(1)状态转移:

马尔可夫决策过程中的环境,需要满足条件

在这里插入图片描述
这个等式的含义是,前一个状态s,到后一个状态St+1的转移概率,不会随着更久以前的状态的加入而改变。如果一个环境中的状态变化满足这样的条件,就可以称状态S是马尔可夫的(或者是满足马尔可夫的)。

(2)策略优化:

①以某种策略开始在环境中做动作,就像我们试着执行那个以“五五开”的概率打伞的策略一样。在这个时候,会得到相应的v(s),当然,也可以得到相应的q(s,a)。
②在一个确定的策略下,得到q(s,a)的值。只要能得到这个值,就一定能在确定的状态s的输入下,从 q(s,a)中找到估值最大的q(s,a)的值。我们还是通过机器人根据天气决定是否打伞的例子来讲解。有两个不同的状态,以及两个不同的动作,所以,表中一共有4个值。如果有n个不同的状态,以及m个不同的动作,就应该有一个nxm的表来保存q(s,a)的值,同时借助这个表输出一个完整的策略–每一次都挑选估值最大的动作作为新的策略,然后再来一次。我们将这个策略命名为π’。
③使用π’ 在环境里做动作,会得到新的v_(s)和q’(s,a),而且比前一个策略π要好(因为每次都会选择比原来的估值大的动作前往估值大的状态)。一个迭代结束后,还会产生"、""这样的策略。只要将这个过程持续下去,总会收敛到最优策略上。

5、Model-Based和Model-Free

(1)Model-Based

是基于模型:在一个环境中各个状态之转换的概率分布描述

(2)规划问题:

规划问题(PlanningProblem)是运筹学的一个分支,是用于解决决策问题的,或者说,是用于在一定的约束条件下得出最优决策的。规划问题常用的套路,要么是解方程组,要么是解不等式组,并试着求出满足限制条件的极大值或者极小值。

(3)Model-Free

理解了 Model-Base 的概念,就可以理解Model-Free 的概念了–Model-Base 的对立面在前面提到过,如果一个问题看起来满足规划问题的条件,那就把它当成规划问题来解决,不需要使用强化学习算法。可是,模型的建立工作由谁来完成呢?如果在环境建立之后没有人去建立模型,我们就不能进行人工智能手段上的策略探索和学习了吗?答案是否定的。事实上,情况恰恰相反:有人帮我们做好模型的情况很少出现。在绝大多数场景中,模型是未知的,至少是未曾精确量化的。怎么办?其实,这才是强化学习希望得到的更具普适性的方式和方法。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/873499
推荐阅读
相关标签
  

闽ICP备14008679号