원문 https://medium.com/fintechexplained/neural-network-activation-function-types-a85963035196
Neural Network Activation Function Types
Understanding what really happens in a neural network
medium.com
(대충 제가 이해하려고 번역한 거라 정확하지 않을 수 있고 영어가 섞여있습니다)
이 글은 신경망(Neural Network)에서 활성화 함수(Activation Function)이 어떻게 작동하는지를 설명합니다.
신경망(Neural Network)을 이해하고 싶다면(번역)
활성화 함수란?
활성화함수는 입력을 받아 출력을 생성하는 수학적 함수에 지나지 않습니다. 이 함수는 계산된 결과가 지정된 임계값에 도달하면 활성화 됩니다.
아래의 사례의 입력값은 가중 합에 바이어스를 더한 것입니다.
공식 이해하기
예를 들어 입력이 이렇고
가중치가 이렇다면
가중 합은 이렇게 계산될 것입니다.
이어서, 바이어스(정수)는 가중 합에 더해집니다.
마지막으로 계산된 값은 활성화 함수로 넘겨지고 활성화 함수는 출력을 만들어냅니다.
활성화 함수를 입력을 정규화하는 수학함수로 생각해보세요. 활성화 함수의 출력값은 다음 층에 있는 뉴런에게 전달됩니다.
활성화 함수의 임계값(threshold)이란?
임계값은 함수에서 미리 정의된 수치입니다. 활성화 함수는 임계값을 통해 출력에 비선형성(non-linearity)을 부여할 수 있습니다. 이는 신경망이 활성화함수를 통해 비선형적 문제를 해결할 수 있다는 것을 의미합니다. 비선형적 문제란 입력과 출력의 직접적인 선형 관계가 없는 문제입니다.
복잡한 시나리오를 다루기 위해, 입력에 맞게 수정된 다양한 활성화함수가 도입되었습니다.
활성화 함수 종류
아래의 표는 앞으로 설명할, 가장 잘 알려진 5가지 활성화 함수의 값이 어떻게 다른지 나타냅니다. 각 함수는 입력을 변환하는 고유의 공식을 가지고 있습니다.
1. 선형 활성화 함수 (Linear Activation Function)
이 함수는 한 인수(factor)에 따라 입력의 크기를 조절하기 때문에 입력과 출력의 관계가 선형적임을 의미합니다.
아래는 수학적 공식입니다
y는 크기값이고 x는 입력값입니다. 아래의 표와 그래프는 y에 2를 넣은 결과입니다.
2. 시그모이드 활성화 함수 (Sigmoid Activation Function)
이 함수는 S 모양입니다. 출력값에 비선형성을 부여할 수 있으며 0 또는 1의 이진값을 반환할 수 있습니다.
비선형성의 예시
콜 옵션(call option, 살 수 있는 권리)을 산다고 가정해봅시다. 콜 옵션의 개념은 회사의 주식과 같은 기본 옵션을 사기 위해 프리미엄 금액 P를 지불하는 것입니다.
구매자와 판매자는 옵션 행사 가격(strike price)에 동의했습니다. 옵션 행사 가격이란 구매자가 옵션을 행사할 때의 가격입니다.
시나리오를 통해 이해해봅시다
기본 주식(underlying stock)의 가격이 행사 가격보다 높아지면 구매자는 이익을 보게 됩니다. 반면 기본 주식의 가격이 행사 가격보다 낮아지면 손실은 제한되고 프리미엄 금액 P만 잃게 됩니다. 이것이 비선형적 관계입니다.
(예시
기본 주식 가격 = 10만원, 행사 가격 = 17만원(기본 주식가격 10만원 + 프리미엄P 7만원)
기본 주식 가격이 20만원으로 오르게 되면 구매자는 3만원의 이득을 보게 됨,
기본 주식 가격이 6만원으로 떨어지면 구매자는 프리미엄 금액 P 7만원만 손해를 봄)
옵션을 행사할지 말지에 대한 이진관계는 시그모이드 활성화 함수를 통해 계산될 수 있습니다.
출력값이 0 또는 1만을 가진다면 시그모이드 활성화 함수를 사용하세요
아래는 시그모이드 활성화 함수의 표와 그래프 입니다.
3. 탄 활성화 함수 (Tanh Activation Function)
이 함수는 시그모이드 활성화 함수의 확장형입니다. 출력값에 비선형성을 더하기 위해 사용됩니다. 출력값은 -1과 1의 범위 안에 있습니다. 탄 활성화 함수는 시그모이드 활성화 함수의 결과를 이동시킨 것과 같습니다.
4. RELU (Rectified Linear Unit Activation Function)
(어떻게 번역해야할지 모르겠는 이름..)
RELU는 가장 많이 사용되는 활성화 함수들 중 하나입니다. 주로 은닉층(hidden Layer)에서 사용됩니다. 이 함수의 개념은 매우 직선적이며 출력에 비선형성을 더합니다. 그러나 결과는 0부터 무한대까지의 넓은 범위를 가집니다.
어떤 활성화 함수를 써야할 지 모르겠다면 RELU를 쓰세요
5. 소프트맥스 활성화 함수 (Softmax Activation Function)
이 함수는 시그모이드 활성화 함수의 확장형입니다. 출력값에 비선형성을 더하지만, 다양한 계층의 결과가 계산되는 분류 예시로 주로 쓰입니다.
예시를 통해 이해해봅시다
앞으로의 강우 가능성을 예측하는 신경망을 구축하고 있다고 가정해봅시다. 소프트맥스 활성화 함수는 미래에 발생할 이벤트의 확률을 계산할 수 있어서, 출력층에서 사용될 수 있습니다.
이 함수는 입력을 정규화하고 0부터 1까지 범위를 생성합니다.
'머신러닝' 카테고리의 다른 글
[번역] 신경망의 층 (0) | 2020.07.09 |
---|---|
[번역] 신경망의 바이어스(bias)와 가중치(weight) (0) | 2020.07.09 |
[번역] 신경망(Neural Network)의 이해 (0) | 2020.07.09 |