본문 바로가기
기계학습/자연어 처리 머신러닝

활성화 함수 & 출력층 함수 개념정리

by tryotto 2020. 2. 21.

# 활성화 함수  vs  출력층 함수


1) 활성화 함수 : 

     - 출력층에서도 사용할수 있긴 하지만, 주된 목적은 아니다.

     - 보통, 여러 겹의 layer들 사이에서 사용되는 것.

        ex) 시그모이드, ReLU, Tanh 등


2) 출력층 함수 :

     - 출력층에 있는 함수 

(각 layer들 사이에 있는건 출력층 함수라고 안 부른다. 그건 활성화함수)

     - 적절하게 출력하도록 유도해서, Y 데이터셋과 잘 비교할 수 있도록 해준다

     - 활성화 함수들 중에서도 출력층 함수로 쓰이는 경우가 간혹 있다 (ex. 시그모이드)

         ex) 시그모이드, 소프트맥스, 항등함수 등





# 목적에 따른 출력층 함수 :


    1) "값"을 출력해야 하는 함수 : 항등함수 (=출력층 함수 필요 없음)

   ex) 유동 인구 수 예측 - 항등함수를 사용해야 한다 (즉, 출력층 함수가 따로 필요가 없음)


    2) 2가지 분류 (binary classification) : 시그모이드 함수

> 출력 값이 0~1 사이의 확률 값이 되도록 함

> 특정 hinge 를    넘으면 Yes,   못 넘으면 No  로 분류


    2) N가지 분류 (muti classification)

> 출력 값이 0~1 사이의 확률 값이 되도록 하되, N 개의 값들을 모두 합하면 1 이 되도록 한다

> N 개의 값들 중에서, 가장 확률값이 큰 것으로 분류해준다







# 활성화 함수 도입 의의


     - 핵심 의의 : "비선형성" 을 추가하기 위함


     - 활성화 함수가 없다면 : 여러 개의 layer들을 쌓아도, 결국 "하나의" 선형 결합 함수와 다를 게 없다

WHY? 선형성 때문. 선형 함수의 독특한 성질이다.

> h(x) = h(h(h(x'))) 가 되어버림


     - 우리의 목표 : 여러 겹의 layer 를 추가할수록, 그에 비례하게 성능을 높이고 싶다!

> "비선형성"을 추가해줘야 한다!

      >> 그러기 위해서, "매 layer" 마다 활성화 함수를 추가해주자!!





# 활성화 함수 종류 


     1) 시그모이드 : 

- 다른 이름 : 로지스틱 함수 (Logistic Function)

- 장점 : 딱히 없다 (지금은 거의 안 씀)

- 단점 :

     1) Gradient Vanishing : 

- 출력 층으로부터 멀리 있는 Layer일수록, Back Propagation 을 할때 0 에 가까운 변화율을 받는다

     WHY?  연쇄 곱을 이용해서 Back Propagation 을 하는데,

  시그모이드 함수의 경우 너무 좁은 범위에서만 유의미한 y 값을 지니지,

  그 이외의 부분에서는 대부분 0에 거의 근접한 값들을 지니기 때문에

  곱을 하면 할수록 0에 수렴하는 값이 Back Propagation 으로 오게 된다.


     2) 함숫값(y값) 이 항상 양수 :

- Back Propagation 을 할때, 다양한 방향으로 학습이 불가능

     > "모든" weight 값들이 "똑같은" 방향으로 학습이 되어야 함


     3) exp 연산이 무거움


      2) Tanh 함수 :

- 장점 : 함숫값이 [-1~1] 이라서, 시그모이드의 단점 일부 해결 가능

> weight 학습 방향이 아주 다양해짐


- 단점 : Gradient Vanishing, exp 연산


      3) ReLU 함수 :

- 장점 :

     1) 미분이 편함 (=계산 빠름)

     2) Gradient Vanishing "일부" 완화 : x 값이 양수이기만 하면, 함숫값은 항상 양수

- 단점 : 

     0) 여전히 해결하지 못한 Gradient Vanishing : 

x 값이 음수이면, 빠꾸 없이 아예 0 이 되어버림 -> 노드 자체가 죽어버린다


      4) Leaky ReLU 함수 : ReLU 의 유일한 단점을 해결하기 위한 보완책