🌘TOG 2022 | ControlVAE: Model-Based Learning of Generative Controllers for Physics-Based Characters
type
status
date
slug
summary
tags
category
icon
password
这篇文献建立在 human motion 的生成任务上,但本篇博文重点总结 ControlVAE 的相关内容,具体的 task 不作为重点。
Basic Elements
- conditional prior distribution
普通的 VAE 一般都会假设 ,即一个与 无关的分布。
这里把 当做条件,可以做到根据当前的 state 来生成不同的 latent variable。
- policy
- world model
- approximate posterior distribution
这里的 是 后验概率 的近似。
不要把它与 搞混淆。
在 inference 的过程中,后验概率是不会被用到的。这对应着普通的 VAE 在做 inference 时,只会用到 decoder,不会用到 encoder。
普通的 VAE encoder 的训练目标是将后验概率 尽可能的接近隐变量的分布 ,而隐变量的分布通常是定义好的,如 。
在这里,由于隐变量的分布 与当前状态 有关,不能被提前定义,所以 要与 共同训练。
Inference
- sampling initial state
- loop
- get latent variable using
- get action from policy model
- update state according to world model
Training
Training process
For each training epoch
- get simulated trajectories using
TrajectoryCollection
the temporary buffer is merged into , replacing the oldest trajectories and keeping the size of smaller that .
- update world model using
TrainWorldModel
- update ControlVAE using
TrainControlVAE
Training loss
increases once every 500 training epochs from 0.01 to 0.1 during the training.
Some Details
- make
- compute
where is a network.
By some math computing, we can make the KL-divergence independent of the