logo

딥러닝에서의 소프트맥스 함수 📂머신러닝

딥러닝에서의 소프트맥스 함수

정의

$\mathbf{x} := (x_{1} , \cdots , x_{n}) \in \mathbb{R}^{n}$ 이라고 하자.

$\displaystyle \sigma_{j} ( \mathbf{x} ) = {{ e^{x_{j}} } \over {\sum_{i=1}^{n} e^{x_{i}} }}$ 에 대해 $\sigma ( \mathbf{x} ) := \left( \sigma_{1} (\mathbf{x}) , \cdots , \sigma_{n} (\mathbf{x} ) \right)$ 와 같이 정의된 $\sigma : \mathbb{R}^{n} \to (0,1)^{n}$ 을 소프트맥스softmax라 한다.

설명

소프트맥스 함수는 활성화 함수의 일종으로써, 정의역이 $\mathbb{R}^{n}$ 이라는 특징이 있다. 이는 벡터로 인풋을 받아 그 값들을 정규화하는데에 쓰기 위함이다. 어떤 $\mathbf{x} \in \mathbb{R}$ 이든 $\sigma ( \mathbf{x} )$ 의 모든 성분은 $0$ 과 $1$ 사이의 값이고, 모두 더하면 정확하게 $1$ 이 된다.

이러한 특성은 확률과 닮아 있고, 실제로 인공 신경망을 구현할 때는 분류 문제에 요긴하게 쓰인다.