- vanishing gradient 현상이 발생한다. (0과 1에 결과값이 포화 saturate 된다. 포화된다는 말 자체가 kill the gradient. 기울기가 죽어버리면 에포크를 많이 돌려도 더이상 학습되지 않는다. )
- exp 함수 사용 시 비용이 크다.
- 요즘은 ReLU를 더 많이 사용한다.
- Hyperbolic Tangent : 쌍곡선 함수 중 하나. (쌍곡선함수 hyperbolic tuction : 일반 삼각함수와 유사한 성질을 갖는 함수지만 삼각함수와 달리 주기함수는 아니다.
- tanh 함수는 함수의 중심값을 0으로 옮겨 sigmoid의 최적화 과정이 느려지는 문제를 해결.
- vanishing gradient 문제 존재. (값이 1, -1에 포화됨)
- sigmoid, tanh 함수에 비해 학습이 빠름. 에포크당 훈련비율이 7배정도 빨라진다고 AlexNet 논문에 기술됨.
- 연산 비용이 크지 않고, 구현이 매우 간단.
- x = 0 일 때만 제외하고 모든 구간에서 미분이 가능. 음수면 0, 양수면 1로 값을 정제함.
- 하지만 x = 0이면, 즉 그래디언트를 구하는 과정 중 0이 주어지면 무작위하게 0 혹은 1을 출력하게 됨.
- 이전 훈련 스텝 가중치가 업데이트 되면서 한번 0이하로 떨어지만, 그 이후의 그래디언트도 모두 0으로밖에 나오지 않는 Dying ReLU 문제가 있음. 이렇게 되면 기울기가 0이 되면서 학습이 되지 않음. 하지만 이는 학습률을 크게 잡을 때 발생하는 문제로 lr을 줄여주면 해결할 수 있음.
ReLU의 단점을 해결하고자 했던 다른 함수들
- PReLU(parametric ReLU) : Leaky ReLU와 유사하지만 새로운 파라미터를 추가하여 0 미만일때도 기울기가 훈련되기 하였음.
- ELU(Exponential Linear Unit) : 0일때에도 계산되게 하면서 (알파를 추가함) Dying ReLU를 해결하였음. 하지만 exponential연산이 들어가면서 계산비용이 높아짐
https://pozalabs.github.io/Activation_Function/
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=handuelly&logNo=221824080339
https://hyeonji-ryu.github.io/2020/05/02/DeeplearningJulia/Deeplearning-10/
728x90
'Study (Data Science) > DL' 카테고리의 다른 글
Regularization, Normalization (0) | 2023.01.11 |
---|---|
model.summary 에서의 param# 구하기 (0) | 2023.01.06 |
인공지능, 머신러닝 그리고 딥러닝 (4) | 2022.12.27 |
TF-IDF (0) | 2022.12.19 |
시계열 개념 / ADF Test / 시계열 분해 /ARIMA (0) | 2022.12.18 |
댓글