Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Софтмакс

Узнайте, как Softmax преобразует оценки в вероятности для задач классификации в ИИ, обеспечивая успех в распознавании изображений и NLP.

В сфере искусственного интеллекта функция Softmax служит важнейшим связующим звеном между необработанными числовыми данными и интерпретируемыми результатами. Это математическая операция, которая преобразует вектор реальных чисел в распределение вероятностей. распределение, что делает ее фундаментальным компонентом современных нейронных сетей. Преобразование сложных моделей в удобочитаемый формат, где все значения равны единице, Softmax позволяет системам выражать уровни уверенности для различных результатов. Эта возможность особенно важна в задачах машинного обучения (ML), где модель должна выбрать один правильный ответ из нескольких различных категорий.

Механика Softmax

Чтобы понять, как работает Softmax, нужно сначала разобраться в концепции "логитов". Когда модель глубокого обучения (DL) обрабатывает входные данные, то последний слой обычно выдает список необработанных оценок, известных как логиты. Эти оценки могут варьироваться от отрицательной бесконечности до положительной бесконечности и не являются непосредственно интуитивными. Softmax берет эти логиты и выполняет две основные операции:

  1. Экспонирование: Применяет экспоненциальную функцию к каждому входному баллу. Этот гарантирует, что все выходные значения неотрицательны, и подчеркивает большие оценки, делая наиболее сильные сильные прогнозы модели выделяются более отчетливо.
  2. Нормализация: Суммирует экспоненцированные значения и делит каждое отдельное значение на эту общую сумму сумму. Этот процесс нормализации масштабирует выходные данные таким образом, чтобы их суммарное значение составляло ровно 1,0 (или 100 %).

В результате получается распределение вероятностей, где каждое значение представляет собой вероятность того, что входные данные принадлежат к определенному классу. Это преобразование позволяет разработчикам интерпретировать результат как оценку уверенности, например, быть на 95 % уверенность в том, что изображение содержит определенный объект.

Приложения реального мира в искусственном интеллекте

Softmax - стандартная функция активации для выходного слоя в задачах многоклассовой классификации. Ее способность работать с взаимоисключающими классами делает ее незаменимой в различных ИИ-решений.

  • Классификация изображений: В компьютерном зрении используются такие модели, как Ultralytics YOLO11 используют Softmax для классификации изображений. Например, если камера наблюдения снимает автомобиль, модель анализирует визуальные особенности и выводит вероятности для таких классов, как "автомобиль", "грузовик", "автобус" и "мотоцикл". Класс класс с наибольшим значением Softmax определяет окончательную метку. Этот механизм является центральным в задачах, начиная от анализа медицинских изображений до автономного вождения.
  • Обработка естественного языка (NLP): Softmax обеспечивает возможности генерации текста в большие языковые модели (LLM) и чатботов. Когда модель-трансформер генерирует Когда модель-трансформер генерирует предложение, она вычисляет оценку для каждого слова из своего словарного запаса, чтобы определить, какое слово должно идти следующим. Softmax преобразует эти оценки в вероятности, позволяя модели выбрать наиболее вероятное следующее слово, что способствует плавному машинный перевод и разговор.

Пример кода на языке Python

В следующем примере показано, как загрузить предварительно обученную модель классификации и получить доступ к оценкам вероятности сгенерированным с помощью 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}")

Сравнение Softmax с другими функциями активации

Хотя Softmax доминирует в выходном слое для многоклассовых задач, важно отличать ее от других функций активации, используемых в различных контекстах:

  • Сигмоид: Как и Softmax, Sigmoid сжимает значения между 0 и 1. Однако Sigmoid обрабатывает каждый выход независимо, что делает ее идеальной для бинарной классификации (решения "да/нет") или многозначной классификации, когда изображение может содержать как "собаку", так и "мяч". Softmax, наоборот, обеспечивает конкуренцию между классами, когда увеличение вероятности одного класса уменьшает вероятность других. другие.
  • ReLU (Rectified Linear Unit): ReLU в основном используется в скрытых слоях нейронной сети для введения нелинейности и ускорения обучения модели. В отличие от Softmax, ReLU не выводит вероятности и не привязывает выход к определенному диапазону (кроме неотрицательности).
  • Tanh (гиперболический тангенс): Tanh выдает значения от -1 до 1. Он часто встречается в старых архитектурах или рекуррентных нейронных сетей (RNN), но но редко используется в качестве конечной функции вывода для классификации, поскольку не дает распределения вероятностей.

Практические соображения по обучению

На практике Softmax редко используется изолированно на этапе обучения. Почти всегда он используется в паре со специфической функцией потерь, известной как Cross-Entropy Loss (или Log Loss). Эта комбинация эффективно измеряет расстояние между предсказанными вероятностями и реальными истинными метки.

Кроме того, вычисление экспоненты больших чисел может привести к численной нестабильности (переполнению). Современные фреймворки, такие как PyTorch и TensorFlow обрабатывают Это происходит автоматически за счет реализации стабильных версий (часто "LogSoftmax") в своих функциях вычисления потерь функции. Понимание этих нюансов необходимо для эффективного развертывания модели и обеспечения того, чтобы такие метрики, как точность, точно отражают производительность модели. Заглядывая на В будущем передовые архитектуры, такие как готовящаяся к выпуску YOLO26, продолжат совершенствовать методы использования этих распределений вероятностей распределений вероятностей для сквозного обнаружения и классификации.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас