Training Products of Experts by Minimizing Contrastive Divergence

🏷️ "#논문" "#제프리힌턴"

Training Products of Experts by Minimizing Contrastive Divergence

여러 전문가의 의견을 어떻게 합칠까요? 각 전문가의 확률을 곱하고 정규화하면 됩니다. 하지만 이 "전문가 곱"을 어떻게 훈련할까요? Hinton은 최대 우도 추정의 대안으로 대조 발산(Contrastive Divergence)을 제시했습니다. 이것이 RBM 훈련의 핵심 방법이 되어 2010년대 딥러닝을 가능하게 했습니다.

[1] G. E. Hinton, "Training products of experts by minimizing contrastive divergence," Neural Computation, vol. 14, no. 9, pp. 1771–1800, 2002.

배경

2000년대 초, 에너지 기반 모델의 최대 약점은 학습 속도였습니다. 볼츠만 머신 학습에 수천 번의 Gibbs 샘플링이 필요했고 실용적 사용을 가로막았습니다. Hinton은 대조 발산(Contrastive Divergence)을 제안하여 RBM 학습을 수천 배 가속화했습니다.

저자 소개

Geoffrey Hinton은 토론토대에서 CIFAR 신경계산 프로그램을 이끌고 있었습니다. 이 CIFAR 프로그램은 AI 겨울 동안에도 신경망 연구를 지속할 수 있게 한 핵심 재원이었습니다.

요약

기술 스펙: 다항 확률 모델(product model)입니다. 각 전문가(expert)는 이진 은닉 유닛이 제공하는 제약입니다. 전문가들의 확률을 곱해서 합친 분포이며, 에너지 기반 모델(energy-based model) 형태입니다.

핵심 혁신: 대조 발산(Contrastive Divergence, CD) 알고리즘입니다. 최대 우도의 정확한 그래디언트 대신, 데이터 분포와 모델 분포 사이의 차이를 최소화합니다. 몇 번의 Gibbs sampling만으로 충분히 좋은 그래디언트를 얻을 수 있다는 증명입니다.

논문 상세

배경

최대 우도 추정은 강력하지만 비용이 큽니다. 분할 함수(partition function) Z를 계산해야 하는데, 이는 지수적으로 많은 상태에 대한 합입니다.

전문가 곱 모델은 강력하면서도 추론이 쉽습니다. 각 유닛은 독립적으로 활성화를 계산할 수 있습니다. 하지만 학습(가중치 조정)이 어렵습니다. 정확한 최대 우도 그래디언트를 계산하려면 모든 가능한 데이터를 샘플링해야 합니다.

방법론

핵심 아이디어는 대조 발산입니다. 정확한 최대 우도가 아닌 다른 목적함수를 사용합니다.

일반 원리: 최대 우도는 데이터 분포 p_data의 로그 확률을 최대화합니다.

L = log p_model(x)
  = -E(x) - log Z

E(x)는 에너지, Z는 분할 함수입니다. Z의 로그 미분이 문제입니다. 모델 분포에서 샘플을 많이 필요로 합니다.

대조 발산: 데이터와 모델 사이의 "대조"를 최소화합니다.

CD = <-log p_data> - <-log p_model>

첫 번째 항은 데이터의 에너지(쉽게 계산)이고, 두 번째 항은 모델에서 샘플링한 데이터의 에너지입니다. 하지만 모델에서 완전히 수렴할 때까지 샘플링할 필요가 없습니다. 1-5 스텝의 Gibbs sampling만으로 충분한 그래디언트를 얻을 수 있습니다.

구체적으로: 1. 데이터 x를 입력합니다. 2. 은닉 유닛들을 샘플합니다(에너지를 따라). 3. 은닉 상태에서 다시 가시 유닛(visible unit)을 샘플합니다. 4. (선택) 2-3 과정을 몇 번 반복합니다. 5. 원래 데이터와 샘플링된 데이터의 에너지 차이로 가중치를 조정합니다.

결과

