back up与converge
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有什么关系呢?
(式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:值迭代比较容易(不用求线性方程组)。
线性规划和动态规划都是精确求解,异步动态规划是近似解法。