본문 바로가기
AI (Artificial Intelligence)/DL (Deep Learning)

[AI/DL] 활성화 함수의 개념과 종류 (시그모이드, ReLU, 계단, 부호, tanh 함수)

by jangThang 2025. 3. 31.
반응형

 딥러닝에서 학습을 위해 사용하는 활성화 함수의 개념과 종류에 대해서 알아봅니다. 대표적인 활성화 함수에는 ReLU, 시그모이드 함수가 있으며 이외에도 다양한 함수 종류를 살펴봅니다.

 

 

 

1. 활성화 함수(Activation Function)

비선형성을 위해 추가한 변환 함수

 

 딥러닝은 인간의 뇌처럼 수많은 뉴런들을 층층이 쌓아서 연결한 형태입니다. 이 뉴런들은 입력값에 가중치(weight)를 곱하고 편향(bias)를 더해서 출력값을 산출해서 다음 뉴런으로 넘깁니다.

 

출력 = (입력 * 가중치) + 편향

 하지만 위와 같이 단순히 선형적인 형태는 여러 번 반복해도 선형적인 형태를 벗어나지 못합니다. 마치 연립 일차방정식을 푸는 과정과 비슷합니다. 아무리 많아도 푸는 과정은 일차방정식을 벗어나지 못하며, 결코 곡선 형태의 2차, 3차 방정식으로 나아가지 못하죠.

 

 예를 들어, 첫 번째 뉴런이 y = 2x +1 이고,  두 번째 뉴런이 y = 3x + 2 이라고 할 때

 첫 번째 뉴런의 출력값은 2x + 1로, 두 번째 뉴런에 입력값으로 들어가면 y = 3 (2x + 1) + 2 = 6x + 5 입니다. 결국은 다시 일차식 형태가 나왔죠. 그렇기에 복잡한 문제를 풀기에는 적합하지 않습니다.

 따라서 활성화 함수를 통해서 비선형적인 요소를 도입합니다. 


 

 

2. 활성화 함수의 종류

1) 계단 함수 (Step Function)

 계단 함수는 0이상이면 1이고, 0미만이면 0인 함수입니다. 초기 딥러닝에서는 자주 쓰였지만, 0미만일 때에는 출력값이 0이 되어버리는 한계점이 있습니다. 학습을 진행할수록 죽어버리는 값이 많아졌죠.

 

 

2) 부호 함수 (Sign Function)

 부호 함수는 양수는 1, 음수는 -1, 0은 0을 출력합니다.

 계산도 간단하고 음수 부분이 비활성화되는 단점도 극복합니다. 다만 역전파 알고리즘이 나오면서 미분이 불가능한 문제가 생깁니다. 역전파 알고리즘은 다시 되돌아가며 검산하는 과정으로, 편미분을 이용합니다.

 

반응형

 

3) 시그모이드 함수 (Sigmoid Function)

 시그모이드 함수는 최소가 0, 최대가 1인 함수로, 모든 점에서 음이 아닌 미분값을 가진 미분 가능한 함수입니다.

 다만 시그모이드 함수도 문제가 있었는데, 양극단으로 갈수록 미분값이 0에 수렴하는 문제가 생깁니다. 이를 '기울기 소실' 문제라고 하며, 역전파 알고리즘에서는 학습을 방해하는 큰 요소가 됩니다.

 

 

4) tanh 함수(tanh Function)

 tanh는 최소값 -1, 최대값 1을 가진 미분가능한 함수입니다. 시그모이드 함수와 비슷한 모양이지만, 가운데를 보시면 기울기가 더 급합니다. 그래서 0 부분의 기울기가 가파르며, 최대 기울기가 1을 가집니다.

 그렇기 때문에 시그모이드 함수보다는 기울기 소실 문제가 덜하지만, 결국 양극단에 가면 0에 수렴하는 건 동일합니다.

 

 

5) ReLU 함수 (Rectified Linear Unit Function)

 ReLU함수는 0보다 작으면 0이고, 0보다 크면 x로 일차함수 형태를 갖습니다.

 y = x의 기울기는 항상 1로, 기울기가 작아지지 않으며 기울기 소실 문제를 해결한 활성화 함수입니다. 다만 0이하이면 기울기가 0이 되어버리는 단점이 있습니다.

 참고로 ReLU 함수도 모든 점에서 미분이 가능하며, x = 0에서도 미분 가능합니다.

 

 

6) Leaky ReLU

 Leaky ReLU 함수는 ReLU 함수가 0이하일 때 기울기가 0이 되어버리는 단점을 보완한 활성화 함수입니다.

 0이하일 때 아주 작은 기울기의 ax를 가지며, 기울기가 아예 죽어버리지 않습니다.


 

 

 이상. 활성화 함수의 개념과 종류에 대해서 알아봤습니다.

 

 

 현재는 ReLU나 Leaky ReLU를 많이 사용하며, 다른 활성화 함수도 많습니다. 0이하일 때, 기울기가 0이 되어도 어느 학습에서는 과정을 단순화할 수 있으므로 선호되기도 합니다. 어떤 학습을 하느냐에 따라 활성화 함수를 달리 쓰며, 하이퍼 파라미터 튜닝하듯이 바꿔가며 학습해보시기 바랍니다.

 

 

star가 되고나서 Tistory

반응형

댓글