李宏毅深度强化学习- Q-Learning
李宏毅深度强化学习课程 https://www.bilibili.com/video/av24724071
李宏毅深度强化学习笔记(一)Outline
李宏毅深度强化学习笔记(二)Proximal Policy Optimization (PPO)
李宏毅深度强化学习笔记(四)Actor-Critic
李宏毅深度强化学习笔记(五)Sparse Reward
李宏毅深度强化学习笔记(六)Imitation Learning
李宏毅深度强化学习课件
Q-Learning介绍
基本思想
Q-learning – value-base
什么是Critic:
critic并不直接决定采取什么行动,但是会用来衡量一个actor的好坏
critic的输出值取决于被评估的actor
状态价值函数 V π ( s ) V^\pi(s) Vπ(s):
对于actor π \pi π, 给定状态s,期望得到的累积收益,该值取决于状态s和actor π \pi π
如何估计状态价值函数 V π ( s ) V^\pi(s) Vπ(s):
- 基于蒙特卡洛的方法Monte-Carlo (MC)
critic 观察 π \pi π 进行游戏的整个过程, 直到该游戏回合结束再计算累积收益(通过比较期望收益和实际收益G,来训练critic)
Tip: 有时一个游戏回合可能会很长,这个等到游戏回合结束再计算收益的方法训练起来会很慢,因此引入另外一种方法 Temporal-difference(TD) - 时序分差方法Temporal-difference (TD)
时序分差算法计算的是两个状态之间的收益差. (通过比较期望差异与实际差异r之间的差别来训练critic)
MC vs. TD
由于从游戏中获取的收益是一个随机变量,而MC方法是各状态下收益的加总,相对而言,MC方法得到的实际累积收益G的方差会很大.
相比较而言,TD只考虑状态之间的收益差,因此方差较小,但是由于没有从整体收益进行考虑,因此该方法的准确性不能得到保证
状态-行动价值方程 (another critic) Q π ( s , a ) Q^\pi(s, a) Qπ(s,a):
对于给定的actor π \pi π, 在状态s采取行动a预计能够得到的累计收益
Q-Learning:
- 使用一个初始的actor π \pi π 与环境进行互动
- 学习该actor对应的 Q function
- 一定存在另外一个表现更好的actor π ′ \pi' π′ , 用这个更好的actor来替代原来的actor
- 重复上述步骤
更好的 π ′ \pi' π′ 的含义是,对于所有的状态s,一定有 “采取 π ′ \pi' π′获得的状态价值函数不小于 π \pi π得到的状态价值函数 ”,那么 π ′ \pi' π′就是由对Q求argmax返回的actor
Tips:
- π ′ \pi' π