back up与converge

来源:互联网 发布:wifi字典破解软件 编辑:程序博客网 时间:2024/06/05 11:37

RL中的back up是什么意思呢?google了一圈也没搜出来,后来在Sutton的书中找到了。

AI的本质是search,RL可以看成一棵树,每一个node是某一个state或action,每一层表示一个时刻t,则下一层表示t+1.从根,也就是s0,走到target state的叶子结点,就完成了一个episode,每走一步就是一个step,那么back up是什么呢?


Bellman function Vπ(s)表示的是agent在状态s下,以π这个策略,得到的平均累积回报是多少,策略是什么呢?就是在一个状态下应该采取什么action,可以是deterministic,也可以是probabilistic的,因为存在P(s'|s,a),所以才有π(a|s),否则直接定义π(s0)={a0,a1,a2,...,an}即可。不确定性造成了AI的难度。

                                     (式1)

st表示t时刻的状态,st+1表示t时刻,s状态下,执行a后,t+1时刻agent的状态,也就是t+1时刻状态的value会影响t时刻状态的value,这就是backup。

V(s)<-V(s)+α(V(s')-V(s))

用greedy move后的状态的value去update原来state的value,称为backup,原来状态的现在的value和s'的value更相近,

式1就是大名鼎鼎的bellman equation,终极目的就是把它解出来,当然是最快的,矩阵形式:


  (式2)


qπ(s,a)表示的是在(s,a)这个状态,动作对,之后执行π策略得到的累积回报的期望,gamma是衰减因子,好像和value function差不多。

接着讲一下Q learning。

(式3)

式3表示的就是Q learning,和式1的形式很像呀,也可以体现backup,那backup和converge有什么关系呢?

{\displaystyle Q(s_{t},a_{t})\leftarrow \underbrace {Q(s_{t},a_{t})} _{\rm {old~value}}+\underbrace {\alpha _{t}} _{\rm {learning~rate}}\cdot \left(\overbrace {\underbrace {r_{t+1}} _{\rm {reward}}+\underbrace {\gamma } _{\rm {discount~factor}}\cdot \underbrace {\max _{a}Q(s_{t+1},a)} _{\rm {estimate~of~optimal~future~value}}} ^{\rm {learned~value}}-\underbrace {Q(s_{t},a_{t})} _{\rm {old~value}}\right)}(式4)

如果learned value=old value,那么Q value就收敛了。

继续学习一下value iteration和Q learning的关系:

value iteration:


Q learning应该是value iteration的一种,但是Q learning是model free的,也就是不知道转移概率T,应该是现实中大多情况都是model free的,而value iteration是知道转移概率T的。这应该也可以算作Q learning和MDP的区别。

Q learning是RL的一种,RL是P和R都未知,想得到policy,MDP是<S,A,P,R,gamma>都已知。

policy reuse 那篇论文中的实验可能不是严格的MDP,因为它在每一步都引入噪声(x,y coordinate +random value),这个噪声会累积,所以不是Markov.

顺便学习一下policy iteration:


policy iteration 分为两步,先进行policy evaluation,再进行policy improvement。policy evaluation是什么呢?就是第一个公式,在给出policy时,让你求value function。上面用解线性方程的办法,也可以用迭代的办法



那么在reuse past policy的过程中没有进行policy evaluation,因为它本质是value iteration,Q learning。

policy improvement是根据新得到的value function,再得到新的policy。就是policy iteration中的第二个公式。

policy iteration是对policy进行更新,value iteration是对value进行更新;policy iteration循环到policy不变了,value iteration循环到policy is good enough。good enough这个词就很有意思了。他们都属于DP方法。除此之外还可以用线性规划法,MC Tree等等。那他们哪个的收敛速度快呢?

规模比较小的 MDP: 策略一般能够更快地收敛。
规模很大(状态很多)MDP:值迭代比较容易(不用求线性方程组)。

线性规划和动态规划都是精确求解,异步动态规划是近似解法。












0 0