Softmax и его производная: как избежать NaN и вычислить градиент
The Softmax function and its derivative

Softmax превращает произвольный вектор в распределение вероятностей, но при больших значениях легко получить NaN из-за переполнения. Автор объясняет, как сдвиг на максимум решает проблему, и выводит производную softmax через матрицу Якоби. Показано, как вычислить градиент softmax-слоя без дорогостоящего умножения матриц, используя разреженность якобиана линейного слоя.
Интуитивно softmax — это «мягкая» версия функции максимума. Вместо выбора одного максимального элемента softmax разбивает вектор на части целого (1.0), причём максимальный входной элемент получает пропорционально большую долю, но и остальные элементы тоже получают свою часть.