0 废话
这篇博客本是我之前自己总结,联系博士生导师时表明自己对强化学习的了解程度的。奈何导师不理我,但是我觉得我总结的还可以,想和广大朋友分享。由于把很多内容揉在了一起,都是按照自己的理解写出来的,而且当时时间比较紧,所以没写参考文献。文中主要写了我很多直观的理解,公式或推导可能不是特别严谨,另外还有很多算法没有写进来。由于我的理解可能会不全面或出现偏差,文中描述不到位或者是错误的地方还请指出,我必虚心学习~
1 RL的整体结构
我将我所理解的部分Reinforcement Learning(RL)算法集中在了一个图中,如图1所示。整体包括两个部分,Agent和Environment,其中,Environment中的Dynamic model是由物理模型所确定的,而Reward Function则是人为设定的,而Agent中的每个部分均为人为设定。Representation Model从输入的Observation中提取State;Expert Policy为模仿学习中的组成部分,表示专家的策略;MPC(Model predicative control)为Model based RL中的重要组成部分,利用模型来寻找最优的动作;Policy function根据状态输出动作;Value function表示状态动作值函数(Q)或者状态值函数(V);Learned reward function为拟合Reward function的函数;Learned dynamic model为拟合Dynamic model(输出为state)的函数;Exploration表示在输出动作基础上增加探索;Action selection是为了兼容不同的算法所添加的。在后文中我将结合图1介绍我所理解的部分RL算法。
2 State 的构建
首先是由Observation到State的过程,如图2所示。由于一般我们假设Agent和Environment的交互过程是一个MDP,而Observation一般是不具备马尔科夫性的,因此强化学习一般会存在一个处理从一系列的Observation中获得具备马尔科夫性的State,我将这个处理过程称为Representation Model,常见的方法为将过去所有的Observation作为State输入(在DQN中,简化为了过去4个时刻的Observation),或使用RNN(LSTM)。使用图像作为输入的一般处理方法为直接使用CNN、Autoencoder或Variational autoencoder等。假设后面所有出现的State均具备马尔科夫性。
3 Model based RL
我们一般按照是否使用Dynamic model(已知的或者学习得到的)将RL分为Model free和 Model based两类。而我则认为Model free RL是Model based RL的特例,在图1中,看上去似乎只有Model based RL,实际上稍作变形便退化为Model free RL,这里我将先介绍Model based RL。
很多Model based RL假设已知Reward function(Cost function)而真实情况可能并不知道,为了更一般化,我假设不知道Reward function和Dynamic model,因此需要拟合,我称之为Learned reward function和Learned dynamic model,并将两者统一称作模型。
Model based RL一般流程可以总结为:收集数据——训练模型——进行规划(Plan)得到最优动作——执行最优动作——策略学习(可选)——收集数据(同第一步,然后重复)。训练模型较为简单,收集真实的State和Reward,使用最小二乘法训练模型。而如何规划则决定了动作的好坏和对环境的探索是否全面,因此该环节格外重要。策略学习的主要目的为在实际工作可以加速输出动作的速度,或在Planning时可以使用,另外可以学习输入为Observation的策略。
说明:后面有较多公式,不想重新打了,所以直接截图了