CriticNet: масштабирование бизнеса с помощью глубокого обучения

Вступление

Plum Guide - это не просто площадка для бронирования. Plum Guide - эталон лучших домов в мире. Наша миссия - стать новым мировым стандартом качества домов для отпуска. Всего 3% домов в каждом направлении получают Plum Award.

За последние 18 месяцев мы увеличили нашу деятельность в 10 раз, от первоначальных домов в 12 крупных городах до домов в более чем 100 городах.

История, которую я собираюсь вам рассказать, касается того, как модель глубокого обучения помогла масштабировать наши усилия по привлечению клиентов всего за 1 год, несмотря на меньшую команду по привлечению клиентов.

Curating Homes - Старый способ

Plum Guide был основан еще в 2015 году, и с тех пор мы постоянно добавляем лучшие дома для отдыха на нашу платформу для бронирования гостями. Прежде чем добавить дом на нашу платформу, дом должен пройти два типа тестов.

Во-первых, команда Acquisition оценивает каждый дом, просматривая все его фотографии. Команда по приобретению строгая, я имею в виду очень строгая :), что означает, что дом должен соответствовать множеству критериев.

Если команда видит потенциал, мы организуем посещение дома домашним критиком, чтобы убедиться, что дом соответствует стандартам Plum Guide. Звучит довольно сложно, да?

В Plum Guide мы собираем данные с различных платформ для краткосрочной аренды, чтобы найти скрытые жемчужины среди миллионов домов. Раньше команда Acquisition просматривала фотографии каждого дома вручную, чтобы решить, соответствует ли дом стандартам Plum Guide или нет.

В течение четырех лет это не было проблемой, потому что крупное расширение не было важной частью нашего бизнеса. Во время пандемии мы пересмотрели нашу стратегию и воспользовались возможностью, чтобы значительно увеличить объем наших закупок, исходя из предыдущих показателей, это привело бы к просмотру ~ 5,5 млн изображений для достижения желаемых целей. Это было бы, мягко говоря, непосильной задачей.

Глубокое обучение для победы

Модель, которую мы построили, ориентирована на первый этап тестирования - удаление домов, не соответствующих стандартам Plum, с целью уменьшения ручной нагрузки.

С точки зрения бизнеса, мы хотели ускорить процесс приобретения, и в то же время мы хотели сократить бизнес-расходы на поиск таких домов. Когда возникла задача, я подумал, что есть два решения этой проблемы: человек со сверхспособностями может оценивать дома (это никогда не приходило мне в голову) или машина может сделать эту работу за нас. Мы пошли по второму подходу :)

CriticNet

А теперь давайте поговорим о занудстве. Научить машину быть домашним критиком - очень сложная задача, как и для людей. Прежде чем углубляться в технические детали, я всегда хотел бы подумать о конечном продукте.

Мы хотим создать систему, которая получает на входе четыре внутренних изображения для каждого дома (гостиная, кухня, спальня и ванная комната) и «решает», соответствует ли дом стандартам Plum Guide или нет (см. Рисунок 3 ниже ). Как вы понимаете, задача машинного обучения, которую нам нужно решить, - это проблема бинарной классификации.

Набор данных

Набор данных составляется командой Acquisition, и это непрерывная работа в течение 5 лет. В наборе данных есть два класса: дом соответствует стандартам Plum Guide или нет. Распределение классов показано на графике ниже. Набор данных крайне несбалансирован, только ~ 6% данных относятся к классу 1 (Plum Homes), а остальные ~ 95% не соответствуют стандартам Plum, и это проблема для нашей задачи классификации.

Метод, который мы применили для решения проблемы несбалансированного набора данных, заключался в увеличении данных и недостаточной выборке большинства классов. При расширении данных мы создали новые изображения домов, принадлежащих к классу меньшинств, путем их преобразования / обработки. Мы просто переворачивали, увеличивали масштаб, вращали и меняли яркость изображений.

Увеличение количества данных помогло нам избежать переобучения и уменьшить предвзятость в отношении домов, которые имеют высокое качество их фотографий. Могут быть дома, фотографии которых невысокого качества, но все же соответствуют стандартам нашего дома.

Моделирование

После подготовки набора данных пора приступить к собственно моделированию. Прежде всего, нам нужно придумать архитектуру глубокого обучения, которая принимает 4 изображения в качестве входных данных и выводит классификацию дома с учетом этих изображений.

Есть много моделей, которые используются для компьютерного зрения. Как вы можете видеть на изображении ниже, EfficientNet-B7 - наиболее эффективная модель с точки зрения точности. Также он использует почти половину параметров в отличие от второй по эффективности модели AmoebaNet-C. Итак, в соответствии с этими критериями мы выбрали EfficientNetB7 в качестве нашей базовой модели.

Модель CriticNet с несколькими входами состоит из 4 ветвей (каждая сеть EfficientNet обрабатывает 1 образ) модели EfficientNet, и в конце мы объединили полностью связанные уровни каждой ветви. Затем мы применили логистическую регрессию, которая дает оценку от 0 до 1 и выражает вероятность того, что данный дом является сливовым или нет.

Общая архитектура показана на схеме ниже. Теперь, когда мы придумали модель, пора ее обучить.

Обучение модели

