본문 바로가기
Drawing (AI)/DeepLearning

Udemy - 딥러닝의 모든 것(볼츠만 머신) - (1)

by 생각하는 이상훈 2024. 1. 5.
728x90

The Boltzmann Machines

이전까지 다룬 ANN, CNN, RNN, SOM등은 모두 방향성이 있는 모델이라는 점에서 공통점이 있다.

이때 볼츠만 머신은 아래와 같이 방향성이 없다는 점에서 궤를 달리한다. 모든 연결성이 양방향으로 전달될 수 있기에 화살표로 표시되어있지 않은 것을 볼 수 있다.

입력노드를 파란색, 은닉노드를 붉은색으로 나타내면 아래와 같다.

이때 출력층이 없다는 특징을 볼 수 있다. 인공신경망에서 결과를 내보내는 출력층이 없다는 것은 굉장히 특징적인 내용이다.

또한 모든 노드가 전부 연결되어있어 특정한 층이라는 것이 존재하지 않는다.

마지막으로 모든 연결이 양방향성을 갖는다.

위의 세가지 특징이 볼츠만 머신을 특별하게 만드는 요소이다.

 

볼츠만 머신은 입력을 통해 결과를 예측한다기 보다는 그 자체로 state를 만들어내는 과정을 거친다. 입력을 기다리는 것이 아니라 모든 노드에서 각각의 상태를 자체적으로 결정하여 다양한 status를 생성해낸다.

이것이 볼츠만 머신이 결정론적인 모델이 아니라 확률론적 모델이나 생성적 딥러닝 모델이라고 불리는 이유이다.

원자력발전소를 모델링했다고 했을때 정상상태를 feed하여 볼츠만 머신이 해당 상태를 이해하고 나타나게 되면 원자로에 문제가 생겼을때는 어떤식으로 시스템의 상태가 변화되고 상황이 흘러갈지 미리 확인해볼 수도 있게 된다.


EBM(Energy-Based Models)

위는 볼츠만 분포에서 확률을 구하는 식으로 e즉 에너지가 커지면 확률이 줄어드는 것을 볼 수 있다.

이는 엔트로피 이론과도 굉장히 비슷한데 질서도가 높은 상태는 높은 에너지를 요구하고 그러한 상황은 자연상태에서 확률이 매우 낮다는 것이다.

볼츠만 머신에서도 에너지가 가장 낮은 상태를 찾아가는 방식으로 적합한 status를 찾아가는 방식을 취한다.

이 지점이 볼츠만 머신이라고 불리는 이유이자 EBM인 이유이다.


RBM(Restricted Boltzmann Machines)

기존의 볼츠만 머신으로는 실제 세계를 구현하는 것에 어려움이 있어서 아래와 같은 RBM 구조를 이용하기 시작했다.

Hidden Node끼리 연결되지 않고, Visible Node끼리 연결되지 않는다는 점을 제외하고는 똑같은 방식이다.

사용자가 좋아할만한 영화를 추천해주는 추천시스템을 통해 살펴보자.

위와 같이 구성된 머신에 아래와 같이 user가 선호한 영화와 선호하지 않은 영화를 1과 0으로 표현한 데이터를 학습시키게 되면 현재 상태와 영화를 어떻게 추천해야 할지 더욱 잘 이해하게 되는 것이다.

위 데이터에 표시된 Movie3,4,6을 보면 대체로 3을 좋아한사람은 4,6도 좋아하고 3을 싫어하는 사람은 4,6도 싫어한다. 다시말해 3,4,6은 비슷한 계열의 영화일 수 있고 그에 따라 선호도도 비슷하다는 것이다.

조금 더 실질적인 상황을 아래에서 살펴보자.

실제 모델은 drama 장르, 액션 장르, 디카프리오가 출연한 영화와 같은 내용은 모르지만 이해를 위해 그러한 특징을 반영한 노드를 위와 같이 표현했을때 어떤 사람이 매트릭스는 봤지만 선호하지 않고 파이트 클럽은 보지 않았고 포레스트 검프는 봤고 선호하는 것을 묘사하는 것이다.

위의 정보를 토대로 아래오 같이 노드가 활성화된다.

초록으로 점등된 노드는 이 사람이 선호하는 것, 붉게 점등된 노드는 이 사람이 비선호하는 것을 뜻하는 것이다.

이제 Hidden Nodes를 기반으로 아직 평가되지 않은 Fight Club과 The Departed의 특징과 비교하여 결과를 내게된다.


 

728x90