아주 작은 Boltzmann 머신 요약
카테고리
데이터 과학/AI
서브카테고리
머신러닝
대상자
- 머신러닝/에너지 기반 모델 연구자, AI 개발자
- 중급 수준의 수학/확률론 이해가 필요
핵심 요약
- 에너지 함수 $ E(v,h) = -\sum_{i,j} w_{ij}v_i h_j - \sum_i b_i v_i - \sum_j c_j h_j $로 확률 분포 정의
- Contrastive Divergence 알고리즘을 통해 가중치/바이어스 업데이트 $ \Delta w_{ij} = \eta(\langle v_i h_j \rangle_{\text{데이터}} - \langle v_i h_j \rangle_{\text{모델}}) $
- Gibbs 샘플링을 통한 모델 기댓값 근사와 에너지 기반 학습 원리 강조
섹션별 세부 요약
1. Boltzmann 머신 구조
- 가시층(visible layer)과 숨겨진층(hidden layer) 간 가중치 행렬 $ W $, 각 층의 바이어스 벡터 $ b, c $ 연결
- 결합 분포 $ P(v,h) = \frac{1}{Z} \exp(-E(v,h)) $, Z는 분할 함수
2. 에너지 최소화와 학습
- 훈련 데이터 우도 최대화: $ \log P(v) = \log \sum_h \exp(-E(v,h)) - \log Z $
- 가중치 편미분: $ \frac{\partial \log P(v)}{\partial w_{ij}} = \langle v_i h_j \rangle_{\text{데이터}} - \langle v_i h_j \rangle_{\text{모델}} $
3. Contrastive Divergence 알고리즘
- 긍정 단계: $ h^{(0)} \sim P(h | v^{(0)}=데이터) $
- 부정 단계: $ k $번 Gibbs 샘플링 반복 ($ v^{(t+1)} \sim P(v|h^{(t)}), h^{(t+1)} \sim P(h|v^{(t)}) $)
- 가중치 업데이트: $ \Delta w_{ij} = \eta(\langle v_i h_j \rangle_{\text{데이터}} - \langle v_i h_j \rangle_{\text{모델}}) $
4. Gibbs 샘플링과 모델 학습
- 모델 분포와 실제 데이터 간 기댓값 차이를 반복적으로 줄여 에너지 기반 학습 수행
- Contrastive Divergence는 계산 효율성 향상의 핵심 기법
결론
- Contrastive Divergence 알고리즘과 Gibbs 샘플링을 활용한 에너지 기반 모델 학습이 Boltzmann 머신의 핵심입니다.
- 에너지 함수와 가중치 업데이트 규칙을 정확히 이해하는 것이 모델 구현의 핵심입니다.