![](https://habrastorage.org/webt/jp/9x/bx/jp9xbxcgqk3qortroyvg8el_tno.jpeg)
Владельцы жилья оставляют на сайте Airbnb уникальные предложения аренды по всему миру. На Airbnb есть сотни миллионов сопутствующих фотографий. Фотографии содержат важную информацию о стиле и дизайне, которую сложно передать словами или списком. Поэтому несколько команд сотрудников Airbnb сегодня используют компьютерное зрение (computer vision), чтобы извлекать сведения об удобствах из нашего богатого массива данных, чтобы помогать гостям в удобном поиске предложений, соответствующих их предпочтениям.
В предыдущих постах WIDeText: A Multimodal Deep Learning Framework, Categorizing Listing Photos at Airbnb и Amenity Detection and Beyond — New Frontiers of Computer Vision at Airbnb мы рассказали о том, как используем компьютерное зрение для категоризации помещений и выявления удобств, чтобы сопоставлять фотографии предложений с таксономией дискретных концепций. В этом посте мы расскажем о том, как Airbnb использует эстетику и эмбеддинги изображений для оптимизации различных поверхностей продукта, включая содержимое рекламных объявлений, презентации и рекомендаций позиций.
▍ Эстетика изображений
Во время поиска жилья на Airbnb привлекательные фотографии столь же важны, как цена, отзывы и описание. Чтобы вывести численную характеристику «привлекательности» фотографий, мы разработали конвейер оценки эстетики изображений на основе глубокого обучения. Внутри него используется модель, являющаяся глубокой свёрточной нейросетью (CNN), обученной на размеченных живыми людьми распределениях оценок эстетики изображений. Каждое фото было оценено по шкале от 1 до 5 сотнями фотографов на основании их собственных эстетических предпочтений (чем выше оценка, тем эстетичнее фотография). В отличие от традиционных задач классификации, классифицирующих фотографии на низкую, среднюю и высокую категории, модель была построена на основе выбранной в качестве функции потерь задаче землекопа (EMD) для прогнозирования распределения оценок фотографов.
![](https://habrastorage.org/webt/9x/tq/zg/9xtqzgusuvaearu3gwnpudirklo.png)
Прогнозируемый средний рейтинг сильно коррелирует с разрешением изображения и вероятностью аренды предлагаемого жилья, а также с верхним распределением фотографий предложений Airbnb. Пороговые значения оценок установлены на основании сценариев использования, например, по рекомендации рекламной фотографии в соцсетях и рекомендации порядка фотографий в процессе подготовки объявления.
![](https://habrastorage.org/webt/kz/rk/yb/kzrkybarhjhye3noy6ajgj_c2hq.png)
![](https://habrastorage.org/webt/c-/so/al/c-soalwnb6tfnby3wx88bc7r3ls.png)
▍ Повышение качества рекламы на основании эстетики изображений
Для привлечения новых пользователей Airbnb использует рекламу в социальных сетях. Платформа соцсети выбирает, какую рекламу нужно показывать, основываясь на миллионах предоставленных Airbnb фотографий из объявлений.
![](https://habrastorage.org/webt/z4/kr/b3/z4krb3sjab_dpczcqb-yzx7e3ae.png)
Так как визуально привлекательная фотография с Airbnb может эффективно привлекать пользователей на платформу и существенно увеличивать click-through rate (CTR) рекламы, мы использовали оценку эстетичности изображений и категоризацию помещений для выбора на Airbnb наиболее привлекательных фотографий гостиной, спальни, кухни и вида снаружи. Критерием «хорошего качества» фотографий из объявлений был установлен верхний 50-й перцентиль оценок эстетики, который был потом дополнительно настроен на основании ручной оценки эстетики тысячи случайно выбранных фотографий из объявлений. Мы выполнили A/B-тестирование для этого сценария использования и выяснили, что кандидаты на рекламное объявление с высокой оценкой эстетики генерировали существенно более высокий CTR и коэффициент съёма жилья.
![](https://habrastorage.org/webt/1f/fn/u4/1ffnu4yvwevkoaar5acj1wwskpu.jpeg)
![](https://habrastorage.org/webt/wc/2d/sl/wc2dsl3bvk3tgnasikytcpcefbk.jpeg)
![](https://habrastorage.org/webt/rc/07/im/rc07imof-7ces5qox5cwdkhwdeo.jpeg)
▍ Автоматическое ранжирование фотографий на основании дизайна дома и типа помещений
При публикации нового объявления на Airbnb владельцы загружают множество фотографий. Создание оптимального порядка этих фотографий для подчёркивания достоинств жилья может быть долгой и сложной задачей. Кроме того, владелец может быть не уверен насчёт идеального расположения изображений, потому что работа требует поиска компромиссов между привлекательностью фотографий, их разнообразием и релевантностью контента для съёмщиков. В частности, наиболее важными для успеха объявления являются первые пять фотографий, потому что их чаще всего просматривают и они критически важны для создания первого впечатления у съёмщика. Поэтому мы разработали алгоритм автоматизированного ранжирования фотографий, выбирающий и упорядочивающий первые пять фотографий дома, используя два визуальных сигнала: оценку дизайна дома и категоризацию помещений.
Оценка дизайна дома определяет, насколько хорошо спроектирован дом с точки зрения дизайна интерьера и архитектуры. Модель оценки дизайна домов на основе CNN обучена на квалификационных данных Airbnb Plus и Luxe, она оценивает эстетическую привлекательность дизайна дома на каждом фото. Объявления Airbnb Plus и Luxe удовлетворяют строгим требованиям к дизайну домов, поэтому данные из их квалификационного процесса хорошо подходят для использования в качестве обучающей разметки модели оценки дизайна домов. Затем фотографии классифицируются по разным типам помещений (например, гостиная, спальня, ванная и так далее) моделью категоризации помещений. В конце алгоритм вычисляет компромисс между привлекательностью дизайна дома на фото, релевантностью фото и разнообразием фотографий, чтобы максимизировать вероятность съёма жилья. Ниже показан пример новых рекомендаций порядка фотографий. Функция автоматического ранжирования фотографий была выпущена в 2021 году, после чего существенно увеличилось количество новых создаваемых объявлений и успешных случаев съёма.
Исходный порядок
![](https://habrastorage.org/webt/wx/qy/jw/wxqyjwvebqiaz7enynf1jfmnize.png)
Автоматически рекомендованный порядок
![](https://habrastorage.org/webt/xj/xy/zx/xjxyzxqloiahnf3zqthow00jj3g.png)
▍ Схожесть изображений
Кроме эстетики, фотографии передают общий внешний вид и содержание. Для эффективной презентации этой информации мы при помощи моделей компьютерного зрения закодировали и сжали фотографии в эмбеддинги изображений. Эмбеддинги изображений — это компактные векторные описания изображений, описывающие визуальные признаки. Эти эмбеддинги можно сравнивать друг с другом по метрике расстояния, представляющей схожесть в этом пространстве признаков.
![](https://habrastorage.org/webt/jr/mq/hj/jrmqhjo3sdoip6ku08mdiz33i9s.png)
На признаки, которым обучился энкодер, напрямую влияют распределение обучающих данных изображений и цели обучения. Размеченные данные типа помещения и классификации удобств позволяют нам обучать модели на распределении этих данных, чтобы создавать семантически значимые эмбеддинги для определения схожести фотографий в объявлениях. Однако с ростом количества и разнообразия изображений на Airbnb становится всё сложнее полагаться исключительно на размеченные вручную данные и методики обучения с учителем. Поэтому сейчас мы исследуем возможности self-supervised contrastive training по улучшению наших моделей эмбеддингов изображений. Этот вид обучения не требует разметки изображений — он позволяет быстро начать контрастное обучение на синтетически сгенерированных положительных и отрицательных парах. После этого наши модели эмбеддингов изображений смогут обучаться ключевым визуальным признакам фотографий из объявлений без ручного контроля.
![](https://habrastorage.org/webt/nm/df/ed/nmdfedpm1__kbps1874fg3_2v4o.png)
▍ Масштабируемый поиск эмбеддингов
Часто бывает непрактичным вычислять исчерпывающую попарную схожесть эмбеддингов, даже если при этом не используются фокусированные подмножества миллионов элементов. Для поддержки сценариев поиска в реальном времени, например, выявления полных (или почти полных) дубликатов фотографий и поиска визуальной схожести мы решаем задачу аппроксимированного поиска ближайшего соседа (ANN). Эта функциональность в основном стала возможной благодаря эффективной предварительной обработке индексов эмбеддингов и алгоритма построения под названием Hierarchical Navigable Small World (HNSW). HNSW создаёт иерархическую графовую структур близости, которая существенного ограничивает пространство поиска во время запроса. Мы масштабируем её горизонтально при помощи AWS OpenSearch, в котором каждый узел содержит собственные графы эмбеддингов HNSW и индексы с поддержкой Lucene, которые периодически освежаются и могут опрашиваться параллельно. Чтобы добавить поиск эмбеддингов в реальном времени при помощи ANN, мы реализовали следующие паттерны обновления индексов и архитектуры поиска индексов, которые стали возможными благодаря внутренним платформам Airbnb.
Для периодического обновления индекса эмбеддинга все релевантные индексы вычисляются при помощи Bighead (сквозной платформы машинного обучения), агрегируются и сохраняются в таблицу Hive. Развёрнуты создающие эмбеддинги модели энкодеров, используемые как для онлайн-создания логических выводов, так и для пакетной офлайн-обработки. Затем инкрементное обновление эмбеддингов в AWS OpenSearch синхронизируется с индексом эмбеддингов при помощи нашего сервиса организации конвейера данных Airflow.
![](https://habrastorage.org/webt/f-/bu/df/f-budfeljzlonnnoltm4u7g2u_y.png)
Для выполнения поиска изображений клиентский сервис сначала должен проверить, существует ли эмбеддинг изображения в кэше индексов OpenSearch, чтобы избежать ненужного повторного вычисления эмбеддингов. Если эмбеддинг там уже есть, кластер OpenSearch может без дальнейшей обработки вернуть клиенту решения задачи аппроксимированного поиска ближайшего соседа. Если произошёл промах кэша, вызывается Bighead для вычисления эмбеддинга изображения, а затем выполняется запрос к OpenSearch для поиска аппроксимированных ближайших соседей.
![](https://habrastorage.org/webt/s4/vs/0w/s4vs0wykf81cb-apgxymit2a6ku.png)
В соответствии с этим фреймворком поиска эмбеддингов мы масштабируем визуальный поиск реального времени в текущих потоках продакшена и в будущих релизах.
▍ Расширение категорий Airbnb
Airbnb Categories помогают нашим съёмщикам находить уникальные места для отдыха. Вот некоторые из примеров: «Потрясающие виды», «Исторические дома» и «Творческие пространства». Эти категории не всегда имеют схожие удобства или дискретные атрибуты, потому что часто представляют собой концепции для поиска вдохновения. Мы изучаем задачу автоматического расширения категорий, выявляя схожие объявления на основании их фотографий, передающих эстетику дизайна.
![](https://habrastorage.org/webt/eb/lh/hs/eblhhs5ayh53fv3yy11vharcynu.png)
▍ Рекомендации похожих объявлений для помощи в изменении бронирования
В летнем релизе 2022 года Airbnb представил функцию помощи в изменении бронирования от амбассадоров Community Support на случай, когда владелец жилья отменяет бронирование незадолго до въезда. Чтобы в процессе изменения бронирования сервис рекомендовал сравнимые объявления, модель резервации и эмбеддингов объявлений ранжирует ежедневно обновляемые объявления-кандидаты. В будущем мы рассматриваем возможность улучшения описания объявлений при помощи эмбеддингов изображений и реализации поиска в реальном времени.
![](https://habrastorage.org/webt/0r/f-/zd/0rf-zdx-jmtsj-_hn0doznyb0li.png)
▍ Заключение
Фотографии содержат эстетические и стилистические сигналы, которые сложно выразить словами или сопоставить с дискретными атрибутами. Airbnb всё больше использует эти визуальные атрибуты, чтобы помогать владельцам жилья подчёркивать уникальный характер их объявлений и оказывать содействие съёмщикам в поиске объявлений, соответствующих их предпочтениям.
Играй в нашу новую игру прямо в Telegram!
![](https://habrastorage.org/webt/sz/7j/pf/sz7jpfj8i1pa6ocj-eia09dev4q.png)
rombell
Не понял, почему в блоке «Исходный порядок» и в блоке «Автоматически рекомендованный порядок» фотографии совершенно разные?
rPman
Возможно потому что 'любые рейтинги от заинтересованных сторон — мошенничество и ложь'
Кто то пользуется сортировкой 'рекомендовано' или 'популярно' в интернет магазинах и каталогах?
iliazeus
Я пользуюсь. Не всегда есть настроение сортировать по цене и долго разбираться, почему именно вот этот дешевле, чем вон тот.
rPman
Значит ты та самая самая целевая аудитория такой псевдоаналитики, и возможно самая главная часть с чего кормятся торговые площадки и агрегаторы. Для них ты приносишь огромную пользу/деньги, ведь тебе можно продать на несколько процентов дороже (кстати не обязательно).
На самом деле философия этого процесса такова что чем крупнее площадка тем более она заинтересована в сокрытии для ее клиентов оптимальной цены. aliexpress, ozon, wildberries,… все они заинтересованы в увеличении количества продавцов, даже если они торгуют одним и тем же товаром, а значит если предлагать клиентам самый выгодный вариант, 100500 продавцов останутся без потока клиентов и не принесут деньги… поэтому бизнес строится на запутывании клиента.
Отсутствие нормальных характеристик или невнятные параметры фильтрации (тебе дадут отсортировать по цвету, количеству отзывов, мнению эксперта васи,… но не по важным для клиента критериям.
0xC0CAC01A
HabrQuote На самом деле философия этого процесса такова что чем крупнее площадка тем более она заинтересована в сокрытии для ее клиентов оптимальной цены /HabrQuote
А вот кстати, как можно это исправить? Как будет выглядеть убийца площадок-мошенников?
rPman
Никак
Либо ты сам продаешь но нормальные объемы обеспечить единочлично практически не реально, либо ты честно публикуешь лучшие цены и 99% торговцев от тебя уходят туда где можно продавать чаще по дороже.
Не совсем понимаю как работает яндекс маркет, скорее всего они выступают в качестве посредника по организации сделки, кушают процент и диктуют свои условия магазинам, ну там хочешь продвинуться в результатах поиска — плати.
Точнее вот так, как только у твоей площадки появятся объемы, ты сам становишься драконом и начинаешь творить пиздец, потому что 'почему нет'
iliazeus
Возможно, просто фотографий было больше, чем пять? И влезли не все, ни в тот, ни в другой раз.
Но из статьи, и правда, это не понятно.