[DL] 순방향 신경망(feedforward neural network)

미남로그·2021년 12월 28일
2

딥러닝 교과서

목록 보기
1/15

Feedforward network

순방향 신경망(feedforward neural network)은 다층 퍼셉트론의 다른 이름으로 인공 신경망 모델 중 가장 기본이 되는 모델이다.

순방향 신경망은 Universal Approximation Theorem을 통해 n 차원 공간의 연속 함수를 근사할 수 있다는 것이 증명되었다.

이 정리는 신경망 모델이 아주 복잡한 비선형 분류 문제나 회귀 문제를 어떤 원리로 풀 수 있는지 설명해준다.

다층 퍼셉트론 multi-layer Perceptron은
퍼셉트론을 여러층 쌓은 순방향의 인공 신경망이라 하며, 순방향 신경망이라고도 한다.

순방향 신경망 모델은 데이터가 한 방향으로 전달되는 순방향(feedforward) 연결만을 갖는 구조로 되어 있으며, 퍼셉트론의 연산과 같은 기본 뉴런 연산으로 실행된다.


순방향 신경망의 구조

순방향 신경망은 다음 그림과 같이 뉴런들이 모여 layer를 이루고, 계층이 쌓어 전체 신경망을 이루는 구조이다.

저기서 동그라미가 하나의 인공 뉴런이라 생각하면 된다.


순방향 신경망의 계층 구조

순방향 신경망의 계층은 입력 계층(input layer), 은닉 계층(hidden layer), 출력 계층(output layer)으로 구분된다.

input layer는 데이터를 전달 받고, hidden layer는 데이터의 특징을 추출하고, output layer는 추출된 특징을 기반으로 추론한 결과를 외부에 출력한다.


FC-layer(fully connected layer)

순방향 신경망은 모든 계층이 완전히 연결된 구성을 의미한다.

각 layer에 속한 뉴런이 이전 layer의 모든 뉴런과 연결된 구조를 의미한다.

각 뉴런은 이전 layer에서 출력한 데이터를 동일하게 전달 받기 때문에 같은 입력 데이터에서 뉴런마다 서로 다른 특징을 추출한다.

그렇기 때문에 데이터에 특징(feature)가 많을 수록, 뉴런 수가 충분히 늘어나야 데이터에 내재한 특징을 모두 추출할 수 있다.

각 뉴런에서 추출된 특징은 계층 단위로 출력되어 다음 layer에 전달된다.

neural network에 입력된 데이터는 hidden layer를 거치며 필요한 feature들로 변환되며,

output layer는 가장 추상화된 특징을 이용하여 예측한다.


특징을 추출하는 뉴런 구조

뉴런은 특징 추출을 위해 weight와 activation function을 순차적으로 실행한다.

activation function은 원하는 형태로의 feature 추출을 위해 데이터를 nonlinear적으로 변환하는 과정이다.

뉴런에 입력 데이터(input data)가 들어오면 가중치 weight와 곱해서 합한다.

weight의 경우, 영향이 가장 큰 데이터를 선택하는 역할을 수행한다.

특징을 추출할 때 영향이 가장 큰 데이터에는 큰 가중치를 주고, 영향이 작은 데이터에는 작은 가중치를 갖는다.

여기에 bias를 더하는 이유는 feature들을 공간상 임의의 위치에 표현하기 위해서이다.

순방향 신경망 설계 항목

feedforward neural network을 설계하기 위해서

  1. 모델의 입력
  2. 출력 형태
  3. 활성 함수의 종류
  4. 네트워크 크기

등을 고려해야 한다.

데이터와 신경망 모델의 종류가 결정되면 입력과 출력의 형태는 어느 정도 결정된다.

하지만 모델의 크기나 활성 함수의 종류는 모델이 최적의 성능을 갖도록 탐색해야 하며,

모델 검증 단계에서 하이퍼 파라미터 탐색을 통해 최적의 모델을 찾는 과정이 필요하다.


Reference

🔗 Day1-2 순방향 신경망(Feedforward Network)

profile
미남이 귀엽죠

0개의 댓글