모든 CNN, RNN, Transformer는 ANN에 포함되며,
차이는 학습 패러다임이 아니라 연결 구조에 있다.
Machine Learning
├─ Traditional Machine Learning
│ ├─ Linear Regression
│ ├─ Logistic Regression
│ ├─ SVM
│ ├─ Decision Tree
│ ├─ Random Forest
│ └─ KNN
│
└─ Deep Learning
└─ Artificial Neural Network (ANN)
├─ 기본 구성 요소
│ ├─ Weight / Bias
│ ├─ Activation Function
│ │ ├─ Sigmoid
│ │ ├─ Tanh
│ │ └─ ReLU 계열
│ ├─ Loss Function
│ └─ Optimizer (Gradient Descent)
│
├─ SLP (Single Layer Perceptron)
│
├─ MLP (Multi Layer Perceptron)
│
└─ DNN (Deep Neural Network)
├─ CNN
├─ RNN
│ ├─ LSTM
│ └─ GRU
├─ Autoencoder
├─ GAN
└─ Transformer
Machine Learning은 사람이 정의한 특징(feature)을 기반으로 모델이 학습하는 방식이 주를 이룬다.
반면 Deep Learning은 신경망 구조를 이용해 입력 데이터로부터 특징 추출과 판단을 동시에 학습한다.
따라서 Deep Learning은 Machine Learning의 하위 개념이며,
복잡한 비선형 관계를 자동으로 학습할 수 있다는 점이 핵심 차이이다.
ANN은 모든 입력을 출력으로 매핑하는 가중치를 학습하는 신경망 모델 계열의 총칭이다.
주요 특징은 다음과 같다.
ANN은 단일 모델이 아니라,
SLP, MLP, DNN, CNN, RNN 등을 모두 포함하는 상위 개념이다.
퍼셉트론은 학습 능력을 갖는 가장 기본적인 패턴 분류 장치이다.
SLP의 특징은 다음과 같다.
SLP는 현대 딥러닝에서는 거의 사용되지 않지만,
신경망 구조 이해의 출발점이다.
MLP는 하나 이상의 은닉층(hidden layer)을 가진 신경망이다.
주요 특징은 다음과 같다.
주요 문제점
Overfitting: 학습 데이터에 과도하게 적합
Vanishing Gradient: 깊은 층에서 기울기 소실
DNN은 MLP의 은닉층을 더 깊게 확장한 구조이다.
이 한계를 해결하거나 특정 데이터 구조에 맞추기 위해
CNN, RNN, LSTM, GRU 등의 구조가 발전했다.
CNN은 입력 데이터의 공간적 특징을 추출하는 데 특화된 신경망이다.
주요 특징은 다음과 같다.
기본 흐름
Convolution → Activation → Pooling → (반복) → Fully Connected
RNN은 순차 데이터의 시간적 의존성을 학습하는 신경망이다.
주요 특징은 다음과 같다.
대표 구조
단점
Vanishing Gradient 문제
→ 이를 완화하기 위해 LSTM, GRU 등장
LSTM과 GRU는 RNN의 장기 의존성 문제를 해결하기 위해 등장한 구조이다.
LSTM: Cell State와 게이트 구조로 정보 흐름 제어
GRU: 게이트 수를 줄여 계산 효율 개선
Transformer는 순환 구조를 제거하고 Self-Attention 메커니즘을 사용한 모델이다.
병렬 처리 가능
장거리 의존성 학습에 강점
NLP뿐 아니라 Vision 영역으로 확장