强化学习是机器学习的子领域之一。智能体(Agent)通过与环境(Environment)互动,来学习采取何种行动(Action)能使其在给定环境中的奖励(Reward)最大化。

马尔可夫决策过程(Markov Decision Process, MDP)

MDP用于解决最优化问题。即对于每个时间节点,当该过程处于某状态时,决策者可采取在该状态下被允许的任意决策,此后下一步系统状态将随机产生,同时回馈给决策者相应的期望值,该状态转移具有马尔可夫性质。 马尔可夫决策过程的核心问题是寻找最优策略组合,即在一系列决策的组合下,决策者将得到最大期望值。

求解最优策略有以下几个著名方法:

Q learning

Q为动作效用函数(action-utility function),用于评价在特定状态下采取某个动作的优劣,可以理解为智能体(Agent)的大脑。 创建一个表格Q-Table。通过它,我们可以为每一个状态(State)上进行的每一个动作(Action)计算出最大的未来奖励(Reward)的期望。

DQN (Deep Q Network)

DeepMind的研究项目,结合了深度学习与纯强化学习。我们可以将状态和动作当成神经网络的输入, 然后经过神经网络分析后得到动作的Q值, 这样我们就没必要在表格中记录Q值, 而是直接使用神经网络生成Q值。

Sarsa(State–action–reward–state–action)

Sarsa和Q-Learning是非常类似的,二者在决策环节都是基于Q表,但是区别在于Sarsa的更新方式不一样。 当Sarsa 和 Q-Learning处在状态s时,均选择可带来最大回报的动作a,这样可到达状态s’。而下一步,Q-Learning会观察在s’上哪个动作会带来最大回报(不会真正执行该动作,仅用来更新Q表),在s’上做决定时, 再基于更新后的Q表选择动作。而Sarsa在状态s’估算的动作也是接下来要执行的动作。

基于二者差异,称Sarsa为On-policy(在线学习),Q-Learning为Off-policy(离线学习)。

Policy Gradients

上面两种方法都是基于值的学习方法,Policy Gradients是一种基于策略的学习方法,网络不会输出Q值,而是直接输出动作或动作的概率。基本原理是通过反馈调整策略,具体来说就是在得到正向奖励时,增加相应的动作的概率;得到负向的奖励时,降低相应动作的概率。

Actor Critic

Actor Critic结合基于值的Q learning和基于策略的Policy Gradients两类强化学习算法。其中Actor决定采取哪种行动,Critic告诉Actor行动怎么样以及如何调整。

参考资料:

https://morvanzhou.github.io/tutorials/machine-learning/reinforcement-learning/

https://www.jiqizhixin.com/articles/2018-04-17-3

https://blog.csdn.net/itplus/article/details/9361915