强化学习(十)--学习与规划

我们之前的讲解分为两部分,一个是直接从经验数据中学习值函数,一个是基于策略函数方法,直接从经验数据学习策略。而这节中主要介绍如何从经验数据直接学习模型,通过这个产生一系列模拟数据,在基于这些数据学习最优值函数或者最优策略。
学习和规划是强化学习的两大类方法。学习针对的是环境模型未知的情况下,智能体通过与环境交互,从产生的真实数据直接学习值函数或者策略。由于没有拟合环境模型,所以要想对环境有更加准确的感知,就需要与环境不断的交互,产生大量的数据。而这个交互需要的数据少则几万次,多的话就是几百万的量级,如此多的交互使得无模型强化学习率很低,难以应用到实际物理世界。但是此类算法有一个很好的性质,渐进收敛。也就是说经过无数次的交互,无模型的强化学习总可以得到最优解。
规划指的是智能体不与环境发生交互,而是想办法构建一个环境模型,利用其构建的环境模型产生模拟数据,依此求解值函数或者策略。规划数据基于模型的方法。此类方法可以通过监督学习来拟合模型,模型一旦拟合出来,智能体就可以根据模型来推断智能体从未访问过的状态行为。智能体与环境之间交互次数急剧减少。可见,基于模型的方法效率很高。但是因为在拟合模型会引入偏差,再加上值函数逼近带来的二次误差,所以此方法不能保证渐进收敛。

Dyna

Dyna同时集成了基于模型的规划和无模型的学习。先与环境交互,产生经验数据,第二步通过学习经验数据,构建环境模型。第三步利用模型,产生模拟数据,求取值函数,对行为进行优化。第四步采用优化后的动作与现实环境交互。

模型拟合

已知一个MDP模型可以表示为M=<S,A,P,R>。假定状态空间S和行为空间A已知。则模型M可以进一步简化。M=<Pη,Rη>M=<P_{\eta},R_{\eta}>,其中PηP_{\eta}为状态转换函数,RηR_{\eta}为回报函数,通过上式将M表示为η\eta相关的函数。

St+1Pη(St+1St,At)Rt+1Rη(Rt+1St,At)S_{t+1} \sim P_{\eta}(S_{t+1}|S_t,A_t) \\ R_{t+1} \sim R_{\eta}(R_{t+1}|S_t,A_t) \\

通常假定,状态转移函数和回报函数条件独立

P(st+1,rt+1st,at)=P(st+1st,at)P(rt+1st,at)P(s_{t+1},r_{t+1}|s_t,a_t)=P(s_{t+1}|s_t,a_t)P(r_{t+1}|s_t,a_t)

监督式学习的构建模型

从经验数据中学习模型,假设监督式的训练

s1,a1>r2,s2s2,a2>r3,s3s_1,a_1 -> r_2,s_2 \\ s_2,a_2 -> r_3,s_3 \\

训练集的每一行都是一个状态转换数据。求取状态转换函数PηP_{\eta}的问题是一个密度估计问题。求取回报函数RηR_{\eta}的问题是一个回归问题。选择一个损失函数表示预测值和真实值的差距。采用相应的优化方法。
所有监督学习相关算法都可以用来解决上述两个问题,根据使用算法的不同,可以有如下的模型,查表模型,线性期望模型,线性高斯模型和高斯决策模型和神经网络模型。

需要注意的是学习模型并不是以轨迹为最小的学习单位,而是以时间步作为最小学习单位,一次学习一个状态转换。

利用模型进行优化

理解模型拟合, 规划就简单啦,规划的过程相当于解决一个MDP的个过程。即给定一个模型M求解这个模型,找到基于该模型的最优价值函数,确定给定的状态s下的最优动作a.
模型存储转移概率PηP_{\eta}和回报函数RηR_{\eta}。手机规划过程中,模型不是把这个概率值传递迭代,而是将模型看成环境。利用这个虚拟环境产生状态转换。
有了这些虚拟数据,就可以使用无模型的强化学习方法来学习值函数和策略。

相应算法有Dyna-Q算法、Dyna-Q+算法、Dyna-2算法

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×