Когда входные значения (логиты) слишком велики по модулю, экспоненты в softmax могут привести к переполнению — например,
e^{1000} становится слишком большим числом для компьютера.✔️ Решение: вычитание максимума
Перед применением softmax нужно просто вычесть максимум из всех логитов:
Вместо e^{z_i} считаем e^{z_i − max(z)}
Это не изменит результат, потому что одинаковое смещение в числителе и знаменателе сократится.
👉 Почему это работает:
— Сдвигаем логиты ближе к нулю
— Избегаем переполнения экспоненты
— Повышаем численную стабильность
Библиотека собеса по Data Science