Skip to main content

Diffusion Policy

Diffusion Policy は、robot control の action sequence を diffusion model として生成する imitation learning method です。Image や state を condition として、未来の action trajectory を denoise しながら生成します。

なぜ diffusion なのか

Robot action は multi-modal です。同じ状態でも、右から掴む、左から掴む、押す、回り込むなど複数の成功行動があります。単純な MSE regression では、複数 mode の平均を出して失敗しやすくなります。

Diffusion model は multi-modal distribution を表現しやすいため、action generation に向いています。

基本構成

Policy は、未来の action sequence at:t+Ha_{t:t+H} を生成し、そのうち最初のいくつかを実行します。これは receding horizon control に近い使い方です。

World model との違い

Diffusion Policy は future state を明示的に予測せず、直接 action を生成します。World model は future state を予測してから action を選びます。

Approach予測対象長所
Diffusion PolicyAction trajectoryMulti-modal action を直接生成できる
World model + planningFuture state / reward反実仮想 planning がしやすい

数式で見る Diffusion Policy

Diffusion Policy は、単一 action ではなく action sequence at:t+H\mathbf{a}_{t:t+H} を denoising diffusion model として生成します。Observation を oto_t、noise step を kk、noisy action sequence を ak\mathbf{a}^{k} とすると、noise prediction loss は次の通りです。

L=Ea,ϵ,k,ot[ϵϵθ(ak,k,ot)2]\mathcal{L}=\mathbb{E}_{\mathbf{a},\epsilon,k,o_t}\left[ \left\|\epsilon-\epsilon_\theta(\mathbf{a}^{k},k,o_t)\right\|^2 \right]

この式の気持ちは、「次の 1 action だけを出すのではなく、短い未来の動作全体を一貫した trajectory として生成する」というものです。

Inference では、Gaussian noise から action sequence を denoise し、最初の数 step だけを実行します。

aKN(0,I),aKaK1a0\mathbf{a}^{K}\sim\mathcal{N}(0,I), \qquad \mathbf{a}^{K}\to\mathbf{a}^{K-1}\to\cdots\to\mathbf{a}^{0}

Receding horizon control と同様に、環境が変わるたびに observation を取り直して再生成するため、closed-loop な robot policy として使えます。

関連ページ

主なソース