2016-04-11 4 views
5

Я использую функцию потери сигмовидной кросс-энтропии для многоуровневой задачи классификации, изложенную в this tutorial. Тем не менее, как в их результатах по учебнику, так и по моим результатам, выходные предсказания находятся в диапазоне (-Inf, Inf), а диапазон сигмоида - [0, 1]. Является ли сигмоид обработан только в backprop? То есть, не должен ли передний проход выдавливать выход?Caffe sigmoid cross entropy loss

ответ

5

В этом примере ввод на уровень "SigmoidCrossEntropyLoss" является выходом полностью подключаемого слоя. Действительно, нет ограничений на значения выходов слоя "InnerProduct", и они могут находиться в диапазоне [-inf, inf].
Однако, если вы внимательно изучите "SigmoidCrossEntropyLoss", вы заметите, что он содержит "Sigmoid" layer inside - для обеспечения стабильной оценки градиента.
Поэтому во время тестирования вы должны заменить "SigmoidCrossEntropyLoss" простым слоем "Sigmoid" для вывода прогнозов для каждого класса.

+0

спасибо @Shai. Вы связаны с этими ответами Caffe – marcman