1. 퍼셉트론 (Perceptron)의 기원 및 의미
ㅇ 1957년, 프랭크 로젠블라트(Frank Rosenblatt)가 제안
- 이는 생물학적 뉴런의 작동 원리를, 수학적으로 흉내낸 인공 뉴런 모델로,
- 인공 신경망의 초기 형태임
2. 퍼셉트론의 주요 특징 및 의미
ㅇ 단층 구조로 이루어진 신경망의 기본 단위이며,
- `단층 퍼셉트론(Single-layer Perceptron)`이라 불리움
. 두 층으로 구성됨
.. 입력층이 외부 입력 신호를 받은 후 출력층으로 전달하는 구조
ㅇ 이전의 인공 뉴런 모델(예: 맥컬록-피츠 뉴런)이,
- 학습 기능이 없는, 단순 논리 연산자였던 것과 달리,
. 데이터로부터 가중치를 학습함으로써, 입력과 출력 간의 관계를 조정할 수 있음
ㅇ 선형 분류기의 일종으로써,
- 주어진 입력 벡터에 대해, 선형 결정 경계를 기준으로, 두 개의 클래스로 분류 가능
※ [참고]
- 사실상, 가중치,편향을 만들어내는 것이 학습이며,
- 가중치 값은, 학습 알고리즘에 따라 달라짐
3. 퍼셉트론의 구성
ㅇ 층 구분 : 2개의 층을 갖음
- (입력층과 출력층으로만 이루어진 간단한 네트워크 구조)
. 왼쪽에 입력을 받는 입력층 (input layer)
. 오른쪽에 출력을 보내는 출력층 (output layer)
- (일정 개수의 입력이 활성화되었을 때 만, 출력을 내보냄)
. 입력값들의 가중합을 활성화 함수에 대입하여 출력값을 계산
ㅇ 구성요소 : 입력값, 가중치, 편향, 가중치합, 임계값, 활성화 함수, 출력값
- 입력값 벡터 : {#\mathbf{x} = (x_1,x_2,\cdots,x_n)#}
- 가중치 벡터 : {#\mathbf{w} = (w_1,w_2,\cdots,w_n)#}
- 편향 : b ∈ R (스칼라 상수)
- 가중치합 (선형 결합) : {#z = \mathbf{w} \cdot \mathbf{x} + b = \sum^n_{i=1}w_ix_i + b#}
- 임계값 (θ) : 임계값 기준으로 출력 결정 (z ≥ θ ⇒ 활성화)
- 활성화 함수 : 단위 계단 함수의 경우에, f(z) = 1 (if z≥θ), 0 (otherwise)
- 출력값 : y = f(z)
ㅇ 학습(모델) 파라미터 : 가중치(weight), 편향(bias)
- 가중치 (weight)
. 입력 가중치
.. 입력 각각에 고유한 가중치가 부여됨
.. 가중치가 클수록, 해당 신호가 중요하다고 봄
. 신호 총합이, 정해진 임계값(θ; theta,세타)을,
.. 넘으면, 1을 출력 (활성화, activation)
.. 넘지 못하면, 0 또는 -1을 출력
- 편향 (bias)
. 출력 문턱을 조정하는 상수 항
. 입력값과 무관하게 출력에 영향을 주는 추가적인 자유도 역할을 하며,
.. 결정 경계를 이동시키는 기능
ㅇ 선형 분류기 : 출력 결정 (분류 범주) 사이에 명확하고 선형적인 구분선(경계선) 있음
- 선형 결정 경계(분류가 바뀌는 경계선)를 기준으로, 데이터를 2개의 클래스로 분류
. 결정 경계 : 입력 공간을 나누는 기하학적 경계(선)
.. 2차원 : 직선, 3차원 : 평면, n차원 : 초평면
. 임계값 : 선형 결정 경계의 위치를 결정하는 기초 역할
4. 다층 퍼셉트론 (MLP, Multi Layer Perceptron)
ㅇ 단층 구조를 가진 퍼셉트론의 한계를 극복하기 위해, 여러 계층(레이어)으로 구성된 신경망
- 퍼셉트론은 단순한 선형 분류 문제만 해결 가능하며, XOR 문제와 같은 비선형 분리 문제 불가능
- 이를 해결키 위해, 이후 다층 퍼셉트론과 역전파 알고리즘이 제안되며 심층 신경망의 기초가 됨
- 은닉층(Hidden Layer)을 도입하여 복잡한 패턴 학습이 가능
ㅇ 비선형 분류기의 일종
ㅇ 층 구분 : 입력 층, 은닉 층 (하나 이상), 출력 층
- 은닉층을 늘려 더 복잡한 패턴을 학습할 수 있음
. 다만, 은닉층이 많아질수록 학습이 어려워지고 계산 비용이 증가
. 특히 역전파 과정에서, 기울기 소실 문제(Vanishing Gradient Problem) 발생 가능
. 은닉 층이 2 이상 있는 경우 : 심층 신경망 (DNN : Deep Neural Network)
- 각 층의 역할 및 구조
. 입출력 : 이전 층의 출력을 입력 받아 연산을 수행하고, 그 결과를 다음 층으로 전달
. 각 층 내 뉴런들의 구조 : 서로 완전히 연결되는 완전 연결층(Fully Connected Layer) 구조
ㅇ 학습 과정 : 역전파 알고리즘을 사용하여 학습
- 순전파 (Feedforward) : 입력을 통해 각 층의 출력을 순차 계산하여 최종 출력층까지 전달
- 오차 계산 (Error Calculation) : 출력층의 출력과 실제 정답 간의 오차를 계산
. 오차는 손실 함수(Loss Function)를 통해 정의됨
- 오차 역전파 (Backpropagation) : 출력층부터 입력층 방향으로 오차를 전달하며 가중치를 조정
. 가중치 갱신(Weight Update)는 경사 하강법에 의해 오차를 최소화하는 방향으로 이루어짐
ㅇ 학습 모델의 형성 : (종단간 학습, end-to-end learning)
- 충분히 학습을 진행하면, 여러 층을 경유하면서,
- 임의 데이터를 입력 받아 이를 점진적으로 변형하며 출력을 내는 모델이 만들어짐
ㅇ 다층 퍼셉트론은, 딥러닝의 기본적인 구성 요소로, CNN, RNN 등의 심층 신경망의 기초가 됨