Key Concepts in RL
- what can RL do
模拟计算机控制机器人完成指令
完成复杂的策略游戏 - Key Concepts and Terminology
略,已学习
Kinds of RL Algorithms
- A Taxonomy of RL Algorithms(分类)
- 介绍最基本的设计选择在如何和怎样学习方面(基于RL)
- 揭露这其中的权衡
- 加入著名的现代算法进入上下文中
Model-Free vs Model-Based RL
有模型的好处是可以提前进行规划从而进行效率的提高
agent无法获得环境的真实情况。最大的挑战是偏差会被利用,从而在模型方面表现较好,而在真实环境中表现较差。
What to Learn
- policies 无论随机还是确定的
- action-value 方法(Q-functions)
- value 函数
- 和/或 环境模型
What to Learn in Model-Free RL
- Policy Optimization
policy 用 π θ ( a ∣ s ) \pi_\theta(a|s) πθ(a∣s)来表示,其中的参数 θ \theta θ可以通过 J ( π θ ) J(\pi_\theta) J(πθ)来梯度上升求得。需要注意的是,更新是在policy的层次上进行,收集信息只能在最新版的policy上,所以有近似函数 V ϕ ( s ) V_\phi(s) Vϕ(s)针对value function V π ( s ) V^\pi(s) Vπ(s)(用于确定如何更新policy)- A2C/A3C 异步方法进行梯度上升
- PPO通过给出每次 J ( π θ ) J(\pi_\theta) J(πθ)需要改变多少来间接梯度上升
- Q-Learning
该方法使用 Q θ ( s , a ) Q_\theta(s,a) Qθ(s,a)来对 Q ∗ ( s , a ) Q^*(s,a) Q∗(s,a)进行最优化,基于bellman equation。由于该方法是脱离policy的,所以每次更新都能随时获取数据进行更新,对应的策略通过 Q ∗ Q^* Q∗和 π ∗ \pi^* π∗来生成。
- DQN
- C51 学习分布通过返回期望 Q ∗ Q^* Q∗的方法
- Trade-offs Between Policy Optimization and Q-Learning(权衡)
policy方法比较直接,所以可以直接得到你想要的内容。而Q-learning就比较间接,所以比较不稳定,但是因为Q-learning可以重复使用数据,所以更加的高效 - Interpolating Between Policy Optimization and Q-Learning(插值)
在policy和Q-learning两个极端中间,有很多算法进行了两边的权衡- DDPG 同时学习一个policy和Q-learning,用一个去优化另一个
- SAC 使用随机policy,正则熵,和一些技巧,来是学习过程平稳,并且在标准基准上比DDPG更优
What to Learn in Model-Based RL
基于模型的方法有许多正交的方法来使用模型
- Background: Pure Planning
使用纯模型的方法进行模型预测,从而进行下一步的action,model-predictive control (MPC)模型预测控制的方法,通过使用已经学习过的value function进行对未来的预期计划和计算- MBMF 在一些标准基准上,对MPC进行基于环境的模型的修改
- Expert Iteration(专家迭代)
使用计划算法生成候选action,通过其现在的policy,生成的action比单纯使用policy的效果要好很多,policy后来升级为产生类似于计划算法生成的action。- ExIt 算法使用这种方式来训练深度神经网络来玩Hex
- AlphaZero 是另一个例子
- Data Augmentation(增强) for Model-Free Methods
要么使用真实经验的虚拟值来更新agent,要么仅使用虚拟经验来更新agent- MBVE 真实经验的虚拟值
- World Models 纯虚拟经验
- Embedding Planning Loops into Policies(嵌入)
关键是policy可以选择怎样和何时使用plan- I2A