Наивное применение сигмоида / софтмакса и кросс-энтропии численно нестабильно. Это связано с exp
в сигмовидной кишке и log
в softmax. Вы можете столкнуться с проблемами с избыточным / недостаточным количеством памяти, которые могут привести к тому, что будут приняты log(0)
(что приведет к -inf
). Чтобы избежать этого, функции кросс-энтропии используют «более умную» формулировку, основанную непосредственно на логитах, используя тот факт, что log(exp(x)) == x
. Вы должны всегда использовать эти функции, чтобы избежать численных проблем. Если вам нужны фактические вероятности в другом месте, вы все равно можете просто применить сигмоид / softmax в этих точках.