Глоссарий

Softmax

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

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

Softmax - важнейшая функция активации, обычно используемая в выходном слое нейронных сетей (НС), особенно в задачах многоклассовой классификации. Ее основная роль заключается в преобразовании вектора сырых оценок (часто называемых логитами), сгенерированных предыдущим слоем, в распределение вероятностей по нескольким потенциальным классам. Каждое выходное значение представляет собой вероятность того, что входные данные относятся к определенному классу, и, что важно, эти вероятности в сумме дают 1, что позволяет легко интерпретировать выходные данные как уровни доверия для взаимоисключающих исходов.

Как работает Softmax

Концептуально функция Softmax берет необработанные выходные баллы из слоя нейронной сети и преобразует их. Для этого она сначала экспоненцирует каждый балл, что делает все значения положительными и сильнее подчеркивает большие баллы. Затем он нормализует эти экспоненциальные оценки, разделив каждую из них на сумму всех экспоненциальных оценок. Этот шаг нормализации гарантирует, что полученные значения лежат между 0 и 1 и в сумме равны 1, эффективно создавая распределение вероятностей между различными классами. Класс, соответствующий наибольшему значению вероятности, обычно выбирается в качестве окончательного прогноза модели. Этот процесс является основополагающим в моделях глубокого обучения (DL), решающих задачи классификации.

Основные характеристики

  • Распределение вероятностей: Выходы представляют собой вероятности для каждого класса, которые всегда суммируются с 1.
  • Мультиклассовый фокус: Специально разработан для сценариев, в которых входные данные могут принадлежать только к одному из нескольких возможных классов (взаимоисключающих).
  • Интерпретация вывода: Сделай вывод модели интуитивно понятным, представляя уровень доверия для каждого класса.
  • Дифференцируемость: Гладкий и дифференцируемый, что позволяет эффективно использовать его с алгоритмами оптимизации на основе градиента, такими как градиентный спуск, во время обучения модели.

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

Важно отличать Softmax от других функций активации:

  • Сигмоид: Хотя сигмоид также выводит значения между 0 и 1, он обычно используется для бинарной классификации (один выходной нейрон) или для классификации по нескольким меткам (несколько выходных нейронов, где каждый выход представляет собой независимую вероятность, и сумма не обязательно равна 1). Softmax используется, когда классы являются взаимоисключающими. Более подробную информацию можно найти в таких ресурсах, как Stanford CS231n notes.
  • ReLU (Rectified Linear Unit): ReLU и его разновидности, такие как Leaky ReLU или SiLU, в основном используются в скрытых слоях нейронных сетей, чтобы внести нелинейность. Они не дают вероятностно-подобных выходов, подходящих для финального слоя классификации. DeepLearning.AI предлагает курсы, объясняющие функции активации в нейронных сетях.

Приложения в искусственном интеллекте и машинном обучении

Softmax широко используется в различных областях ИИ и машинного обучения (ML):

Соображения

Несмотря на свою мощь, Softmax может быть чувствителен к очень большим входным оценкам, что потенциально может привести к численной нестабильности (переполнению или недополнению). Современные фреймворки глубокого обучения, такие как PyTorch и TensorFlow реализуют численно стабильные версии Softmax, чтобы смягчить эти проблемы. Понимание его поведения крайне важно для эффективного обучения и интерпретации моделей, чему часто способствуют платформы вроде Ultralytics HUB для управления экспериментами и развертываниями.

Читать полностью