强化学习入门笔记(一)——莫烦Python

参考材料

1.强化学习入门课程(英文)https://www.bilibili.com/video/av37295048
2.课程对应知乎讲解https://zhuanlan.zhihu.com/reinforce
3.强化学习(莫烦)https://www.bilibili.com/video/BV13W411Y75P
4.《强化学习入门——从原理到实践》-叶强

莫烦Python强化学习整理

1.Q-Learning
Qlearning 是一个离线学习的算法, 因为里面的max action让Q表的更新可以不基于正在经历的经验。Q-learning也是model-free的算法,是不对环境进行建模的,只从环境中得到反馈然后学习。Q-learning是基于价值的算法,采用单步更新。整个算法就是一直不断更新Q表里的值, 然后再根据新的值来判断要在某个状态采取怎样的行为。
强化学习入门笔记(一)——莫烦Python

2.Sarsa决策
Sarsa的决策部分和Q-Learning一样, 采用的是Q表的形式决策, 所以我们会在Q表中挑选值较大的动作值施加在环境中来换取奖惩. 但是不同的地方在于 Sarsa 的更新方式是不一样的。与Q-Learning选择下一步的最大值相比,Sarsa选择的是下一步真正选择步骤的值。在性能方面,Q-Learning较为冒险,选择多为最近通往成功的道路,而Sarsa较为保守,对于危险等负面效果较为敏感。
Sarsa是在线学习的算法,也是model-free的算法,且基于价值采用单步更新。
强化学习入门笔记(一)——莫烦Python

3.Sarsa(λ)
相比于Sarsa,Sarsa(λ)采用回合更新法,Sarsa(λ)就是更新获取到reward的前n步. λ是在 [0, 1] 之间取值。如果 lambda = 0, Sarsa(λ)就是Sarsa,只更新获取到 reward 前经历的最后一步.如果lambda = 1, Sarsa(λ)更新的是获取到reward前所有经历的步。
强化学习入门笔记(一)——莫烦Python

4.DQN
Q-Learning和Sarsa采用表格的形式存储状态,具有一定的局限性。使用神经网络进行Q值的预测,将状态和动作当成神经网络的输入, 然后经过神经网络分析后得到动作的Q值。或者只输入状态值, 输出所有的动作值, 然后按照 Q learning 的原则, 直接选择拥有最大值的动作当做下一步要做的动作。
DQN相对于Q-Learning,多出以下装饰:1.记忆库(用于重复学习)、2.神经网络计算Q值、3.暂时冻结q_target参数。
强化学习入门笔记(一)——莫烦Python

5.Policy Gradients
Policy Gradients通过奖惩机制进行学习可以在连续区间内挑选动作,是基于动作概率的。而之前的算法是基于值的,只能应对离散型的问题。Policy Gradients接受外部信息(observation),输出具体哪一个行为。Policy Gradient的第一个算法是一种基于整条回合数据的更新, 也叫REINFORCE方法. 这种方法是 policy gradient 的最基本方法
强化学习入门笔记(一)——莫烦Python

6.Actor Critic (演员评判家)
Actor Critic将Q-learning和Policy Gradients的特性进行了综合,Critic学习奖惩机制来对Actor进行指导,而Actor实质是Policy Gradients,根据概率进行动作的选择。
强化学习入门笔记(一)——莫烦Python

Actor Critic还有许多优化形式,如:Deep Deterministic Policy Gradient(DDPG)、Asynchronous Advantage Actor-Critic(A3C)等。

存在问题

1.讲述较为浅显,部分知识一知半解。(尤其对于Policy Gradients和Actor Critic)
2.代码实现部分基础较差,理解较为困难
解决对策:
1.重新寻找更加体系全面的课程,进行系统化的学习
2.观看莫烦Python中针对于Tensorflow编程的课程,提高编程能力。