Day 22: 7-10, Regularization의 개념 및 실험

2023. 3. 13. 23:44딥러닝 이론

오늘 공부한 내용은 Ch.7-10입니다:

- Overfitting방지법 총정리

- Regularization의 개념 및 실험

- L1 vs L2 Regularization

 

드디어 이번에 Chapter7을 마무리하게 되네요. Chapter 7은 "깊은 인공신경망의 고질적 문제와 해결 방안"에 대해 배워봤습니다. 내용이 아주 많았는데 아직 기억을 하시고 계신가요?

Chapter 7은 "깊은 인공신경망의 고질적 문제와 해결 방안" 총정리

1. Underfitting문제

  1. Vanishing gradient문제
    1. Sigmoid -> ReLU
    2. Batch normalization
  2. Loss landscape문제
    1. Drop-connection

2. Overfitting문제

  1. 모델 경량화
  2. 데이터 추가및 data augmentation
  3. Validation data를 사용해 최고의 validation accuracy를 만들어주는 hyperparameter사용
  4. Dropout and dropconnection
  5. Regularization

1주일간 공부한 양이 아주 많군요. 오늘은 Regularization에 대해 공부를 해볼게요

 

1. Regularization의 개념 및 실험

Regularization은 training loss가 조금 더 높아지더라도 weight를 줄이는 것을 우선으로 하는 것입니다. Weight들이 높으면 overfitting문제를 일으키고 weight를 줄이는 것은 모델 경량화를 하는 것과 비슷합니다.

 

2. L1 vs. L2

L1-regularization은 모든 weights들을 동등하게 취급합니다. 그래서 크고 작은 weight들을 동등하게 망치로 치는 듯이 줄입니다. 이런 과정에서 몇 개의 작은 weights들은 사망을 합니다. 이러면 영구적으로 connection이 살아지기 때문에 사실상으로 경량화를 한 것이다. L2-regularization은 weights의 높이를 고려 후 높은 건 세게, 낮은건 덜 쎄게 망치로 때려서 weights들이 아예 0으로 줄진 않으면서도 weights를 줄이는 경우이다.

Regularization을 썼을 때 early stopping을 안 해도 validation loss가 저절로 수렴하는 것을 볼 수 있어 overfitting을 확실히 해결하는 게 보인다. 물론 상황마다 다 다르니 직접 해봐야 알 수 있는 부분도 있다.