
ELBO 손실함수
- 'variational inference'이나 'VAE' 등 latent variable모델에서 모델의 최적화에 가장 널리 사용되는 목적함수이다.
- ELBO는 주로 관측 데이터의 log-likelihood log( pθ(x) )를 직접 계산하기 어렵거나 불가능할 때, 근사 가능한 하한을 최대함으로써 모델을 학습할 수 있게 해준다.
- likelihood ==> 관측된 데이터들이 특정 확률 분포에 의해 생성되었을 "가능성"을 나타내는 것을 의미한다.
- log-likelihood ==> likelihood에 log연산을 적용한 값이다.
- ELBO는 주로 관측 데이터의 log-likelihood log( pθ(x) )를 직접 계산하기 어렵거나 불가능할 때, 근사 가능한 하한을 최대함으로써 모델을 학습할 수 있게 해준다.
- ELBO의 정의와 의미
- ELBO는 '증거 하한'이라는 의미로, log-likelihood의 최소 하한을 뜻한다.
- log( pθ(x) ) ≥ ELBO의 관계가 성립하며, ELBO를 최대화하면 결과적으로 모델이 데이터를 더 잘 설명하도록 학습된다.
- 모델 학습시에는 음의 ELBO를 최소화한다.
- ex. Loss(x) = - 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 image를 encoder로 변환한 뒤에, decoder를 거쳐 다시 복원할 때, "생성된 이미지가 origin image와 얼마나 유사한지"확률적으로 평가한다는 의미.
- 이 값이 최대화(혹은 음수를 취해서 최소화)가 되는 방향으로 파라미터를 학습한다.
- 즉, decoder의 출력이 origin image를 잘 모방할수록, likelihood↑ 및 손실↓
- ex. Loss = - log( pθ( x|z ) ) ..... x is origin image , z is latent vector from encoder.
- 즉, decoder의 출력이 origin image를 잘 모방할수록, likelihood↑ 및 손실↓

'코딩 및 기타' 카테고리의 다른 글
| 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 |