文章目录
前言
前六章接触的都是离散的控制,本章学习连续控制。
一、离散化
1.设控制动作的自由度为d,控制动作就是d为空间的一个子集。离散化的过程就是画一个d维的网格,只考虑网格上的点。这样的缺点就是网格上的点会随d进行指数增长,这会造成指数灾难。
2.小结:仅适合d比较小的连续控制动作
二、DPG
1.DGP定义
1.Deterministic Policy Gradient 确定策略梯度,是一种Actor-Critic方法。
2.可以解决连续控制问题
2.确定策略DGP的训练
2.1、Policy Network a = π(s;θ)
(1)输入:状态s
(2)参数:θ
(3)输出:动作a,a可以是实数也可以是向量。DGP的策略网络输出的是向量。
(4)用DPG训练策略网络:
DPG: ∂ a ∂ θ \frac{∂a}{∂θ} ∂θ∂a· ∂ q ( s , a ; w ) ∂ a \frac{∂q(s,a;w)}{∂a} ∂a∂q(s,a;w)
θ = θ + β· ∂ a ∂ θ \frac{∂a}{∂θ} ∂θ∂a · ∂ q ( s , a ; w ) ∂ a \frac{∂q(s,a;w)}{∂a} ∂a∂q(s,a;w)
2.2、Value Network q(s,a;w)
(1)输入:动作a,状态s
(2)参数:w
(3)输出:对动作好坏的评估qt = q(s,a;w)
(4)用Target Network更新w:
w = w- α · δt · ∂ q ( s , a ; w ) ∂ w \frac{∂q(s,a;w)}{∂w} ∂w∂q(s,a;w)
2.3、Target Network
(1)用π(s;θ-)和q(s,a;w-)计算qt+1,减少自举带来的偏差。
(2)计算TD error:δt = qt - (rt + γ · qt+1)
(3)更新Target Network的参数:
设置超参数φ置于(0,1)之间
w- =φ · w + (1 - φ) · w-
θ- = φ · θ + (1 - φ) · θ-
ps:除了用Target Network,也可以用经验回放或者多步TD target来改进训练
3.随机策略 vs 确定策略
随机策略(Stochastic Policy) | 确定策略(Deterministic Policy) | |
---|---|---|
Policy | π(a|s;θ) | π(s;θ) |
输出 | 动作空间上的概率分布 | 确定的动作向量 |
控制 | 随机性 | 确定性 |
应用 | 离散控制 | 连续控制 |
三、随机策略作连续控制
1.已知:
(1)折扣回报:Ut = Rt + γ·Rt+1 + γ2 · Rt+2 + …
(2)动作价值函数:Qπ(st,at) = IE(Ut|St = st,At = at)
(3)状态价值函数:Vπ(st) = IEA[Qπ(st,A)]
(4)策略梯度:
∂ V π ( s ) ∂ θ \frac{∂V_π(s)}{∂θ}