Boltzmann 머신: 에너지 기반 학습과 Contrastive Divergence 알고리즘

아주 작은 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 머신의 핵심입니다.
  • 에너지 함수가중치 업데이트 규칙을 정확히 이해하는 것이 모델 구현의 핵심입니다.