Immersion In Data

AI

[AI] RBM(Restricted Boltzmann Machine)

sungjunminn 2022. 8. 17. 09:53

1. RBM

RBM은 제한된 볼츠만 머신이며, 말 그대로 볼츠만 머신에서 층간 연결을 없앤 형태의 모델이다. 차원 감소, 분류, 선형 회귀 분석, 협업 필터링(collaborative filtering), 특징 값 학습(feature learning) 및 주제 모델링(topic modelling)에 사용할 수 있는 알고리즘이다. RBM은 Generative Model이라고 하는데, ANN, DNN, CNN, RNN 등과 같은 Deterministic Model과는 다른 목표를 가지고 있다. Deterministic Model은 타겟과 가설 간의 차이를 줄여 오차를 줄이는 것을 목표로 한다면, Gernerative Model은 확률밀도함수(probability density function, pdf)를 모델링 하는 것이다. 

 

RBM은 입력층 1개와 은닉층 1개로 구성되어 있으며, 심층 신뢰 신경망(DBN : Deep Belief Network)을 구성하는 요소로 쓰인다. 아래 그림에서 볼 수 있듯이, visible layer(입력층)와 hidden layer(은닉층)으로 구성되어 있고, visible layer와 hidden layer의 각 노드들은 서로 양방향으로 전부 연결되어 있지만, 같은 layer의 노드들끼리는 연결이 제한되어 있다. 이처럼 모델의 이름이 Restricted Boltzmann Machine 제한된 볼츠만 머신으로 된 이유이다. 

 

 

 

2. 훈련과정

1) forward : 입력 값을 내포하는 어떠한 숫자 값으로 번역

 

 

2) backward :  입력 값에 대해 재구성(reconstruct)

 

 

3) 재구성된 값과 원래의 입력 값을 비교하여 평가

 

 

3개의 단계를 입력한 값과 재구성된 값이 최대한 가까워 질 때까지 반복한다. 

(Backward를 통해 샘플링한 데이터와 원래 데이터의 차이를 좁혀가는 방식으로 학습)

RBM을 학습시킨다는 것의 의미는 sampled visible layer의 값이 원래의 visible layer의 값과 같아지는 것이다. 

'AI' 카테고리의 다른 글

[AI] Random Forest  (0) 2022.08.19
[AI] Decision Tree  (0) 2022.08.18
[AI] K-NN(K-Nearest Neighbor)  (0) 2022.08.18
[AI] Logistic Regression  (0) 2022.08.17
[AI] LSTM(Long Short Term Memory)  (0) 2022.08.16