К тренажеру
ВопросMediumcv-modelingРеальный собес

Обучение visual embeddings для сравнения объектов

Какие loss, backbone и augmentations уместны для embeddings-модели, сравнивающей изображения объектов?

Короткий ответ

Подойдет EfficientNet/MobileNet/ConvNeXt backbone с contrastive/triplet loss, аккуратным pair mining и аугментациями, не меняющими целевой признак.

Полный разбор

Backbone выбирают по latency/quality tradeoff. Triplet или contrastive loss требуют правильных positives и hard negatives. Аугментации должны сохранять label: crop, brightness, contrast и малые rotations допустимы, но flip может менять семантику. Для color-difference задач color jitter применяют синхронно к обеим картинкам пары или ограничивают.

Оценивать нужно не только embedding distance, но и downstream decision после агрегации по ракурсам.

Теория

В metric learning нужно явно решить, к чему embedding должен быть инвариантен, а к чему чувствителен.

Типичные ошибки

  • Сделать модель инвариантной к признаку, который надо детектировать.
  • Не майнить hard negatives.
  • Оценивать только accuracy.

Как отвечать на собеседовании

  • Проговори invariance vs sensitivity.
  • Отдельно скажи про hard negative mining.