성장通

순방향 신경망 구조 본문

ML&DL/ML DL 기본기

순방향 신경망 구조

백악기작은펭귄 2022. 6. 8. 16:36

순방향 신경망의 구조

순방향 신경망(Feedforward Neural Network, FNN)은 다층 퍼셉트론의 다른 이름으로, 인공 신경망 모델의 가장 기본적인 형태라고 할 수 있다. 순방향 신경망은 데이터 구조에 대한 특별한 가정사항이 없기 때문에 데이터는 서로 독립되어 있다고 가정한다. 이름에서 알 수 있듯이, 데이터가 한 방향으로 전달되는 순방향 연결만을 갖는 모델로, 퍼셉트론의 연산과 같은 기본 뉴런연산으로 실행된다.

 

범용 근사 정리(universal approximation theorem)를 통해 n차원 공간의 연속 함수를 근사할 수 있는 범용 근사기로써의 기능을 할 수 있음이 증명되었는데, 이 정리를 아는 것은 신경망 모델 원리 이해에 기본이 된다.

 

순방향 신경망은 뉴런들이 모여 계층(layer)을 이루고 계층이 쌓여 전체 신경망을 이루는 구조로 되어있다.

순방향 신경망의 구조 (출처: ResearchGate)

 

순방향 신경망의 계층은 크게 입력 계층, 은닉 계층, 출력 계층으로 나눌 수 있다.

 

입력 계층은 외부에서 데이터를 전달 받고, 은닉 계층은 데이터의 특징을 추출하며, 출력 계층은 추출된 특징을 기반으로 추론한 결과를 외부에 출력한다. 대부분의 모델의 경우 입력 계층과 출력 계층을 각각 한 개 씩 가지며, 은닉 계층의 수는 문제의 복잡도에 따라 가변적이다.

 

계층 간에는 연결이 존재하는데, 모든 계층이 전부 연결된 경우를 완전 연결 계층(fully connected layer)라고 부른다. 완전 연결 계층 구조에서 각 뉴런은 이전 계층에서 출력한 데이터를 동일하게 전달 받기 때문에 같은 입력 데이터에서 뉴런마다 서로 다른 특징을 추출한다. 순방향 신경망의 경우 모든 계층이 완전 연결 계층으로 구성된다.

 

뉴런은 데이터에 내재한 특징을 추출하기 위해 가중 합산과 활성 함수를 순차적으로 실행한다. 가중 합산은 추출할 특징에 중요한 영향을 미치는 데이터를 선택하는 과정이며, 활성 함수는 원하는 형태로 특징을 추출하기 위해 데이터를 비선형(non-linear)적으로 변환하는 과정이다.

 

중요한 데이터를 선택하는 가중 합산

뉴런에 입력 데이터 $x^T = (x_1, x_2, ... , x_n)$가 들어오면 가중치 $w^T = (w_1, w_2, ... , w_n)$와 곱해져 가중 합산 연산이 수행된다.

 

$$z = w_1\times x_1 + w_2\times x_2 + ... + w_n*\times _n = w^T\times x + bias$$

 

특징 추출에 영향이 큰 데이터는 큰 가중치를 갖고, 영향이 작은 데이터는 작은 가중치를 가지게 된다. 이때 가중 합산에 더해지는 bias는 특징을 공간상 임의의 위치에 표현하기 위해 더하는 상수값이다. 이게 없으면 특징의 위치는 원점을 지나는 연속 함수로 결정되므로 이를 통해 원점으로부터의 오프셋(offset)을 지정해주는 것이다.

 

비선형 변환을 통해 특징을 추출하는 활성 함수

뉴런에 사용하는 활성 함수의 종류는 다양하다. 그 중 대표적인 것이 ReLU(Rectified Linear Unit) 함수이다. 이 함수는 0 이하의 값은 모두 0으로 취급하고, 그보다 큰 경우에는 해당 값을 출력하는 구간 선형 함수(piecewise linear fuction)이다.

 

ReLU 함수 (출처: ResearchGate)

 

NOTE
구간 선형 함수는 구간별로는 선형이나 각 구간을 연결했을 때는 꺾은선 모양이 되므로 비선형 함수에 해당한다.

 

뉴런의 활성 함수는 데이터를 비선형 변환하여 원하는 형태의 특징을 추출할 수 있게 해준다. 신경망의 계층이 쌓이면서 뉴런의 활성 함수는 여러 단계로 합성되고 신경망이 표현하고자 하는 매우 복잡한 연속 함수나 결정 경계를 이루는 특징을 표현한다. 따라서 뉴런의 활성 함수는 신경망의 기저 함수(basis function)라고 할 수 있다.

'ML&DL > ML DL 기본기' 카테고리의 다른 글

분류와 회귀  (0) 2022.06.22
범용 함수 근사기로서의 신경망  (0) 2022.06.15
딥러닝의 역사  (0) 2022.06.01
지능과 인공 신경망  (0) 2022.05.25
회귀분석  (0) 2021.12.11