소프트맥스 함수

최근 편집: 2023년 4월 24일 (월) 02:55
(소프트맥스에서 넘어옴)

소프트맥스(softmax)는 로지스틱 함수의 일반화된 형태로, 입력값을 각 클래스의 확률로 변환하는 함수이다.

용도

일반적으로 분류(classification) 문제에서 출력층의 뉴런들은 각각의 클래스를 나타내며, 각 뉴런의 출력값은 해당 클래스에 속할 확률을 나타낸다. 이때 소프트맥스 함수를 사용하여 출력값을 확률값으로 변환한다. 소프트맥스 함수는 출력층의 모든 뉴런의 출력값을 0과 1 사이의 값으로 만들어준다. 또한 출력값들의 합이 1이 되도록 정규화(normalize)한다. 이를 통해 다중 클래스 분류 문제에서 출력층의 각 뉴런의 출력값을 해당 클래스에 속할 확률로 해석할 수 있다.

특징

소프트맥스 함수는 지수 함수의 사용으로 인해 계산 비용이 비교적 크다. 따라서, 최근에는 학습 시에 소프트맥스 함수 대신 로그-소프트맥스(log-softmax) 함수를 사용하는 경향이 있다. 로그-소프트맥스 함수는 소프트맥스 함수와 유사하지만, 출력값이 로그 스케일로 변환되어 계산 비용을 줄일 수 있다.

함께 보기