-
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 )
- 네트워크가 복잡한 데이터를 학습할 수 있도록 한다. - (i)
- 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)과 같다.
- Backpropagation (Gradient Descent) 불가능
- 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 expensiveTanh
( 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