В настоящее время я заинтересован в использовании ошибки Cross Entropy при выполнении алгоритма BackPropagation для классификации, где я использую функцию активации Softmax в своем выходном уровне.Кросс-энтропия, Softmax и производный термин в Backpropagation
Из того, что я понимаю, вы можете оставить производную посмотреть, как это с Cross энтропией и SoftMax:
Error = targetOutput[i] - layerOutput[i]
Это отличается от ошибки Mean Squared из:
Error = Derivative(layerOutput[i]) * (targetOutput[i] - layerOutput[i])
Так, может вы бросаете только производный термин, когда ваш выходной уровень использует функцию активации Softmax для классификации с помощью Cross Entropy? Например, если бы я должен был делать регрессию с использованием ошибки кросс-энтропии (с помощью функции активации TANH), мне все равно нужно было бы сохранить производный термин, правильно?
Мне не удалось найти явный ответ на этот вопрос, и я не попытался выработать математику на этом (как я ржавый).
Привет, Seguy, вопрос направлен на ** когда ** производный термин отбрасывается. Всегда ли он используется при использовании кросс-энтропии? Или удалено при использовании слоя Cross Entroy + Softmax Output? – GreekFire
Привет @GreekFire, я понимаю, что вопрос ограничен, чтобы backpropagate последнего слоя. Там вы могли бы использовать или не использовать производную функции squashing (softmax, tanh, ...) на выходе предыдущего слоя. Если вы принимаете во внимание производную, то ошибка сигнала backpropagated ослабляется (замедляя процесс обучения). – Seguy