Deep Learning/PyTorch & Deep Learning
Deep Learning 실무 기초 개념
서린이1
2025. 1. 2. 00:58
Deep Learning 실무 기초 개념
Training, Validation, Test dataset
- Training (학습/훈련) 데이터셋
- 모델을 학습시키는 용도
- 딥러닝 모델의 경우 학습 데이터셋에 대해서 Gradient Descent하여 Loss가 최소화되도록 모델의 weight를 최적화함
- Validation (검증) 데이터셋
- 모델의 성능 평가와 Hyperparameter Tuning에 사용
- Hyperparameter?
- 모델 구조와 학습 방식에 영향을 주는 파라미터, 모델의 최종 성능에도 영향을 줌
- Hyperparameter Tuning?
- 가장 최적의 Hyperparameter 조합을 찾는 것.
- Validation 성능이 가장 높은 조합 찾기
- Hyperparameter?
- 학습 데이터셋에 대한 "Overfitting" 될 수 있기에 Validation 데이터셋으로 성능 평가
- Overfitting(과적합)이란?
- Unseen data에 대해서 모델의 예측값이 일반화되지 않는 경우
- 뉴럴넷 모델이 학습 데이터에 있는 noise에 대해서도 학습하여, 일반화 성능이 저하되는 현상
- Epochs(반복 학습)이 늘어날 수록 성능이 마냥 좋이지지 않는다. 어느 기점부터 Valid Loss가 증가하는 현상이 발생하는데 이를 과적합이라고 함
- 예: 데이터 자체의 노이즈를 고려하지 않고 모델의 Degree를 마냥 높이면 실제 True f(x)와의 오차가 심하게 발생함
- Overfitting(과적합)이란?
- 모델의 성능 평가와 Hyperparameter Tuning에 사용
- Test (시험) 데이터셋
- 검증 단계에서 선택한 최적의 모델의 최종 성능을 평가하는데 사용
- Hyperparameter Tuning을 과도하게 적용하는 경우, Validation dataset에 대해서 unintentional overfitting이 발생할 수 있다.
- Training (학습/훈련) 데이터셋
Overfitting
K-fold Cross Validation: 데이터셋이 너무 작아서 Validation dataset을 확보할 수 없을 때 사용
데이터 분할: 원본 데이터셋을 K 개의 서로 겹치지 않는 부분 집합으로 나눈다. (일반적으로 K=5 혹은 10 사용)
반복 학습 및 검증
하나의 Fold를 검증 데이터로 사용
K-1 개의 폴드를 훈련 데이터로 사용하여 모델 학습
i) K = 6
Validation Training Training Training Training Training (Fold 1) Fold 2 Fold 3 Fold 4 Fold 5 Fold 6 ii)
Training Validation Training Training Training Training Fold 1 (Fold 2) Fold 3 Fold 4 Fold 5 Fold 6 iii)
Training Training Validation Training Training Training Fold 1 Fold 2 (Fold 3) Fold 4 Fold 5 Fold 6 iv)
Training Training Training Training Training Validation Fold 1 Fold 2 Fold 3 Fold 4 Fold 5 (Fold 6)
- 성능 측정
- 각 반복마다 모델은 검증용 폴드에 대한 성능 평가
- 모든 K 번의 평가 완료 후에 평균 성능 계산
- 최종 성능 평가 혹은 Hyperparameter Tuning
- Fold들에 대한 평균 성능을 최종 성능 지표로 사용
- 혹은 Hyperparameter Tuning에 사용할 수도 있음
- 장점
- 데이터를 효과적으로 활용하여 모델의 성능을 평가
- 과적합 문제를 예방하고 모델의 일반화 성능을 더 신뢰성 있게 추정
- 검증 데이터의 선택에 따라 모델의 평가 결과가 크게 변하지 않는다.
- Hyperparameter Tuning
- Loss와 Evaluation Metric의 차이
- Loss Function
- 예측한 값과 실제 타깃 값 사이의 차이
- 학습 단계에서 Loss를 최소화하는 방향으로 모델의 Weight를 조정
- 미분 가능해야 함 (Gradient Descent를 사용하기 위해)
- Cross Entropy Loss, Mean Squared Loss 등
- 결론: 모델 학습 단계에서 모델의 가중치를 조정하기 위한 목적으로 예측 오차를 측정
- Evaluation Metric
- 학습된 모델의 성능을 평가하는데 사용되는 지표
- 손실 함수와 달리 평가 지표는 더 직관적이다.
- 정확도(Accuracy), 정밀도(Precision), 재현율(Recall), F1 Score 등
- 결론: 학습된 모델의 성능을 평가하고 보고하기 위해 사용
- Loss Function
- 출처: 인프런 | 딥러닝 이론 + PyTorch 실무 완전 정복