RBM(Restricted Boltzmann Machine, 전문가 곱의 특수 경우)이 매우 빠르게 학습했습니다. 원래 Boltzmann 기계는 수천 반복이 필요했는데, CD-1(1 스텝)이나 CD-k(k 스텝)로 몇십 반복만에 수렴했습니다.

실험: 얼굴 인식 데이터에서 RBM이 의미 있는 특징을 빠르게 배웠습니다. 이미지의 일부가 주어졌을 때 나머지를 복원할 수 있었습니다. CD를 사용하면 정확한 최대 우도와 비슷한 성능을 낸다는 경험적 증거입니다.

통계적으로 여러 번 실행했을 때 결과가 안정적이었습니다. CD-1부터 CD-10까지 비교했을 때, 더 많은 스텝이 더 정확하지만 1-3 스텝도 실용적이었습니다.

생각

잘한 점

우아하고 실용적입니다. 이론적 근거가 명확하면서도 계산이 훨씬 빠릅니다. Gibbs sampling 몇 스텝만으로 충분하다는 발견은 뛰어났습니다.

RBM을 실용적으로 만들었습니다. 이 논문 이후로 RBM은 대규모 학습에 사용될 수 있었습니다. Deep Belief Networks도 이 기법 덕분에 가능했습니다.

실험이 명확합니다. CD-1부터 CD-k까지 비교해서, 보편적으로 CD-1이나 CD-3이 좋은 성능을 낸다는 것을 보여줬습니다. 실무자들이 따를 수 있는 가이드를 제시했습니다.

한계

수렴성 증명이 부족합니다. CD가 왜 작동하는지 이론적으로 완전히 이해하지 못했습니다. "대략적으로" 최대 우도에 가깝게 가면서도 더 빠르다는 경험적 관찰이지, 엄밀한 증명이 아닙니다.

CD-k에서 k를 몇으로 정할지 명확한 기준이 없습니다. 보통 1-10이 좋다고 하지만, 문제별로 달라질 수 있습니다. 구조적 가이드가 없습니다.

얼굴 데이터 같은 제한된 도메인에서만 상세히 실험했습니다. 다른 모달리티(텍스트, 소리)나 다른 구조(CNN 같은)에서도 CD가 잘 작동하는지 명확하지 않았습니다. 나중에 증명되지만, 원논문에서는 일반성에 대한 논의가 부족합니다.

은닉 유닛 개수와 네트워크 구조에 대한 탐색도 제한적입니다. 어떤 구조가 최적인지 체계적으로 조사하지 않았습니다.

의의

RBM 훈련의 표준 방법이 되었습니다. 이 논문이 없으면 Deep Belief Networks도, 2010년대 딥러닝 혁명도 없습니다.

2006년 Hinton의 "A fast learning algorithm for deep belief networks"는 이 CD 방법을 여러 계층에 적용한 것입니다. MNIST 분류에서 당시 최고 성능을 달성했고, 딥러닝 부흥의 신호탄이 되었습니다.

확산 모델 같은 현대 생성 모델들도 "데이터와 모델 분포의 차이를 최소화한다"는 대조 발산의 철학을 따릅니다. 정확한 최대 우도 대신, 근사 목적함수를 사용하는 전략이 보편화되었습니다.

에너지 기반 모델이 실용적으로 사용 가능해졌다는 점도 중요합니다. Boltzmann 기계는 이론적으로는 아름답지만 실무에서는 너무 느렸습니다. CD가 그 간격을 메웠습니다.

한계는 후대에 극복되거나 대체되었습니다. 2010년대 후반, 신경망 아키텍처가 RBM 중심에서 CNN, Transformer 중심으로 옮겨갔습니다. RBM의 중요성은 줄었지만, CD의 철학(근사 추론으로 효율성 확보)은 지금도 활용됩니다.

후속 연구 링크

이 논문의 한계는 Hinton의 이후 연구에서 다루어졌습니다: - 이론적 완전성 부족A Fast Learning Algorithm for Deep Belief Nets: CD를 깊은 네트워크에 적용하여 실용성을 입증했습니다 - 제한된 실험 도메인Reducing the Dimensionality of Data with Neural Networks: 차원 축소 등 새로운 응용에 CD 기반 RBM을 활용했습니다