глоссарий

Softmax

Softmax

Softmax — математическая функция, превращающая произвольный набор чисел в вероятности. Если нейросеть выдаёт оценки «похоже на кота: 2,5», «на собаку: 1,2», «на птицу: 0,8», softmax преобразует их так, чтобы значения стали положительными, лежали в диапазоне от 0 до 1 и в сумме давали 1. Получается распределение: кот — 0,7, собака — 0,2, птица — 0,1. Это удобно: сырые оценки (логиты) бывают отрицательными, большими или маленькими, и без перевода непонятно, как их интерпретировать. Softmax даёт ответ вида «с вероятностью 85% это рукописная цифра пять».

Как работает интуитивно? Возводим каждое число в степень экспоненты — это усиливает разницу: если одно число вдвое больше другого, после экспоненты разрыв заметно вырастает. Затем нормируем на сумму, чтобы итоговая сумма стала единицей. Большие исходные оценки получают непропорционально высокую вероятность, маленькие — почти нулевую. Поэтому это «мягкий максимум»: он не выбирает одного лидера жёстко, а распределяет внимание между вариантами, выделяя лучшие.

Прикладной пример — распознавание речи в смартфоне. Акустическая модель разбивает звук на фрагменты и для каждого вычисляет оценки для звуков языка. Слой softmax превращает эти оценки в вероятности. Если различие между «б» и «п» невелико, мягкое распределение помогает учитывать контекст и не отбрасывать возможные варианты, делая распознавание естественным.

Итог: softmax — мост между числовыми оценками нейросети и вероятностным языком, который мы понимаем. Он превращает конкурирующие варианты в прозрачное распределение, необходимое для классификации, генерации текста, рекомендательных систем. Несмотря на простую формулу, это один из краеугольных камней современного ИИ.