Study Archives/Deep Learning

Activation Function

ns4A 2023. 11. 16. 10:04

cs231n by Stanford

Activation function, 활성화 함수는 인공 신경망의 각 뉴런에서 입력 신호의 가중치 합을 계산한 후 그 결과를 다음 뉴런에 얼마나, 어떻게 전달할지 결정하는 함수입니다. 이렇게만 얘기했을 때 대체 그래서 이게 왜 필요한건지는 감이 잘 오지 않을텐데요. 우선은 activation function은 비선형성의 특징을 갖고 있습니다. 우선 예를 하나 들어볼까요.

 

여러 사람들에 대한 키, 체중, 혈압 데이터가 주어졌다고 가정해봅시다. 이것만으로 이 사람들의 성별을 분류하기가 쉬운 일일까요? 주어진 데이터가 남/여 를 명확히 알려준다면 선형적으로 분류할 수 있을 겁니다만 키, 체중 등으로는 설명되지 않기에 알기가 쉽지는 않죠.

성별은 여러 요소의 복합적인 조합에 의해 결정되기 때문에 이러한 간단한 선형 패턴을 찾기 어려울 수 있습니다. 그러나 

비선형성을 고려하면, 예를 들어 키와 체중이라는 특성들 간의 복잡한 비선형 상호작용을 학습할 수 있습니다. 신경망은 여러 층과 비선형 활성화 함수를 통해 이러한 비선형 패턴을 모델링할 수 있습니다. 이를 통해 복잡한 특성 간의 관계를 학습하고, 성별을 더 정확하게 분류할 수 있게 됩니다.

 

또한 신경망은 학습할때 주로 경사하강법을 이용해 가중치를 업데이트 하는 방식으로 오차를 개선합니다. 이때 경사 하강법 특성상 역전파를 통해 출력층으로부터 입력층으로 거슬러 올라가 가중치와 기울기를 계산할텐데 vanishing gradient 라고도 불리우는 현상인 네트워크의 층이 깊을 경우 연산과정이 길어지고 미분값이 계속 곱해져서 기울기가 소실되어버리는 일이 생기는데 이때 특정 활성화 함수들은 기울기 소실 문제를 완화할 수 있습니다.

https://machine-learning.paperspace.com/wiki/activation-function

 

첫 번째 설명할 활성화 함수는 sigmoid 함수입니다. 

 

수식으로는 $f(x) = \frac{1}{1 + e^{-x}}$로 나타낼 수 있습니다. 0과 1 사이의 값으로 출력되어 확률로 해석이 가능하며, 출력값을 확률로 변환하는 데 적합합니다. 주로 이진 분류 문제에 사용됩니다만 vanishing gradient에 대한 문제가 있어 학습이 어려울 수 있습니다.

 

두 번째 Tanh 함수입니다. 알고계신 그 하이퍼볼릭 탄젠트 맞습니다.  -1과 1 사이의 값을 출력하므로, 시그모이드와 비슷하지만 출력 범위가 넓어져 학습이 빠르게 이루어질 수 있습니다만 vanishing gradient에 대한 문제는 여전히 있어 깊은 신경망에서는 학습이 어려울 수 있습니다.

 

 

세번째로는 $f(x) = \max(0, x)$로 나타내어지는 ReLU 함수입니다. 입력값이 양수인 경우에는 입력값을 그대로 출력하고, 음수인 경우에는 0으로 출력하는 간단한 함수이지만 단순한만큼 연산시간도 짧고 이미지 분류, 히든 레이어, 자연어처리 등 많은 분야에서 두루 사용됩니다.

 다만 입력값이 음수인 경우에 해당 부분이 0으로 처리되어 정보 손실이 발생할 수 있기에  음수부분을 살짝 살려두는 Leaky ReLU함수를 사용하기도합니다.

 

 

마지막으로 softmax 함수입니다.

$f_i(z) = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}}$로 표현되며 다중 클래스 분류 문제에서 여러 클래스에 대한 확률 분포를 생성합니다. 출력값이 클래스에 속할 확률로 해석되며, 합이 1이 되므로 확률적 해석이 가능합니다. 주로 다중 클래스 분류에 적합하다고 알려져있습니다.

'Study Archives > Deep Learning' 카테고리의 다른 글

Deep Learning Fundamentals  (0) 2026.03.09
RGB-D 데이터에서 Depth Estimation과 Semantic Segmentation 이해하기  (0) 2026.03.09
Data Augmentation  (0) 2023.11.18
Optimizer, Gradient descent  (0) 2023.11.17
Convolution  (0) 2023.11.16