먼저 Perceptron이란 "두뇌의 인지 능력을 모방하도록 만든 인위적인 네트워크"를 의미한다. (Single) Perceptron은 순입력 함수(net input)와 활성 함수(activation function)으로 이루어져 있다. 활성함수는 개념적으로 임계값을 넘어가면 출력하는 함수를 의미한다. Single Perceptron에서는 활성 함수로 항상 step function을 사용한다.
MLP의 구조는 한개 이상의 (single) perceptron으로 구성된 Layer로 구성된다. 하지만 이 Layer 자체에 activation function을 추가하면 하나의 Layer도 하나의 perceptron처럼 동작하는 것을 알 수 있다. 그래서 MLP에서는 이런 Layer를 하나의 perceptron(Node)로 이해한다. Single Perceptron과 달리 activation function으로 다양한 non-linear function을 사용한다.
설명을 위해 MLP에서 사용되는 용어에 대해 먼저 알아보자.
MLP에서 입력에 가까운 층을 아래, 출력에 가까운 층을 위라고 설명한다. 그래서 그림으로 나타낼 때도 입력을 하단에 출력을 상단에 표시하는 것이 바람직하다. 그리고 제일 아래(입력에 가까운) 층을 '입력층(input layer)', 제일 위(출력에 가까운) 층을 '출력층(output layer)'이라고 한다. 입력층과 출력층을 제외한 나머지 층은 외부에서 관찰할 수 없다고 하여 'hidden layer'라고 한다.
MLP는 다음과 같은 특징을 가진다.
1. 인접한 층의 퍼셉트론 간의 연결은 있어도 같은 층의 퍼셉트론 간의 연결은 없다.
2. 한번 지나간 층의 퍼셉트론은 더 위에 있는 퍼셉트론가 다시 연결되지 않는다(No feedback = feed-forward)
3. Layer 내부의 Perceptron은 이전 Layer의 모든 출력값을 입력값으로 한다.
MLP의 위와 다양한 특성때문에 여러가지 이름을 가지고 있다. 2번 특징 때문에 FFDDN(Feed-forward Deep Neural Network), 3번 특징 때문에 FC(Fully connected Layer), dense layer라고 불린다.
그런데 우리는 왜 Single layer가 아니라 Multi layer가 필요한 것일까?
단일 퍼셉트론으로는 선형분리가 가능한 경계선만 생성이 가능하다. 두 개 이상의 뉴런 결합으로 다양한 비선형한 분리가 가능해진다.
두 개 이상의 뉴런 결합뿐인 상태에 'Layer'라는 개념을 추가하면서 우리가 특정 뉴런 집합을 논리적으로 분리해서 Multi-layer 형태로 이해하고 자유롭게 조작할 수 있다.
'AI > Basis' 카테고리의 다른 글
[AI basis] Gradient Clipping 이란? (0) | 2022.01.05 |
---|---|
[AI basis] Norm 에 대해 알아보자 (0) | 2022.01.05 |
[AI basis] Low-rank approximation (0) | 2022.01.03 |
[AI basis] Stochastic Gradient Descent( 확률적 경사 하강법) (0) | 2022.01.01 |