模型预测控制
与 model-free 方法相比,MPC 方法并不构建一个显式的策略,而是根据已知的或习得的环境模型从当前状态 st 开始,对多个候选动作序列进行推演,并选取回报最大的序列的第一个动作来执行:
ΠθMPC(st)=at:t+H∼pθ(⋅)maxEst+1∼p(⋅∣st, at)Est+2∼p(⋅∣st+1, at+1)⋯Est+H∼p(⋅∣sH−1, aH−1)[τ=0∑HγτR(st+τ, at+τ)]
其中 H 为前向推演的长度,pθ(⋅) 为生成候选动作序列的分布。
随机打靶方法
随机打靶方法在生成候选动作序列时直接在动作空间中进行随机采样出 N 条序列,通过比较选出最优动作。
Cross Entropy Method(CEM)
与随机打靶不同,CEM 维护一个带参数的分布,例如 {N(μτ, Στ)}τ=0H−1,并迭代提升分布采样质量:
- 通过分布 {N(μτ, Στ)}τ=0H−1, 采样出 N 条长度为 H 的动作序列 A1, A2, ⋯, AN
- 通过环境模型 P 和 R 对以上动作序列进行 rollout 后筛选出 Ne 条最优的动作序列 A1, A2, ⋯, ANe
- 利用筛选出的最优动作序列对分布参数进行更新:
μτ←Ne1k=1∑Neat+τΣτ←Ne1k=1∑Ne(at+τ−μτ)(at+τ−μτ)⊤
重复若干次以上过程后将动作序列的第一个动作的均值 μ0 作为当前状态要采取的动作。
Probabilistic Ensembles with Trajectory Sampling(PETS)
概率模型
PETS 模型仍然使用 CEM 进行规划控制,同时使用高斯分布来建模状态转移概率:
pθ(st+1∣st, at)=(2π)−ds/2∣Σθ(st, at)∣−1/2exp[−21(st+1−μθ(st, at))⊤Σθ−1(st, at)(st+1−μθ(st, at))]
其中 μθ:Rds×Rda↦Rds 和 Σθ:Rds×Rda↦Rds×ds 是参数化的均值和协方差矩阵。参数的优化目标为:
⇒θminE(s, a)∼DDKL(p(⋅∣s, a) ∥ pθ(⋅∣s, a))=E(s, a)∼DEs′∼p(⋅∣s, a)lnpθ(s′∣s, a)p(s′∣s, a)θmaxE(s, a)∼DEs′∼p(⋅∣s, a)lnpθ(s′∣s, a)≈∣D∣1(s, a, s′)∈D∑lnpθ(s′∣s, a)
其中
lnpθ(s′∣s, a)=−21(s′−μθ(s, a))⊤Σθ−1(s, a)(s′−μθ(s, a))−21ln∣Σθ(s, a)∣−2dsln2π
将优化目标进一步重写为:
θminL(θ)=(s, a, s′)∈D∑(s′−μθ(s, a))⊤Σθ−1(s, a)(s′−μθ(s, a))+ln∣Σθ(s, a)∣
轨迹采样
通过学习得到的拟合环境模型的动态概率模型包含两种不确定性,分别是:
不确定性 |
描述 |
偶然不确定性(aleatoric uncertainty) |
环境动态系统中本身存在的不确定性 |
认知不确定性(epistemic uncertainty) |
训练数据较少导致的认知不足引起的不确定性 |
PETS 为了捕捉认知不确定性,使用真实数据集 D 随机采样的数据 Db 来训练 B 个基模型 pθb(st+1∣st, at)。同时在规划期间做 rollout 时每条轨迹的每个时间步都会从中挑选一个基模型 b(p, t) 进行预测。