Skip to main content

NICE

NICE は Non-linear Independent Components Estimation の略であり、coupling layer を使った初期の flow-based generative model です。

Additive coupling layer

Input xx を二つの部分 x1x_1x2x_2 に分けます。NICE の additive coupling layer は、次のように変換します。

y1=x1y_1 = x_1 y2=x2+m(x1)y_2 = x_2 + m(x_1)

ここで、mm は neural network です。

Inverse

この変換は簡単に invert できます。

x1=y1x_1 = y_1 x2=y2m(y1)x_2 = y_2 - m(y_1)

Jacobian determinant

Additive coupling layer の Jacobian determinant は 11 になります。そのため、log determinant の計算は非常に簡単です。ただし、volume-preserving であるため、表現力には制限があります。

この制限を拡張した model が RealNVP です。

関連ページ