Выбор ответа Junior Активации и функции потерь спрашивают часто обновлено

Активация на выходе

Вопрос

Сеть решает задачу multi-label: у картинки может быть несколько тегов из 20. Что поставить на выходе и какую потерю?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 20 независимых сигмоид и бинарную кросс-энтропию по каждому тегу (BCEWithLogitsLoss). Теги не исключают друг друга, поэтому для каждого своя вероятность.

Варианты ответа

  1. Softmax на 20 классов и кросс-энтропию с нормированной на сумму целью из нескольких меток картинки
  2. ReLU на 20 выходов и MSE с бинарным вектором тегов как целью
  3. 20 независимых сигмоид и бинарную кросс-энтропию по каждому тегу (BCEWithLogitsLoss)правильный ответ
  4. Одну сигмоиду на все теги и порог, разбитый на 20 интервалов по числу тегов

Разбор

Теги не исключают друг друга, поэтому для каждого своя вероятность. Softmax заставляет вероятности конкурировать и суммироваться в 1, это для одного класса из многих. Потеря с логитами (BCEWithLogitsLoss) численно устойчивее, чем сигмоида плюс BCELoss.

  • Softmax подходит для multi-class, а не multi-label.
  • ReLU и MSE для вероятностей не подходят.
  • Одна сигмоида даёт одну вероятность.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.