이번 시간에는 활성화 함수를 사용하는 이유와 종류, 그리고 특성에 대해 알아보도록 하겠다.
그리고 다음시간에는 이러한 활성화 함수들을 코드로는 어떻게 이용하는지 방법도 알아보도록 하자.
활성화 함수의 등장 배경 및 사용 이유
선형모델의 복잡성 증가 불가,선형분류모델의 한계 등등 기존의 퍼셉트론 만으로 만드는 선형 모델의 한계가 발생함에 따라 신경망의 층 중간에 비선형적인 층인 활성화 함수를 도입하여 모델의 성능 향상을 꾀하였다.
활성화 함수의 종류
sigmoid
시그모이드 라고 불리는 이 활성화 함수는 입력에 따라 (0,1)의 출력으로 가지는 함수이다.
특징
x값의 절댓값이 커지면 기울기가 낮아져 학습속도가 낮아짐
출력이 0을 중심으로 되어있지않음
지수함수 사용으로 연산 속도가 오래걸림
tanh
쌍곡선함수의 일종이다. 시그모이드 함수와 비슷한 모양이나 시그모이드 함수와 달리 출력을 0을 중심으로 (-1,1)의 출력을 가지는 함수이다.
특징
x값의 절댓값이 커지면 기울기가 낮아져 학습속도가 낮아짐
출력을 0을 중심으로함
지수함수 사용으로 연산 속도가 오래걸림
relu
시그모이드, tanh 를 사용할 경우 기울기가 낮아짐에 따라 학습속도가 낮아지는 문제를 해결한 함수이다.
입력이 0보다 작은 경우 0을, 0보다 큰 경우 입력값을 그대로 출력으로 가지는 함수이다.
특징
출력이 0이 중심이 아니다.
입력x 가 음수일 경우 역전파에 의한 학습이 불가능하다.
sigmoid, tanh 보다 연산속도가 훨씬 빠름
LeakyReLU
relu의 입력이 음수일 경우 역전파에 의한 학습이 불가능하다는 단점을 해결하기 위해 나온 활성화 함수다.
특징
하이퍼파라미터 a는x < 0 일때 새는 정도를 정해준다.
elu
elu는 relu의 입력이 음수일 경우 역전파에 의한 학습이 불가능하다는 단점을 해결하기 위해 나온 활성화 함수다.
relu에서 음수인 부분을 지수함수를 사용하여 바꾼 함수이다.
특징
하이퍼 파라미터 a는 x < 0 일때 수렴할 값을 정해줌
ReLU의 변종들 중에서는 가장 속도가 느림
softmax
softmax는 입력값을 [0,1] 사이의 값으로 모두 정규화하여 출력하며, 출력값들의 총합은 항상 1이 되는 특성을 가진 함수이다. 그래서 주로 다중분류(multi-class classification) 문제에서 사용된다.
softmax 함수에서 입력의 개수가 n이며 i번째 입력은 다음과 같이 계산된다.
참고
https://hwk0702.github.io/ml/dl/deep%20learning/2020/07/09/activation_function/
활성화 함수
활성화 함수 (Activation Function)
hwk0702.github.io
'수업내용정리 > 인공지능' 카테고리의 다른 글
tensorflow.keras.activations 활성화 함수 모델에서 사용하기 (0) | 2023.02.07 |
---|---|
[Tensorflow][Keras]활성화 함수 코드로 알아보기 (0) | 2023.02.05 |
[Tensorflow][Keras]활성화 함수의 사용법 간단하게 알아보기 (0) | 2023.01.18 |
[Tensorflow][Keras]Conv2D사용법 _CNN이란? (0) | 2023.01.17 |
[Tensorflow][Keras]CNN이란? CNN에 대해 개략적으로 살펴보기 (0) | 2023.01.15 |