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