文章目录
前言
本文是学习周博雷老师的强化学习课程的心得体会。
雷大佬的GItHub
无模型控制
问题
当我们不知道 MDP 模型的情况下,如何优化价值函数,得到最佳的策略。
思路
这里和有模型的控制策略的估计有一个不同是,我们这里使用MC方法来估算Q函数。其余的和无模型的控制是一样的。
大概思路是:初始化一个Q和 π \pi π,然后不停的迭代更新Q和 π \pi π。注意这里与有模型的控制的区别是,我们直接迭代的Q而不是V,(这是因为没有模型)。
方法
On-Policy learning
On-Policy就是使用同一个police,在迭代中不断的更新。
MC
步骤1:通过MC方法估计Q-table;
MC方法的精髓是采样,这里利用 ϵ − G r e e d y E x p l o r a t i o n \epsilon-Greedy Exploration ϵ−GreedyExploration方法进行采样,选取每一步的动作。
步骤2:根据估计出的Q-table改善 π \pi π;
具体步骤如下:
具体算法如下:
Sarsa
sarsa是将control loop中的MC换成TD。
Off-policy learning
Off-policy learning有两个policy,一个探索policy和一个目标policy,我们用探索policy进行采样计算Q,然后用算出的Q来更新目标policy。
优点:
- 可以利用别的方面的策略更新另一个方面的策略,比如将人的运动转移到机器人身上。
- 可以重复利用产生过的policy,节省计算资源。
Q-learning
On-Policy learning 和 Off-policy learning的区别
On-Policy learning:
始终只有一个policy,只是在迭代中不停的更新。
学出的策略比较保守。
Off-policy learning:
这里有一个探索policy和一个目标policy,我们用探索policy进行采样计算Q,然后用算出的Q来更新目标policy。
学出的策略比较激进。
sarsa和Q-learning的区别: