본문 바로가기
Machine Learning

DL #3 : 딥러닝 활성화 함수 종류 및 특징 (Activation Function)

by 무적물리 2020. 5. 4.

활성화 함수는 Transfer Function 으로부터 전달 받은 값을 출력할 때 일정 기준에 따라 출력값을 변화시키는 비선형 함수입니다. 활성화 함수를 통해 출력 값을 0~1 사이의 실수 값으로 정규화해 확률적 개념으로 사용 가능합니다. 비선형함수는 직선으로 표현할 수 없는 데이터 사이의 관계도 표현할 수 있습니다. 대표적인 활성화 함수는 Sigmoid, tanh, ReLU 입니다.









계단 함수 (Step Function)


계단 함수는 선형 함수의 결과를 이진 분류로 나타내기 위한 함수로, 임계치 이상에서 1, 아니면 0을 출력합니다.


시그모이드 (Sigmoid)


시그모이드는 선형함수의 결과를 0~1 까지의 비선형 형태로 변형하기 위한 함수입니다. 해당 함수는 로지스틱 회귀와 같은 분류 문제의 확률 표현에 사용됩니다. 과거에 인기가 많은 함수였지만 딥러닝 모델이 깊으면 깊을 수록 기울기가 사라지는 Gradient Vanishing 현상이 발생합니다. 따라서, 딥러닝 모델에서는 추천하지 않는 함수입니다.



하이퍼볼릭 탄젠트 (Hyperbolic Tangent)


tanh 함수는 선형 함수의 결과를 -1~1 사이의 비선형 형태로 변경하기 위한 함수입니다. 시그모이드와 같이 결과값의 평균이 0이 아닌 양수로 편향된 문제를 해결하기 위해 사용합니다. 시그모이드를 보완하기 위해 나온 함수로, 거의 모든 측면에서 시그모이드 보다 성능이 우수하지만, Gradient Vanishing 현상의 발생은 막을 수 없습니다. 시그모이드 보다는 덜하지만 말입니다. 참고로, 기울기가 최대인 지점은 x=0이며 미분 값은 1입니다.


렐루 (ReLU)


최근 활발히 사용되는 ReLU는 입력이 양수일 때는 x, 음수일 때는 0을 출력합니다. 경사하강에 영향을 주지 않아 다른 활성화 함수에 비해 학습이 빠르다는 장점을 가지며, Gradient Vanishing 문제가 발생하지 않습니다. 렐루는 보통 Hidden Layer에 사용되는 함수이며, tanh 함수 대비 6배 빠른 학습 속도를 가집니다. 렐루의 문제점은 음수 값을 입력 받으면 항상 0이기 때문에 훈련 능력이 감소한다는데 있습니다. 이를 해결하기 위해 Leaky ReLU가 있습니다.


소프트맥스 (Softmax)


소프트맥스는 입력받은 값을 0~1 사이의 출력이 되도록 정규화하여 출력 값들의 총합이 항상 1이 되는 특성을 가진 함수입니다. 소프트맥스는 보통 딥러닝에서 출력 노드의 활성화 함수로 많이 사용됩니다.


댓글