之前听李宏毅老师的没听懂,,,换一个老师试试,,,
Reinforcement Learning Methods
强化学习方法汇总:
不理解环境(Model-Free RL) | 理解环境(Model-Based RL) |
---|---|
Q Learning、Sarsa、Policy Gradients | 多了一道工序,为现实世界建模,也可以理解为多出了一个虚拟环境 |
根据反馈来判断情况,按部就班,一步一步等待真实事件的反馈 | 可以根据想象来预判断接下来发生的所有事情的情况,根据想象情况选择最好的那一个,并根据情况采取下一步策略 |
基于概率(Policy-Based RL) | 基于价值(Value-Based RL) |
---|---|
RL中最直接的一种 | - |
可通过感官分析所处环境,直接输出下一步所采取的行动的概率,然后根据概率采取行动,所以每种动作都有可能被选中,只是可能性不同 | 输出的是所有动作的价值,会根据最高价值来选择动作,决策部分更为铁定 |
- | 对于连续的动作,此方法是无能为力的 |
Policy Gradients | Q Learning、Sarsa |
[ 特 例 ] Actor-Critic:
结合体 Actor Critic (演员评判家), 它合并了 以值为基础 (比如 Q learning) 和 以动作概率为基础 (比如 Policy Gradients) 两类强化学习算法.
回合更新(Monte-Caelo update) | 单步更新(Temporal-Difference update) |
---|---|
游戏开始 → 游戏结束 → 根据游戏中的每一个转折点进行游戏更新 | 游戏中的每一步都在更新,不用等待游戏的结束 |
基础版Policy Gradients、Monte-Carlo Learning | Q Learning、Sarsa、升级版Policy Gradients |
在线学习(On-Policy) | 离线学习(Off-Policy) |
---|---|
必须我本人在场,并且是本人在边玩边学习 | 可以选择自己玩,也可以选择看着别人玩,通过看着别人玩来学习 |
Sarsa、Sarsa(λ) | Q Learning、Deep Q Network |
补充:
Q-Learning算法的主要思想就是将State与Action构建成一张Q-table来存储Q值,然后根据Q值来选取能够获得最大的收益的动作。
常用RL模块
强化学习很依赖学习环境,不同学习环境的强化学习,可能 RL 的代码就不同。
以下为常用模块:
Numpy, Pandas (必学):用于学习的数据处理
Matplotlib (可学):用来呈现误差曲线
Tkinter (可学):可以自己编写模拟环境
Tensorflow (可学):实现神经网络与强化学习结合
OpenAI gym (可学):提供了现成的模拟环境