Activation functions

2021. 8. 16. 16:27AI/Deep learning

    목차
반응형

logistic function (= sigmoid)

출력층에서 0 ~ 1 사이의 출력을 표현하기 위해 사용

이항 분류 시 출력층에서 사용

은닉층에서는 보통 사용하지 않음

0~1 사이 값 즉, 양수 이기에 음수 경사 표현이 불가능

 

함수의 양쪽끝에서 경사가 거의 0임

즉, -3 이하의 입력 값에서는 출력이 거의 0으로 saturation 됨

 

 

softmax

3가지 이상의 범주로 출력을 분류 시 사용

-inf ~ inf 의 값을 0 ~ 1 범위 값으로 변환

 

확률이기에 각각의 출력의 총 합은 1

즉, 10가지 out type들이 있을 시, 각각은 1이하의 값으로 출력되고 (확률)

합은 1

 

Hyperbolic Tangent (쌍곡탄젠트)

logistic 함수와 비슷하지만 -1.00 ~ 1.00의 범위로 출력

출력이 -1로 나오기에 zero-centered

saturation 문제는 동일

 

 

ReLU (Rectified Linear Unit)

DNN 학습이 잘 안되는 문제 해결

 

sigmoid

sigmoid(logistic) function -> ReLU를 사용 (선형적 출력: gradient(=error)가 소실되지 않음)

𝜎(z) = 1 / (1 + e^-z)

1980~1990년대에 많이 사용

학습을 잘 못하게 하는 주범이었음

z 축이 좌/우로 갈수록 값의 차이가 매우 적어짐 0 1 saturation -> , 미분에 안 좋음

 = 학습에 안 좋음

 

모든 예측 값이 0~1 사이 값

이 값을 계속 곱하면 값이 계속 작아짐

값이 작을 수록 양자화 오류 발생

 

 

 

0이하의 값: 0

1이상의 값: 그대로 출력

 

saturation 문제 완화

계산이 간단

은닉층에서 많이 사용

        |
        |          /
        |         /
        |        /
        |-------/
        +-----------------
                0

 

Activation 사용 

    activation= 
        sigmoid
        softmax
        relu        : 은닉층
        tahn        : 은닉층

 

 

반응형