대조발산
볼츠만 머신의 학습 방법 중 하나인 대조발산(Contrastive Divergence, CD)은 볼츠만 머신을 효율적으로 학습시키는 방법 중 하나이다. 볼츠만 머신은 에너지 기반 모델로, 시스템의 에너지를 최소화하는 방향으로 학습을 진행한다. 대조발산은 이러한 볼츠만 머신의 학습 과정을 단순화하고 가속화하기 위해 고안된 방법이다.
기본 원리를 보자면 대조발산은 데이터의 분포와 모델의 분포 사이의 차이를 최소화하는 방향으로 모델의 매개변수를 조정한다. 이 과정은 두 단계로 이루어진다.
Positive phase: 실제 훈련 데이터를 사용하여 네트워크의 은닉 노드를 활성화시키고, 이를 기반으로 네트워크의 에너지를 계산한다.
Negative phase: 네트워크가 생성한 샘플(모델 분포에 의해 생성된 데이터)을 사용하여 다시 에너지를 계산한다.
학습 과정에서 이 두 에너지 간의 차이(대조발산)를 이용하여 네트워크의 가중치를 조정한다. 즉, 실제 데이터와 모델이 생성한 데이터 사이의 '발산'을 줄이는 방향으로 학습이 진행된다. 대조발산은 일반적으로 CD-k 알고리즘을 사용하여 구현된다. 여기서 'k'는 모델 샘플링을 위해 Gibbs 샘플링 과정을 반복하는 횟수를 나타낸다. 'k'가 클수록 모델의 분포를 더 정확하게 추정할 수 있지만, 계산 비용이 증가한다.
위 그림과 같이 Loss function의 global minimum을 찾듯 에너지 기반 모델은 시스템의 에너지의 최소점을 찾아가는 과정을 거치는 것이다. 학습 과정에서는 에너지 함수를 조절하여 에너지곡선을 변경한다. 이는 가중치와 편향을 조정함으로써 이루어지며, 이러한 조정을 통해 모델은 데이터의 실제 분포를 더 잘 반영하게 된다. 위의 곡선이 CD1을 거쳐서 조절되면 아래와 같이 변할 수 있다.
Deep Belief Networks
DBN은 아래와 같이 RBM을 여러개 쌓아서 만들어진 구조이다. 추가적으로 맨위의 층을 제외한 아래쪽 계층은 방향성이 존재한다는 특징이 있다.
DBN자체만으로도 굉장히 복잡하고 다양한 연구가 진행되어있기에 이는 따로 논문들을 살펴보기로 하고 우선은 구조를 대략적으로 알아보는 선에서 정리하고자한다.
Deep Boltzmann Machine
우선 DBN과 DBM은 엄연히 다른 구조이다. 볼츠만 머신이 그렇듯 DBM도 무방향성을 보장한다.
'Drawing (AI) > DeepLearning' 카테고리의 다른 글
Udemy - 딥러닝의 모든 것(볼츠만 머신 구축하기) (0) | 2024.01.08 |
---|---|
딥러닝 직접 구현하기 - (오차역전파법) (1) | 2024.01.07 |
Udemy - 딥러닝의 모든 것(볼츠만 머신) - (1) (0) | 2024.01.05 |
Udemy - 딥러닝의 모든 것(SOM)-(2) (1) | 2024.01.03 |
Udemy - 딥러닝의 모든 것(SOM)-(1) (0) | 2023.09.12 |