Softmax-функция

Материал из MachineLearning.

Перейти к: навигация, поиск
Статья написана с использованием LLM Qwen3.7-Max и проверена участником Arsen Temirov 00:33, 20 июля 2026 (MSD)

Промпт приводится полностью в Обсуждение:Softmax-функция


Содержание

Softmax-функция (англ. softmax function, также normalized exponential function) — нелинейная функция, отображающая вектор из K вещественных чисел в вектор из K вероятностей. Каждое значение результирующего вектора строго положительно и находится в интервале (0, 1), а сумма всех компонентов равна единице.

В машинном обучении softmax интерпретируется как гладкая, всюду дифференцируемая аппроксимация функции argmax (англ. argmax). Она проецирует неограниченные вещественные оценки (логиты) на стандартный вероятностный симплекс (англ. probability simplex), что позволяет трактовать выходы модели как параметры категориального распределения (англ. categorical distribution).

Математическое описание

Для входного вектора \mathbf{z} = (z_1, z_2, \dots, z_K) \in \mathbb{R}^K softmax-функция \sigma: \mathbb{R}^K \to (0, 1)^K определяется как:

\sigma(\mathbf{z})_i = \frac{e^{z_i}}{\sum_{j=1}^K e^{z_j}}, \quad i = 1, \dots, K

Свойства

  • Неотрицательность и нормировка: \sigma(\mathbf{z})_i > 0 и \sum_{i=1}^K \sigma(\mathbf{z})_i = 1.
  • Инвариантность к сдвигу: прибавление константы c ко всем элементам вектора не меняет результата: \sigma(\mathbf{z} + c\mathbf{1}) = \sigma(\mathbf{z}). Это свойство вытекает из сокращения множителя e^c в числителе и знаменателе.
  • Монотонность: функция сохраняет порядок элементов: если z_i > z_j, то \sigma(\mathbf{z})_i > \sigma(\mathbf{z})_j.

Температурное масштабирование

В статистической механике и машинном обучении вводится параметр температуры T > 0:

\sigma(\mathbf{z}, T)_i = \frac{e^{z_i / T}}{\sum_{j=1}^K e^{z_j / T}}
  • При T \to \infty распределение стремится к равномерному: \sigma_i \to 1/K.
  • При T \to 0 распределение вырождается в детерминированный выбор максимального элемента (one-hot вектор), приближаясь к разрывной функции \text{argmax}.

Вычислительная устойчивость

Прямое вычисление экспонент e^{z_i} чревато переполнением (англ. overflow) при больших положительных значениях z_i и потерей точности (исчезновением в ноль) при больших отрицательных.

На практике используется max trick (трюк с максимумом), опирающийся на свойство инвариантности к сдвигу. Из каждого элемента вычитается максимальное значение в векторе c = \max_i z_i:

\sigma(\mathbf{z})_i = \frac{e^{z_i - c}}{\sum_{j=1}^K e^{z_j - c}}

После этого максимальный аргумент экспоненты равен нулю (e^0 = 1), а остальные значения отрицательны, что полностью исключает переполнение сверху и гарантирует корректное значение знаменателя \ge 1.

Производная и обратное распространение ошибки

Частная производная i-го выхода по j-му входу формирует матрицу Якоби (англ. Jacobian matrix):

\frac{\partial \sigma_i}{\partial z_j} = \sigma_i (\delta_{ij} - \sigma_j)

где \delta_{ij}символ Кронекера (англ. Kronecker delta).

Изолированное использование softmax-слоя приводит к плотной матрице Якоби и может вызывать проблемы с затуханием градиентов. Однако в глубоком обучении (англ. deep learning) softmax почти всегда применяется в связке с перекрёстной энтропией (англ. cross-entropy) в качестве функции потерь (англ. loss function) для задач многоклассовой классификации (англ. multi-class classification).

Если \mathbf{y} — one-hot вектор истинного класса, а \hat{\mathbf{y}} = \sigma(\mathbf{z}), то градиент скалярной функции потерь L по логитам \mathbf{z} радикально упрощается:

