赞
踩
上一个话题是直接从经验中学习策略。
之前的都是Model free。agent不需要理解外部环境。
这次直接从经验里面学习模型(Model)并且使用planning去构造一个价值函数或策略。尝试理解外部环境。
把learning和planning 整合成一个体系。
Model大概可以分成两个部分:
agent不知道外部世界
**agent自己模拟一个外部世界。**赋予模型思考和预测的能力。
agent通过experience来构建自己的模型。模型构建成功之后,就可以通过模型产生value/policy
定义: 模型 M M M 是一个 M D P < S , A , P , R > MDP<S,A,P,R> MDP<S,A,P,R>以 η \eta η为参数的表示。
假设状态空间S和动作空间A都是已知的。
那么模型的表示为
M
=
<
P
η
,
R
η
>
M=<P_\eta, R_\eta>
M=<Pη,Rη>,其中分别代表状态转换和奖励转换
P
η
≈
R
P_\eta \approx R
Pη≈R ,
R
η
≈
R
R_\eta \approx R
Rη≈R
S
t
+
1
∼
P
η
(
S
t
+
1
∣
S
t
,
A
t
)
R
t
+
1
=
R
η
(
R
t
+
1
∣
S
t
,
A
t
)
S_{t+1} \sim P_\eta(S_{t+1} | S_t, A_t) \\ R_{t+1} = R_\eta(R_{t+1}|S_t, A_t)
St+1∼Pη(St+1∣St,At)Rt+1=Rη(Rt+1∣St,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
]
\mathbb{P} [S_{t+1}, R_{t+1} | S_t, A_t]= \mathbb{P}[S_{t+1} | S_t, A_t]\mathbb{P}[R_{t+1}|S_t,A_t]
P[St+1,Rt+1∣St,At]=P[St+1∣St,At]P[Rt+1∣St,At]
从经验序列{ S 1 , A 1 , R 2 , S 2 , A 2 , R 3 . . . , S T S_1,A_1,R2, S_2,A_2,R_3...,S_T S1,A1,R2,S2,A2,R3...,ST}学习一个KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲{M}_\eta。
这是一个监督学习的问题:
S
1
,
A
1
→
R
2
,
S
2
.
.
.
S_1, A_1 \rightarrow R_2,S_2 \\ ...
S1,A1→R2,S2...
一共分成两个部分:
选择参数 η \eta η使得最小化损失函数。
给出一个模型KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲{M}_\eta = <P_\…
使用一些算法来解决MDP < S , A , P η , R η > <S,A,P_\eta,R_\eta> <S,A,Pη,Rη>
这些算法是之前所学的:
只用模型产生样本。
然后使用无模型学习方法来学习这些样本。 例如Q-learning / MC control/ Sarsa
这两步可以理解为agent自己的想像。
例子:
过程:
建造模型的好处就是一旦模型创建成功,我们就相当于有无穷的数据可以训练。
如果模型不准确:
那么基于模型的RL算法表现受限制。planning过程将会得到一个次最优策略
解决办法:
Real experience: 来自实际环境交互(True MDP)
Simulated experience: 来自于Model产生的。(approximate MDP)
整合:
算法实现:
Dyna-Q有一个局限性,就是当环境改变,Model不能发现。所以要在Model构建的时候加入探索和额外奖励。这个就是Dyna-Q+
上面所说的Model,是通过一些方法拟合或者用表格表示出来reward和下一个状态的概率密度,也就是整个的MDP。
基于模拟的搜索,是从当前状态开始,通过模型建立一个前向所搜索树,利用model-free方法来学习当前状态这个搜索树的最佳决策。如果使用MC则称为Mote-Carlo Tree Search(MCTS), 如果使用Sarsa算法,则成为TD search。下面详细来解释:
前向搜索算法的思想则不同。他是通过向前看可能发生的各种情况,最后综合来选择最好的动作。在向前看的过程中,会建立一个以当前状态为根节点的搜索树
使用这个思想就不需要求解整个MDP过程,只需要求解从当前状态开始的子MDP过程。
在前向搜索过程中使用的经验是来自于 计划采样的(sample-based planning)
通过Model获得从当前状态开始,采样k个模拟序列
使用无模型算法从获得的序列中学习
给定Model KaTeX parse error: Undefined control sequence: \cal at position 1: \̲c̲a̲l̲ ̲M_v 和模拟策略 π \pi π
对于每个动作的产生,都经历3个过程:
简化版只关注当前状态和行为对应的收获。 不关注模拟采样得到的中间状态和对应行为价值。
采样k个模拟序列
创建一个由已经访问过结点和动作所组成的树
对于树内的每个状态行为价值对,都采用这个式子进行评估
对树的每个节点都计算平均收获来估算价值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。