Исследователи из Airbnb опубликовали архитектуру нейросети, которая используется для ранжирования результатов поискового запроса на сервисе. По результатам онлайн экспериментов, использование глубокого обучения в продукте дало прирост нормализованной прибыли в сравнении с предыдущими моделями.
Использование нейросетей для поискового ранжирования — это один из наиболее успешных кейсов применения машинного обучения в Airbnb. Изначально модель основывалась на Gradient Boosted Decision Tree модели. После некоторых итераций модификации модели качество ее предсказаний перестало улучшаться. Это привело разработчиков к идее усложнить заменить архитектуру модели на более комплексную.
Архитектура модели
Изначально в качестве модели использовалась простая однослойная нейросеть. В качестве альтернативных моделей для ранжирования рассматривались Gradient Boosted Decision Tree модели и факторизационной машине. GBDT как альтернативный способ семплирования поисковых запросов для обучающей выборки. Факторизационная машина предсказывает вероятность бронирования результата выдачи по поисковому запросу.
Несмотря на то, что результат альтернативных моделей был сравним с нейросетью, сами рекомендации заметно различались. Это привело исследователей к идее объединить три модели в одну. В финальной модели основой является двухслойная нейросетей. Нейросеть принимает на вход выход из GDBT и факторизационной машины как дополнительные признаки, помимо сырых признаков. Из GDBT в качестве категориальных признаков для каждого дерева модели извлекается индекс активного листа.
Сырые признаки, поступающие в модель, включают в себя цену листинга (листинг — арендуемый продукт), список предоставляемых услуг листинга, историческое число бронирований. Рекомендуемые моделью листинги проходят обработку: отбираются листинги, которые похожи на ранее просмотренные пользователем, и модифицируется цена листингов с включенной функцией Smart Pricing. Модель для Smart Pricing адаптивно меняет цену листинга, подстраиваясь под внешние факторы. Всего в модель поступает 195 признаков.
Эффективность использования нейросетей в продукте
Разработчики провели онлайн и офлайн эксперименты по эффективности новой архитектуры. Ниже видно результаты обоих экспериментов. В качестве метрики используется NDCG, — нормализованная дисконтированная кумулятивная прибыль с рекомендаций моделей. Видно, что обновленная модель дает значительный прирост на тестовых данных и в реальных условиях.