\nabla_{\mathbf{z}} L = \hat{\mathbf{y}} - \mathbf{y}

Эта алгебраическая редукция обеспечивает стабильные, ненасыщающиеся градиенты на этапе обратного распространения ошибки (англ. backpropagation), даже если сеть уверена в неверном ответе (то есть когда \hat{y}_{\text{true}} \to 0).

Применение в машинном обучении

Архитектуры нейронных сетей

Softmax выступает стандартным финальным слоем многослойных перцептронов (англ. multilayer perceptron) и свёрточных сетей (англ. convolutional neural networks), преобразуя сырые оценки (логиты) в апостериорные вероятности классов P(y = i \mid x).

Механизм внимания

В архитектуре Трансформер (англ. Transformer) и других моделях, использующих механизм внимания (англ. attention mechanism), softmax применяется для нормализации весов (score matrix) перед умножением на матрицу значений (values). Для предотвращения попадания аргументов в области насыщения экспоненты (где градиенты стремятся к нулю) используется масштабирование (англ. scaled dot-product attention):

\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V

Деление на \sqrt{d_k} компенсирует рост дисперсии скалярного произведения при увеличении размерности векторов.

Обучение с подкреплением

В методах обучения с подкреплением (англ. reinforcement learning), таких как Policy Gradients или Actor-Critic, softmax параметризует стохастическую политику (англ. policy) агента \pi(a \mid s). Варьирование температуры T позволяет управлять балансом исследования и использования (англ. exploration vs exploitation): высокая температура заставляет агента пробовать случайные действия, низкая — эксплуатировать наилучшие известные стратегии.

Обобщения и альтернативы

  • Log-Softmax (англ. log-softmax) — вычисление логарифма от softmax: \log \sigma(\mathbf{z})_i = z_i - \log \sum e^{z_j}. Используется совместно с отрицательным логарифмическим правдоподобием (англ. negative log-likelihood), обеспечивая лучшую численную стабильность при работе с крайне малыми вероятностями.
  • Gumbel-Softmax (англ. Gumbel-Softmax, или Concrete distribution) — непрерывная релаксация категориального распределения, позволяющая сэмплировать дискретные переменные и дифференцировать этот процесс с помощью трюка репараметризации (англ. reparameterization trick). Применяется в вариационных автоэнкодерах (англ. variational autoencoders) с дискретным латентным пространством.
  • Sparsemax (англ. sparsemax) — функция, проецирующая вектор на вероятностный симплекс таким образом, что результирующее распределение получается разрежённым (содержит точные нули). В отличие от softmax, который назначает строго положительную (хоть и экспоненциально малую) вероятность всем классам, sparsemax обнуляет нерелевантные классы, что полезно в задачах мультилейбл классификации (англ. multi-label classification) и разреженного внимания.

См. также

Литература

  • Goodfellow I., Bengio Y., Courville A. Deep Learning. — Cambridge: MIT Press, 2016. — 800 с.
  • Bishop C. M. Pattern Recognition and Machine Learning. — New York: Springer, 2006. — 738 с.
  • Vaswani A., Shazeer N., Parmar N., Uszkoreit J., Jones L., Gomez A. N., Kaiser Ł., Polosukhin I. Attention Is All You Need // Advances in Neural Information Processing Systems. — 2017. — Т. 30. — С. 5998—6008.
  • Jang E., Gu S., Poole B. Categorical Reparameterization with Gumbel-Softmax // International Conference on Learning Representations (ICLR). — 2017.
  • Martins A. F. T., Astudillo R. From Softmax to Sparsemax: A Sparse Model of Attention and Multi-Label Classification // International Conference on Machine Learning (ICML). — 2016. — С. 1614—1623.
  • Bridle J. S. Probabilistic Interpretation of Feedforward Classification Network Outputs, with Relationships to Statistical Pattern Recognition // Neurocomputing: Algorithms, Architectures and Applications. — 1990. — Т. 68. — С. 227—236.
Личные инструменты