1. Regularization for Neural Networks
< Overfitting >
- 학습 데이터의 일반적인 패턴 뿐만 아니라 노이즈까지 적합이 된다면?
- 과적합 시 학습 데이터셋에 대해서는 loss가 계속 낮아지지만 평가 데이터셋에 대해서는 loss가 다시 높아지기 시작
- 고차원 데이터나 노이즈가 많은 데이터일수록 과적합에 유의해야 함
- 모델이 불필요하게 복잡할수록 과적합될 가능성이 높아짐

< Regularization >
- adding an additional penalty term in the objective function (loss function)
- 모델이 너무 복잡하기 않도록 regularize하는 작업
- weight가 작아지는 방향으로, 아예 필요하지 않다면 아예 0으로 만들어줌
▶ Ridge Regression (L2)

▶ Lasso Regression (L1)


보통 L2 Regularlization은 weight 값의 분포를 분산시키는 쪽으로, L1 Regularization은 weight 값에 0이 많아지는 쪽으로 (희소행렬) 적용됨
2. Regularization for Deep Neural Networks
- DNN은 overfitting에 취약함
- 그래서 weight decay, early stopping, dropout, cutout 도입
< Weight Decay >
똑같이 penalty term을 더해서 적용 : weight decay에서 penalty term은 L2 정규화 페널티
multi - layered networks에 대해서는 모든 레이어에 대해 위의 penalty term들을 더해주면 된다.
< Early Stopping >
- validation set을 따로 분리해두고 train set으로 모델 후련 후에 validation set으로 평가한다
- validation set이 과적합되기 시작하면 (loss가 증가) 멈춘다
단점 : train set의 일부를 검증용으로 분리해 놓아야하기 때문에 데이터셋의 크기가 너무 작다면 성능이 떨어질 수 있다
< Dropout >

- 각 forward pass에 대하여, 임의로 neuron을 0으로
- neuron을 drop하는 비율(확률)을 하이퍼파라미터로 둔다. (보통 0.5)
- forces the model to learn from various clues, which will be useful when some of the clues are not visible later
- 주의할 점은 test data 에 대해 예측을 시행할 때는 모든 neuron을 활성화시켜야 한다는 것
- pytorch에서는 모델을 정의할 때 nn.Dropout(p=0.5) layer를 추가해주면 된다
< Cutout >

- set zero to some randomly chosen sub-area within the training images
- works well for small datasets like CIFAR, but less common for large datasets like ImageNet. (매번 크롭할 영역을 랜덤하게 정해주는데 드는 연산이 너무 크다)
▣ 정리
보통 Regularization을 시행하는 방법
- consider "Dropout" for large fully-connected layer
- "Batch Normalization" ( layer normalization ) is always a good idea
- try "Data Augmentation", especially on small-scale datasets
- do "Early Stopping" using your final metric
'Study > 딥러닝' 카테고리의 다른 글
TTS 모델 조사 (0) | 2024.01.28 |
---|---|
Batch Normalization (1) | 2023.12.19 |
Pytorch Tensorboard (1) | 2023.12.12 |
파이토치 (0) | 2023.12.11 |
Weight Initialization (1) | 2023.10.22 |