Агрегация нескольких фото товара
У товара может быть несколько фотографий: общий вид, детали, разные ракурсы. Как получить устойчивое представление товара для поиска по фото?
Короткий ответ
Считать embedding на каждое фото и агрегировать max/attention/learned pooling, сохраняя также per-photo embeddings для детализации и explainability.
Полный разбор
Один embedding на весь товар удобен для индекса, но теряет детали. Практичный дизайн: хранить per-image embeddings, выделять main-photo embedding и агрегированный product embedding. На retrieval этапе можно искать по нескольким векторам или брать top candidates по product embedding, а затем rerank-ить по лучшему совпадению query image с конкретным фото.
Для атрибутов полезно агрегировать не только векторы, но и предсказания цвета, категории, бренда, силуэта. Нужны веса по типу фото, качеству, zoom/detail и позиции в карточке.
Теория
Multi-view item representation снижает шум отдельных фотографий и лучше покрывает разные пользовательские query images.
Типичные ошибки
- Усреднить все фото без учета качества.
- Удалить per-photo embeddings и потерять точное совпадение деталей.
- Не учитывать, что главное фото часто отличается от detail shots.
Как отвечать на собеседовании
- Предложи двухступенчатую схему: быстрый retrieval и более дорогой reranking по нескольким фото.