Skip to main content

Autoregressive Flow

Autoregressive Flow は、probability distribution を chain rule によって分解し、各 dimension を過去の dimension に条件づけて modeling する方法です。

Autoregressive factorization

DD 次元の data x=(x1,x2,,xD)x = (x_1, x_2, \dots, x_D) に対して、joint distribution は次のように分解できます。

p(x)=i=1Dp(xix1,,xi1)p(x) = \prod_{i=1}^{D} p(x_i \mid x_1, \dots, x_{i-1})

この構造を使うと、density estimation はしやすくなります。一方で、sampling は dimension ごとに逐次的に行う必要があるため、遅くなりやすいです。

Flow との関係

Autoregressive model は、triangular な Jacobian を持つ transformation として解釈できます。そのため、normalizing flow の一種として扱うことができます。

代表的な model には、次のようなものがあります。

MAF と IAF の違い

Masked Autoregressive Flow(MAF)は、density estimation が速く、sampling が遅い傾向があります。Inverse Autoregressive Flow(IAF)は、その逆で、sampling が速く、density evaluation が遅い傾向があります。

MAF vs IAF

画像出典: Lilian Weng, “Flow-based Deep Generative Models”。MAF と IAF は、forward と inverse のどちらが効率的かという点で対照的です。

関連ページ