Deep Learning study

Regularization과 Normalization 본문

AI/Deep learning 을 위한 지식

Regularization과 Normalization

HwaniL.choi 2019. 8. 24. 11:28
반응형

Deep learning 논문들을 읽다보면 정말 자주나오는 단어입니다. 다소 헷갈릴 수있는 개념인 Normalization과 Regularization에 대해서 알아보도록 합시다.

 

 

Regularization

 

이 방법은 모델에 제약(penalty)을 주는 것 입니다. 쉽게 말하자면, perfect fit 을 포기함으로써(trainging accuracy를 낮춤으로써)  potential fit을 증가시키고자(testing accuracy를 높이고자) 하는 것 입니다.

https://www.globalsoftwaresupport.com/regularization-machine-learning/

위의 오른쪽 그래프를 보면 모든 traing data에대해서는 완벽하게 fitting되어 있습니다. 하지만 이 모델은 일반적으로 적용했을때 옳바른 output을 내지 못하겠죠.

따라서 너무 높은 complexity를 피하기 위해서 쓰는 방법이 Regularization 입니다.

 

대표적으로 drop out, early stopping, weight decay등이 있습니다.

이 방법들모두 training 할때에 모델에게 제약을 거는 방법들이죠.

 

조금 이해를 돕기위해 L2 Regulization을 살펴보도록 하겠습니다.

 

https://www.oreilly.com/library/view/hands-on-machine-learning/9781788393485/1c24cbe4-94cf-455c-bc10-2ee45b9b7909.xhtml

위의 cost function을 살펴볼까요 .

 

우리가 줄이고자 하는 것은 Loss function의 값 입니다. 그렇지만 Cost가 줄어든다고 무조건 좋은것인가 하면 그건 또 아닙니다. 왜냐하면 위에도 말했듯이 Overfitting이 일어나고 있어서 training data에만 맞춰지는 중일지도 모르니까요.

 

따라서 위에서 추가시켜준 것이 Regularization term(L2 Regulization)입니다. 이 trem의 의미는 무엇일까요?

 

"Cost를 줄이는것이 특정 Parameter를 엄청 크게 만들어주면서 에러를 줄인다면 그것은 하지 않겠다!" 라고 하는것이 위의 Regularization term의 역할이자 의미 입니다. term이 커지면 그만큼 앞의 Loss function이 cost를 줄인 것을 상쇄시켜 버리죠.

 

왜냐하면 특정값이 너무 커저버린다는것은 곧 overfitting이 일어나고 있다는 의미가 되기 때문입니다. 위의 Normalization에서 feature scaling을 해주는 이유와도 비슷합니다.

 

 


 

Normalization(정규화)

 

이 기법은 데이터값의 범위를 compact하게 만들어주기 위해서 사용합니다. 다시말하면 데이터들을 scaling하는데 사용하는 것입니다. (feature scaling)

 

그렇다면 왜 굳이 이런 방법을 사용할까요?

 

  1. 먼저 사용하는 데이터의 scale 범위가 크면 노이즈가 생성되기 쉽고, Overfitting이 일어나기 쉽습니다.
  2. 학습을 더 빨리 시킬 수 있고, local optimum에 빠질 가능성을 줄어줍니다.
  3. Scale 이 너무 커서 값의 분포 범위가 넓어지면 값을 정하기가 힘들어 집니다.

등의 이유가 있습니다.

 

가장 많이 쓰는 정규화 방법으로 Batch Norm이 있습니다.

 

 

 

항상 논문을 읽으면 자주 나오는 개념이고, 단어가 비슷하게 생겨먹고 한국어로 번역을 하기 애매한 단어이기 때문에 혼동하기 쉽습니다.

따라서 둘의 개념의 차이를 알아두고 왜 사용하는지 정도는 알아두면 확실히 도움 될 것이라고 생각합니다. ㅎㅎ

 

다음에 공부를하다가 Regularization이나 Normalization을 더 공부하게 된다면, 몇가지 방법에대해서 알아보도록 할게요.

그럼이만 !

반응형
Comments