용어집

소프트맥스

Softmax가 어떻게 점수를 AI 분류 작업의 확률로 변환하여 이미지 인식과 NLP의 성공을 지원하는지 알아보세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

소프트맥스는 신경망(NN)의 출력 계층, 특히 다중 클래스 분류 문제에 일반적으로 사용되는 중요한 활성화 함수입니다. 이 함수의 주요 역할은 이전 계층에서 생성된 원시 점수 벡터(흔히 로짓이라고 함)를 여러 잠재적 클래스에 대한 확률 분포로 변환하는 것입니다. 각 출력 값은 입력이 특정 클래스에 속할 확률을 나타내며, 중요한 것은 이러한 확률이 최대 1로 합산되어 상호 배타적인 결과에 대한 신뢰 수준으로 쉽게 해석할 수 있다는 점입니다.

소프트맥스 작동 방식

개념적으로 소프트맥스 함수는 신경망 레이어에서 원시 출력 점수를 가져와서 변환합니다. 먼저 각 점수를 지수화하여 모든 값을 양수로 만들고 큰 점수를 더 크게 강조하는 방식으로 변환합니다. 그런 다음 각 점수를 모든 지수화된 점수의 합으로 나누어 지수화된 점수를 정규화합니다. 이 정규화 단계를 통해 결과 값이 0과 1 사이에 위치하도록 하고 총합이 1이 되도록 하여 여러 클래스에 걸쳐 확률 분포를 효과적으로 생성합니다. 일반적으로 가장 높은 확률 값에 해당하는 클래스가 모델의 최종 예측으로 선택됩니다. 이 프로세스는 분류 작업을 처리하는 딥러닝(DL) 모델의 기본입니다.

주요 특징

  • 확률 분포: 출력은 각 클래스에 대한 확률을 나타내며 항상 1로 합산됩니다.
  • 멀티 클래스 포커스: 입력이 가능한 여러 클래스 중 하나에만 속할 수 있는(상호 배타적인) 시나리오를 위해 특별히 설계되었습니다.
  • 출력 해석: 각 클래스에 대한 신뢰 수준을 나타내는 모델의 출력을 직관적으로 표시합니다.
  • 차별성: 부드럽고 차별화되어 모델 학습 중 경사 하강과 같은 경사 기반 최적화 알고리즘에 효과적으로 사용할 수 있습니다.

소프트맥스 대 관련 활성화 기능

소프트맥스를 다른 활성화 기능과 구별하는 것이 중요합니다:

  • 시그모이드: 시그모이드도 0과 1 사이의 값을 출력하지만, 일반적으로 이진 분류(하나의 출력 뉴런) 또는 다중 레이블 분류(각 출력 뉴런이 독립적인 확률을 나타내며 합이 반드시 1이 아닐 수 있는 여러 개의 출력 뉴런)에 사용됩니다. 소프트맥스는 클래스가 상호 배타적일 때 사용됩니다. 자세한 내용은 스탠포드 CS231n 노트와 같은 리소스에서 확인할 수 있습니다.
  • ReLU(정류 선형 단위): ReLU는 주로 신경망의 숨겨진 레이어에 비선형성을 도입하기 위해 Leaky ReLU 또는 SiLU와 같은 변형이 사용됩니다. 이들은 최종 분류 계층에 적합한 확률과 같은 출력을 생성하지 않습니다. DeepLearning.AI에서는 신경망의 활성화 함수를 설명하는 강좌를 제공합니다.

AI 및 머신 러닝 분야의 애플리케이션

Softmax는 다양한 AI머신러닝(ML) 영역에서 널리 사용되고 있습니다:

  • 다중 클래스 이미지 분류: 초석 애플리케이션입니다. 예를 들어, CIFAR-10 데이터 세트로 훈련된 모델은 최종 레이어에서 Softmax를 사용하여 10개의 클래스(예: 비행기, 자동차, 새) 각각에 대한 확률을 출력합니다. 컨볼루션 신경망(CNN)은 분류 작업을 위해 Softmax에 크게 의존합니다. Ultralytics 설명서에서 사전 학습된 분류 모델을 살펴볼 수 있습니다.
  • 자연어 처리(NLP): 언어 모델링 (어휘에서 다음 단어 예측), 감정 분석 (텍스트를 긍정, 부정 또는 중립으로 분류), 기계 번역과 같은 작업에 사용됩니다. 트랜스포머와 같은 최신 아키텍처는 주의 메커니즘과 출력 레이어에 Softmax를 사용하는 경우가 많습니다. Hugging Face 은 Softmax를 활용하는 다양한 모델을 제공합니다.
  • 개체 감지: 다음과 같은 모델에서 Ultralytics YOLOv8 또는 YOLO11과 같은 모델에서 탐지 헤드는 Softmax(또는 다중 레이블 시나리오의 경우 시그모이드)를 사용해 경계 상자 내에서 탐지된 각 객체에 대한 클래스 확률을 결정합니다. 이렇게 하면 COCO와 같은 데이터 세트를 기반으로 '사람', '자동차' 또는 '신호등'과 같은 레이블을 할당하는 데 도움이 됩니다.
  • 강화 학습(RL): 정책 기반 RL 방법에서 Softmax는 에이전트가 학습한 작업 선호도를 확률로 변환하여 점수에 따라 작업을 확률적으로 선택하는 확률론적 정책 선택을 가능하게 합니다. Sutton과 Barto의 RL 책과 같은 리소스에서 이러한 개념을 다룹니다.

고려 사항

강력하지만, Softmax는 매우 큰 입력 점수에 민감하여 수치 불안정성(오버플로 또는 언더플로)을 초래할 수 있습니다. 다음과 같은 최신 딥 러닝 프레임워크 PyTorchTensorFlow 와 같은 최신 딥 러닝 프레임워크는 이러한 문제를 완화하기 위해 수치적으로 안정적인 버전의 Softmax를 구현합니다. 효과적인 모델 훈련과 해석을 위해서는 그 동작을 이해하는 것이 중요하며, 실험과 배포를 관리하기 위한 Ultralytics HUB와 같은 플랫폼이 이를 지원하는 경우가 많습니다.

모두 보기