TechNOTE

[GLOW] Affine Coupling Layer 본문

딥러닝, 연구

[GLOW] Affine Coupling Layer

JU1234 2021. 4. 30. 11:26

Normalizing Flow? 

Normalizing Flow 는 invertible한 bijective function을 쌓아서 만드는 Generative model인데, 

Affine coupling layer는 그 flow network를 구성하는 방법중에 하나이다 ㅎㅎ 즉 invertible하고 bijective하다는 뜻. 

그래서 invertible function이 구하기 쉬워야 하고, log determinant를 구하는 과정이 efficient 해야 하는데 이 둘 다에 해당한다. 그래서 어떻게 되나 한번 보자.. ㅎㅎ 

Affine Coupling Layer 

xa,xb=split(x)

m,logs=NN(xa)

xb=m+xaexp(logs)

ˆx=cat(xa,xb)

이렇게 바꿔주는 방식이다. 이렇게 하면 

다음과 같이 jacobian matrix를 구할 수 있는데, 이 upper triangular matrix의 determinant는 대각 원소들의 합이므로 logdet도 쉽게 계산이 가능하다! 

반응형
Comments