Основная проблема с моделями глубокого обучения заключается в том, что им требуется много данных (в идеале миллионы) и много вычислительных ресурсов. Однако, чтобы сэкономить деньги и время, мы применили трансферное обучение и настроили веса нашей сети, чтобы скорректировать веса в нашем наборе данных. Используемая нами модель EfficientNet была предварительно обучена на наборе данных ImageNet.

При трансферном обучении мы фиксируем веса верхних слоев предварительно обученной сети (сверточные слои) и обучаем с нуля только веса логистической регрессии в самом конце. Затем мы точно настраиваем веса сети, обучая всю сеть в течение нескольких эпох с низкой скоростью обучения.

Этапы доводки

Мы обучили модель в два этапа:

  1. Мы начинаем с обучения только последнего плотного слоя (логистическая регрессия) с более высокой скоростью обучения. Это гарантирует, что вновь добавленные случайные веса согласованы со сверточными весами ImageNet. Этот период приработки снижает риск жонглирования сверточными весами в начале тренировки и, как следствие, замедления тренировочного процесса.
  2. Затем мы тренируем все веса в CNN с низкой скоростью обучения, как показано на рисунке 7.

Оценка

Автономные показатели

Недостаточно взглянуть на потерю валидации для оценки в задаче классификации, мы должны оценить модель в большем количестве метрик, чтобы иметь более четкую картину. Модель получила оценку F1 78,43%, точность 66,67% и запоминаемость 95,24%. Давайте посмотрим, что означают эти результаты с точки зрения бизнеса.

Точность - это просто то, насколько точна модель, когда она предсказывает положительные метки. Итак, допустим, что модель предсказывает 100 сливовых домов, но только 66 домов действительно сливовые. Это дает нам оценку точности 66%.

Отзыв указывает на точность модели в действительно положительных метках. Представьте, что в нашем наборе данных есть 100 сливовых домов, и модель правильно предсказывает 95 домов и пропускает 5 домов, которые считаются домами низкого качества (ложноотрицательные). Это дает нам оценку запоминания 95%.

Низкий показатель точности объясняется, главным образом, тем, что команда по приобретению очень строгая, и даже хороший дом может не соответствовать стандартам Plum. В результате команде по-прежнему приходится проверять дома, которые классифицируются как сливовые, вручную, однако количество домов, которые необходимо классифицировать вручную, значительно меньше, в 60%.

Рисунок 8 ниже помогает понять, насколько сложной может быть задача. Для простоты мы представляем только изображения гостиной, но оценка рассчитывается на основе всех изображений основных комнат каждого дома. Дом 1 явно не соответствует стандартам Plum (чтобы знать об этом, не нужно быть домашним критиком), и модель дает правильный прогноз, давая 0,13, что является довольно низким показателем. Легкий!

Бывают случаи, когда различие не так очевидно, как в случае с Home 3. Несмотря на то, что он отмечен как низкокачественный, непонятно, почему этот дом не Сливовый. А это случается очень часто и поэтому точность невысока. Тем не менее, модель очень хорошо отзывается. Это означает, что мы не упускаем много качественных домов (всего ~ 5%).

Бизнес-показатели

С точки зрения бизнеса точность влияет на стоимость выставления оценок. Чем ниже точность, тем больше ложных срабатываний мы получаем, и тем больше домов команда будет оценивать вручную.

С другой стороны, вспомните, как помогли нам оценить, насколько хорошо модель предсказывает Plum Homes, что очень важно для бизнеса. Напоминание дает нам оценку того, сколько домов нам может не хватать во время классификации.

Помимо оценки в процессе обучения, наиболее важными метриками являются бизнес-метрики. Заинтересованные стороны не заботятся о точности и показателях F1, а о том, как модель помогает достичь бизнес-целей и как количественно оценить влияние модели с помощью бизнес-показателей.

С момента внедрения модели процесс приобретения ускорился на 30%, затраты на ручную сортировку сократились на 60%, а количество высококачественных домов за одну партию увеличилось на ~ 50% -70%.

Группа по закупке больше не проверяет дома, которые были классифицированы CriticNet как низкокачественные. Однако из-за низкой оценки точности CriticNet команде все еще приходится вручную проверять дома, которые классифицируются как Plum.

Заключение

В этой статье я кратко объяснил вам, как нам удалось оптимизировать наш процесс приобретения дома, построив глубокую нейронную сеть, дал вам представление об архитектуре модели, а также о том, как мы ее обучили и оценили.

Однако во время этого проекта мы столкнулись с множеством проблем, связанных с данными. Данные далеко не чистые. К сожалению, на каждый дом приходится не только 4 изображения, по одному на каждую комнату, но в среднем всего 40 изображений. Некоторые из них находятся за пределами помещений, и, что еще хуже, большинство из них не четко отображают пространство комнаты, поэтому не имеют никакой оценки.

В следующей статье я объясню, как нам удалось преодолеть эти проблемы и создать систему, которая получает необработанные изображения из домов, классифицирует их по комнатам и выбирает лучшие изображения для загрузки в CriticNet.

Если вам нравится наша работа и вы заинтересованы в решении сложных проблем, мы нанимаем инженеров, которые будут работать с командой специалистов по анализу данных над восстановлением возможностей поиска . Вы можете подать заявку здесь!