Использование сигмоидального вывода для кросс-энтропийной потери на Pytorch

Я пытаюсь модифицировать Yolo v1 для работы с моей задачей, в которой каждый объект имеет только 1 класс. (например: объект не может быть одновременно кошкой и собакой)

Из-за архитектуры (другие выходные данные, такие как прогнозирование локализации, должны использоваться регрессией), поэтому сигмоид был применен к последнему выходу модели (f.sigmoid (почти_last_output)). И для классификации yolo 1 также использует MSE как потерю. Но насколько я знаю, MSE иногда не очень хорошо работает по сравнению с кросс-энтропией для одного-горячего, как то, что я хочу.

И конкретно: GT, как это: 0 0 0 0 1 (допустим, у нас всего 5 классов, у каждого только 1 класс, поэтому в них только одно число 1, конечно, это класс 5-й в этом примере)

и выходная модель в части классификации: 0.1 0.1 0.9 0.2 0.1

Я нашел несколько советов по использованию nn.BCE / nn.BCEWithLogitsLoss, но я думаю, что мне следует попросить здесь более правильные ответы, так как я плохо разбираюсь в математике и, возможно, я где-то ошибаюсь, поэтому просто попросите узнать больше и наверняка, что мне следует использовать правильно?

См. также:  Создание заголовков для ядер Kaggle с помощью LSTM
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. StopLimitMePlease
    1. MSE убыток обычно используется для решения задачи регрессии.

    2. Для двоичной классификации вы можете использовать BCE или BCEWithLogitsLoss. BCEWithLogitsLoss сочетает сигмоид с потерей BCE, поэтому, если на последнем слое применен сигмоид, вы можете напрямую использовать BCE.

    3. GT, упомянутый в вашем случае, относится к проблеме классификации «мультиклассов», и показанный результат на самом деле не соответствует multi-class классификации. Итак, в этом случае вы можете применить CrossEntropyLoss, который сочетает softmax и потерю журнала и подходит для задачи классификации «мультиклассов».

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: