본문 바로가기
머신러닝

[머신러닝] Activation Function

by 의문의 효몽 2023. 11. 17.

Activation Function (활성화 함수)

입력 값들의 가중 합을 통해 노드의 활성화 여부를 판단하는 함수

    ▪ 하나의 층에서 다음 층으로 값을 넘길 때, 선형방정식을 이용해 값을 계산한 뒤에 넘김

    ▪ 층과 층 사이를 통과할 때, 선형 데이터를 비선형으로 바꿔주기 위해서 사용

 

 

Activation Function (활성화 함수)의 종류

 

(1) Linear function

    ▪ 입력 값을 그대로 출력으로 내보내는 함수

    ▪ Regression (회귀) 문제의 출력층에서 주로 사용됨

Linear function 출력 결과

 

(2) Step function

    ▪ 0 이하면 0, 0 보다 크면 1

    ▪ 역전파를 통한 학습 불가능 (미분불가)

    ▪ 이진분류시, 출력층에서 사용하기 적합함

Step function 출력 결과

 

(3) Sigmoid function

    ▪ 입력받은 값을 0 ~ 1 사이의 실수로 출력 → 확률로 해석이 가능 

    ▪ exp연산의 속도가 느림

    ▪ 기울기가 발생하지 않는 지점이 존재함

        → 입력값의 절대값이 크면 기울기가 0으로 수렴한다.

        → 따라서, 경사하강법을 적용해 가중치를 업데이트할 때, 기울기가 0에 가까워져 소실되는 Gradient Vanishing(기울기 소실) 현상 발생

Sigmoid function 출력 결과

 

(4) Hypergolic tangent (tanh) function

    ▪ -1 ~ 1 사이의 실수를 출력

    ▪ Sigmoid function보다 출력의 범위가 큼

    ▪ Sigmoid function보다 최대 기울기가 큼

        → 하지만, 함수의 형태는 Sigmoid function과 같아 여전히 Gradient Vanishing 문제를 가짐

Hypergolic tangent (tanh) function 출력 결과

 

(5) Rectified Linear Unit (ReLU) function

    ▪ 0 이하일 때 0, 0 보다 크면 값을 그대로 출력

    ▪ 단순한 연산으로 학습 속도가 빠름

    ▪ 입력값이 0 이하인 경우 기울기는 항상 0

     CNN에서 자주 사용됨

     ▪ Sigmoid function과 tanh function이 가지고 있는 Gradient Vanishing 문제 완화

Rectified Linear Unit (ReLU) function 출력 결과

 

(6) Leaky ReLU function

    ▪ 0 이하일 때 0.1을 곱한 값을 출력

    ▪ ReLU function의 음수 구간 기울기 소실 문제를 보완

Leaky ReLU function 출력 결과

 

(7) Parametric ReLU (PReLU) function

    ▪ Leaky ReLU와 유사

    ▪ 음수 구간 기울기를 결정하는 parameter는 학습 가능한 파라미터임

Parametric ReLU (PReLU) function 출력 결과

 

(7) Softmax function

    ▪ 여러 개의 입력을 받아 각각의 확률값으로 출력

    ▪ 0 ~ 1 사이의 실수를 출력하고, 모든 출력의 합은 1 → 확률로 해석이 가능 

    ▪ Multi-label classification 모델의 출력층에 주로 사용됨

Softmax function 사용 예시 (개/고양이/자동차 분류)

 

Softmax function 계산 예시