Activation Function (활성화 함수)
입력 값들의 가중 합을 통해 노드의 활성화 여부를 판단하는 함수
▪ 하나의 층에서 다음 층으로 값을 넘길 때, 선형방정식을 이용해 값을 계산한 뒤에 넘김
▪ 층과 층 사이를 통과할 때, 선형 데이터를 비선형으로 바꿔주기 위해서 사용
Activation Function (활성화 함수)의 종류
(1) Linear function
▪ 입력 값을 그대로 출력으로 내보내는 함수
▪ Regression (회귀) 문제의 출력층에서 주로 사용됨
(2) Step function
▪ 0 이하면 0, 0 보다 크면 1
▪ 역전파를 통한 학습 불가능 (미분불가)
▪ 이진분류시, 출력층에서 사용하기 적합함
(3) Sigmoid function
▪ 입력받은 값을 0 ~ 1 사이의 실수로 출력 → 확률로 해석이 가능
▪ exp연산의 속도가 느림
▪ 기울기가 발생하지 않는 지점이 존재함
→ 입력값의 절대값이 크면 기울기가 0으로 수렴한다.
→ 따라서, 경사하강법을 적용해 가중치를 업데이트할 때, 기울기가 0에 가까워져 소실되는 Gradient Vanishing(기울기 소실) 현상 발생
(4) Hypergolic tangent (tanh) function
▪ -1 ~ 1 사이의 실수를 출력
▪ Sigmoid function보다 출력의 범위가 큼
▪ Sigmoid function보다 최대 기울기가 큼
→ 하지만, 함수의 형태는 Sigmoid function과 같아 여전히 Gradient Vanishing 문제를 가짐
(5) Rectified Linear Unit (ReLU) function
▪ 0 이하일 때 0, 0 보다 크면 값을 그대로 출력
▪ 단순한 연산으로 학습 속도가 빠름
▪ 입력값이 0 이하인 경우 기울기는 항상 0
▪ CNN에서 자주 사용됨
▪ Sigmoid function과 tanh function이 가지고 있는 Gradient Vanishing 문제 완화
(6) Leaky ReLU function
▪ 0 이하일 때 0.1을 곱한 값을 출력
▪ ReLU function의 음수 구간 기울기 소실 문제를 보완
(7) Parametric ReLU (PReLU) function
▪ Leaky ReLU와 유사
▪ 음수 구간 기울기를 결정하는 parameter는 학습 가능한 파라미터임
(7) Softmax function
▪ 여러 개의 입력을 받아 각각의 확률값으로 출력
▪ 0 ~ 1 사이의 실수를 출력하고, 모든 출력의 합은 1 → 확률로 해석이 가능
▪ Multi-label classification 모델의 출력층에 주로 사용됨
'머신러닝' 카테고리의 다른 글
Support Vector Machine : Gradient Decent Method (GD) (1) | 2023.12.18 |
---|---|
Support Vector Machine : Quadratic Programming(2차 계획법) (0) | 2023.12.18 |
MNIST Classification using SLP, MLP (1) | 2023.12.17 |
[머신러닝] Loss Function, Optimization, Batch size (2) | 2023.11.24 |
[머신러닝] MLP (Multi Layer Perceptron) (0) | 2023.11.16 |