볼츠만 머신 [설명] by 바죠

볼츠만 머신 설명 URL


생성모형은 동물 이미지 x들이 가진 특징을 추출해서 데이터에 있는 동물들과 닮은 이미지 x를 생성하는 학습이다. 

위 경사하강법을 통해서 (W,b1,b2)를 업데이트하면 D(P0||P)가 줄어들면서 모형의 분포 P(x)가 데이터의 분포 P0(x)에 점점 가까워지게 된다. 

에너지가 낮은 패턴은 자주 발견된다.

모형을 이용해서 데이터를 저장하게 되면 세 가지 이로움이 생긴다. 

첫째, 데이터의 패턴과 빈도수를 통째로 저장하는 것보다 세 개의 숫자 (W,b1,b2)을 저장하는 것이 훨씬 수월하다. 

둘째, 관찰된 데이터에는 없었던 패턴의 관찰확률을 유추할 수 있다. 가령 x=(0.5,0.5)라는 패턴은 관찰된 적이 없지만, 확률모형은 P(0.5,0.5)3 값을 예측해준다. 

셋째, 이 확률모형을 이용해서 상대적으로 확률이 높은 패턴을 추출할 수 있다. 이것이 바로 생성모형의 원리가 된다.



# calculate the kl divergence
def kl_divergence(p, q):
return sum(p[i] * log2(p[i]/q[i]) for i in range(len(p)))
# calculate the js divergence
def js_divergence(p, q):
m = 0.5 * (p + q)
return 0.5 * kl_divergence(p, m) + 0.5 * kl_divergence(q, m)

핑백

덧글

댓글 입력 영역

최근 포토로그



MathJax