제한 볼츠만 머신 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
63번째 줄: 63번째 줄:
 
제한 볼츠만 머신을 이용한 [[비지도학습]](unsupervised learning)이 있다. 비지도학습은 데이터의 라벨을 학습하는 것이 아니라 입력 데이터만을 가지고 수행하는 작업을 의미한다. 여기서 수행할 작업은 재구성(reconstruction)이다. 데이터를 제한 볼츠만 머신에 입력하고 학습시키면 제한 볼츠만 머신이 데이터를 스스로 재구성할 수 있게 된다. 재구성 과정은 위에서 설명한 과정의 반대 방향으로 진행된다. 은닉층의 값을, 위와 같은 12개의 가중치를 이용해 입력 노드로 전달하고 입력 노드에서는 그 값을 다 더한다. 그리고 거기에 바이어스를 더한 값이 은닉층을 이용해 재구성한 입력이 된다. 이 값은 입력값의 근사치이다. 학습이 일어나기 전에는 가중치를 임의의 값으로 초기화한다. 따라서 이렇게 재구성한 값은 실제 입력값과 많이 다를 수 있다. 재구성한 값과 입력값의 차이는 오차가 된다. 이 오차는 다른 인공 신경망 학습과정과 마찬가지로 백프롭(backprop)된다. 그리고 제한 볼츠만 머신의 학습은 위의 두 과정을 반복하면서 점점 오차를 줄여나간다. 입력 데이터로 은닉층의 값을 추정하는 과정은 <math>w</math>가 주어졌을 때 입력 <math>x</math>에 대한 은닉층 <math>a</math>의 조건부 확률 <math>p(a|x; w)</math>이 된다. 반대로 재구성 단계는 <math>w</math>가 주어졌을 때 은닉층 <math>a</math>에 대한 입력 <math>x</math>의 조건부 확률, 즉 <math>p(a|x; w)</math>를 추정하는 과정이다. 결과적으로 두 추정치는 입력과 은닉층의 결합확률분포 <math>p(x, a)</math>의 추정이다.
 
제한 볼츠만 머신을 이용한 [[비지도학습]](unsupervised learning)이 있다. 비지도학습은 데이터의 라벨을 학습하는 것이 아니라 입력 데이터만을 가지고 수행하는 작업을 의미한다. 여기서 수행할 작업은 재구성(reconstruction)이다. 데이터를 제한 볼츠만 머신에 입력하고 학습시키면 제한 볼츠만 머신이 데이터를 스스로 재구성할 수 있게 된다. 재구성 과정은 위에서 설명한 과정의 반대 방향으로 진행된다. 은닉층의 값을, 위와 같은 12개의 가중치를 이용해 입력 노드로 전달하고 입력 노드에서는 그 값을 다 더한다. 그리고 거기에 바이어스를 더한 값이 은닉층을 이용해 재구성한 입력이 된다. 이 값은 입력값의 근사치이다. 학습이 일어나기 전에는 가중치를 임의의 값으로 초기화한다. 따라서 이렇게 재구성한 값은 실제 입력값과 많이 다를 수 있다. 재구성한 값과 입력값의 차이는 오차가 된다. 이 오차는 다른 인공 신경망 학습과정과 마찬가지로 백프롭(backprop)된다. 그리고 제한 볼츠만 머신의 학습은 위의 두 과정을 반복하면서 점점 오차를 줄여나간다. 입력 데이터로 은닉층의 값을 추정하는 과정은 <math>w</math>가 주어졌을 때 입력 <math>x</math>에 대한 은닉층 <math>a</math>의 조건부 확률 <math>p(a|x; w)</math>이 된다. 반대로 재구성 단계는 <math>w</math>가 주어졌을 때 은닉층 <math>a</math>에 대한 입력 <math>x</math>의 조건부 확률, 즉 <math>p(a|x; w)</math>를 추정하는 과정이다. 결과적으로 두 추정치는 입력과 은닉층의 결합확률분포 <math>p(x, a)</math>의 추정이다.
  
재구성은 회귀나 분류와는 다르다. 재구성은 입력 데이터의 확률 분포를 추정하는 과정, 즉 생성 모델을 학습(generative learning)하는 과정으로, 입력-출력의 관계를 찾는 분류 모델(discriminative learning)과 다르다. 입력 데이터와 재구성한 추정치의 분포가 아래 그림의 <math>p(x)</math>와 <math>q(x)</math>처럼 겹치는 구간이 있지만 완벽하게 일치하지는 않는 경우라고 가정해 보겠다. 제한 볼츠만 머신에서는 두 분포가 얼마나 유사한지 측정하는 방법으로 쿨백-라이블러 발산(Kullback Leibler Divergence)을 사용한다. 두 확률 분포가 겹치지 않는 부분이 있는데, 이를 발산(divergence)이라고 한다. 제한 볼츠만 머신의 최적화는 이 발산이 최소화되도록 하는 알고리즘이. 따라서 최적화는 두 분포를 유사하게 만들어주는 과정이다. 또한 이 최적화 과정은 가중치 <math>w</math>를 맞춰주는 과정이다. 이렇게 가중치가 조절되면 가중치와 입력을 곱한 값인 은닉층의 값도 서서히 변해간다. 결과적으로 은닉층은 입력층을 나타내는 특징값(feature)이 되고, 학습이 잘 된 특징값과 가중치를 이용해 입력층을 근사하면 실제 입력과 유사한 확률 분포가 된다.<ref name="알비엠"></ref>
+
재구성은 회귀나 분류와는 다르다. 재구성은 입력 데이터의 확률 분포를 추정하는 과정, 즉 생성 모델을 학습(generative learning)하는 과정으로, 입력-출력의 관계를 찾는 분류 모델(discriminative learning)과 다르다. 입력 데이터와 재구성한 추정치의 분포가 아래 그림의 <math>p(x)</math>와 <math>q(x)</math>처럼 겹치는 구간이 있지만 완벽하게 일치하지는 않는 경우라고 가정해 보겠다. 제한 볼츠만 머신에서는 두 분포가 얼마나 유사한지 측정하는 방법으로 쿨백-라이블러 발산(Kullback Leibler Divergence)을 사용한다. 두 확률 분포가 겹치지 않는 부분이 있는데, 이를 발산(divergence)이라고 한다. 제한 볼츠만 머신의 최적화는 이 발산이 최소화되도록 하는 알고리즘이. 따라서 최적화는 두 분포를 유사하게 만들어주는 과정이다. 또한 이 최적화 과정은 가중치 <math>w</math>를 맞춰주는 과정입니다. 이렇게 가중치가 조절되면 가중치와 입력을 곱한 값인 은닉층의 값도 서서히 변해간다. 결과적으로 은닉층은 입력층을 나타내는 특징값(feature)이 되고, 학습이 잘 된 특징값과 가중치를 이용해 입력층을 근사하면 실제 입력과 유사한 확률 분포가 된다.<ref name="알비엠"></ref>
  
 
=== 확률 분포 ===
 
