일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- exists
- Reinforcement Learning
- AlexNet
- overfitting
- 딥러닝
- SIFT
- dfs
- BFS
- machine learning
- canny edge detection
- object detection
- image processing
- DP
- Python
- 백준
- C++
- 강화학습
- 그래프 이론
- opencv
- deep learning
- TD
- sklearn
- 머신러닝
- dynamic programming
- MySQL
- dropout
- Mask Processing
- MinHeap
- edge detection
- clustering
- Today
- Total
JINWOOJUNG
Dropout Reduces Underfitting...(2) 본문
4. Approach
모델의 underfitting, overfitting regime(상태)을 결정하는 기준은 다음과 같이 정의된다.
- Overfitting
- 모델이 표준 dropout에서 더 좋은 일반화 성능을 보이는 경우
- 표준 dropout은 training 전 과정에서 dropout 적용
- Underfitting
- 모델이 dropout이 없을 때 더 좋은 성능을 보이는 경우
본 논문에서는 각각의 상태에 따른 서로 다른 dropout 적용 방법을 제안한다.
$\quad$Underfitting : early dropout
Underfitting 상태의 모델은 dropout을 사용하지 않는 것을 기본 설정으로 한다. 이때, 모델이 training data에 더 잘 맞춰지도록 하기 위한 early dropout을 제안한다.
- Early dropout
- 초기 특정 Iteration 동안 dropout을 사용하고, 이후 학습 과정에서는 비활성화
- 최종 Training Loss를 감소시키고, Accuracy를 향상
$\quad$Overfitting : late dropout
Overfitting 상태의 모델은 이미 표준 dropout을 사용 중이다. 즉, 학습 전 과정에서 dropout을 사용하고 있다. 하지만, 학습 초기 단계에서의 dropout은 Overfitting을 유도할 수 있기에, late dropout을 제안한다.
- Late dropout
- 초기 특정 Iteration 동안 dropout을 사용하지 않고, 이후 학습 과정에서는 활성화
- Generalization Accuracy를 향상
이 과정에서 필요한 Hyperparameter는 다음과 같다.
- Dropout을 활성화/비활성화 시킬 초기 학습 Epoch 수
- 1%~50%로 다양하게 설정될 수 있을 만큼 강건함
- Drop rate $p$
- 표준 dropout 비율과 유사하며 적당히 견고
5. Experiments
$\quad$Dataset & Models
실험에 사용되는 Dataset은 1,000개의 클래스와 120만 개의 학습 데이터를 가지는 ImageNet-1K Dataset을 사용했으며, top-1 Validation Accuracy를 기준으로 결과를 비교한다.
$\quad$Early Dropout
Early Dropout을 위해 ImageNet-1K을 학습하기에 상대적으로 작은 underfitting 상태인 5~20M개의 Parameter를 가지는 모델들을 기반으로 실험을 진행하였다.
각 모델에 대하여 Dropout, Stochastic Depth를 개별적으로 평가하였으며, Drop Rate $p$는 Dropout의 경우 0.1, 0.2, 0.3에서 선택하였으며, Stochastic Depth에서는 0.3, 0.5, 0.7 중에서 선택하여 실험을 진행하였다. 각 결과는 3개의 Seed에 대한 평균으로 계산하였다.
Early dropout은 테스트 정확도를 일관적으로 향상시키고 Training Loss도 감소시킴을 확인할 수 있다. 이는 초기 단계에서의 Dropout이 모델이 데이터를 더 잘 학습하도록 함을 의미한다. 학습 레시피(Hyperparameter, 증강 기법 등)를 변경한 모델에 대해서도 Early dropout은 정확도를 추가로 향상시키고, Training Loss를 감소시킴을 확인할 수 있다.
$\quad$ Ablation study
Ablation study는 모델의 성능에 가장 큰 영향을 미치는 요소를 찾기 위해 모델의 구성요소 및 feature들을 단계적으로 제거 하거나 변경해가며 성능의 변화를 관찰하는 방법이다.
본 논문에서는 early dropout의 특성을 이해하기 위해 ViT-T Model을 개선된 recipe로 early dropout을 사용하여 학습시키는 것을 기본으로 Ablation Study를 진행하였다.
- Dropout epochs
Early dropout을 적용하는 Epochs 수에 따른 최종 Accruacy의 성능을 비교하였다. 총 600 Epochs의 Training 과정에서 5~300 Epochs로 Early dropout을 진행한 것이 baseline에 대하여 Accruacy가 향상됨을 확인할 수 있다. 즉 넓은 범위의 Epochs에 대하여 좋은 성능을 보이며 강건함을 확인할 수 있다.
- Drop Rates
Stochastic Depth가 Dropout에 비해 Drop rates에 덜 민감함을 확인할 수 있다.
이는 몇가지 이유가 있는데,
- ViT Model에 Dropout Layer가 Stochastic Depth보다 더 촘촘하게 존재
- Dropout의 Drop rate는 모든 층에 동일하게 적용되기에 훨씬 더 강한 정규화 효과를 가짐
그럼에도 불구하고, 두 방법 모두 Standard Dropout 보다는 덜 민감하다.
- Scheduling stratgies
Dropout Strength에 대한 scheduling stragy에 따른 성능 평가를 진행하였다.
0~$p$, $p$~0으로 학습 과정에서 강도를 선형적으로 증가(increasing)시키거나, 감소(decreasing)시키는 전략을 통한 정확도와 기존 전략인 curriculum, annelaled 전략을 사용하여 비교한 결과 dropout이 없을 때 보다 좋은 성능을 보이지 않음을 확인할 수 있다.
이처럼, dropout scheduling stragy는 underfitting 문제를 해결하는데 효과를 주지 않는다.
- Early dropout scheduling
Early dropout에서 초기 drop rate를 schedule하기 위해 3가지 방법을 제안한다.
- Default : $p$에서 0으로 선형적으로 감소
- 상수 값
- Cosine 감소 스케쥴
각 경우에 대한 결과는 모두 유사한 결과를 보이며, 모든 옵션이 유효한 선택이 됨을 의미한다. 즉, Early Dropout이 특정한 스케쥴링 방식에 의존하지 않고 동작한다.
- Model Size
실험에서 사용한 Underfitting 된 모델인 ViT-T가 아닌 더 큰 사이즈의 모델인 ViT-T, ViT-S, ViT-B에 대하여 Early Drop을 적용 한 결과 Large Model 즉, 동일한 데이터셋에 대하여 모델의 Capacity가 큰 경우 Underfitting 되지 않아 Early Drop이 효과적이지 않음을 알 수 있다.
- Learing Rate Warmup
Learning Rate Warmup(lr-Warmup)은 초기 Learning Rate를 작게 사용하여 초기 학습의 안정성을 향상시키는 방법이다. Early Drop이 lr-Warmup에 영향을 받는지 확인하기 위해 50-Epoch lr-Warmup을 기본으로 하여 0~100 Epochs로 다양하게 하여 정확도를 비교한 결과, lr-Warmp에 상관없이 early dropout의 Accuracy가 높음을 확인할 수 있다.
- Batch size
1024~8192까지 Bacth 크기를 조절하고 그에 따른 학습률을 선형적으로 스케일링 하였다. 기본 Batch Size는 4096으로 하여 Early Drop의 성능을 분석해본 결과, 가장 큰 Batch 크기에 대해서는 Baseline보다 큰 효과를 보이지 않음을 확인할 수 있다. 이는 Batch Size가 커질수록 Mini-batch는 Full Dataset을 더 잘 표현(유사)하기 때문에 Gradient Error의 감소의 중요성이 줄어들어 Early Drop이 효과적이지 않음을 의미한다.
- Training Curve
Early Drop Epoch은 50, 상수 Drop rate로 설정하여 Early drop 유, 무에 따른 Train Loss, Test Accuracy Graph를 확인하였다. Early Drop Epoch 동안에는 Early drop을 하지 않은 모델보다 Train Loss가 크고, Test Accuracy가 낮지만, Early Drop Epoch 이후부터 급격하게 성능이 향상됨을 확인할 수 있다.
$\quad$Late Dropout
$\quad$Dataset & Models
Dataset은 동일하지만, Overfitting 된 모델에 대한 Late Dropout의 효과를 확인하기 위해 ViT-B, Mixer-B와 같은 큰 모델을 사용하였다. 해당 모델들은 표준 Stochastic Depth를 사용 중이며, Late Dropout 대신 Late Stochastic Depth의 성능을 검증하였는데, 이는 표준 Stochastic Depth의 성능이 표준 Dropout보다 좋기 때문이다.
Table 4를 통해 Late s.d.가 표준 s.d.에 비해 Test Accuracy가 향상됨을 확인할 수 있다. 특히 Mixer-B의 경우 Train Loss는 증가하였지만, Accuracy는 향상 되었음을 확인할 수 있다. 또한, 여러 Dropout Strength Stragy와 비교했을 때도, Late s.d.가 더 우수한 성능을 보임을 확인할 수 있다.
6. Downstream Task
Early Drop을 사용한 모델을 Pre-train 하여 Obejct Detection, Segmentation 등 다양한 Downstream Task에 활용한 결과 더 좋은 성능을 보임을 확인할 수 있다.
Conclusion
Overfitting 문제를 해결하는데 훌륭한 성과를 보인 Dropout을 Stochastic Optimization을 돕고 Underfitting을 줄이는 잠재력을 밝힘
Dropout은 SGD에 의해 발생하는 데이터의 무작위성을 상쇄함으로써 훈련 초기 단계에서 Gradient 분산을 줄여 일관된 방향성을 가지도록 하며, 해당 방향성은 전체 데이터 셋 Gradient와 더욱 잘 정렬된 방향을 가진다.
따라서 본 논문에서는 Underfitting Model이 데이터를 더 잘 학습하도록 Early Dropout을 제안하며, Overfitting된 모델의 일반화 성능을 향상시키기 위한 Late Dropout을 제안한다.
'딥러닝 > 논문' 카테고리의 다른 글
ImageNet Classification with Deep Convolutional Neural Networks...(1) (0) | 2025.01.04 |
---|---|
Dropout Reduces Underfitting...(1) (0) | 2024.12.30 |
[ Image Classification ] AlexNet / ImageNet Classification with Deep ConvolutionalNeural Networks (2) | 2023.12.18 |
딥러닝 논문 가이드 (0) | 2023.12.18 |