无模型强化学习
基于模型强化学习
价值/策略 -> 交互 -> 经验序列 -> 模型学习 -> 模型 -> 规划 -> 价值/策略 ->....
优点:
缺点:
对于一个模型\(\mathcal{M}\)则是代表一个由参数\(\eta\)进行控制的$MDP\mathcal{\langle S, A, P, R \rangle} $
我们假定状态空间\(\mathcal{S}\)和动作空间\(\mathcal{A}\)是已知的
为此一个模型\(\mathcal{M=\langle P_\eta,R_\eta\rangle}\)代表着状态转移概率\(\mathcal{P_\eta\approx P}\)以及回报\(\mathcal{R_\eta\approx R}\)
一般来说假设状态转移以及回报是符合条件性独立的
即:
目标:从经验序列\(\{S_1,A_1,R_2\dots,S_T\}\)估计模型\(\mathcal{M_\eta}\)
显然这是一个监督学习问题:
学习 \(s,a\rightarrow r\)即是回归问题
学习\(s,a\rightarrow s‘\)即是密度估计问题(即是学习密度概率函数或者说分布)
选择一个损失函数,如MSE、KL散度等
寻找参数\(\eta\)以最小化经验误差
模型显然是一个显式的马尔科夫决策过程\(\mathcal{\hat P,\hat R}\)
计算访问每个状态动作对的访问次数\(N(s,a)\)
或者换一种说法
*Planning即是Solving
简易却是强大的规划方法
只用模型来生成样本
从模型中进行采样
通过无模型的强化学习方法去采样,例如说:
基于采样的规划(Sample-Based Planning)一般来说都比较高效
给定非完美的模型\(\mathcal{\langle P_\eta,R_\eta \rangle \neq \langle P,R \rangle}\)
基于模型强化学习的表现决定或者说限制了拟合\(MDP\mathcal{\langle S,A,P_\eta, R_\eta \rangle}\)的最优策略
即是基于模型的强化学习只能跟他估计所用的模型一致
那么当模型不够精确之时,在规划的过程中只能得到一个次优解的策略
方法1:当模型完全出错之时,采用无模型的强化学习
方法2:显式地描述模型的不确定性
我们这里定义两种来源的经验序列
真实序列(Real experience)从环境中进行的取样(真正的MDP)
模拟序列(Simulated experience)从模型中进行的取样的(近似MDP)
无模型强化学习
基于模型强化学习(通过基于采样的规划)
Dyna(pronounce: daina)(二者的融合体)
对所有的\(s\in\mathcal{S}\)以及所有的\(a\in\mathcal{A(s)}\),初始化 \(Q(s,a)\)以及模型\(Model(s,a)\)
一直循环:
\(S\leftarrow\) 目前的状态(非终结态)
\(A\leftarrow\epsilon-greedy(S,Q)\)
执行动作\(A\),得到回报\(R\)以及下一状态\(S‘\)
\(Q(S,A)\leftarrow Q(S,A)+\alpha[R + \gamma\max_a Q(S‘,a)-Q(S,A)]\)
\(Model(S,A) \leftarrow R,S‘\)(假设是确定性的环境)
循环\(n\)次
\(S\leftarrow\) 随机取样过去观测到的状态
\(A\leftarrow\)随机取样在\(S\)中会采取的动作
\(R,S‘\leftarrow Model(S,A)\)
\(Q(S,A) \leftarrow Q(S,A) + \alpha[R + \gamma\max_a Q(S‘,a) - Q(S,A)]\)
其中中间循环\(n\)次也可以看做是思考次数
尤其适合变化性的环境
前向搜索图采用基于采样的规划
通过模型模拟出从现在开始的经验序列
在模拟出来的序列中应用无模型的强化学习
首先基于模型模拟从目前状态开始的经验序列
在模拟出来的序列中应用无模型强化学习(按你喜欢的即可)
给定模型\(\mathcal{M_v}\)以及一个模拟策略\(\pi\)
对于所有动作\(a\in \mathcal{A}\)
然后基于目前状态\(s_t\)(是真实的)去模拟\(K\)个状态
通过均值返回回报去评估每一个动作(蒙特卡罗评估)
选择具有目前最大价值的动作
给定模型\(\mathcal{M_v}\)
通过目前的模拟策略\(\pi\)从目前状态\(s_t\)模拟K步序列
然后构建一个包含(模拟中)访问过的状态以及动作的搜索树
通过从\(s,a\)出发的每一步序列返回的均值返回回报评估状态的\(Q(s,a)\)
在蒙特卡罗树搜索中,模拟策略\(\pi\)是可以被更新改进的
每一次模拟都包含了两部分(入树与出树)
重复(每次循环如此)
然后将蒙特卡罗控制应用在模拟出来的经验序列中
将会收敛于最优的搜索树,\(Q(S,A)\rightarrow q_*(S,A)\)
*从目前状态出发树策略一直下推以取代缺省策略
模拟从目前状态\(s_t\)开始的经验序列
估计动作-价值函数\(Q(s,a)\)
对于每一步模拟,tguo1SARSA去更新动作价值函数
选择动作基于动作价值函数\(Q(s,a)\)
同样Q也适用于函数近似
在Dyna-2之中,智能体存储了两个特征权重的数据集
长期记忆是从真实经验序列通过时序差分学习更新出来的
短期记忆是基于模拟经验序列通过时序差分学习更新出来的
整个价值函数是长期记忆与短期记忆的求和
机器学习 | 强化学习(7) | 融合学习与规划(Integrating Learning and Planning)
原文:https://www.cnblogs.com/uzuki/p/14289998.html