본문 바로가기
딥러닝 with Python

[딥러닝 with 파이썬] 활성화 함수(Activation Function)란?

by CodeCrafter 2023. 10. 10.
반응형

 

이번에는 딥러닝의 기초 중 하나인 활성화 함수에 대해서 알아보도록 하겠습니다.

 

1. 활성화 함수(Activation Function)란?

 - 활성화 함수(Activation Function)란, 인공 신경망에서 입력 값의 가중치 합을 출력 신호로 변환하는 함수를 말합니다.

 

- 즉, 입력값들(X)이 신경망에 들어오게되면 먼저 가중치(W)가 곱해지고 편향(b)이 더해져 선형 결합(W*X + b)이 이루어지고 이 선형 결합 된 값이 특정 함수를 거쳐 출력값으로 나오게 되는데, 이때 사용되는 특정 함수를 활성화 함수(Activation Function)라고 합니다.

 

- 이 함수가 활성화 함수로 불리는 이유는, 입력 신호에 대한 가중치 합은 결국 선형 결합인데 이 결과물을 비선형으로 변환하여 뉴런을 화성화 시키기 때문입니다.

 

- 활성화 함수를 사용하지 않게 된다면, 즉 선형 결합만을 한다면 결국 선의 기울기와 절편만을 수정하는 다른 직선을 만들어내기 때문에 함수의 예측 및 분류 능력은 떨어질 수 밖에 없습니다.

 

* 선형 모델은 직선으로 표현할 수 있는 함수만 학습할 수 있습니다. 따라서, 활성화 함수를 사용하지 않으면 신경망은 직선으로 표현할 수 있는 함수만 학습할 수 있게 됩니다.  

 

 

2. 활성화 함수의 조건, 종류 및  장/단점

 

- 활성화 함수가 되기 위한 조건에는 다음과 같은 조건들이 필요합니다.

1) 비선형성 : 다양한 비선형 문제들을 예측하기 위함

2) 미분 가능 : 역전파 알고리즘을 사용하기 위해서는 미분이 가능해야 경사하강법을 적용할 수 있음

 

- 활성화 함수에는 다양한 종류가 존재하지만 그 중에서도 가장 많이 사용되는 대표적인 함수는 다음과 같습니다.

 

 

1) 시그모이드(Sigmoid) 함수 : 입력 신호의 값을 0과 1사이의 값으로 변환하는 함수로, 이진 분류 문제에서 최종 출력값을 도출할때 많이 사용됩니다.

- 장점

 * 입력 신호의 값을 0과 1 사이의 값으로 변환하기 때문에, 분류문제에 적합

 * 미분하기 쉽기 때문에, 역전파 알고리즘을 사용하여 신경망을 학습한다.

- 단점

 * 입력 신호가 클 경우, 출력 신호의 변화가 작아짐

 * 미분값이 0과 1사이이기 때문에 epochs가 커질수록 0보다 작은 값이 기울기에 곱해져 소실되는 Gradient Vanishing 문제가 발생 

 

2) Leaky ReLU : 0보다 큰 입력값은 그대로 출력하고, 0보다 작은 입력값에는 0.1을 곱해서 출력하는 함수

- 장점

 * ReLU 함수의 단점인 dead neuron 문제를 해결할 수 있음(ReLU의 경우 0보다 작은 값이 들어오는 경우 0으로 출력해버려 해당 뉴런이 결과에 영향을 미치지 못하는 dead neuron이 되버림)

 * ReLU 함수와 유사한 성능을 가지면서도 표현력이 향상됨

 

3) tanh : 입력 신호의 값을 -1과 1사이의 값으로 변환하는 함수

- 장점

 * 입력 신호의 값을 -1과 1사이의 값으로 변환하기에 분류 문제에 적합

 * sigmoid 함수와 유사한 성능을 가지면서도 표현력을 향상 시킬 수 있음

- 단점

 * sigmoid와 유사한 단점

 

4) maxout : 입력 시호의 두 개의 값 중 더 큰 값을 출력하는 함수

- 장점

 * 입력 신호의 표현력을 향상

 * 학습이 쉬움

- 단점

 * 출력 신호의 분산이 작아짐

 

5) ReLU : 입력 신호가 0보다 크면 입력 신호의 값을 그대로 출력하고, 0보다 작으면 0을 출력하는 함수

- 장점 

 * 입력 신호의 변화에 민감하기 때문에 표현력 향상가능

 * 학습이 쉬움

- 단점

 * Dead Neuron 문제 발생

 

6) ELU : ReLU와 유사하나 입력 신호가 0보다 작을 경우에도 작은 양의 값을 출력

 - 장점 

 * ReLU의 Dead Neuron 문제 해결가능

 * ReLU보다 높은 비선형성으로 다양한 표현 가능

- 단점

 * ReLU보다 학습이 어려움 (ELU가 가지고 있는 Alpha는 Back propagation 간 업데이트)

반응형

댓글