개발자식

[딥러닝] 딥러닝 모델 최적화 이론_Weight Regularization 본문

AI/Deep Learning

[딥러닝] 딥러닝 모델 최적화 이론_Weight Regularization

밍츠 2022. 5. 1. 03:21

Regularization

: 학습에서 발생하는 에러 말고, 평가를 위한 테스트상에서 발생하는 에러(generalization error)를 줄이기 위하여 학습 알고리즘을 수정하는 기법

 

기존의 Gradient Descent 계산 시 y축에 위치해 있던 Cost Function은 Training data에 대해 모델이 발생시키는 Error 값의 지표이다. 이는 Training data만 고려되어 Gradient Descent를 적용하면 Overfitting에 빠질 수 있다.

 

모델이 복잡해질수록 (Overfitting에 빠질수록) 어떤 현상이 일어나는지 보면

  • 모델이 복잡해질수록 모델 속에 숨어있는 세타들은 개수가 많아지고 절대값이 커지는 경향이 있다.

-> 모델이 복잡해질수록 그 값이 커지는 세타에 대한 함수를 기존의 Cost function에 더하여 Trade-off 관계 속에서 최적 값을 찾아낸다.

 

 

Weight Decay(가중치 감퇴/감소) 기법

 

L1 regularization (L1 정규화)

- 가중치의 절대값의 합에 비례하여 가중치에 패널티를 준다.

- 관련성이 없거나 매우 낮은 특성 (정답에 영향을 주지 않는)의 가중치를 정확히 0으로 유도하여, 모델에서 해당 특성을 배제하는 데 도움이 된다. (==Feature selection 효과)

 

L2 regularization (L2 정규화)

- 가중치의 제곱의 합에 비례하여 가중치에 패널티를 준다.

- 큰 값을 가진 가중치를 더욱 제약하는 효과가 있다.

L1은 그림과 같이 주로 마름모의 꼭짓점에 위치한다. (다른 가중치는 0이 됨)

 

ElasticNet : L1 L2 두 개의 장점을 섞음, 가중치의 절댓값의 합(L1)과 제곱합(L2)을 동시에 제약 조건으로 가지는 모형

 

Regularization Rate (정규화율, Lambda)

- 스칼라 값

- 정규화 함수의 상대적 중요도를 지정

- 세타의 수가 아주 많은 신경망은 정규화율을 아주 작게 주기도 한다.

  • 람다 값이 너무 높은 경우: 모델은 단순해지지만 데이터가 과소적합해질 위험이 있음
    => 모델이 학습 데이터에 대해 충분히 학습하지 못할 수 있음

  • 람다 값이 너무 낮은 경우: 모델은 더 복잡해지고 데이터가 과적합해질 위험이 있음
    => 모델이 학습 데이터의 특수성을 너무 많이 학습하게 되어 새로운 데이터로 일반화하지 못함
Comments