0. 활성화함수
활성화함수는 이전에도 여러 번 말했듯이 모델에 비선형성을 부여하기 위해 사용된다.
선형함수의 layer들로만 구성할 경우 아무리 많이 쌓아도 결국 선형함수 하나로 표현되기 때문에 이는 레이어를 깊게 쌓는 의미가 없다. 따라서 적절한 선형함수를 적용해줘야 한다.
이번 글에서는 아주 간단하게 각 활성화 함수들의 특징에 대하여 알아보고자 한다.
1. Sigmoid
$$ \sigma(x) = \frac{1}{1+e^{-x}} $$
- 입력값과 상관없이 출력값이 반드시 0~1 사이
- 연속적이고 모든 값에 대하여 미분 가능 -> 출력값이 0 혹은 1에 가까울수록 미분값이 0에 가까워지는 gradient vanishing 문제 -> 이로 인해 잘 쓰이지 않음 -> 분류 문제에서 마지막 출력층에 사용됨
- 함숫값 중심이 0이 아님
- exp 연산이 있어서 시간이 오래 걸림
2. tanh
$$ \tanh(x) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}} $$
- 입력값과 상관없이 출력값이 (-1,1) 사이
- 연속적이고 모든 값에 대하여 미분가능 -> gradient vanishing 되는 부분이 존재
- 함숫값 중심이 0
- exp 연산이 sigmoid보다 더 있음.
3. ReLU
$$ ReLU=max(0,x) $$
- 입력값이 양수이면 입력 그대로, 음수이면 0을 출력
- 양의 값에서는 gradient vanishing 현상이 없음
- sigmoid와 tanh보다 수렴속도가 약 6배 정도 빠름
- 함숫값 중심이 0이 아님
- exp 연산이 없고 간단함.
ReLU는 가장 많이 사용되는 활성화함수 중 하나로 입력값이 양수인 경우 그대로 출력하고 음수인 경우 0으로 출력한다. 입력값이 양수일 때 gradient vanishing문제가 발생하지 않는다. 또한 함수가 간단하여 연산량이 적고 빠르다.
4. Leaky ReLU
$$ Leaky ReLU=max(0.1x, x)$$
- 입력값이 양수이면 입력 그대로, 음수이면 0.1을 곱해서 출력
- 나머지는 ReLU와 동일
728x90
반응형
'ML & DL > 개념정리' 카테고리의 다른 글
Grad-CAM: Gradient Class Activation Map (0) | 2024.01.31 |
---|---|
CAM: Class Activation Map (0) | 2024.01.31 |
Feature engineering (0) | 2024.01.11 |
연속형, 범주형 변수 처리 (0) | 2024.01.11 |
데이터 전처리(이상치&결측치) (0) | 2024.01.10 |