딥러닝 모델 성능 향상 기법 정리

이 문서는 학습 안정성, 효율성, 일반화 성능을 높이는 핵심 기법들을 Autoencoder/CNN 실습 관점에서 정리한 요약입니다.

1. Depthwise Separable Convolution

  • 역할: 연산량/파라미터 수 감소
  • 동작:
    • Depthwise: 채널별 독립 합성곱으로 공간 특징 추출
    • Pointwise(1x1): 채널 결합/변환
  • 활용: 경량 CNN, Autoencoder encoder/decoder

2. Batch Normalization

  • 역할: 학습 안정화, 수렴 가속, 일반화 개선
  • 특징:
    • Internal Covariate Shift 완화
    • 보통 Conv -> BatchNorm -> Activation 순서

3. Dropout

  • 역할: 과적합 방지
  • 특징:
    • 학습 시 일부 뉴런 무작위 비활성화
    • 추론 시 전체 뉴런 사용
    • p(drop 비율) 튜닝 중요

4. Skip Connection (Residual)

  • 역할: 기울기 소실 완화, 정보 보존
  • 특징:
    • 이전 출력을 더하거나(+) 연결(torch.cat)해 전달
    • 필요 시 1x1 Conv/업샘플링으로 채널/크기 맞춤

5. 활성화 함수

  • ReLU: 빠르고 기울기 소실 완화
  • Sigmoid: 0~1 출력 매핑(출력층에서 자주 사용)
  • Tanh: -1~1 매핑, Sigmoid 대비 중심화

6. 가중치 초기화

  • 역할: 안정적 시작점, 수렴 개선
  • Xavier: Sigmoid/Tanh 계열에 적합
  • He: ReLU 계열에 적합

7. 옵티마이저

  • SGD: 기본 경사하강, 모멘텀 확장 가능
  • Adam: 적응형 학습률 + 모멘텀, 실무에서 널리 사용
  • NAdam: Adam 변형

8. 학습률 (Learning Rate)

  • 너무 큼: 발산/불안정
  • 너무 작음: 수렴 지연
  • 전략: 초반 크게, 후반 감소(LR Scheduler)

9. Mini-batch & DataLoader

  • 미니배치: 안정적 업데이트 + 연산 효율
  • DataLoader: 배치/셔플 관리
  • shuffle=True: 데이터 순서 편향 완화

10. 데이터 증강 (Data Augmentation)

  • 역할: 데이터 다양성 증가, 과적합 완화
  • 방법: 회전/반전/크롭/밝기 조절 등
  • 주의: 훈련 데이터에만 적용

11. Padding

  • 역할: 출력 크기 제어, 경계 정보 보존
  • Valid: 패딩 없음(출력 축소)
  • Same: 입력/출력 크기 유지

12. Pooling

  • 역할: 공간 축소, 연산량 절감, 불변성 강화
  • Max Pooling: 대표 특징 강조
  • Average Pooling: 평균 기반 요약
  • Global Avg Pooling: FC 대체, 과적합 완화

13. 네트워크 구조

CNN

  • 지역 특징 추출
  • 가중치 공유로 파라미터 절감
  • 계층적 특징 학습(엣지 -> 고수준 패턴)

RNN/LSTM/GRU

  • 시퀀스 데이터 전용
  • LSTM: 장기 의존성 학습에 강함
  • GRU: 더 단순하고 빠름

요약

Autoencoder/CNN 실습에서는 특히 아래 조합이 실효성이 높습니다.

  • BatchNorm
  • Dropout
  • Skip Connection
  • Data Augmentation
  • Learning Rate Scheduler

한눈 정리 표

구분 기법 역할 동작 방식 / 특징 비고
합성곱 효율화 Depthwise Separable Conv 연산량 감소, 파라미터 절약 채널별 합성곱 + 1x1 채널 결합 MobileNet 계열
정규화 Batch Normalization 학습 안정화, 가속화 입력 분포 정규화 Conv->BN->ReLU
정규화 Dropout 과적합 방지 학습 시 뉴런 일부 제거 추론 시 비활성화 안 함
네트워크 연결 Skip Connection 기울기 소실 완화 이전 출력 add/concat ResNet, U-Net
비선형성 활성화 함수 표현력 강화 ReLU/Sigmoid/Tanh 출력층 함수 선택 중요
가중치 설정 초기화 안정적 수렴 Xavier, He 초기 학습 품질 좌우
최적화 옵티마이저 손실 최소화 SGD/Adam/NAdam Adam 실무 빈도 높음
학습 속도 Learning Rate 업데이트 보폭 크면 발산, 작으면 지연 Scheduler 권장
데이터 공급 Mini-batch/DataLoader 효율/안정성 배치 학습 + 셔플 GPU 활용 최적화
데이터 확장 Data Augmentation 일반화 향상 회전/반전/크롭/밝기 훈련 데이터만
출력 크기 Padding 크기 유지/조절 Valid/Same 경계 정보 보존
차원 축소 Pooling 크기 축소 Max/Avg/Global Avg FC 대체 가능
구조 CNN 이미지 처리 지역성/가중치 공유 고전적 비전 모델
구조 RNN/LSTM/GRU 시퀀스 처리 장기 의존성 모델링 NLP/시계열