强化学习 · 2021年12月19日 1

强化学习(一)——算法分类和基础概念

  最近一直在学习强化学习(RL)相关的知识,在学习这个方向的内容中意识到了解宏观体系和认识实现细节其实一样重要。所以这篇长期更新的博客将会从RL算法宏观分类的区别和基础概念出发,沿Q-learning–>DQN–>DDQN的顺序分享。中间不同算法会涉及贪婪策略,TD误差,神经网络,同策略异策略等方面的知识。

  本篇博客默认读者已经对强化学习中智能体(Agent),动作空间(Actions),环境(Enviroment),状态(State),奖励(Reward),马尔可夫过程(Markov process)等概念已经了解。如果对此还不了解,可以查看以下博客内容:中文 英文

  同时强烈推荐郭宪 、 方勇纯老师的《深入浅出强化学习:原理入门》,至少非常适合我。

1. 算法分类

../_images/rl_algorithms_9_15.svg

  上面是OpenAI Spinning UP对RL经典算法的分类图。下面会对橙色方框中的内容和区别进行说明。

  首先跳出这个图表,我们在解决某些环境的所有信息已知问题的时候,往往有RL和规划(如动态规划)两种方案。这两者并不是对立关系,即一个问题可能能够分别用两个方案解决。RL学习中学习Q-learning最经典的环境就是OpenAI Gym提供的悬崖问题(CliffWalking)。可以发现该环境的所有信息包括状态转移函数都是已知的,如果用规划的方案,我们可以用迪杰斯特拉算法(Dijkstra)等寻路算法解决;如果用强化学习我们可以用Q-learning计算Q表的方式解决。

  但是当环境未知的情况下,我们往往用无模型Model-Free和基于模型Model-Base两种思路的RL解决(其中部分Model-Base包含了规划)。

2. Model-Free

  无模型学习的内在逻辑是:既然环境已经是未知的,或者哪怕是已知,智能体也不关心环境内部的实现。此时环境对智能体是不可见的,把环境看作一个可以输出输出的黑盒,仅训练智能体本身的决策方式,流程如下图。

  

在这里插入图片描述

  这个图应该算是强化学习入门必看了,是经典的Model-Free的Q-Learning这一分支的学习流程。智能体通过本身的决策方式作出Action改变环境,新的环境返回旧环境和动作对应的新环境的状态和奖励,可以理解为在Model-Free中环境仅仅是旧环境和动作到状态和奖励的映射,此时根据奖励更新决策函数。而智能体本身的决策方式又分为Q-Learning和Policy Optimization两个思路。

2.1 Q-Learning

  连续或离散环境与离散动作空间结合的问题。我们往往青睐Q-Learning这一分支的方法。其核心是学习值函数(Q函数)来预测Q值,根据Q值再生成策略

3. Model-Base

而对于未知环境,基于模型学习的内在逻辑是:既然环境已经是未知的,我们就去学习这个环境的模型和智能体的决策方式,这样做优点显著,但缺点也很明显,有两个可能的误差来源(环境模型的学习和决策方式的学习)。

  环境已知的Model-Base即1中算法分类树的最右边一支Given the Model,最经典的是DeepMind家的Alphazero。

12.19——————本章未完,尚在更新