logo

딥러닝에서 인공신경망(ANN), 심층신경망(DNN), 순방향신경망(FNN)의 뜻과 차이점 📂머신러닝

딥러닝에서 인공신경망(ANN), 심층신경망(DNN), 순방향신경망(FNN)의 뜻과 차이점

개요

인공신경망, 심층신경망, 순방향신경망 등 딥러닝에서 사용되는 용어들에 대해서 정리한다. 이 용어들은 명확한 정의도 없고, 혼용되는 일도 잦아서 입문자가 헷갈리기 쉽지만 사실 다 같은 말이라고 생각해도 좋다.

아래에서 설명하는 단어의 유래나 역사 등에 관련된 내용들은 모두 자료조사를 철저히 해가면서까지 쓴 것은 아니며, 필자의 뇌피셜로 작성되었다.

인공신경망ANN과 심층신경망DNN

레이어활성화함수합성인공신경망artificial neural network (ANN)이라 한다.

심층신경망deep neural network (DNN)이란, 레이어와 활성화함수를 "여러번" 합성한 것을 말한다.

최초로 제안된 ANN은 선형함수계단함수합성함수로 굉장히 간단한 모델이었다. 이를 (단층)퍼셉트론이라 부른다. 후에 제안된 더 발전된 모델은 선형함수와 계단함수를 더 많이 합성시킨 다층퍼셉트론multi layer perceptron (MLP)이다. 이 과정에서 layer, deep과 같은 용어들이 쓰이기 시작힌 것 같다. 이 단어들에 별 뜻은 없고 많이 합성한 것을 시각화하면 layer겹겹이deep 쌓은 것처럼 보이기 때문에 직관적으로 지어진 말이다. 가령 Li:RniRni+1L_{i} : \mathbb{R}^{n_{i}} \to \mathbb{R}^{n_{i+1}}이라 할 때, LiL_{i}들을 여러번 합성한 함수를 시각화하면 다음과 같다.

[x1xn1][y1yn2][z1zn3][v1vnm1][w1wnm] \begin{bmatrix} x_{1} \\ \vdots \\ x_{n_{1}}\end{bmatrix} \mapsto \begin{bmatrix} y_{1} \\ \vdots \\ \vdots \\ y_{n_{2}}\end{bmatrix} \mapsto \begin{bmatrix} z_{1} \\ \vdots \\ \vdots \\ \vdots \\ z_{n_{3}}\end{bmatrix} \mapsto \cdots \mapsto \begin{bmatrix} v_{1} \\ \vdots \\ \vdots \\ v_{n_{m-1}}\end{bmatrix} \mapsto \begin{bmatrix} w_{1} \\ \vdots \\ w_{n_{m}}\end{bmatrix}

그래서 최초에는 한 층 짜리인 ANN과 구분하는 의미에서 DNN이라는 말을 썼겠지만, 이제는 그런 구분이 의미없다. 사실상 같은 말이라 할 수 있다. 또한 신경망 이론 초기에는 DNN이 MLP밖에 없었기 때문에 이 둘은 아마 같은 의미로 사용되었던 것 같다. 과거의 논문들에서 가끔 그런 맥락으로 쓰이는 것을 볼 수 있다. 최근에는 ANN이나 DNN이라고 하면 MLP뿐만 아니라 CNN, GAN, RNN, GNN 등 신경망들을 모두 포함하는 개념으로 쓰인다.

과거: ANN=single layer perceptronDNN=multi layer perceptron \text{ANN}= \text{single layer perceptron} \qquad \text{DNN} = \text{multi layer perceptron}

최근: DNN=ANN={MLP, CNN, GAN, RNN, GNN, } \text{DNN} = \text{ANN} = \left\{ \text{MLP, CNN, GAN, RNN, GNN, }\dots \right\}

과거와 최근이라는 건 각각 20세기, 21세기 정도로 생각하면 되겠다.

다층 퍼셉트론MLP과 완전연결 신경망FCNN

단층 퍼셉트론을 여러번 합성한 것을 다층 퍼셉트론multi-layer perceptron (MLP)이라 한다. 완전 연결 신경망fully connected neural network이란, 완전 연결층활성화함수를 합성한 신경망을 말한다. 이 둘은 같은 신경망을 가리키는 말이다.

순방향신경망FNN

순환신경망(RNN)시계열 데이터를 다루는 신경망들이나 어떤 형태로든 출력이 다시 입력으로 들어가는 신경망들을 제외한 신경망 일체를 순방향신경망feedforward neural network (FNN)이라 한다. 과거에는 신경망의 종류가 많지 않았기 때문에 FNN을 MLP와 같은 의미로 사용했던 것 같고, 지금도 좁은 의미로 사용되는 경우가 있는 것 같다.