menu

딥러닝의 기본 개념과 탄생 배경

딥러닝의 기본 개념 

딥러닝의 또 다른 이름은 심층 신경망(Deep Neural Network, DNN)입니다. 이름에서 알 수 있듯이 딥러닝은 뉴런으로 구성된 레이어를 여러 개 연결해서 구성한 네트워크이며, 네트워크를 어떻게 구성하느냐에 따라 보통 NN(Neural Network)으로 불립니다. 대표적인 예로 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network) 등이 있습니다. 이번 장에서는 딥러닝을 이해하는 데 필요한 필수 개념을 배워보겠습니다. 

딥러닝의 탄생 

딥러닝은 인간의 뇌가 생각하는 방식을 머신러닝 알고리즘으로 설계한 것입니다. 과거부터 이 알고리즘은 신경망이라고 불려져 왔습니다. 딥러닝은 오히려 정식 이름이라기보다는 심층 신경망의 별칭에 가깝습니다. 지금은 혼용해서 사용하지만 딥러닝이라는 이름이 범용적으로, 많은 사람들이 아는 이름인 것 같습니다. 이름에서 알 수 있듯이 심층 신경망은 다음과 같은 기본적인 모형을 가지고 있습니다. 마치 뇌 속의 여러 개의 뉴런이 서로 엉거져서 추론을 하는 모양 같습니다. 

위 그림에서 동그라미는 뉴런이고, 여러 뉴런이 일렬로 존재하는 네모 박스를 레이어라고 부릅니다. 뉴런은 때로는 노드라고 불리기도 합니다. 뉴런은 다른 레이어의 뉴런들과 서로 연결되어 영향을 주는데, 각각의 뉴런에 대한 영향 범위를 다르게 하기 위해서 가중치라는 변수가 존재합니다. 보다시피 한 개의 레이어에는 여러 개의 뉴런이 존재할 수 있습니다. 기본적으로 뉴런이 가지고 있는 정보는 가중치와 곱해져서 다음 레이어의 뉴런으로 전파됩니다. 

딥러닝과 머신러닝의 관계 

딥러닝은 머신러닝의 여러 기술 중 하나에 불과합니다. 이전 장에서 다룬 다른 머신러닝 알고 리즘들처럼 딥러닝 역시 데이터를 입력받아 예측을 출력합니다. 단지 이 책에서 딥러닝을 다른 머신러닝과 다르게 하나의 대단원으로 분류한 이유는 딥러닝은 사람의 뇌를 형상화한 머신러닝 알고리즘이라는 기본 개념 안에 뇌가 사물을 이해하는 과정(CNN), 뇌가 문맥을 이해하는 과정(RNN) 등, 각 상황에 따라 뇌가 이해하는 과정을 형상화한 세부적인 딥러닝 알고리즘 역시 깊은 이해를 필요로 하기 때문입니다. 

딥러닝 이름의 유래 

왜 딥러닝이라는 별칭이 생겼을까요? 딥러닝이라는 이름의 유래를 알기 위해 각 레이어에 하나의 노드만 있는 다음 그림을 보겠습니다. 

앞서 설명했듯이, 노드와 가중치의 곱이 다음 레이어로 전파됩니다. 가중치와 노드의 곱을 하나의 함수라고 가정할 경우 두 번째 레이어를 f(x), 세 번째 레이어를 g(f(x)), 마지막 레이어를 h(g(f(x)))라고 간추려 말할 수 있습니다. 이처럼 x라는 입력이 들어왔을 때 결과값을 구하기 위해서는 hg(f(x)))를 계산해야 하고, 그 계산 과정이 함수 안의 함수로 깊게 이어져 있기 때문에 딥러닝이라는 별칭이 생긴 것입니다. 

딥러닝 탄생 배경 

딥러닝이라는 브랜드가 생기기 전에 신경망이라는 기술이 있었고 신경망이 있기 전에 뉴런 연구가 이미 이뤄지고 있었습니다. 오래전 뉴런 하나로 AND 연산이나 OR 연산 등을 해결하는 기술이 탄생했는데, 그 기술의 이름이 바로 퍼셉트론입니다. 퍼셉트론의 구조는 아래 그림과 같습니다.