본문 바로가기
인공지능

딥러닝 학습 핵심 개념 정리

by 3in9u 2025. 3. 27.

 

📍 1. 최적화 알고리즘 (Optimization Algorithms)

🧠 목적:

손실 함수(Loss)를 줄이기 위해, **모델의 파라미터(가중치 w, 편향 b)**를
반복적으로 조정하는 알고리즘.


🔹 기본 개념

용어설명
손실 함수 (Loss Function) 예측값과 실제값의 차이를 계산
기울기 (Gradient) 손실 함수가 가장 빨리 줄어드는 방향
학습률 (Learning Rate) 한 번에 얼마나 이동할지를 결정

🔧 최적화 알고리즘 종류

알고리즘특징
GD (Gradient Descent) 전체 데이터로 기울기 계산 → 느리지만 정확
SGD (Stochastic GD) 데이터 1개씩 랜덤으로 → 빠르지만 진동 발생 가능
SGD + Momentum 이전 방향을 고려해 "관성" 있게 이동 → 진동 감소
NAG (Nesterov) 미리 한 발 앞에서 기울기 계산 → 더 빠른 수렴
Adagrad 자주 쓰는 파라미터는 학습률 ↓ 드물게 쓰는 건 유지
RMSProp Adagrad 보완 → 지나치게 작아지는 학습률 방지
Adam Momentum + RMSProp 결합 → 가장 많이 쓰이는 최적화기

Adam은 대부분의 상황에서 빠르고 안정적이며 널리 사용돼요.


📍 2. 과적합 (Overfitting)

❓ 과적합이란?

모델이 학습 데이터에는 너무 잘 맞지만,
새로운 데이터에는 성능이 떨어지는 현상

📉 원인

  • 너무 큰 모델 (파라미터가 많음)
  • 데이터 부족
  • 너무 오래 학습함 (epoch이 너무 많음)
  • 노이즈까지 외워버림

✅ 해결 방법

방법설명
데이터 증강 (Augmentation) 회전, 자르기, 색 변화 등으로 데이터 다양화
정규화 (Regularization) L1, L2 제약으로 가중치 크기를 제한
드롭아웃 (Dropout) 학습 중 일부 뉴런 무작위 비활성화
조기 종료 (Early Stopping) 검증 성능이 떨어지면 학습 조기 중단
모델 축소 복잡한 모델 대신 더 작은 네트워크 사용

📍 3. 배치 정규화 (Batch Normalization)

❓ Internal Covariate Shift란?

각 층의 입력 분포가 학습 중 계속 바뀌는 현상
→ 학습이 느려지고 불안정해짐


💡 배치 정규화란?

미니배치마다 평균 0, 분산 1로 정규화하여
학습을 빠르고 안정적으로 만드는 기술

✅ 효과

  • 학습 속도 향상
  • Internal Covariate Shift 완화
  • 과적합 방지 효과도 있음

🎯 전체 구조 요약

학습 목표
 └─ 손실 최소화 (Loss ↓)
     └─ 최적화 알고리즘으로 가중치 조정
         └─ SGD, Adam, RMSProp 등

학습 문제
 └─ 과적합 (Overfitting)
     └─ 일반화 성능 저하

해결 방법
 ├─ 데이터 증가 (증강)
 ├─ 정규화 (L2 등)
 ├─ 드롭아웃
 └─ 배치 정규화 (BatchNorm)

🧠 보너스: 어떤 알고리즘을 써야 할까?

상황추천 알고리즘
처음 시작할 때 Adam 👍
데이터가 크고 복잡 Adam or RMSProp
아주 큰 모델, 튜닝 여유 O SGD + Momentum
빠르게 테스트하고 싶을 때 SGD 또는 Adagrad

 

'인공지능' 카테고리의 다른 글

전이 학습 (Transfer Learning)  (0) 2025.03.27
CNN 아키텍처 발전 흐름 요약  (0) 2025.03.27
RNN (Recurrent Neural Network)  (0) 2025.03.27
AlexNet  (0) 2025.03.21
CNN  (0) 2025.03.21