Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

RECORD AI

Derivatives Of Activation Functions 본문

Deep Learning/basic Neural Networks

Derivatives Of Activation Functions

SC_LEE 2022. 12. 26. 14:59
반응형

Derivatives Of Activation Functions

신경망의 back propagation를 구현하려면 활성화 함수의 도함수를 구해야 하며
그 함수의 기울기는 어떻게 구하는지에 대해 알아보자.


Sigmoid 활성화 함수

  • 선을 그었을 때 삼각형의 높이를 너비를 나눈 값이다.

$g(z) = \frac{1}{{1 + e^{-z}}}$ 가 시그모이드 함수 일 때

  • g(z)의 함수 기울기는 $\frac{d}{{dz}}g(z)$가 된다
  • 이 기울기 값은 $\frac{1}{{1 + e^{-z}}}(1 - \frac{1}{{1 + e^{-z}}})$ 공식과 같으면, 이 값은 g(z)(1-g(z))와 같아진다
예시
  1. z가 굉장히 큰 값인 10일 때
  • g(z)의 값이 1에 가까워지는데 이 값을 함수 기울기인$\frac{d}{{dz}}g(z)$에 대입한 결과 0에 가까워지고,
    똑같이 그 결과값을 g(z)(1-g(z)) 공식에도 대입한 결과 0에 가까워지는 것을 확인 할 수 있어 두개의 공식이 같아 진다고 할 수 있다
  1. z가 아주 작은 값이 -10일 때
  • g(z)의 값이 0에 가까워지는데 이 값을 함수 기울기인$\frac{d}{{dz}}g(z)$에 대입한 결과 0에 가까워지고,
    똑같이 그 결과값을 g(z)(1-g(z)) 공식에도 대입한 결과 0에 가까워지는 것을 확인 할 수 있어 두개의 공식이 같아 진다고 할 수 있다
  1. z가 0일 때
  • g(z)는 $\frac{1}{{2}}$가 된다
  • 도함수 $\frac{1}{{4}}$가 되고, 기울기 혹은 도함수의 값과 정확히 일치

추가 설명

  • 도함수 $\frac{d}{{dz}}g(z)$ 대신 g'(z)라고 쓴다
  • g'(z)는 입력 변수 z에 대한 g의 도함수를 의미 한다
  • 신경망에서 a는 g(z)와 같고, a(1-a)로 간소화 할 수 있다.
  • g'(z)가 a(1-a)와 같기 때문에 a(1-a)라고 표시 할 수 있다

장점

이미 a의 값을 계산했다면 이 공식을 써서 g'의 값을 빠르게 계산 할 수 있다


Tanh 활성화 함수

  • g(z)의 함수 기울기는 $\frac{d}{{dz}}g(z)$가 된다

Tanh함수 공식

  1. tanh(z)를 정의 하면 $\frac{e^{z}-e^{z}}{e^{z}+e^{z}}$로 할 수 있다

  2. 도함수 $\frac{d}{{dz}}g(z)$ 대신 g'(z)라고 쓴다

  3. 공식 확인

    3-1 z가 10일 때

    • tanh(z)는 1에 가까워 지고, tanh는 -1 ~ 1까지 범위의 값을 갖는다
    • g'(z)는 0에 가까워 진다

    3-2 z가 -10일 때

    • tanh(z)는 -1에 가까워 진다
    • g'(z)는 1에서 -1의 제곱을 뺀 0에 가까워 진다

    3-3 z가 0일 때

    • tanh(z)는 0이 되고, 기울기가 1이 된다

요약

a가 g(z)인 tanh(z)일 때 도함수는 g'(z) = $1 - a^2$가 된고, a의 값을 이미 계산했다면
이 공식을 사용하여 도함수도 빠르게 계산할 수 있다


ReLU and Leaky ReLU



ReLu

  • g(z)는 max(0,z)가 된다

  • z가 0보다 작을때 1

  • z가 0보다 크면 1

  • z가 0일 때

    g'은 활성화 함수 g(z)의 서브 경사이기 때문에 도함수를 1이라고 표기하여 미분을 하지 않는다


Leaky ReLU

  • g(z)는 max(0.01z,z)가 된다

  • g'(z)가 0보다 작을때 0.01

  • g'(z)가 0보다 크면 1

  • z가 0일 때

    g'을 0.01 이나 1 둘 중에 아무렇게 설정해도 괜찮기 때문에 도함수가 정의를 하지 않는다


참조 1

반응형
Comments