YOLO Vision 2025를 놓치지 마세요!
2025년 9월 25일
10:00 — 18:00 BST
하이브리드 이벤트
Yolo Vision 2024
용어집

Softmax

Softmax가 AI에서 분류 작업을 위해 점수를 확률로 변환하여 이미지 인식 및 NLP 성공을 어떻게 강화하는지 알아보세요.

Softmax는 종종 로짓이라고 불리는 원시 실수 값 점수의 벡터를 확률 벡터로 변환하는 수학 함수입니다. 머신 러닝(ML)의 맥락에서 Softmax는 주로 신경망의 출력 레이어에서 활성화 함수로 사용됩니다. 주요 역할은 네트워크의 최종 점수를 여러 개의 상호 배타적인 클래스에 대한 의미 있는 확률 분포로 변환하는 것입니다. 결과 확률의 합은 1이 되므로 각 가능한 결과에 대한 모델의 신뢰도로 쉽게 해석할 수 있습니다.

Softmax 작동 방식

이미지 분류를 결정하려는 신경망을 상상해 보십시오. 네트워크의 마지막 레이어는 각 범주에 대한 원시 점수 집합을 생성합니다. 점수가 높을수록 모델이 해당 범주에 더 기울어지는 것을 의미하지만 이러한 점수는 표준화되지 않았으며 직접 사용하기 어려울 수 있습니다.

소프트맥스 함수는 이러한 점수를 가져와서 두 가지 주요 단계를 수행합니다.

  1. 이는 각 점수에 지수 함수를 적용하여 모든 값을 양수로 만들고 점수 간의 차이를 과장합니다. 즉, 더 큰 점수는 비례적으로 훨씬 더 커집니다.
  2. 이는 각 점수를 합으로 나누어 지수화된 점수를 정규화합니다. 이 단계를 통해 값을 축소하여 전체적으로 1.0이 되도록 조정하여 효과적으로 확률 분포를 생성합니다.

최종 출력은 확률 목록이며, 각 값은 입력이 특정 클래스에 속할 가능성에 대한 모델의 예측된 가능성을 나타냅니다. 그런 다음 가장 높은 확률을 가진 클래스가 최종 예측으로 선택됩니다.

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

Softmax는 다중 클래스 분류를 수행하는 모든 딥 러닝 모델의 기본입니다. 명확하고 확률적인 출력을 제공하는 능력은 다양한 영역에서 매우 중요합니다.

  • Image Classification: This is the most common use case. A Convolutional Neural Network (CNN) trained on a dataset like ImageNet will use Softmax in its final layer. For an image of a pet, the model might output probabilities like {Dog: 0.9, Cat: 0.08, Rabbit: 0.02}, clearly indicating its prediction. Models like Ultralytics YOLO use this for classification tasks.
  • 자연어 처리(NLP): 언어 모델링에서 Softmax는 시퀀스에서 다음 단어를 예측하는 데 사용됩니다. Transformer와 같은 모델은 어휘집의 모든 단어에 대한 점수를 계산하고 Softmax를 사용하여 이러한 점수를 확률로 변환합니다. 이는 대규모 언어 모델(LLM)의 핵심 구성 요소이며 기계 번역에서 텍스트 생성에 이르기까지 애플리케이션에 전원을 공급합니다.
  • 의료 영상 분석: 의료 영상을 분석하여 다양한 유형의 조직을 분류하거나 병리학적 상태(예: 양성, 악성 또는 건강)를 식별할 때 모델은 Softmax를 사용하여 각 진단에 대한 확률을 할당하여 임상의가 더 많은 정보를 바탕으로 결정을 내릴 수 있도록 지원합니다.
  • 강화 학습: 정책 기반 강화 학습에서 Softmax는 학습된 다양한 행동 값을 정책으로 변환하는 데 사용될 수 있으며, 이는 에이전트가 취할 수 있는 가능한 행동에 대한 확률 분포입니다.

Softmax 대 기타 활성화 함수

Softmax는 다른 일반적인 활성화 함수와 목적이 다르므로 구별하는 것이 중요합니다.

  • Sigmoid: Sigmoid 함수는 0과 1 사이의 값을 출력하지만, 이진 분류(한 클래스 대 다른 클래스) 또는 입력이 여러 클래스에 동시에 속할 수 있는 다중 레이블 분류에 사용됩니다. 예를 들어 영화는 "코미디"와 "액션"으로 모두 분류될 수 있습니다. 대조적으로 Softmax는 클래스가 상호 배타적인 다중 클래스 분류에 사용됩니다. 즉, 손으로 쓴 숫자는 7 또는 8이어야 하지만 둘 다일 수는 없습니다.
  • ReLU(Rectified Linear Unit): ReLULeaky ReLU, SiLU와 같은 변형은 신경망의 숨겨진 레이어에서 사용됩니다. 이들의 주요 역할은 비선형성을 도입하여 모델이 데이터에서 복잡한 패턴을 학습할 수 있도록 하는 것입니다. 확률을 생성하지 않으며 분류를 위한 출력 함수로 사용되지 않습니다.
  • Tanh (쌍곡 탄젠트): Tanh는 값을 -1과 1 사이의 범위로 제한합니다. ReLU와 마찬가지로 숨겨진 레이어, 특히 이전의 순환 신경망(RNN) 아키텍처에서 사용됩니다. 분류 작업에 대한 확률 출력을 생성하는 데는 적합하지 않습니다.

실질적인 고려 사항

Softmax는 강력하지만 매우 큰 입력 점수에 민감할 수 있으며, 이로 인해 수치적 불안정성(오버플로 또는 언더플로)이 발생할 수 있습니다. 이를 해결하기 위해 PyTorchTensorFlow와 같은 최신 딥 러닝 프레임워크는 백그라운드에서 수치적으로 안정적인 버전의 Softmax를 구현합니다.

Softmax는 모델 학습 중에 Cross-Entropy Loss(또는 Log Loss)라는 특정 손실 함수와 거의 항상 함께 사용됩니다. 이 조합은 다중 클래스 분류기를 학습하는 데 매우 효과적입니다. Softmax의 동작을 이해하는 것은 효과적인 모델 학습 및 해석에 매우 중요하며, 이는 실험을 간소화하기 위해 Ultralytics HUB와 같은 플랫폼을 사용하여 관리하고 추적할 수 있습니다. 배포.

Ultralytics 커뮤니티에 참여하세요

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기
클립보드에 링크가 복사되었습니다.