Yolo 비전 선전
선전
지금 참여하기
용어집

Softmax

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

인공 지능 영역에서 소프트맥스 함수는 원시 숫자 데이터와 해석 가능한 결과 사이의 중요한 가교 역할을 합니다. 실수 벡터를 확률 분포로 변환하는 수학적 연산입니다. 분포로 변환하는 수학적 연산으로, 최신 신경망의 기본 구성 요소입니다. 신경망의 기본 구성 요소입니다. 복잡한 모델 출력을 모든 값이 1로 합산되는 판독 가능한 형식으로 변환함으로써 Softmax는 시스템이 다양한 결과에 대한 신뢰 수준을 다양한 결과에 대한 신뢰도를 표현할 수 있습니다. 이 기능은 특히 다음과 같은 경우에 매우 중요합니다. 머신러닝(ML) 작업에서 특히 중요합니다. 여러 카테고리에서 하나의 정답을 선택해야 하는 경우 특히 중요합니다.

소프트맥스의 메커니즘

소프트맥스의 작동 방식을 이해하려면 먼저 "로짓"의 개념을 이해해야 합니다. 딥러닝(DL) 모델이 딥러닝(DL) 모델이 입력을 처리할 때, 최종 레이어는 최종 레이어는 일반적으로 로짓이라고 하는 원시 점수 목록을 생성합니다. 이러한 점수는 음수 무한대에서 양수 무한대까지 다양하며 직관적이지 않습니다. Softmax는 이러한 로그를 가져와서 두 가지 주요 연산을 수행합니다:

  1. 지수화: 각 입력 점수에 지수 함수를 적용합니다. 이 단계는 모든 출력 값이 음수가 아닌지 확인하고 점수가 클수록 강조하여 모델의 가장 강력한 예측을 더욱 뚜렷하게 돋보이게 합니다.
  2. 정규화: 지수화된 값을 합산하고 각 개별 값을 이 총합으로 나눕니다. 합계로 나눕니다. 이 정규화 프로세스 는 총합이 정확히 1.0(또는 100%)이 되도록 출력의 크기를 조정합니다.

