SoftMax: как нейросети превращают сырые числа в уверенные вероятности — разбор с примерами и математикой. backpropagation.. backpropagation. deep learning.. backpropagation. deep learning. PyTorch.. backpropagation. deep learning. PyTorch. softmax.. backpropagation. deep learning. PyTorch. softmax. tensorflow.. backpropagation. deep learning. PyTorch. softmax. tensorflow. вероятностное моделирование.. backpropagation. deep learning. PyTorch. softmax. tensorflow. вероятностное моделирование. нейронные сети.. backpropagation. deep learning. PyTorch. softmax. tensorflow. вероятностное моделирование. нейронные сети. нейросети.. backpropagation. deep learning. PyTorch. softmax. tensorflow. вероятностное моделирование. нейронные сети. нейросети. функция активации.. backpropagation. deep learning. PyTorch. softmax. tensorflow. вероятностное моделирование. нейронные сети. нейросети. функция активации. функция потерь.
SoftMax: как нейросети превращают сырые числа в уверенные вероятности — разбор с примерами и математикой - 1

В реальности всё полно оттенков: ничего чисто чёрного или белого, то же в машинном обучении, тк решения редко бывают абсолютными. Возьмём задачу: нейросеть анализирует фото еды и определяет, это пицца, суши или салат. Для двух классов хватит сигмоиды, но с несколькими нужна функция, которая раздаст вероятности по всем вариантам, чтобы их сумма была точно 1. Вот где и выходит SoftMax- стандарт для многоклассовой классификации. Сегодня разберём её от А до Я: интуицию, шаги, формулы и хитрости.

Почему нужен SoftMax? От беспорядочных логитов к чётким вероятностям

В конце нейросети, после всех слоёв, модель выдаёт “грубые” значения- логины (logits). Это просто числа после умножений, сумм и активаций: могут быть плюсовыми, минусовыми, любыми. Например, для распознавания погоды по фото (солнечно, дождливо, снежно) логины могут быть: 5.2 для “солнечно”, 0.8 для “дождливо” и -3.1 для “снежно”.

Беда… как понять -3.1 как шанс? Вероятности от 0 до 1, сумма = 1. SoftMax фиксит это: создаёт распределение, где сильные значения доминируют, а слабые угасают, делая выводы понятными и полезными.

Разбор SoftMax по шагам: простой пример

SoftMax- два простых шага: экспонента для позитива + нормализация.

Пример: Нейросеть смотрит на фото и даёт логины: 4 для “пицца”, 2 для “бургер”, -1 для “салат”.

  1. Экспонента. Берём e^x (e ≈ 2.718). Всё становится положительным, и различия растут.

    e^4 ≈ 54.598

    e^2 ≈ 7.389

    e^{-1} ≈ 0.368 Было разница 2 между 4 и 2-> стало ~47.209. SoftMax усиливает фаворитов!

  2. Нормализация. Суммируем (54.598 + 7.389 + 0.368 ≈ 62.355) и делим каждое на сумму.

    “Пицца”: 54.598 / 62.355 ≈ 0.876 (87.6%)

    “Бургер”: 7.389 / 62.355 ≈ 0.119 (11.9%)

    “Салат”: 0.368 / 62.355 ≈ 0.006 (0.6%) Сумма = 1. Модель ставит на пиццу, но не игнорит альтернативы.

Это делает предсказания интерпретируемыми: “87% шанс, что это пицца”.

Математика SoftMax:

Вот формула в простом тексте:

S(z_i) = e^{z_i} / sum_{j=1 to K} e^{z_j}

S(z_i): Вероятность класса i.

z_i: Логит класса i.

Сумма внизу: по всем K классам.

Числитель- exp вашего логита, знаменатель- сумма exp всех. Легко дифференцировать для обучения.

Откуда “Soft” в Max? Контраст с Hard Max

SoftMax это мягкий максимум. Hard Max был бы жёстким: максимуму 1, остальным 0. В примере: 1 для пиццы, 0 для других. Как argmax.

Hard Max не подходит для обучения: градиент нулевой почти всегда, сеть застрянет.

Температура: как регулировать “уверенность”

В моделях вроде LLM добавляют T (температуру):

S(z_i) = e^{z_i / T} / sum_{j=1 to K} e^{z_j / T}

T > 1: Размывает- модель “экспериментирует”, повышая шансы слабым (для креатива).

T < 1: Обостряет- близко к Hard Max, для точности.

T=1: Обычный SoftMax.

В примере при T=3: ~0.585, 0.316, 0.099 равномернее. При T=0.3: ~0.997, 0.003, 0.000- почти наверняка пицца.

SoftMax + Cross-Entropy: дуэт для обучения

SoftMax обычно с Cross-Entropy Loss. SoftMax даёт предсказания hat{y}, Cross-Entropy меряет разницу с true y (one-hot: 1 для правильного, 0 для остальных).

Градиент пары: hat{y} – y. Просто и эффективно! Идеально для backprop в классификации.

SoftMax- фундамент DL с вероятностями

SoftMax это must-have для задач с несколькими классами: от CV до NLP. Он orderly из хаоса, усиливает уверенность, позволяет сети эволюционировать, без него модели были бы жёсткими и неэффективными.

Автор: Nikta3

Источник

Rambler's Top100