소프트맥스

IT 위키
인공무능 (토론 | 기여)님의 2025년 7월 6일 (일) 07:54 판 (새 문서: 소프트맥스(softmax)는 다중 클래스 분류 문제에서 각 클래스에 대한 확률 분포를 계산하기 위해 사용되는 함수이다. ==개요== 소프트맥스 함수는 입력값 벡터를 받아 각 항목에 대해 0과 1 사이의 값으로 변환하며, 전체 출력값의 합이 1이 되도록 정규화한다. 이 함수는 주로 신경망의 출력층에서 사용되어, 각 클래스에 속할 확률을 추정하는 데 활용된다. 입력값이 클...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

소프트맥스(softmax)는 다중 클래스 분류 문제에서 각 클래스에 대한 확률 분포를 계산하기 위해 사용되는 함수이다.

개요

소프트맥스 함수는 입력값 벡터를 받아 각 항목에 대해 0과 1 사이의 값으로 변환하며, 전체 출력값의 합이 1이 되도록 정규화한다. 이 함수는 주로 신경망의 출력층에서 사용되어, 각 클래스에 속할 확률을 추정하는 데 활용된다. 입력값이 클수록 해당 클래스의 확률이 높아지며, 이를 통해 모델이 어느 클래스를 선택할지를 결정한다.

수식과 설명

소프트맥스 함수는 입력 벡터의 각 요소에 지수 함수를 적용한 뒤 전체 합으로 나누어 계산한다. 예를 들어, 입력 벡터가 [x1, x2, ..., xn]일 때, 소프트맥스 함수는 다음과 같이 정의된다:

각 클래스 i에 대한 출력값 = exp(xi) / (exp(x1) + exp(x2) + ... + exp(xn))

이로 인해 가장 큰 입력값에 해당하는 클래스가 가장 높은 확률을 갖게 된다.

특징

  • 출력값의 합이 항상 1이므로 확률 분포로 해석 가능하다.
  • 출력 간의 상대적인 크기를 강조한다.
  • 출력이 민감하게 변할 수 있어, 입력값이 큰 경우 수치적 불안정성 문제가 발생할 수 있다. 이를 보완하기 위해 종종 입력값에서 최대값을 빼는 방식으로 안정화를 도모한다.

활용

  • 다중 클래스 분류 모델의 출력층
  • 크로스 엔트로피 손실 함수와 함께 사용되어 학습 성능을 극대화
  • 자연어 처리(NLP)에서 단어 분포 예측 등 다양한 분야에 활용

같이 보기

참고 문헌

  • Goodfellow, Ian, et al. Deep Learning. MIT Press, 2016.
  • Bishop, Christopher M. Pattern Recognition and Machine Learning. Springer, 2006.

각주