개념 잡동사니

RBM(제한된 볼츠만 머신, Restricted Boltzmann Machine), DBN(심층신뢰망, Deep Belief Network)

wikys 2026. 4. 12. 09:42

잘난 척을 위한 한 줄 요약

RBM은 입력의 확률분포를 배우는 2층짜리 생성모델이고, DBN은 그런 RBM을 여러 층 쌓아 “층층이 특징을 뽑아내자”는 초기 딥러닝의 대표 아이디어였다.

 

RBM(제한된 볼츠만 머신)과 DBN(심층신뢰망), 왜 한때 딥러닝의 구원투수처럼 불렸을까

먼저, 둘의 관계부터 잡자

RBM과 DBN은 따로 떨어진 개념이 아니다.
아주 거칠게 말하면 DBN은 RBM을 여러 층 쌓아 만든 구조라고 보면 된다. DBN은 여러 개의 잠재변수 층을 가진 생성모델로 설명되며, 각 층을 RBM이나 유사한 비지도 학습 모듈로 층별 학습하는 방식이 핵심이었다.

 

즉, RBM이 “부품”이라면 DBN은 그 부품을 층층이 쌓아 만든 “건물” 같은 느낌이다.
그래서 이 둘은 같이 배워야 훨씬 이해가 쉽다.

 


RBM은 무엇일까?

RBM은 Restricted Boltzmann Machine의 약자다.
이름은 어렵지만 구조는 의외로 단순하다. 기본적으로 입력을 받는 visible layer특징을 표현하는 hidden layer 두 층으로 이루어져 있고, 같은 층 안의 노드끼리는 연결되지 않으며 visible과 hidden 사이만 연결된다. 그래서 “restricted”, 즉 연결이 제한된 볼츠만 머신이라고 부른다. RBM은 입력 데이터의 확률분포를 학습하는 생성 확률 모델(generative stochastic neural network) 로 설명된다.

 

여기서 중요한 건 RBM이 단순 분류기가 아니라는 점이다.
RBM은 “정답 라벨 맞히기”보다 먼저, 입력 데이터가 어떤 구조를 가지는지 스스로 배우는 모델에 가깝다. 그래서 차원 축소, 특징 학습, 추천 시스템, 토픽 모델링 같은 분야에도 한때 활용됐다.

 

왜 2층 구조가 중요할까?

RBM의 visible layer는 우리가 넣는 데이터고, hidden layer는 그 데이터의 숨어 있는 패턴을 압축해 표현한다.
예를 들어 손글씨 이미지를 넣으면, hidden layer는 “이 입력이 어떤 획 구조를 가지는지” 같은 특징을 내부적으로 표현하려고 한다. 이때 같은 층 안 연결이 없기 때문에 계산이 조금 더 단순해지고, hidden과 visible의 조건부 분포를 다루기 쉬워진다.

 


RBM은 어떻게 학습할까?

RBM은 일반적인 완전연결 신경망처럼 바로 역전파만으로 설명되는 모델은 아니다.
기본적으로 에너지 함수와 확률분포를 바탕으로 학습하고, 실제 구현에서는 깁스 샘플링(Gibbs sampling)대조 발산(Contrastive Divergence, CD) 이라는 근사 학습 알고리즘이 자주 쓰인다. 위키피디아와 튜토리얼 논문 모두 RBM 학습에서 contrastive divergence가 대표적이라고 설명한다.

 

쉽게 말하면 이런 느낌이다.

  • 데이터가 들어왔을 때 hidden이 어떻게 반응하는지 본다
  • 다시 그 hidden으로 visible을 복원해 본다
  • 원래 입력과 복원된 입력의 차이를 줄이도록 가중치를 조정한다

 

즉, RBM은 “입력을 잘 설명할 수 있는 내부 표현”을 배우려는 모델이다.
그래서 분류기라기보다 표현 학습기라는 느낌이 더 강하다.

 


DBN은 무엇일까?

DBN은 Deep Belief Network의 약자다.
이름 그대로 여러 은닉층을 가진 깊은 생성모델이다. 일반적으로 여러 층의 latent variables를 가지며, 각 층 사이에는 연결이 있지만 같은 층 안에는 연결이 없는 구조로 설명된다. 핵심은 이 깊은 구조를 한 번에 학습하는 대신, 아래층부터 위층까지 차례로(layer-wise) 학습한다는 데 있다.

 

DBN이 주목받았던 이유는 당시 깊은 신경망을 곧바로 학습시키기 어려웠기 때문이다.
지금은 역전파와 좋은 초기화, ReLU, 배치정규화, 대규모 데이터와 GPU 덕분에 깊은 네트워크를 직접 학습하는 게 훨씬 쉬워졌지만, 2000년대 중반에는 그게 훨씬 까다로웠다. DBN은 이 문제를 층별 사전학습(greedy layer-wise pretraining) 으로 풀어낸 대표 사례였다.

 

DBN은 왜 RBM을 쌓을까?

아이디어는 꽤 직관적이다.

  • 첫 번째 RBM이 입력에서 가장 기초적인 특징을 배운다
  • 그 hidden 표현을 다음 RBM의 입력으로 넘긴다
  • 다음 RBM은 그 위에서 더 추상적인 특징을 배운다
  • 이런 식으로 층층이 특징을 쌓아 올린다

그래서 DBN은 “얕은 특징 → 더 추상적 특징”으로 올라가는 계층적 특징 학습의 초기 상징 같은 모델이었다.

 


왜 한때 그렇게 중요했을까?

