ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Activation Function
    기초_개념/Deep Learning 2020. 12. 23. 00:52

    Activation Function

    • 뉴럴 네트워크의 출력을 결정하는 수학적 방적식으로 네트워크의 각 뉴런에 적용되어 해당 뉴런을 활성화를 결정한다.
    • 각 뉴런의 결과값을 [ 0 , 1 ] or [ -1 , 1 ] 사이의 값으로 정규화하는 역할도 한다. 
    • 많은 수의 뉴런에 걸쳐 계산되기 때문에 계산 효율성이 뛰어나야 한다.
    • 역할
      • 뉴런이 입력을 받아 다음 레이어로 출력을 전달하기 위한 관문(Gate)의 역할을 한다.
      • rule 혹은 Threshold에 의해 뉴런의 활성화 유무를 결정할 수 있으며, 입력 시그널을 매핑된 출력 시그널로 변형하는 역할이 가능하다.
    • 뉴럴 네트워크에서는 non-linear activation function을 사용한다.
      • 이유
        • 네트워크가 복잡한 데이터를 학습할 수 있도록 한다.  - (i)
          • 뉴럴 네트워크의 성능을 높이기 위해서는 레이어를 계속해서 추가해야 한다.
          • Linear한 연산을 갖는 레이어를 여러 개 쌓아도 결국 이는 하나의 Linear 연산으로 나타낼 수 있다.
          • MLP(Multiple Layer Perceptron)은 활성화 함수를 이용한 non-linear한 연산을 갖는 여러 레이어를 쌓는 개념
        • Question을 나타내는 거의 대부분의 기능을 계산하고 학습할 수 있다.
        • 정확한 예측을 제공한다. ( Sigmoid or Softmax Activation Function )
      • Binary Step Function
        • Threshold 기반의 Activation Function으로 입력이 Threshold보다 크다면 해당 뉴런을 활성화한다.
        • multi-value output을 지원하지 않는다. ( 출력으로 A or B 정도만 가능 )
      • Linear Activation Function
        • 입력에 비례하는 출력을 생성한다.
        • Problem
          • Backpropagation (Gradient Descent) 불가능
            • 도함수* 값이 상수값이며 입력과는 관계가 없다.
            • 따라서 입력 뉴런의 어떤 가중치를 어떻게 변경하는 것이 더 나은 결과를 도출하는지 학습할 수 없다.
          • 뉴럴 네트워크의 모든 레이어가 하나로 뭉게진다.
            • 이는 뉴럴 네트워크에서 non-linear activation function을 사용해야하는 가장 큰 이유이다.
            • 자세한 내용은 (i)과 같다.
      • Non-Linear Activation Function
        • 뉴런의 입력과 출력 사이에 복잡한 매핑을 만들 수 있다.
          • 비선형적이거나 높은 차원(복잡한) 데이터를 학습하고 모델링할 수 있다.
        • 입력과 관련있는 도함수를 갖고 있으므로 backpropagation이 가능하다.
        • 여러 레이어를 쌓을 수 있다.
    Sigmoid
    장점

    - Smooth Gradient : 출력이 튀는 것을 방지할 수 있다.
    - Output Values Bound : 출력은 0~1 사이로 정규화 가능
    - Clear Prediction : X값이 커지고 작아짐에 따라 결과는 1과 0에 한  없이 가까워지기 때문에 명확한 예측 가능

    단점

    - Vanishing Gradient : 매우 크고 작은 X에서는 값의 차이가 없으며 이는 Vanishing Gradient의 원인이 된다. 이는 Sigmoid을 ReLU가 대체하게 된 이유 중 가장 큰 원인이다.
    - Outputs not zero centered : 출력의 중심이 0이 아니다.
    - Computationally expensive
    Tanh
    ( Hyperbolic Tangent )
    중앙값이 0이라는 것을 제외하면 Sigmoid와 동일하다


    ReLU
    ( Rectified Linear Unit )
    장점

    - Computationally Efficient : 뉴런의 부분 활성화 가능하며, 미분 계산이 매우 간단하다.
    - Efficient Gradient Propagation : Gradient의 Vanishing과 Exploding이 없다.

    단점

    - Dying ReLU : 입력이 0 혹은 음수일 경우 gradient 값은 0이 된다. 이는 backpropagation과 학습이 불가능함을 의미한다.

    Leaky ReLU
    - Prevents Dying ReLU Problem : 음수값에서도 Backpropagation이 가능하도록 하였다.

    - 음수 입력에 대해 동일한 값을 제공하지 않는다.

    ELU
    0 이하로 내려가면 시스템의 평균 출력이 0이 될 수 있어, 모델이 더 빠르게 수렴할 것이다.
    GELU
    (Gaussian Error Linear Unit)
    - BERT 등의 사전 학습된 언어 모델에서 사용되는 함수

    - ReLU에 Gaussian 분포의 누적확률분포함수를 적용한 함수
         

     


    * Derivative Function (도함수) : 본래의 함수에서 어떤 목적을 위해서 변형된, 유도된, 파생된 함수 (미분 가능한 함수)

    * Sigmoid Vanishing Gradient : Backpropagation 수행시 레이어를 지나면서 Gradient를 계속 곱하므로 Gradient는 0으로 수렴

    '기초_개념 > Deep Learning' 카테고리의 다른 글

    정규화  (0) 2021.01.05
    Recurrent Neural Network  (0) 2020.12.31
    Dialog Management  (0) 2020.12.30
    Neural Network Bias  (0) 2020.12.26
    Gradient Descent & BackPropagation  (0) 2020.12.23

    댓글

Designed by Tistory.