코딩 및 기타

ELBO( evidence Lower Bound )

정지홍 2025. 9. 22. 15:33

ELBO 손실함수

  • 'variational inference'이나 'VAE' latent variable모델에서 모델의 최적화에 가장 널리 사용되는 목적함수이다.
    • ELBO는 주로 관측 데이터의 log-likelihood log( pθ(x) )를 직접 계산하기 어렵거나 불가능할 때, 근사 가능한 하한을 최대함으로써 모델을 학습할 수 있게 해준다.
      • likelihood ==> 관측된 데이터들이 특정 확률 분포에 의해 생성되었을 "가능성"을 나타내는 것을 의미한다.
      • log-likelihood ==> likelihood에 log연산을 적용한 값이다.

 

  • ELBO의 정의와 의미
    • ELBO는 '증거 하한'이라는 의미로, log-likelihood의 최소 하한을 뜻한다.
    • log( pθ(x) ) ELBO의 관계가 성립하며, ELBO를 최대화하면 결과적으로 모델이 데이터를 더 잘 설명하도록 학습된다.
    • 모델 학습시에는 음의 ELBO를 최소화한다.
      • ex. Loss(x) = - ELBO

 

 

 

 


log-likelihood는 ELBO의 재구성 항이다.

log-likelihood

  • 왜 log를 취하나??
    • 1. '곱 연산''합 연산'으로 바꾸어서, 계산을 더 단순하게 하기 위함.
    • 2. 수치적으로 매우 작은 값을 계속 곱하면 under-flow가 발생함. 이때 로그를 사용하면 덧셈으로 바꿀수 있어서, 연산이 더 안정적이고 효율적이다.
    • 3. 최대값 or 최솟값을 찾는 과정에서, 미분하기가 훨씬 쉬워짐.

 

  •  최대화의 목적
    • Maximum Likelihood Estimation(MLE)는 다양한 θ값 중에서, log-likelihood가 최대가 되도록 parameter를 찾는것이 목적.
    • 딥러닝에서는 log-likelihood를 최대화하거나, 음수를 붙인 negative log-likelihood를 최소화하는 방식이 일반적.

 

==> log-likelihood는 data가 주어진 model로부터, 생성될 가능성을 log로 변환한 값이다.( log변환 이유는 간편한 계산을 위해서.)

 

 

 

생성형 모델에서 log-likelihood 손실을 사용한다?

  • origin imageencoder로 변환한 뒤에, decoder를 거쳐 다시 복원할 때, "생성된 이미지가 origin image와 얼마나 유사한지"확률적으로 평가한다는 의미.
  • 이 값이 최대화(혹은 음수를 취해서 최소화)가 되는 방향으로 파라미터를 학습한다.
    • 즉, decoder의 출력이 origin image를 잘 모방할수록, likelihood↑ 및  손실↓
      • ex. Loss = - log( pθ( x|z ) ) ..... x is origin image , z is latent vector from encoder.

 


정규화항은 kullback-Leibler divergence , 쿨백-라이블러 발산이다.

'코딩 및 기타' 카테고리의 다른 글

YNet 코드  (0) 2025.10.17
He( kaiming ) 정규분포  (0) 2025.09.26
kullback-Leibler divergence , 쿨백-라이블러 발산  (0) 2025.09.14
VAE , Variational AutoEncoder , CVAE  (0) 2025.09.14
AE , AutoEncoder  (0) 2025.09.14