DBN은 딥러닝 역사에서 꽤 상징적인 위치를 가진다.
위키피디아와 여러 개요 자료는 DBN의 층별 비지도 사전학습이 초기 딥러닝 부흥의 중요한 계기였다고 설명한다. 특히 Geoffrey Hinton 계열 연구가 2006년 무렵 DBN과 fast learning algorithm을 제시하면서, 깊은 네트워크도 실용적으로 학습할 수 있다는 인식이 강해졌다.

 

그 전까지는 깊은 신경망을 학습시키면 기울기 소실, 최적화 어려움 때문에 성능이 잘 안 나오는 경우가 많았다.
DBN은 “일단 각 층을 비지도 방식으로 미리 잘 만들어 놓고, 그다음 전체를 미세조정하자”는 발상으로 그 문제를 우회했다. 이 때문에 DBN은 단순한 모델이라기보다, 딥러닝을 다시 믿게 만든 방법론으로 기억되는 편이다.

 


RBM과 DBN은 지금도 많이 쓸까?

여기서 현실적인 질문이 나온다.
결론부터 말하면, 지금의 주류 딥러닝에서는 예전만큼 자주 쓰이지 않는다. 여러 최근 개요 자료와 튜토리얼들은 RBM/DBN이 역사적으로 중요하지만, 오늘날 실무의 중심은 CNN, Transformer, 오토인코더 계열, 자기지도학습 쪽으로 넘어갔다고 보는 흐름을 보여 준다.

 

왜 덜 쓰이게 됐을까?

1. 학습이 상대적으로 까다롭다

RBM은 확률모델이고 샘플링과 근사학습이 들어가서, 현대 딥러닝의 직관적인 end-to-end 학습 흐름보다 다루기 까다로운 편이다. contrastive divergence 자체도 근사라는 한계가 있다.

 

2. 더 쉬운 대안들이 많아졌다

오토인코더, 변분오토인코더(VAE), GAN, Transformer 기반 표현학습, 자기지도학습 같은 대안들이 발전하면서, “표현을 잘 배우는 모델”의 선택지가 훨씬 넓어졌다. DBN이 한때 오토인코더의 전신처럼 보였다는 설명도 이런 흐름과 연결된다.

 

3. 하드웨어와 최적화 기법이 좋아졌다

예전에는 깊은 네트워크를 바로 학습시키기 어려워 사전학습이 중요했지만, 지금은 초기화, 활성화 함수, 옵티마이저, GPU 환경이 훨씬 좋아져서 층별 사전학습 의존도가 많이 줄었다. 최근 딥러닝 역사 개요도 2010년대 이후의 주류 전환을 이런 맥락에서 설명한다.

 


그렇다면 왜 지금도 배울 가치가 있을까?

RBM과 DBN은 지금 당장 가장 핫한 모델은 아니지만, 배울 가치는 분명 있다.

 

생성모델의 감각을 익히기 좋다

RBM은 “데이터를 분류하는 모델”이 아니라 “데이터가 어떤 분포를 가지는지 배우는 모델”이라는 감각을 준다.
이건 현대 생성모델을 이해할 때도 꽤 중요한 시야다.

 

딥러닝 역사를 이해하는 데 중요하다

DBN은 왜 “deep”이 어려웠고, 사람들이 그걸 어떻게 우회했는지를 보여 준다.
딥러닝이 갑자기 2012년에 하늘에서 떨어진 게 아니라, RBM/DBN 같은 시도를 거치며 발전했다는 걸 이해하게 해 준다.

 

층별 표현 학습 개념을 체감하게 해 준다

오늘날의 self-supervised learning과는 방식이 다르지만,
“낮은 수준 특징에서 높은 수준 특징으로 올라간다”는 계층적 표현 학습의 감각은 DBN에서 아주 잘 드러난다.

 


자주 헷갈리는 포인트

1. RBM은 일반적인 피드포워드 신경망이 아니다

겉보기엔 층이 두 개라 단순한 MLP처럼 보일 수 있지만, RBM은 확률적 생성모델이고 에너지 기반 모델이라는 점에서 성격이 꽤 다르다.

 

2. DBN과 DNN은 같은 말이 아니다

DBN은 Deep Belief Network이고, DNN은 일반적인 Deep Neural Network를 가리키는 경우가 많다.
이 둘을 같은 의미로 쓰면 헷갈린다. DBN은 훨씬 더 특정한 역사적 모델군이다.

 

3. DBN은 그냥 “깊은 신경망 전체”를 뜻하지 않는다

요즘은 deep learning 모델이 워낙 많아서, DBN을 모든 deep model의 일반명처럼 착각하기 쉽다.
하지만 DBN은 RBM 기반 층별 사전학습을 특징으로 하는 특정 생성모델 구조다.

 


결국 핵심은 이것이다

RBM은 visible layer와 hidden layer로 이루어진 2층짜리 생성 확률모델이고, DBN은 그런 RBM을 여러 층 쌓아 계층적 특징을 단계적으로 배우는 깊은 생성모델이다. 둘 다 지금의 주류 딥러닝에서는 예전만큼 자주 쓰이진 않지만, 초기 딥러닝이 왜 다시 살아났는지, 그리고 “깊은 표현을 어떻게 학습할까”라는 질문에 사람들이 처음 어떻게 답했는지를 보여 주는 아주 중요한 역사적 모델들이다.

 

아주 짧게 정리하면 이렇게 기억하면 된다.

RBM은 한 층에서 패턴을 배우는 생성모델이고, DBN은 그 RBM을 층층이 쌓아 더 깊은 특징을 배우게 만든 초기 딥러닝의 대표 구조다.

 


참고 자료

 


참고 영상

 

- YouTube

 

www.youtube.com

 

- YouTube

 

www.youtube.com

 

- YouTube

 

www.youtube.com

 

- YouTube

 

www.youtube.com

 

반응형