활성화 함수(Activation Function)는 인공 신경망의 각 뉴런에서 입력 신호의 가중합을 출력값으로 변환하는 함수를 말합니다. 이 함수는 인공 신경망의 비선형성을 추가하고, 신경망이 복잡한 함수를 근사하고 다양한 패턴을 학습할 수 있도록 합니다.
활성화 함수는 다음과 같은 역할을 합니다:
1. 비선형성 추가: 활성화 함수는 입력과 가중치의 선형 결합을 비선형 함수로 변환합니다. 이것은 신경망이 복잡한 함수를 모델링하고 다양한 종류의 데이터 패턴을 파악할 수 있게 합니다. 선형 함수만으로는 다층 신경망이 복잡한 문제를 풀 수 없습니다.
2. 신경망의 출력 생성: 활성화 함수는 출력층의 뉴런에서 최종 예측 값을 생성합니다. 예를 들어, 분류 문제의 경우 확률값을 출력하기 위해 시그모이드 활성화 함수가 사용될 수 있고, 회귀 문제의 경우 선형 활성화 함수가 사용될 수 있습니다.
일반적으로 사용되는 활성화 함수에는 다음과 같은 것들이 있습니다:
– 시그모이드(Sigmoid) 함수: 주로 이진 분류 문제의 출력층에 사용됩니다.
– 하이퍼볼릭 탄젠트(Tanh) 함수: 신경망의 은닉층에서 사용되며, 입력값을 -1과 1 사이로 압축합니다.
– 렐루(ReLU, Rectified Linear Unit) 함수: 은닉층에서 많이 사용되며, 입력이 양수일 때 선형적인 활성화를 수행하고 음수일 때 0으로 변환합니다.
– 리키 렐루(Leaky ReLU) 함수: ReLU의 변형으로, 음수 값에 작은 기울기를 부여하여 “죽은 뉴런” 문제를 완화시킵니다.
– GELU(Gaussian Error Linear Unit) 함수: 뉴런의 출력을 훈련하는 데 더 용이하게 만드는 새로운 활성화 함수입니다.
각 활성화 함수는 특정 문제나 아키텍처에 따라 적합한 역할을 수행합니다.