Processing math: 100%
본문 바로가기
딥러닝 개념, 논문

Glow: Generative Flow with Invertible 1 x 1 Convolutions 논문 리뷰

by demi-an 2025. 4. 6.

필자 본인이 아래 논문을 읽으면서 이해가지 않았던 부분을 정리한 내용입니다.

https://arxiv.org/pdf/1807.03039

 

3 page

 

L(D)=1NNi=1logpθ(x(i)) (1)

log likelihood objective → 모든 샘플 (또는 mini-batch)의 확률밀도함수의 값의 곱의 평균

 

 

where ˜x(i)=x(i)+uwith uU(0,a),and c=Mloga where a is determined by the discretization level of the data and M is the dimensionality of x.

u를 더하는 부분 → dequantization 기법, 데이터에 균일한 noise를 추가해서 연속적인 값처럼 만듦. [x, x + a] 안에 균등하게 분포한다고 가정할 수 있게 된다.

c → 데이터에 균일한 noise U(0, a)를 추가했기 때문에 이를 보정하기 위해 넣은 term. p(˜x)=p(x)1aM 부분에서 1aM 부분이 정규화 상수가 되며, log를 씌우면 Mloga 형태가 된다. (다른 normalizing flow 에서도 주로 사용되는 방식)

 

 

Both objectives (eqs. (1) and (2)) measure the expected compression cost in nats or bits;

Shannon entropy와 관련됨, 데이터 전체에 대해 평균적 정보량을 계산하는 것을 의미

Shannon entropy → 어떤 정보를 encoding 하는데 필요한 최소한의 정보량. 동전의 경우는 1 bit, 주사위는 16(log216)62.5849 이므로 약 3 bit가 필요하다.

nats → log의 밑이 e 인 단위

 

 

logpθ(x)=logpθ(z)+log|det(dzdx)| (6)

pθ(x)dx=pθ(z)dz=1

pθ(x)=pθ(z)dzdx

logpθ(x)=logpθ(z)+log|det(dzdx)|

 

 

logpθ(z)+Ki=1log|det(dhidhi1)| (7)

위 식에서 Ki=1log|det(dhidhi1)| term이 들어감으로써 xz 로 한 번에 가지 않고, 사이에 여러 transformation step ( f ) 을 진행한다는 의미를 Loss에 담을 수 있게 된다.