신경망 각 뉴런의 출력을 결정하는 함수. 비선형성을 도입해서 신경망이 복잡한 패턴을 학습할 수 있게 하는 핵심 구성 요소다.
선형 변환만으로는 아무리 층을 쌓아도 결국 하나의 선형 변환과 같다. 활성화 함수는 각 뉴런의 출력에 비선형 변환을 적용해서 신경망이 비선형 패턴을 학습할 수 있게 만든다. ReLU는 음수를 0으로, 양수는 그대로 통과시키는 단순한 함수인데 딥러닝에서 가장 많이 쓰인다. Sigmoid는 출력을 0~1로 압축해서 확률 출력에, Softmax는 다중 클래스 분류 마지막 층에 주로 쓰인다.
PyTorch로 신경망을 구현할 때 nn.ReLU(), nn.GELU() 같은 레이어를 선형 레이어 사이에 추가한다. LLM에서는 GELU나 SwiGLU 활성화가 주로 쓰인다. 활성화 함수 선택이 학습 안정성과 성능에 영향을 주는데, 대부분의 경우 기본값(ReLU 또는 GELU)이 잘 동작한다. 그래디언트 소실 문제가 있을 때 ReLU 대신 Leaky ReLU나 ELU를 시도해볼 수 있다.