15. Restricted Boltzmann Machine — 에너지로 분포를 학습하기
Probabilistic Model 1/1. RBM은 관측 변수와 잠재 변수를 이분 그래프로 연결하고, 에너지 함수로 데이터 분포를 학습하는 생성 모델입니다. 핵심은 좋은 데이터에는 낮은 에너지, 나쁜 재구성에는 높은 에너지를 주도록 파라미터를 조정하는 것입니다. 배경: 확률 공간, 기댓값과 모멘트, 미분과 최적화.
생성 모델의 목표
지도학습 모델은 보통 입력 에서 정답 를 맞추는 함수 를 배웁니다. 반면 생성 모델은 데이터가 어디에 많이 존재하는지, 즉 확률분포 를 배우려 합니다.
분포를 알면 두 가지가 가능해집니다:
- 관측된 데이터가 그럴듯한지 점수를 매길 수 있습니다.
- 그 분포에서 새 샘플을 뽑아낼 수 있습니다.
RBM(Restricted Boltzmann Machine)은 이 목표를 에너지 기반 모델로 풉니다. 어떤 상태의 에너지가 낮을수록 확률이 높고, 에너지가 높을수록 확률이 낮습니다.
Boltzmann Machine에서 무엇을 제한했나
일반 Boltzmann Machine은 여러 노드가 서로 연결된 확률 그래프입니다. 노드는 두 종류로 나눕니다:
- visible unit — 실제로 관측되는 데이터
- hidden unit — 관측되지 않지만 데이터의 latent factor를 설명하는 변수
문제는 모든 노드가 서로 연결되면 조건부분포 계산이 너무 복잡해진다는 점입니다. RBM의 제한(restriction)은 단순합니다:
visible-visible 연결과 hidden-hidden 연결을 없애고, visible-hidden 연결만 남긴다.
그래프가 이분 구조가 되면 같은 층 내부에서는 조건부 독립이 생깁니다. 그래서 가 주어졌을 때 모든 hidden unit을 병렬로 샘플링할 수 있고, 반대로 가 주어졌을 때 모든 visible unit을 병렬로 샘플링할 수 있습니다.
구조와 파라미터
Bernoulli RBM에서는 각 unit이 0 또는 1 값을 갖습니다.
| 기호 | 의미 | 차원 |
|---|---|---|
| visible vector | ||
| hidden vector | ||
| visible bias | ||
| hidden bias | ||
| visible-hidden weight matrix |
는 visible unit 가 켜지기 쉬운 정도를 나타내고, 는 hidden unit 가 켜지기 쉬운 정도를 나타냅니다. 는 와 가 함께 켜질 때 에너지를 얼마나 낮출지 결정합니다.
에너지와 확률
RBM의 에너지는 다음처럼 정의합니다:
이 에너지를 확률로 바꾸면 Boltzmann 분포가 됩니다:
는 partition function입니다. 모든 가능한 조합을 더해야 하므로 정확히 계산하기 어렵습니다. RBM 학습이 까다로운 이유가 바로 이 정규화 상수입니다.
관측 데이터 의 확률은 hidden state를 모두 주변화해서 얻습니다:
이를 free energy로 쓰면
이고 Bernoulli RBM의 free energy는
입니다. 여기서 는 의 번째 행입니다.
조건부분포 — RBM이 계산 가능해지는 지점
RBM의 이분 구조 덕분에 hidden unit들은 가 주어졌을 때 서로 조건부 독립입니다:
반대로 visible unit도 가 주어졌을 때 서로 조건부 독립입니다:
여기서 입니다. 이 두 식이 RBM의 실용성을 만듭니다. 자체는 어렵지만, 와 는 각 unit별 sigmoid로 바로 계산됩니다.
학습 목표 — 데이터의 free energy를 낮추기
RBM은 데이터의 likelihood를 키우도록 학습합니다. 하나의 관측 에 대해 negative log-likelihood의 gradient는 다음 구조를 갖습니다:
첫 항은 positive phase입니다. 실제 데이터 의 free energy를 낮춥니다. 둘째 항은 negative phase입니다. 모델이 스스로 만들어낸 샘플 의 free energy를 상대적으로 높여, 아무 곳에나 확률질량을 퍼뜨리지 못하게 합니다.
문제는 모델 분포 에 대한 기댓값을 정확히 구하기 어렵다는 점입니다. 그래서 샘플링으로 근사합니다.
Contrastive Divergence
Contrastive Divergence(CD)는 짧은 Gibbs chain으로 negative phase를 근사하는 방법입니다.
- 데이터 를 visible layer에 둡니다.
- 를 샘플링합니다.
- 를 샘플링합니다.
- 필요하면 이 과정을 번 반복해 를 얻습니다.
- 의 차이를 줄이는 방향으로 업데이트합니다.
CD-1은 한 번만 왕복합니다. 놀랍게도 많은 초기 응용에서 이 짧은 근사만으로도 유용한 feature를 얻을 수 있었습니다. Hinton의 deep belief network 사전학습(pretraining)에서 RBM이 중요했던 이유도 여기에 있습니다.
RBM의 Gibbs sampling은 Metropolis-Hastings처럼 후보를 만들고 accept/reject하는 방식이 아닙니다. 와 에서 직접 번갈아 샘플링합니다. RBM의 restriction은 바로 이 직접 샘플링을 가능하게 하는 구조입니다.
Autoencoder와 닮았지만 목표가 다르다
RBM의 한 step은 겉보기에는 autoencoder와 비슷합니다:
하지만 해석은 다릅니다.
| 모델 | 중간 표현 | 목표 |
|---|---|---|
| Autoencoder | deterministic code | 재구성 오차 최소화 |
| RBM | stochastic hidden state | 데이터 분포의 likelihood 증가 |
RBM의 재구성은 단순한 복사가 아니라 모델 분포에서 나온 샘플입니다. 그래서 잘 학습된 RBM은 입력을 외우는 대신, 데이터가 놓인 저에너지 영역을 형성합니다.
어디에 쓰였나
RBM은 현대 생성 모델의 주류는 아니지만, 딥러닝 역사에서 중요한 역할을 했습니다.
- 비지도 feature learning — label 없이 hidden representation을 학습
- Deep Belief Network 사전학습 — 층별 RBM 학습으로 깊은 네트워크 초기화
- 협업 필터링 — 사용자-아이템 이진 선호 패턴 모델링
- 에너지 기반 모델의 입문 예제 — partition function, free energy, MCMC 학습의 핵심을 작은 구조에서 보여줌
현재는 VAE, GAN, diffusion model이 생성 모델의 중심이지만, RBM은 "분포를 직접 모델링한다"는 관점과 에너지 기반 학습의 기본 문법을 이해하는 데 여전히 좋은 출발점입니다.
이 페이지에서 기억할 것
- RBM은 visible-hidden 이분 그래프를 가진 에너지 기반 생성 모델입니다.
- 제한 구조 덕분에 와 가 sigmoid 조건부분포로 분해됩니다.
- 이며, 낮은 에너지 상태가 높은 확률을 갖습니다.
- free energy 는 hidden state를 주변화한 visible configuration의 점수입니다.
- Contrastive Divergence는 실제 데이터와 짧은 Gibbs 재구성 샘플의 free energy 차이를 이용해 likelihood gradient를 근사합니다.
참고
- 공돌이의 수학정리노트, Restricted Boltzmann Machine.
시리즈 전체 목차: Math:: 인덱스