5.5.6 볼츠만 머신
신경망의 한 종류의 모델은 네트워크 상태를 하나의 에너지라고 정의한다. 그리고 에너지가 최소화될 때 네트워크가 이상적인 상태에 도달한다고 생각한다.
따라서 네트워크 훈련이란, 이 에너지 함수를 최소화하는 것을 뜻한다.
볼츠만 머신은 바로 일종의 에너지 기반 모델 energy-based model 이다.
볼츠만 머신은 일종의 재귀 신경망이다.
자주 볼 수 있는 구조는 (a) 에 나와 있고, 뉴런은 가시층과 은닉층, 총 2개로 분리되어 있다. 입력층은 데이터와 입력과 출력을 나타내기 위해 사용되고, 은닉층은 데이터의 내재된 표현이라고 이해할 수 있다. 볼츠만 머신의 뉴런은 모두 부울 형태임에 0, 1 두 값만 취할 수 있다.
상태가 1이면 활성화를 뜻하며, 0이면 억제 상태를 뜻한다.
벡터 s ∈{0,1}^n 으로 n 개 뉴런들의 상태를,
w_ij 로 뉴런 i 와 j 간의 연결 가중치를,
theta_i 로 뉴런 i 의 임곗값을 나타낸다면,
상태 벡터 s 가 대응하는 볼츠만 머신 에너지는 위와 같이 정의된다.
볼츠만 분포는 평형 상태 equilibrium 혹은 평형 분포 stationary distribution 라고도 부른다.
만약 네트워크 중에 신경망이 어떠한 입력값과도 관계없는 순서로 갱신이 진행된다면, 네트워크는 최종적으로 볼츠만 분포에 도달하게 된다.
이때 상태 벡터 s 가 나올 확률은 해당 에너지와 모든 가능한 상태 벡터의 에너지가 결정한다.
볼츠만 머신의 훈련 과정은 각 훈련 샘플을 하나의 상태 벡터라고 간주하고 얻을 수 있는 확률을 최대화하는 것이다. 일반 볼츠만 머신은 하나의 완전연결 그래프이고 네트워크의 훈련 복잡도가 매우 높다.
따라서 현실 문제를 해결하기 쉽지 않다. 일반적으로는 제한된 볼츠만 머신 Restricted Boltzmann Machine, RBM 을 더 많이 사용한다.
제한된 볼츠만 머신은 입력층과 은닉층 사이의 연결만 보존하며, 이는 일반 볼츠만 머신 구조를 하나의 완전한 그래프에서 이분 그래프로 간략화한다.
제한된 볼츠만 머신은 산도비교 Contrastive Divergence, CD 라는 알고리즘을 자주 활용하여 훈련을 진행한다. 만약 네트워크에 d 개의 입력층 뉴런과 q 개의 은닉층 뉴런이 있고, v 와 h 로 각각 입력층와 은닉층 상태 벡터를 나타내게 한다면 같은 층 내에는 연결이 존재하지 않기 때문에 다음 식을 얻을 수 있다.
CD 알고리즘은 각 훈련 샘플 v 에 대해 위 식에 기반하여 은닉층 뉴런 상태의 확률 분포를 계산한다. 그런 다음 해당 확률 분포를 기반으로 샘플링하여 h 를 얻는다. 그리고 식에 기반하여 h 에서 v' 를 생성하고, v' 에서 h' 를 생성한다.
연결 가중치의 갱신 공식