전방전달신경망
전방전달신경망(Feedforward neural network)은 노드 사이의 연결이 순환을 형성하지 않는 인공신경망이다. 신경망 정보가 입력 노드에서 은닉 노드를 거쳐 출력 노드까지 전달 되며 순환 경로가 존재하지 않는 그래프를 형성한다. 다양한 방법의 구조가 존재하는데 이진 구조, 퍼셉트론, 시그모이드 등 여러가지 방법으로 구성할 수 있다.
개요
전방전달신경망은 인공신경망이 고안된 최초의 가장 단순한 형태였다. 이 네트워크에서 정보는 오직 한 방향으로만 이동하며, 입력 노드로부터 숨겨진 노드를 거쳐 출력 노드로 이동한다. 네트워크에는 순환이나 루프가 없다.[1] 일반적인 전방전달신경망의 경우 입력층-은닉층-출력층을 거치는 모형 아키텍쳐를 가지고 있다. 인공신경망은 입력된 독립 변수와 종속 변수의 결합 관계를 나타내는 가중치(w) 도출을 통해 모형을 구축한다. 전방전달신경망의 학습은 가중치(w)의 반복적인 업데이트를 통하여 출력값의 에러를 최소화하는 것을 목표로 한다. 가중치(w) 업데이트는 경사하강법(gradient descent)을 이용하여 에러를 역전파(back propagation)하여 구한다. 그러나, 이 경우 기울기 소실(vanishing gradient) 문제가 발생할 수 있다.[2] 신경망 설계의 주요 예시인 전방전달신경망은 아키텍처가 제한적이다. 신호는 입력 레이어에서 추가 레이어로 이동한다. 전방전달신경망 설계의 몇 가지 예시를 살펴보면 훨씬 더 간단하다. 예를 들어, 단층퍼셉트론 모델에는 하나의 레이어만 있으며 전방향 신호가 레이어에서 개별 노드로 이동한다. 레이어가 더 많은 다층 퍼셉트론 모델도 전방향으로 이동한다. 과학자들이 최초의 인공 신경망을 고안한 이래로 기술 세계는 보다 정교한 모델을 구축하는 데 모든 종류의 진전을 이루었다. 순환 신경망 및 루프 또는 순환을 포함하는 기타 설계뿐만 아니라, 기계 학습 시스템이 시스템을 통해 데이터를 다시 전송하여 기본적으로 최적화하는 역전파와 관련된 모델이 발견되었다. 전방전달신경망은 이러한 유형의 디자인을 포함하지 않으므로 인공신경망을 처음으로 학습하는 데 적합한 고유한 유형의 시스템이다.[3]
종류
단층퍼셉트론
가장 단순한 종류의 신경망은 출력 노드의 단일 계층으로 구성된 단층퍼셉트론(Single-layer Perceptron)이다. 입력은 일련의 중량을 통해 출력에 직접 공급된다. 가중치와 입력물의 산출물의 합은 각 노드에서 계산되며, 값이 어느 정도 임계치(일반적으로 0)를 넘으면 뉴런이 발화하여 활성화 값(일반적으로 1)을 취하고, 그렇지 않으면 비활성화 값(일반적으로 -1)을 취한다. 이와 같은 활성화 기능을 가진 뉴런을 인공 뉴런 또는 선형 임계 단위라고도 한다. 문헌에서 퍼셉트론(Perceptron)이라는 용어는 종종 이러한 단위들 중 하나로 구성된 네트워크를 가리킨다. 비슷한 뉴런은 1940년대에 워렌 맥컬로치와 월터 피츠에 의해 묘사되었다. 단층퍼셉트론은 임계값이 둘 사이에 있는 한 활성화 및 비활성화 상태에 대한 값을 사용하여 수용자를 만들 수 있다. 퍼셉트론즈는 보통 델타 규칙이라고 불리는 간단한 학습 알고리즘에 의해 훈련될 수 있다. 계산된 출력 데이터와 샘플 출력 데이터 사이의 오차를 계산하고 이를 사용하여 가중치에 대한 조정을 만들어 구배 강하 형태를 구현한다.\
단층퍼셉트론은 선형적으로 분리할 수 있는 패턴만 학습할 수 있다. 1969년 퍼셉트론즈(Perceptrons)라는 제목의 유명한 모노그래프에서 마빈 민스키(Marvin Minsky)와 시무어 파퍼트(Symour Papert)는 단층퍼셉트론 네트워크가 XOR 기능을 배우는 것은 불가능하다는 것을 보여 주었다. 하지만 다층퍼셉트론은 어떤 가능성 있는 패턴을 생산할 수 있는 것으로 알려져 있다.
단일 임계값 단위는 계산 능력이 상당히 제한되지만, 병렬 임계값 단위의 네트워크는 실제 숫자의 콤팩트한 간격에서 간격[-1,1]에 이르는 모든 연속 함수에 근사치를 할 수 있다는 것이 입증되었다. 이 결과는 피터 아우어(Peter Aue), 하랄드 버그스티너(Harald Burgsteiner), 볼프강 마아스(Wolfgang Maass)가 기록한 '단일층의 지각자로 구성된 매우 단순한 보편적 근사치를 위한 학습 규칙'에서 찾을 수 있다.
단층 신경망은 단계적 기능 대신 연속적인 출력을 계산할 수 있다. 일반적인 선택은 이른바 로지스틱 함수다.
이 선택으로, 단층 네트워크는 통계적 모델에 널리 사용되는 논리적 회귀 모델과 동일하다. 논리 함수는 S자형 그래프가 그리스 문자 시그마의 최종 소문자 소문자 시그마와 비슷하기 때문에 시그모이드 함수라고 불리는 함수 계열 중 하나이다. 연속적인 파생상품이 있어 백프로포메이션에서 사용할 수 있다. 이 함수는 파생상품이 쉽게 계산되기 때문에 선호된다.
가 위의 미분 방정식을 만족한다는 사실은 체인 룰을 적용하면 쉽게 알 수 있다. 단층 신경망 활성화 기능이 Mod1이라면 이 네트워크는 정확히 하나의 뉴런으로 XOR 문제를 해결할 수 있다.
다층퍼셉트론
다층퍼셉트론은 입력층과 출력층 사이에 하나 이상의 중간층이 존재하는 신경망이다. 네트워크는 입력층, 은닉층, 출력층 방향으로 연결되어 있고, 각 층내의 연결과 출력층에서 입력층으로 직접적 연결이 없다. 이를 전방향(feedforward) 네트워크 또는 순전파라고 한다. 다층퍼셉트론은 단층 퍼셉트론과 유사한 구조를 가지지만, 중간층과 각 구성단위의 입출력 특성을 비선형으로 하여 네트워크 능력을 향상시켜 퍼셉트론의 단점들을 극복했다. 각 층의 네트워크는 다수의 연산 장치로 구성되며, 대개 전방향 방식으로 상호 연결된다. 한 층에 있는 각각의 뉴런은 후속 층의 뉴런으로 연결되도록 지시한다. 많은 애플리케이션에서 이러한 네트워크의 단위는 활성화 함수로써 S자형 함수를 적용한다. 신경망에 대한 보편적 근사치 정리는 실수의 간격을 실제 숫자의 어떤 출력 간격에 매핑하는 모든 연속적 함수를 말한다. 하나의 숨겨진 층을 가진 다층 수용체에 의해 임의로 가깝게 추정될 수 있다. 이 결과는 s자형 함수와 같은 광범위한 활성화 함수를 유지한다. 다층퍼셉트론은 다양한 학습 기법을 사용하며, 가장 인기 있는 것은 역전파이다. 출력 값을 정답을 비교하여 미리 정의된 오류 기능의 값을 계산한다. 다양한 기법에 의해, 그 오류는 네트워크를 통해 다시 공급된다. 이 정보를 이용하여 알고리즘은 오류 함수의 값을 어느 정도 줄이기 위해 각 연결의 가중치를 조정한다. 충분히 많은 훈련 주기를 위해 이 과정을 반복한 후, 네트워크는 대개 계산의 오차가 작은 어떤 상태로 수렴한다. 이 경우에, 네트워크는 특정한 목표 기능을 배웠다고 말할 수 있다. 가중치를 적절하게 조정하기 위해서는 구배 강하라고 하는 비선형 최적화에 대한 일반적인 방법을 적용한다. 이를 위해 네트워크는 네트워크 가중치에 관해서 오류 함수의 파생물을 계산하고, 오류가 감소하도록 (오류 함수의 표면에서 내리막길을 가는 것) 가중치를 변경한다. 이 때문에 역전파는 활성화 기능이 다른 네트워크에서만 적용할 수 있다.
각주
- ↑ Feedforward neural network Wikipedia - https://en.wikipedia.org/wiki/Feedforward_neural_network
- ↑ 찬, 〈FFNN(Feed-forward Neural Network)〉, 《네이버 블로그》, 2018-03-27
- ↑ Feedforward Neural Network Techopedia - https://www.techopedia.com/definition/33266/feedforward-neural-network
참고자료
- Feedforward neural network Wikipedia - https://en.wikipedia.org/wiki/Feedforward_neural_network
- Feedforward Neural Network
Techopedia - https://www.techopedia.com/definition/33266/feedforward-neural-network
- 찬, 〈FFNN(Feed-forward Neural Network)〉, 《네이버 블로그》, 2018-03-27
같이 보기