=== 확률 분포 ===
75번째 줄: 75번째 줄:
  
 
=== 연속 제한 볼츠만 머신 ===
 
=== 연속 제한 볼츠만 머신 ===
연속 제한 볼츠만 머신(CRBM, continuous RBM)은 입력 값으로 연속적인 값을 사용할 수 있는 제한 볼츠만 머신이다. 연속 제한 볼츠만 머신도 일반적인 제한 볼츠만 머신처럼 컨스트래스티브 다이버전스(constrastive divergence)를 사용하지만 그 형식이 조금 다르다. 연속 제한 볼츠만 머신을 쓰면 이미지 픽셀을 0에서 1 사이의 값으로 바꿔서 처리할 수 있다. 잠시 심층 신경망의 구성 요소를 다시 짚고 넘어가면, 심층신경망은 입력, 계수, 바이어스, 활성함수로 구성되어 있다. 입력은 한 단계 앞에 있던 층에서 (혹은 입력 데이터에서) 받아오는 값이다. 계수(coefficient)는 가중치(weights)라고도 하는데, 말 그대로 입력에 적용되는 가중치이다. 바이어스는 입력의 가중치합에 더해지는 값으로 ‘y 절편’과 비슷하며 노드의 값에 오프셋을 주어서 노드가 활성화되도록 돕는다. 활성함수는 최종적으로 출력에 적용되는 값으로 연산에 비선형성(nonlinearity)을 더한다. 이 네 가지 구성 요소는 층마다 다르게 설정되기도 한다. 연속값을 취하는 제한 볼츠만 머신은 가시층엔 가우시안 함수(Gaussian transformations)를, 은닉층엔 ReLU(rectified linear unit)를 활성함수로 쓴다. 특히 이 설정은 얼굴 이미지 재구성에서 좋은 결과를 보여주었다. 이진값(binary data)를 다루는 경우라면 두 층의 활성 함수도 두 종류의 값만 출력하게 된다. 은닉층에서는 가우시안 활성함수를 잘 쓰지 않는다. 이진값을 가우시안 함수에 넣는 것보다 ReLU 함수를 쓰는 경우가 더 좋은 결과를 보여주기 때문이다.  
+
연속 제한 볼츠만 머신(CRBM, continuous RBM)은 입력 값으로 연속적인 값을 사용할 수 있는 제한 볼츠만 머신입니다. 연속 제한 볼츠만 머신도 일반적인 제한 볼츠만 머신처럼 컨스트래스티브 다이버전스(constrastive divergence)를 사용하지만 그 형식이 조금 다르다. 연속 제한 볼츠만 머신을 쓰면 이미지 픽셀을 0에서 1 사이의 값으로 바꿔서 처리할 수 있다. 잠시 심층 신경망의 구성 요소를 다시 짚고 넘어가면, 심층신경망은 입력, 계수, 바이어스, 활성함수로 구성되어 있다. 입력은 한 단계 앞에 있던 층에서 (혹은 입력 데이터에서) 받아오는 값이다. 계수(coefficient)는 가중치(weights)라고도 하는데, 말 그대로 입력에 적용되는 가중치이다. 바이어스는 입력의 가중치합에 더해지는 값으로 ‘y 절편’과 비슷하며 노드의 값에 오프셋을 주어서 노드가 활성화되도록 돕는다. 활성함수는 최종적으로 출력에 적용되는 값으로 연산에 비선형성(nonlinearity)을 더한다. 이 네 가지 구성 요소는 층마다 다르게 설정되기도 한다. 연속값을 취하는 제한 볼츠만 머신은 가시층엔 가우시안 함수(Gaussian transformations)를, 은닉층엔 ReLU(rectified linear unit)를 활성함수로 쓴다. 특히 이 설정은 얼굴 이미지 재구성에서 좋은 결과를 보여주었다. 이진값(binary data)를 다루는 경우라면 두 층의 활성 함수도 두 종류의 값만 출력하게 된다. 은닉층에서는 가우시안 활성함수를 잘 쓰지 않는다. 이진값을 가우시안 함수에 넣는 것보다 ReLU 함수를 쓰는 경우가 더 좋은 결과를 보여주기 때문이다.  
  
 
{{각주}}
 
{{각주}}

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)