본문 바로가기
IT/[딥러닝]

[자습일지] 딥러닝 기초 - 활성화 함수

by Coffee With Me 2020. 8. 25.

계단함수

ex) 가중치 곱의 합(z) 이 0보다 작으면 0을, 0보다 크면 1을 반환하는 함수

 

렐루함수(ReLU)

렐루 함수는 가중치 곱의 합이 0보다 크면 그 값을 그대로 반환하고 0보다 작으면 0을 반환하는 활성화 함수이다.

이 함수는 인공 신경망의 은닉층에서 많이 쓰이는 활성화 함수이다. 

리키 함수

 

 

리키 렐루(Leaky ReLU)

렐루함수와 거의 유사하지만, 한 가지 차이점은 가중치 곱의 합이 0보다 작을 때 값도 약간 고려한다는 점이다. 이로써 정보의 손실을 방지한다.

리키렐루 함수

a는 하이퍼파라미터로 Leaky('새는') 정도를 결정하며 일반적으로는 0.01 ~ 0.3의 값을 가집니다. 여기서 말하는 '새는 정도'라는 것은 입력값의 음수일 때의 기울기이다. 

 

 

시그모이드 함수

시그모이드 함수는 가중치 곱의 합을 0과 1사이의 값으로 조정해 반환하는 활성화 함수이고 그 모양은 S자를 닮았다. 시그모이드 함수는 로지스틱(logistic) 함수라고도 불리며, 수식은 다음과 같다.

시그모이드 함수는 가중치 곱의 합이 0에서 양이나 음으로 커지면 반환하는 값이 급격하게 변하고 절댓값이 2.5 이상일 때부터는 크게 변하지 않는 특징이 있다. 이 S자 모양을 변경할수도 있으나, 딥러닝에서는 일반적으로 있는 그대로 사용한다.

시그모이드 함수

 

 

쌍곡탄젠트 함수

쌍곡탄젠트 함수(hyperbolic tangent, tanh 함수)는 시그모이드와 유사한 모양을 갖는다. 쌍곡탄젠트 함수가 반환하는 값의 범위는 -1에서 1사이의 값이며 가중치 곱의 합이 0에서 양이나 음으로 커질 때 시그모이드 함수보다 더 급격하게 변한다. 수식은 다음과 같다.

하이퍼볼릭 탄젠트 함수
하이퍼볼릭 탄젠트 함수

 

출력층에서 활성화 함수 사용

출력층에서도 활성화 함수를 활용하는데, 일반적으로 시그모이드 함수 or 소프트맥스 함수를 사용한다.

 

시그모이드 함수 : 이항분류 문제에서 사용

0~1 사이의 값을 반환하기 때문에 확률로 사용됨.

 

소프트맥스 함수 : 다항분류 문제에서 사용

분류될 수 있는 각 결과, 즉 레이블에 대한 입력값에 지수(exponential)를 취해 합하여 분모로 취함으로써 정규화(normalization)한다. 수식은 다음과 같다.

ex) 소형 중형 대형 분류 문제에서 각각 레이블에 대한 지수화 출력값의 합을 분모로 취해 나눠준다. 각 레이블에 대한 지수화 출력값이 1.1, 1.3, 1.8 이라면 1.8에 대한 소프트맥스 값은 아래와 같다.

 

 

출처 : 파이썬과 케라스를 이용한 딥러닝 강화학습 주식투자 - 퀀티랩 지음 http://quantylab.com/

 

퀀티랩 - Quantylab

코스피 Upward 2329.83 +25.24 +1.10%

quantylab.com