• toc {: toc}

Activation Function의 사용 이유

Activation Function은 왜 사용될까?

본래 뉴런은 여러 경로를 통해 들어온 전기신호의 합이 일정치 이상이 되면 다음 뉴런으로 신호를 전달한다.

  • Activation Function은 입력된 데이터의 가중 합을 출력 신호로 변환하는 함수이다.

활성화라는 이름처럼 입력된 데이터 가중 합이 활성화를 일으킬지 일으키지 않을지를 결정한다.

  • Activation Function은 모델이 비선형 문제를 해결하는데 중요한 역할을 한다.

Perceptron, Multi-Layer Perceptron 장에서 우리는 Layer를 쌓으며 비선형 문제를 해결한다고 했지만 엄밀히 말하면 은닉층을 쌓기만 해서는 비선형 문제를 풀 수 없다.

으로 Input과 Net의 계산이 이루어지기 때문에 층이 쌓여도 값은 선형적이다.

⇒ 이를 해결하기 위해 Activation Function을 사용해 출력값을 비선형적으로 변환하면서 선형 분류기를 비선형 분류기로 만든다.

  • 비선형적으로 변환해야 하기 때문에 신경망에서는 Activation Function을 비선형으로 사용한다.

  • 예시

Activation Function

라 하자. 3층으로 구성된 네트워크라 하면

이다. Activation Function이 선형이면 계산한 결과도 선형이므로 비선형 함수를 사용해야 비선형 문제를 풀 수 있다는 것을 알 수 있다.

Activation Function의 종류

Sigmoid(시그모이드)

  • 시그모이드 곡선을 갖는 수학 함수이다.

Sigmoid implementation{: .center}

Sigmoid Saturated{: .center}

출처: https://heeya-stupidbutstudying.tistory.com/entry/ML-활성화-함수Activation-Function

특징

  • Sigmoid는 0 에서 1 사이의 함수이다. 값이 들어올 경우 0~1 사이의 값으로 반환한다.
  • 출력 값의 범위가 0~1 사이로 출력값의 차이를 갖기 때문에 대부분 Output에서 이진분류(binary classification)할 경우에 사용된다.
  • Sigmoid의 미분함수의 최댓값은 1/4=0.25 이다.

단점

  • Vanishing Gradient : Sigmoid는 값이 커지거나 작아질 수록 값들이 0 또는 1로 수렴한다. 때문에 이를 미분한 값도 0에 가까워진다. 결국, 신경망의 깊이가 깊어질 수록 gradient가 0에 가까워지게 된다. (Backpropagation을 할 때 이전 값을 참고하기 때문에 점점 더 0으로 감소한다.)

    ⇒ gradient로 인한 가중치 변화가 없으므로 학습이 잘 되지 않는다.

  • Not Zero-Centered : Zero-Centered는 그래프의 중심이 0인 형태로 함숫값이 양수 혹은 음수에 치우치지 않고 실수 전체에서 나타나는 형태를 의미한다. Sigmoid는 항상 양수값이기 때문에 이전 gradient와 곱해지는 gradient값은 모두 양수이거나 모두 음수가 된다. 좌표축으로 봤을 때 1, 3사분면이 부호가 모두 같기 때문에 1, 3사분면 방향으로만 이동하게 된다.

    ⇒ zigzag 문제로 학습이 잘 되지 않게 된다.

    (이해되지 않으면 https://nittaku.tistory.com/267 참고)

zigzag{: .center}

출처: CS231n Lecture6

Tanh(Hyperbolic Tangent Function)

  • Sigmoid를 변형한 쌍곡선 함수이다.

tanh implementation{: .center}

Differentiation function of tanh and sigmoid{: .center}

출처 : https://heeya-stupidbutstudying.tistory.com/entry/ML-활성화-함수Activation-Function

왼쪽은 tanh(x)의 그래프, 오른쪽은 tanh와 sigmoid의 도함수 그래프이다.

특징

  • Sigmoid의 Not Zero-Centered 문제를 해결했다.
  • Sigmoid 미분함수의 최댓값보다 tanh의 최댓값이 4배 더 크다.
  • 여전히 Vanishing Gradient문제는 남아있다.

Transclude of Softmax

Transclude of ReLU