参考视频:周博磊强化学习纲要
阅读本文前需要对强化学习model-free领域有一定的了解,可以查看我之前的文章:《强化学习实践教学》,《强化学习纲要(周博磊课程)》
之前介绍的算法例如DQN,DDPG,PPO都是**model-free(无模型)**的,这也是比较多人的研究领域,这些算法是智能体直接和环境互动获得数据,不需要拟合环境模型,智能体对环境的认知只能通过和环境不断大量的交互来实现。这样做的优点是通过无数次与环境的交互可以保证智能体得到最优解。往往在游戏这样的没有采样成本的环境中都可以用model-free。
接下来我介绍强化学习的另一个领域model-based(基于模型),在这个领域中,智能体通过与环境进行交互获得数据,根据这些数据对环境进行建模拟合出一个模型,然后智能体根据模型来生成样本并利用RL算法优化自身。一旦模型拟合出来,智能体就可以根据该模型来生成样本,因此智能体和环境直接的交互次数会急剧减少,缺点是拟合的模型往往存在偏差,因此model-based的算法通常不保证能收敛到最优解。但是在现实生活中是需要一定的采样成本的,因此采样效率至关重要,因此model-free是一个提升采样效率的重要方式。
model-based的强化学习算法分为两类,一类是值函数优化(value optimization),一类是策略优化(policy optinmization)。
在model-based RL中不仅仅有原来model-free中的结构,还多了一个model,因此原本在model-free中用来训练价值函数和策略函数的experience有了第二个用处,那就是model learning,拟合出一个适当的环境模型。
环境模型的构成
环境通常由两部分构成,第一就是状态转移矩阵,也就是说在知道现在的状态和采取的动作的情况下,转移到其他各个状态的概率。第二就是奖励函数,在知道现在的状态和采取的动作的情况下,我们可以得到的奖励是多少。
例如在围棋中的规则是十分清楚的,因此状态之间的转移也是十分清楚的,因此能够打败人类的围棋AI AlphaGO也是用model-based强化学习算法得到的。还有一种是物理模型,现实中的物理模型往往有固定的计算公式,也可以轻松得到其状态转移。
通常假定状态转移和奖励函数是相互独立的关系。
环境模型的训练
那么如何训练一个环境使其符合预期呢?
这里我们只需要用监督学习的方法,收集真实环境中的数据 S t , A t → R t + 1 , S t + 1 {S_t,A_t \rightarrow R_{t+1},S_{t+1}} St,A