머신러닝 모델 성능 극대화를 위한 최적화 기법 총정리 ✏️

세민·2024년 12월 31일
0

ML

목록 보기
1/1

머신러닝에서 여러가지 최적화 기법을 공부할 수 있었는데요
기법들이 너무 많다보니 각각 어떤 목적을 가지고 최적화를 할 수 있는지 헷갈리더라고요..

저 같은 분들이 있을 것 같아서 벨로그에도 정리해봅니다!



1. 오버피팅 개선 (Overfitting Reduction)

오버피팅은 모델이 훈련 데이터에 과도하게 적합하여 새로운 데이터에 대한 일반화 성능이 저하되는 문제

(1) Validation Data

  • test data 와 별도로 validation data를 사용해 모델이 새로운 데이터에서도 좋은 성능을 보이는 지 확인

(2) Early Stopping

  • validation data의 loss가 더 이상 개선되지 않을 때 훈련 중단

(3) Weight Decay

  • L1 규제 : 가중치의 절대값 합을 최소화
  • L2 규제 : 가중치의 제곱합을 최소화
  • Elastic Net : L1과 L2 규제를 혼합하여 사용

(4) Data Augmentation (데이터 증강)

  • 데이터를 해치지 않는 선에서 데이터를 변형 시켜서 오버피팅 방지

(5) Dropout (드롭아웃)

  • 일부 뉴런을 무작위로 비활성화하여 특정 뉴런에 대한 의존도를 줄이고 과적합을 방지

(6) Ensemble Learning (앙상블 학습)

  • 여러 모델을 조합하여 예측 성능을 높이고 과적합을 줄임
    대표 기법: Bagging, Boosting, Stacking



2. 모델 비용 및 시간 개선 (Cost & Time Optimization)

(1) Learning Rate Scheduling (학습률 스케줄링)

  • Step Decay: 특정 epch마다 학습률을 감소
  • Exponential Decay : 학습률을 지수 함수에 따라 점진적으로 감소
  • Two-stage Decay : 초기에 큰 학습률로 학습한 후, 후반부에 학습률을 낮춤

(2) Stochastic Gradient Descent(SGD, 확률적 경사하강법)

  • GPU를 활용해 다수의 배치를 병렬처리하여 학습 속도를 향상

(3) Optimizers

  • Adagrad : Gradient 크기 누적을 통해 학습할수록 learning rate가 작아지도록 조정
  • RMSProp : 기울기 제곱의 지수 가중 이동 평균을 사용해서 학습률이 지나치게 줄어드는 것을 방지
  • Adam : Adagrad와 RMSProp의 장점 결합



3. GD Minima Optimization (경사하강법 최적화)

Local Minima 또는 Saddle Point를 피하고 안정적으로 학습하기 위한 방법을 찾는 것이 중요

(1) Momentum (모멘텀)

  • 이전 기울기의 '방향'을 참조하여 학습 속도 개선

(2) Initialization (가중치 초기화)

  • He Initialization: ReLU 활성화 함수에 최적화된 초기화 방법
  • Xavier Initialization: Sigmoid, Tanh 활성화 함수에 적합

(3) Learning Rate 설정 (학습률)

  • 학습률이 너무 크면 최소값을 찾지 못하고, 학습률이 너무 작으면 수렴 속도가 느려진다.
    (학습률 조정 방법 안에 Adagrad, RMSProp, Adam)



4. For Robust Model

(1) Data Preprocessing (데이터 전처리)

  • 정규화 (Normalization)
  • 표준화 (Standardization)
  • 이상치 제거 (Outlier Removal)

(2) Batch Normalization (배치 정규화)

  • 각 배치 단위로 데이터 분포를 정규화하여 학습을 안정화

(3) Data Augmentation (데이터 증강)

  • 모델 일반화 성능을 높이는데 중요한 역할

(4) Out-of-Distribution (OOD) Detection

  • 학습 데이터 분포와 다른 입력 데이터를 감지하여 모델이 잘못된 예측을 피할 수 있게 함



5. 성능 개선

(1) Dropout

  • 학습 중 일부 뉴런을 비활성화하여 과적합을 방지

(2) Batch Normalization (배치 정규화)



6. Gradient Vanishing 문제해결

Gradient Vanishing은 역전파(Backpropagation) 시 기울기가 0에 가까워져 가중치가 업데이트되지 않는 문제

(1) Initialization

  • He, Xavier 초기화를 사용하여 기울기 소실 문제를 완화

(2) Batch Normalization (배치 정규화)

(3) Hyperparameter Tuning (하이퍼파라미터 튜닝)

  • 최적의 하이퍼파라미터를 찾기 위해 Grid Search, Random Search, Bayesian Optimization 기법 사용

(4) Activation Functions (활성화 함수)

  • ReLU 계열 활성화 함수 사용 (Leaky ReLU, Parametric ReLU 등)

0개의 댓글