결과는 확률 분포이며, 각 값은 입력이 특정 클래스에 속할 가능성을 나타내는 특정 클래스에 속할 가능성을 나타냅니다. 이 변환을 통해 개발자는 출력을 신뢰도 점수로 해석할 수 있습니다(예: 이미지에 특정 개체가 포함되어 있다는 확률이 95%입니다. 이미지에 특정 개체가 포함되어 있을 확률이 95%라고 해석할 수 있습니다.

AI의 실제 적용 사례

소프트맥스는 다중 클래스 분류 문제에서 출력 레이어를 위한 표준 활성화 기능입니다. 그 능력 상호 배타적인 클래스를 처리할 수 있기 때문에 다양한 AI 솔루션에서 필수적입니다.

  • 이미지 분류: 컴퓨터 비전에서 다음과 같은 모델은 Ultralytics YOLO11 와 같은 모델은 Softmax를 사용하여 이미지를 분류합니다. 예를 들어, 보안 카메라가 차량을 촬영하면 이 모델은 시각적 특징을 분석하여 '자동차', '트럭', '오토바이'와 같은 클래스에 대한 "자동차", "트럭", "버스", "오토바이"와 같은 클래스에 대한 확률을 산출합니다. 소프트맥스 점수가 가장 높은 소프트맥스 점수가 가장 높은 클래스가 최종 라벨을 결정합니다. 이 메커니즘은 다음과 같은 작업의 핵심입니다. 의료 영상 분석부터 자율 자율 주행.
  • 자연어 처리(NLP): Softmax는 다음과 같은 텍스트 생성 기능을 지원합니다. 대규모 언어 모델(LLM) 및 챗봇. Transformer 모델이 문장을 생성할 때 문장을 생성할 때, 어휘의 모든 단어에 대한 점수를 계산하여 다음에 올 단어를 결정합니다. Softmax 는 이러한 점수를 확률로 변환하여 모델이 가장 가능성이 높은 다음 단어를 선택할 수 있도록 하여 원활한 기계 번역 및 대화.

Python 코드 예제

다음 예는 사전 학습된 분류 모델을 로드하고 Softmax를 통해 생성된 확률 점수( 를 사용하여 Softmax를 통해 생성된 ultralytics 패키지입니다.

from ultralytics import YOLO

# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")

# Run inference on a sample image URL
results = model("https://ultralytics.com/images/bus.jpg")

# The model applies Softmax internally for classification tasks
# Display the top predicted class and its confidence score
top_class = results[0].probs.top1
print(f"Predicted Class: {results[0].names[top_class]}")
print(f"Confidence: {results[0].probs.top1conf.item():.4f}")

소프트맥스와 다른 활성화 기능 비교

소프트맥스는 다중 클래스 작업의 출력 레이어에서 지배적이지만, 다른 여러 작업에 사용되는 다른 다른 활성화 함수와 구별하는 것이 중요합니다. 다른 활성화 함수와 구별하는 것이 중요합니다:

  • 시그모이드: 시그모이드: 소프트맥스와 마찬가지로 시그모이드 함수는 0과 1 사이의 값을 쪼갭니다. 그러나 시그모이드는 각 출력을 독립적으로 처리하므로 다음과 같은 경우에 이상적입니다. 이진 분류 (예/아니오 결정) 또는 이미지에 "개"와 "공"이 모두 포함될 수 있는 다중 레이블 분류에 이상적입니다. Softmax, 는 반대로 한 클래스의 확률이 증가하면 다른 클래스의 확률이 감소하는 클래스 간 경쟁을 시행합니다. 다른 클래스.
  • ReLU(정류 선형 단위): ReLU는 주로 신경망의 숨겨진 계층에서 비선형성을 도입하고 모델 학습 속도를 높이기 위해 모델 훈련에 주로 사용됩니다. Softmax와 달리 ReLU는 확률을 출력하지 않으며 확률을 출력하지 않으며 출력을 특정 범위(음수가 아닌 것 외에는)로 제한하지 않습니다.
  • Tanh(쌍곡탄젠트): Tanh는 -1에서 1 사이의 값을 출력합니다. 구형 아키텍처나 순환 신경망(RNN)에서 흔히 볼 수 있지만 는 확률 분포를 생성하지 않기 때문에 분류를 위한 최종 출력 함수로 거의 사용되지 않습니다.

교육을 위한 실용적인 고려 사항

실제로 소프트맥스는 훈련 단계에서 단독으로 사용되는 경우는 거의 없습니다. 거의 항상 특정 손실 함수인 교차 엔트로피 손실(또는 로그 손실). 이 조합은 예측된 확률과 실제 진실 사이의 거리를 효과적으로 측정합니다. 레이블 사이의 거리를 효과적으로 측정합니다.

또한 큰 숫자의 지수를 계산하면 수치 불안정성(오버플로)이 발생할 수 있습니다. 현대 프레임워크는 PyTorchTensorFlow 핸들 손실 계산 함수 내에서 안정적인 버전(종종 "LogSoftmax")을 구현하여 이를 자동으로 처리합니다. 함수를 구현하여 자동으로 처리합니다. 이러한 뉘앙스를 이해하는 것은 효과적인 모델 배포를 위해 필수적입니다. 모델 배포 및 정확도와 같은 메트릭이 정확도와 같은 메트릭이 모델 성능을 정확하게 반영하도록 보장하는 데 필수적입니다. 전망 앞으로 곧 출시될 YOLO26과 같은 고급 아키텍처는 이러한 확률 분포가 엔드투엔드 탐지 및 분류에 활용되는 방식을 분포를 엔드투엔드 탐지 및 분류에 활용하는 방법을 지속적으로 개선할 것입니다.

Ultralytics 커뮤니티 가입

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

지금 참여하기