I'm Lim

Activation function / Overfitting problem 본문

Deep Learning/Fundamental

Activation function / Overfitting problem

imlim 2022. 11. 28. 20:42

1. Activation function

  Vanishing gradient나 Exploding gradient 문제를 이야기하기 앞서 대표적인 Activation function을 소개해야할 것 같다. 

1 ) Sigmoid

Sigmoid 함수의 수식은 $\sigma (x) = \dfrac {1}{1 + e^{-x}}$이다.

 

Sigmoid 함수의 미분 식은 $\sigma'(x) = \sigma(x)(1-\sigma(x))$이다.

 

주목할 점은 $ 0 \leq \sigma'(x) \leq 0.25$라는 것이다.

2 ) Tanh

tanh 함수의 식은 $tanh(x) = \dfrac {e^x - e^{-x}}{e^x + e^{-x}}$다.

 

tanh 함수의 미분 식은 $tanh'(x) = 1 - tanh^{2}(x)$다.

 

주목할 점은 $ 0 \leq tanh'(x) \leq 1$라는 것이다.

3 ) ReLU

ReLU 함수의 식은 $ReLU(x) = max(0, x)$다. ReLU는 미분 시 x가 양수면 1, 음수면 0이라는 특징을 가지고 있다.

 

주목할 점은 $0 \leq ReLU(x) \leq \infty$라는 것이다.

2. Overfitting

1 ) Overfitting problem  

  Overfitting이란 말 그대로 학습 데이터셋에 과도하게 적합되는 것을 뜻한다.

과도하게 적합되는 것이 무엇이 문제인가? 단순히, 학습 데이터셋에 과도하게 되는 것은 문제가 되지 않는다.

그러나, "과도하게 적합"이라는 것은 학습 데이터셋에 대한 성능은 계속 개선이 되는데 학습 데이터가 아닌 데이터셋 (테스트 데이터셋)에 대한 성능은 오히려 떨어진다는 것을 뜻한다. 

Overfitting problem

2 ) Overfitting interpretation  

  LeNet 논문을 살펴보면 모델의 복잡도가 커지면 Overfitting이 일어나기 쉽다고 한다. 모델의 복잡도가 커진다는 것은 모델의 파라미터 수가 많아진다는 것으로 해석해도 무방하다 (Linear Layer 한정). 그러면, 해당 모델이 표현할 수 있는 표현력 (representational power)이 커진다. 즉, 모델이 더욱 학습 데이터를 잘 표현하게 된다. 역설적이게도, 학습 데이터만을 너무 잘 표현하여 이 데이터를 제외한 데이터들을 잘 표현하지 못하게 된다.

3 ) Overfitting 방지

  Overfitting 문제를 방지하기 위해 우선적으로 모델의 복잡도를 줄이거나, 학습 데이터를 늘릴 수가 있다. 부차적으로는 Dropout, Weight decay, Early Stopping 기법 등이 사용된다.

 

'Deep Learning > Fundamental' 카테고리의 다른 글

Gradient Descent / Newton Method  (0) 2022.12.28
Vanishing gradient / Exploding gradient  (0) 2022.11.29
Global Minima / Local Minima / Saddle Point  (0) 2022.09.18
Multi Layer Perceptron  (0) 2022.08.09
Back Propagation  (0) 2022.08.08
Comments