
Regularization 이란?
기계 학습과 딥러닝에서 Regularization은 모델이 overfitting(과적합)되지 않도록 도와주는 기법을 의미함.
- Overfitting(과적합)은 모델이 훈련 데이터에 너무 잘 맞아 새로운 데이터에 대해 일반화(generalization)가 잘되지 않는 상황을 의미함.
- Regularization을 통해 모델의 Degree of Freedom(자유도), 즉 모델이 표현할 수 있는 복잡성을 제어해 일반화 성능을 높일 수 있음.
2025.11.20 - [Programming/ML] - Overfitting (과적합)
Overfitting (과적합)
Overfit이란ML에서 모델이 주어진 훈련데이터에 너무 과하게 적응(adapt) 하여Training dataset에서는 매우 좋은 성능을 보이지만,Unseen data (= validation/test set)에서는 성능이 급격히 떨어지는 현상 을 의미
dsaint31.tistory.com
주요 Regularization 기법들
1. L1 및 L2 Regularization
- L1 Regularization: weights 값의 절댓값 합을 손실 함수에 추가하는 방식임.
- 모델의 일부 가중치가 0이 되게 만들어 희소성(sparsity)을 증가시키는 효과가 있음.
- 이는 Linear Regression에서는 흔히 Lasso Regression으로도 알려져 있음
- L2 Regularization: 가중치 값의 제곱합을 손실 함수에 추가하는 방식임.
- 손실 함수에 패널티 항을 추가해 모델이 점진적으로 가중치 크기를 줄여가며 과도한 가중치 값이 발생하는 것을 억제함.
- 이는 Linear Regression에서는 흔히 Ridge Regression으로도 알려져 있음.
- Elastic Net: L1과 L2 Regularization을 결합한 방법임.
- 복잡한 데이터에서 희소성과 일반화 능력을 동시에 강화할 수 있음.
Parameters 중에서 weights에만 적용하는 경우가 일반적임
(bias 엔 L1, L2 regularization을 적용하지 않는게 일반적임)
2025.11.06 - [Programming/ML] - Ridge Regression(L2)
Ridge Regression
명칭의 유래Ridge: "산등성이" 또는 "융기"를 의미하는 영어 단어L2-Regularization Term 추가 시 loss function의 contour가 융기된 형태로 변형되는 데에서 유래됨.역사적 배경Tikhonov regularization (1963)과 수학
dsaint31.tistory.com
2025.11.08 - [Programming/ML] - Lasso Regression(L1)
Lasso Regression
명칭의 유래LASSO: Least Absolute Shrinkage and Selection Operator 의 약자이름에서 알 수 있듯이,절대값(absolute value) 기반의shrinkage(축소)와feature selection(특성 선택)을 동시에 수행하는 회귀 기법“Shrinkage”
dsaint31.tistory.com
2. Early Stopping
- Early Stopping은 모델이 검증 데이터에 대한 성능이 더 이상 향상되지 않을 때 학습을 조기에 중단하는 방법임.
- 이는 Over-fitting 을 방지하는 효과가 있으며, 모델이 훈련 데이터에 너무 맞춰지지 않게 함.
https://dsaint31.me/mkdocs_site/ML/ch09/dl_earlystopping
BME
checkpoint early-stopping overfitting pytorch regularization validation-loss Early Stopping Early Stopping은 training을 정해진 epoch 끝까지 무조건 진행하지 않고, validation 성능이 더 이상 좋아지지 않는 시점에서 학습을
dsaint31.me
3-1. Dropout
- 이 기법은 훈련 중에 일부 뉴런을 무작위로 비활성화하는 방식으로 작동하며, 이를 통해 네트워크가 특정 뉴런에 과도하게 의존하지 않도록 훈련시킴.
- Dropout을 적용하면 매 훈련 단계마다 원래 네트워크의 일부만 사용되는데, 이를 '서브 네트워크'라고 함.
- Dropout은 여러 서브 네트워크를 학습하면서 모델이 더 다양한 패턴을 배우도록 하고, 특정 서브 네트워크에 대한 의존성을 낮춤.
- 이는 결과적으로 새로운 데이터에 대해서도 잘 작동하는 모델을 만드는 데 도움을 줌.
https://dsaint31.me/mkdocs_site/ML/ch09/dl_dropout/
BME
alpha-dropout dropout mc-dropout pytorch regularization Dropout and MC Dropout Dropout은 학습 중 일부 neuron의 출력을 임시로 0으로 만들어 co-adaptation을 줄이고 generalization을 높이는 neural network regularization(정규화) 기
dsaint31.me
3-2. Stochastic Depth와 DropPath
- 이 기법은 훈련 중에 일부 residual block 또는 residual branch를 무작위로 비활성화하는 방식으로 작동하며, 이를 통해 네트워크가 특정 계산 경로에 과도하게 의존하지 않도록 훈련시킴.
- Stochastic Depth는 원래 residual block을 mini-batch 단위로 제거하는 방식으로 제안되었으며, 오늘날의 DropPath 구현은 주로 sample별로 residual branch를 제거하는 방식으로 동작함.
- 두 기법을 적용하면 매 훈련 단계마다 서로 다른 계산 경로를 사용하는 여러 서브 네트워크를 학습하는 효과가 발생하여, 특정 block이나 path에 대한 의존성이 낮아짐.
- 이는 결과적으로 overfitting을 줄이고 새로운 데이터에 대한 generalization 성능을 높이는 데 도움을 줌.
2026.07.10 - [Programming/ML] - DropPath 와 Stochastic Depth
DropPath 와 Stochastic Depth
DropPath와 Stochastic Depth는학습 중 residual branch 또는 계산 경로 전체를 확률적으로 제거하여 특정 경로에 대한 의존성을 줄이는 regularization 기법임.현재 timm, Hugging Face Transformers 및 여러 vision model 구
dsaint31.tistory.com
4. Data Augmentation
- 데이터가 부족한 경우 Data Augmentation을 사용해 훈련 데이터를 인위적으로 늘려
모델이 더 다양한 패턴을 학습할 수 있도록 하는 방법임. - 예를 들어 이미지 데이터에서 회전, 크기 조절, 색상 변경 등을 통해 데이터를 증강할 수 있음.
참고로, image classification에서는 White noise augmentation 은 잘 사용되지 않음.
white noise augmentation은
입력 data에 평균 0의 작은 random noise를 더해 model이 잡음에 덜 민감해지도록 도와주긴 하지만,
해당 noise는 mage의 위치, 크기, 방향, 조명, 색감, 배경 변화처럼
실제 test data에서 자주 나타나는 의미 있는 변화(semantic variation)를 잘 반영하지 못함.
때문에 image augmentation 은 crop, flip, rotation, color jitter 등을 보다 많이 사용함.
5. Batch Normalization
- Batch Normalization은 각 미니 배치마다 입력을 정규화(normalize)해 학습이 안정되고 빠르게 진행될 수 있도록 하는 방법임.
- BN은 간접적으로 regularization(정칙화 효과)를 제공해 과적합을 줄이는 데 도움을 줄 수 있음.
- batch size가 작으면 statistics의 변동이 커지면서 regularization의 효과가 더 커지는 것으로 알려짐.
https://dsaint31.me/mkdocs_site/ML/ch09/batch_normalization/
BME
batch normalization bn deep learning gradient exploding gradient vanishing internal covariate shift layer normalization regularization Batch Normalization Batch Normalization은 Ioffe et al.이 2015년 제안한 기법으로 Gradient Vanishing과 Exploding
dsaint31.me
6. Weight Constraint
- Weight Constraint는 가중치의 크기를 특정 범위로 직접 제한하는 방식임.
- 학습 중 가중치가 미리 정해진 값(예: 1)을 넘지 않도록 강제로 제한해 네트워크가 안정적으로 학습될 수 있도록 도움을 줌.
- 손실 함수에 패널티 항을 추가하는 L2 Regularization과 달리, 가중치의 크기 자체를 제한하여 보다 직접적으로 제어함.
7. Noise Injection
- Noise Injection은 학습 중 네트워크의 입력 데이터 나 Weightings (가중치) 에 임의의 노이즈를 추가하는 방법임.
- 이를 통해 모델이 노이즈에 강인한 특성을 학습하고, 과적합을 방지함.
- Gaussian noise 등을 주로 사용함.
https://dsaint31.me/mkdocs_site/ML/ch09/dl_dropout/#3-input-noise-model
BME
alpha-dropout dropout mc-dropout pytorch regularization Dropout and MC Dropout Dropout은 학습 중 일부 neuron의 출력을 임시로 0으로 만들어 co-adaptation을 줄이고 generalization을 높이는 neural network regularization(정규화) 기
dsaint31.me
8. Label Smoothing
- Label Smoothing은 훈련 데이터의 라벨을 조금 부드럽게 만들어 확신을 덜 가지게 하는 방법임.
- 예를 들어, One-Hot Vector 에서 완전히 0과 1로 설정하는 대신, 약간의 값을 추가해 0.9와 0.1 같은 형태로 라벨을 조정함.
- 이를 통해 Over-fitting(과적합)을 방지하고, 모델이 너무 확신을 가지지 않도록 만듦.
- 규칙적으로 살짝 smoothing을 수행.
9. Soft Labeling
- Soft Labeling은 라벨 값을 완전히 0과 1로 설정하는 대신, 연속적인 값으로 조정해 모델이 조금 더 부드러운 예측을 하도록 하는 방법임: Label이 distribution(분포) 가 됨.
- 앞서 다룬 Label Smoothing은 Soft Labeling의 일종임.
- 일반적으로 Soft Labeling은 semantic similarity나 annotation uncertainty를 반영한 distribution을 label로 삼음.
- Label Smoothing과 유사하게 Soft Labeling은 라벨 간의 애매한 경계를 반영하여 모델이 불확실성을 학습하도록 도움을 줌.
- 간단한 규칙으로 smoothing을 하는 Label smoothing과 약간의 차이가 잇음.
- 예를 들어, 분류 문제에서 서로 유사한 두 클래스의 라벨을 0.9와 0.1의 비율로 주어, 모델이 더 일반화된 판단을 내리게 함.
- 특히 불균형 데이터나 애매한 클래스 경계를 가진 문제에서 유용하게 사용됨.
https://pubmed.ncbi.nlm.nih.gov/38302981/
Enhancing deep learning classification performance of tongue lesions in imbalanced data: mosaic-based soft labeling with curricu
The present study demonstrates that the integration of mosaic-based soft labeling and curriculum learning improves the classification performance of tongue lesions compared to previous methods, establishing a foundation for future research on effectively l
pubmed.ncbi.nlm.nih.gov
'Programming > ML' 카테고리의 다른 글
| [ML] Nearest Neighbor Search: k-d Tree (0) | 2024.11.25 |
|---|---|
| [ML] Feature Importances for Decision Tree (1) | 2024.11.10 |
| [ML] Linear Classification Model: Hyperplane and Decision Boundary (0) | 2024.10.27 |
| [ML] Diabetes Dataset (0) | 2024.10.05 |
| [ML] Yeast Dataset (0) | 2024.10.05 |