소프트맥스 함수는 머신러닝과 딥러닝에서 원시 모델 출력(로그)을 확률로 변환하는 데 일반적으로 사용되는 수학적 연산입니다. 특히 단일 입력을 여러 범주 중 하나에 할당하는 것이 목표인 다중 클래스 분류 작업에서 널리 사용됩니다. 로그를 확률 분포로 변환함으로써 Softmax는 모든 클래스의 출력이 합이 1이 되도록 하여 확률로 해석할 수 있도록 합니다.
소프트맥스는 신경망의 출력 레이어에서 원시 점수(로짓) 벡터를 가져와 [0, 1] 범위로 스케일링합니다. 이 변환은 로그 간의 차이를 증폭시켜 가장 가능성이 높은 클래스를 더 쉽게 식별할 수 있도록 합니다. 결과 확률은 각 클래스의 상대적인 가능성을 나타냅니다.
예를 들어 동물 이미지를 고양이, 개, 새의 세 가지 범주로 분류하도록 훈련된 신경망을 생각해 보세요. 네트워크가 출력하는 로그가 다음과 같다면 [2.0, 1.0, 0.1]
를 입력하면 소프트맥스는 이를 다음과 같은 확률로 변환합니다. [0.65, 0.24, 0.11]
로 표시되어 '고양이' 클래스에 대한 신뢰도가 가장 높았습니다.
Softmax는 다중 클래스 분류 작업을 위해 신경망의 출력 계층에서 사용되는 표준 활성화 함수입니다. 예를 들어, 이미지 분류에서 Ultralytics YOLO 같은 모델은 Softmax를 사용하여 이미지에 가장 가능성이 높은 레이블을 결정합니다. 이미지 인식에서의 역할에 대해 자세히 알아보세요.
텍스트 분류나 언어 모델링과 같은 NLP 작업에서 Softmax는 가능한 다음 단어 또는 클래스 레이블의 확률 분포를 예측하는 데 매우 중요합니다. GPT-3 및 GPT-4와 같은 모델은 일관된 텍스트를 생성하기 위해 출력 레이어에서 Softmax를 활용합니다. 대규모 언어 모델(LLM)이 고급 애플리케이션에서 이 기능을 어떻게 활용하는지 살펴보세요.
소프트맥스는 주의 가중치를 계산하는 주의 메커니즘에도 사용됩니다. 이러한 가중치는 모델이 입력 데이터의 특정 부분에 집중하여 기계 번역 및 이미지 캡션과 같은 작업의 성능을 개선하는 데 도움이 됩니다.
의료 이미지 분석에서는 의료 스캔을 "종양" 또는 "비종양"과 같은 범주로 분류하는 데 Softmax가 사용됩니다. 예를 들어 Ultralytics YOLO 같은 모델은 종양 탐지와 같은 애플리케이션에서 의사 결정을 개선하기 위해 Softmax를 사용할 수 있습니다.
자율주행 차량에서 Softmax는 감지된 물체(예: 보행자, 차량, 교통 표지판)를 분류하고 안전한 주행을 위한 의사 결정을 지원하는 데 적용됩니다. 예를 들어, Ultralytics YOLO 프레임워크는 자율 주행 시스템의 물체 감지 작업에 Softmax를 통합할 수 있습니다.
소프트맥스와 시그모이드는 모두 활성화 기능이지만 서로 다른 용도로 사용됩니다:
여러 개의 독립적인 레이블(다중 레이블 분류)이 포함된 작업의 경우, 소프트맥스보다 시그모이드 활성화가 선호되는 경우가 많습니다.
소프트맥스는 때때로 불확실한 경우에도 모델이 특정 클래스에 매우 높은 확률을 할당하는 '과신'과 같은 문제를 일으킬 수 있습니다. 라벨 평활화와 같은 기술은 과적합을 줄이고 더 나은 일반화를 유도하여 이러한 문제를 완화할 수 있습니다.
또한 소프트맥스는 클래스가 상호 배타적이라고 가정합니다. 이 가정이 맞지 않는 경우에는 다른 접근 방식이나 활성화 함수가 더 적합할 수 있습니다.
Softmax는 최신 AI 및 머신러닝 애플리케이션의 초석으로, 모델이 확률을 효과적으로 해석하고 출력할 수 있도록 지원합니다. 의료 서비스에서 자율 시스템에 이르기까지 다양한 활용성과 단순성으로 지능형 시스템을 발전시키는 데 필수적인 도구입니다. AI 모델 구축 및 배포에 대해 자세히 알아보려면 Ultralytics HUB를 방문하여 지금 바로 여정을 시작하세요.