免模型预测
两种免模型预测方法:蒙特卡洛方法和时序差分方法
由环境确定的:奖励函数概率
p
(
R
t
+
1
=
r
t
+
1
∣
S
t
=
s
t
,
A
t
=
a
t
)
p(R_{t+1}=r_{t+1}|S_t=s_t,A_t=a_t)
p(Rt+1=rt+1∣St=st,At=at)和状态转移概率
p
(
S
t
+
1
=
s
t
+
1
∣
S
t
=
s
t
,
A
t
=
a
t
)
p(S_{t+1}=s_{t+1}|S_t=s_t,A_t=a_t)
p(St+1=st+1∣St=st,At=at);若上面是已知的,则在这种情况下的算法称为有模型的算法(model based);如果对于智能体来说,环境是未知的,在这种情况下的算的称为免模型算法。
有模型:尝试先学习一个环境模型(利用神经网络和其它机器学习算法建立一个近似的环境模型),即环境的动态【状态转移概率】和奖励【奖励函数概率】,然后通过模拟未来状态来预测哪个动作会导致最大的累积奖励。
优点:可以不与真实环境交互的情况下进行学习,节省实验成本。
缺点:(环境的)模型不完美,或难以学习或计算。
免模型:之间学习特定状态下执行动作的价值或者优化策略,直接从与环境的交互中学习,不需要建立任何预测环境动态的模型。
优点:不需要学习复杂的(环境的)模型。
缺点:需要与真实环境大量交互以收集数据。
预测 | 控制 | |
---|---|---|
目标 | 近似环境的状态价值函数 | 找到一个最优策略 |
内容 | V π ( s ) Q π ( s , a ) V_{\pi}(s)\\Q_{\pi}(s,a) Vπ(s)Qπ(s,a) | 策略评估 策略改进 策略评估\\策略改进 策略评估策略改进 |
近似环境的状态价值函数与环境的状态转移概率等价
蒙特卡洛方法估计
状态价值函数定义:
v
π
(
s
)
=
E
π
(
G
t
∣
S
t
=
s
)
=
E
π
(
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
.
.
.
∣
S
t
=
s
)
v_{\pi}(s)=E_{\pi}(G_t|S_t=s)\\ =E_{\pi}(R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+...|S_t=s)
vπ(s)=Eπ(Gt∣St=s)=Eπ(Rt+1+γRt+2+γ2Rt+3+...∣St=s)
搜集所有从该状态到其它状态的轨迹,计算平均值;但对于状态数量很多的情况下,按照这一方式去计算状态价值函数是不现实的。
蒙特卡洛方法的思路:采样大量的轨迹,对于每条轨迹计算对应状态的回报然后取平均近似,得到经验平均回报(empirical mean return),;根据大数定律,只要采样的轨迹数量足够多,计算出的经验平均回报就能趋近于实际的状态价值函数;局限——只适用于有终止状态的MDP。
首次访问蒙特卡洛方法(FVMC)
1.产生一个回合的轨迹
2.遍历轨迹计算每个状态的回报,只有在第一次遍历到某个状态时会记录并计算对应的回报。
回合增量式方法。无偏性与收敛快
每次访问蒙特卡洛方法(EVMC)
不会忽略统一状态的多个回报
更加精确的预测,计算成本高
更新方式:一种增量式的方法来对状态价值进行估计
G
t
=
a
v
e
r
a
g
e
(
R
e
t
u
r
n
s
(
s
t
)
)
G_t=average(Returns(s_t))
Gt=average(Returns(st))
V
(
s
)
←
V
(
s
)
+
α
[
G
t
−
V
(
s
)
]
V(s)\leftarrow V(s)+\alpha[G_t-V(s)]
V(s)←V(s)+α[Gt−V(s)]