2016-06-12 2 views
0

Я использую сеть Tensorflow для классификации классов, похожих на их соседние классы, то есть не независимых. Например, предположим, что мы хотим предсказать среди 10 классов, но прогнозы не просто «правильные» или «неправильные». Вместо этого, если правильный класс равен 7, а сеть прогнозирует 6, потеря должна быть меньше, чем если бы сеть предсказала 5, потому что 6 ближе к правильному ответу, чем 5. Я понимаю, что кросс-энтропия и 1-горячие векторы обеспечивают «все или ничего «потеря, а не« непрерывная »потеря, которая отражает величину ошибки. Если это правильно, как реализовать такую ​​непрерывную потерю в Tensorflow?Tensorflow Loss for Non-Independent Classes

- обновление 13 июня 2016 ----

Пример применения может быть цвет признание. Если сеть прогнозирует «зеленый», но истинный цвет имеет желто-зеленый цвет, тогда потеря должна быть меньше, чем если бы сеть предсказала синий цвет, потому что зеленый цвет лучше прогноза, чем синий.

ответ

1

Вы можете реализовать непрерывную функцию (например, оттенок от HSV) в качестве одного вывода и построить собственный расчет потерь, который отражает то, что вы хотите оптимизировать. В этом случае у вас будет только одно выходное значение в диапазоне от 0,0 до 1,0, и потеря будет оцениваться на основе расстояния от помеченного значения.