2017-02-20 45 views
1

У меня есть проблема многозначной классификации изображений, которую я хотел бы решить с помощью тензорного потока.Tensorflow: sigmoid_cross_entropy_with_logits

Я пытаюсь построить правильную функцию потерь и «правильный» окончательный уровень для сети CNN.

Какие аргументы функции

tf.nn.sigmoid_cross_entropy_with_logits(labels, logits) 

ожидает?

Могу ли я с уверенностью предположить, что:

  • метки являются векторами с двоичными значениями {0,1}
  • логит-анализ векторы с таким же dimmension как этикетки со значениями от всей] -∞, ∞ [

Поэтому я должен пропустить ReLU на последнем слое (чтобы конечный результат мог быть отрицательным).

Или, может быть, логиты ограничены и представляют вероятность?

Я не уверен на этом на 100%.

ответ

5

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

Что касается логит: активации нет. Ты прав.

В sigmoid_cross_entropy_with_logits использует логистические потери как в: г * -log (сигмовидный (х)) + (1 - г) * -log (1 - сигмовидный (х)) с й быть ваш логит. У вас в основном уже есть активация в этой сигмовидной части.

+0

Спасибо, в Udacity (интернет-платформа для обучения) логит считался чем-то со значениями, которые могли бы представлять вероятность так [0,1], что номенклатура была источником моего смятения. – Pietrko

 Смежные вопросы

  • Нет связанных вопросов^_^