본문 바로가기

AI

Overfitting 방지

적절한 Learning rate 조정의 필요성

 학습을 하는 과정에서 learning rate를 너무 크게 잡은 경우 학습이 제대로 진행되지 않는다.

global minimum에 수렴하는 과정에 있어 lr이 너무 작은 경우 학습 속도가 너무 느리거나 local minimum에 수렴하는 등의 문제가 발생할 수 있다. 물론 local minimum의 경우 단순히 lr을 조정하는 것으로는 해결하기 어려울 수 있다.

반면에 lr이 너무 큰 경우 minimum에 수렴하지 못하고 계속 발산하여 cost가 감소하기는 커녕 오히려 증가하며 학습이 불가할 수 있다.  따라서 적절한 lr을 정하는 것은 중요하다. 일반적으로 처음에는 0.01정도로 잡고 추이를 보고 조정하는 과정을 거친다.

PreProcessing

 예를 들어 두개의 변수(x1, x2)를 가지는 H(x) 그래프가 있다고 하자. 해당 그래프를 cost에 대해서 나타낸다면 해당 그래프는 마치 등고선과 같은 모습을 가지고 있을 것이다.

그 경우에 x1, x2의 단위가 매우 차이가 난다면, 단위가 작은 쪽으로 매우 납작한 모습을 가지게 될 것이다.

 

해당 경우에 학습을 진행한다면 납작한 쪽으로는 상대적으로 너무 크게 움직여 발산이 크게 이루어질 것이다. 따라서 학습을 하는 과정이 잘 이루어지지 않게된다. 결과적으로 이런 과정에서 preprocessing 과정을 거쳐서 학습이 효과적으로 이루어지도록 한다.

위처럼 데이터의 중심을 중점으로 옮기거나 normalizing (standardization) 과정으로 단위를 통일하는 과정을 거친다.

Standardization

위와 같이 데이터에 평균을 빼고 표준편차로 나눠주어 Standardization 과정을 거쳐 normalizing을 할 수 있다.

Overfitting

 학습 데이터에 과적합하게 된다면 general한 능력이 떨어져 training이 아닌 데이터에 대해서 오히려 정확도가 떨어지게 된다. 따라서 과적합을 방지하여야 하는데 이를 위한 방법이 존재한다.

  • Training data 추가
  • Feature 수 감소
  • Regularization (일반화)

Regularization

 아주 간단히 말해서 모델의 복잡도를 줄이는 것을 의미한다. 더 쉽게 말하자면 모델의 그래프를 general 해지도록 펴는 것을 의미한다.

이를 위해서 loss에 특정 값(noise)를 더해준다.

graph의 경우 특정 weight가 너무 큰 경우, 구부러지는 특성을 보이게 되는데 특정 weight가 너무 커지는 것을 방지하기 위해서

regularization strength

기존 cost function에 위 같은 term을 더해준다. 해당 term을 regularization strength라고 한다. 여기서 람다는 상수로 임의로 조정이 가능하다. 람다 값이 클수록 regularize 성능이 뛰어나다. 따라서 람다는 regularization의 강도를 결정한다라고 생각하면 된다.

'AI' 카테고리의 다른 글

CNN  (0) 2024.08.25
Activation function과 Weight initialization  (0) 2024.08.22
Multinomial Classification  (0) 2024.08.20
Logistic Regression  (0) 2024.08.19
Object Detection 알고리즘 별 Label Bounding Box 좌표  (0) 2024.05.14