Платформа Plug-and-play для персонализации внутриигрового и внутриигрового опыта

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

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

Цели разработки: стратегическая оптимизация и автоматизация

С точки зрения бизнеса, основная цель компании — улучшить долгосрочную производительность приложения или игры. Эту производительность можно измерить с помощью различных показателей вовлеченности и денежных показателей, включая уровень принятия предложений, расходы пользователей в приложении и продолжительность игровых сессий. Большинство пользователей взаимодействуют с продуктом в течение относительно длительного периода времени, поэтому важно оптимизировать каждое действие (предложение, продвижение или уведомление) в стратегическом контенте, который включает как прошлые, так и предыдущие шаги, а не оптимизировать действия по отдельности. Мы можем связать каждое действие atat с частью ценности rtrt, измеренной в терминах взаимодействия или в денежном выражении, так что общая ценность, полученная от отдельного пользователя в течение длительного периода времени, будет суммой этих частей:

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

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

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

Решение: Платформа обучения с подкреплением

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

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

Однако преимущества обучения с подкреплением перевешивают проблемы, связанные с его внедрением, и многие авторитетные компании сообщили, что они используют алгоритмы обучения с подкреплением в производстве. Это включает в себя решение для оптимизации приложений лояльности, разработанное Starbucks [1], решение для стратегической оптимизации рекламы, созданное Adobe [2], и решение для оптимизации взаимодействия с пользователем, разработанное Facebook для своей платформы социальной сети [3].

В этом разделе мы обсудим дизайн платформы, недавно разработанной Grid Dynamics на основе платформы Facebook ReAgent, и несколько уроков, которые мы извлекли из ее практического внедрения.

Опыт оптимизации как марковский процесс принятия решений

Давайте начнем с краткого обзора того, как проблема оптимизации взаимодействия может быть представлена ​​в терминах обучения с подкреплением. Ранее мы заявляли, что агент персонализации взаимодействует с пользователем дискретными шагами, и на каждом шаге он выполняет определенное действие, получая обратное значение rtrt, которое характеризует вовлеченность или денежную выгоду, полученную от пользователя после выполнения действия. Мы называем значение rtrt вознаграждением, следуя терминологии обучения с подкреплением. Наконец, мы можем предположить, что на любом временном шаге состояние пользователя и контекста взаимодействия могут быть описаны вектором признаков, который мы обозначим как stst. Следовательно, весь путь пользователя может быть представлен как последовательность переходов (st,at,rt,st+1)(st,at,rt,st+1), которую мы называем траекторией. На рисунке ниже показан игрушечный пример траектории, предполагающей дискретный набор из пяти состояний:

На практике состояние представляет собой многомерный действительный вектор. Что еще более важно, мы должны разработать вектор состояния таким образом, чтобы stst включал всю важную информацию о пользователе и контексте до момента tt, чтобы распределение вероятностей вознаграждений и следующих состояний не зависело от предыдущих состояний и действий; это

p(rt,st|s0,a0,s1,a1,…)=p(rt,st|st−1,at)p(rt,st|s0,a0,s1,a1,…)=p(rt,st|st−1,at)

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

Выбор алгоритма

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

Одна из самых больших категорий алгоритмов обучения с подкреплением — это методы, основанные на ценностях. Общей чертой этих методов является то, что они явно оценивают ожидаемую доходность (сумму вознаграждений) траектории, а затем используют ее для построения политики действий. Все практически важные методы, основанные на значениях, используют марковское свойство среды, которое позволяет рекурсивно вычислять отдачу. Например, один конкретный способ оценки функции ценности траектории, начинающейся в состоянии stst, при условии, что мы предпринимаем действие atat, заключается в следующем:

Q(st,at)=E[T∑τ=trτ]≈rt+maxaQ(st+1,a)Q(st,at)=E[∑τ=tTrτ]≈rt+maxaQ(st+1,a )

Это приближение позволяет нам подогнать функцию ценности Q(a,s)Q(a,s), используя обычные методы обучения с учителем, основанные на множестве переходных выборок (st,at,rt,st+1)(st,at,rt,st +1) собранные из окружающей среды. Более того, допустимо собирать эти образцы партиями в соответствии с одной политикой действий, а затем обучать другую политику на основе этих входных данных. Это свойство оказывает большое влияние на архитектуру платформы, как мы обсудим в следующем разделе. Затем функция ценности используется для определения наилучшего возможного действия в текущем состоянии и построения политики действий, которая уравновешивает максимизацию ценности и случайное исследование среды.

Одним из наиболее распространенных, надежных и универсальных алгоритмов, реализующих описанный выше подход, является глубокая Q-сеть (DQN), которая использует глубокую нейронную сеть в качестве аппроксиматора функции ценности, а также повышает вычислительную стабильность и эффективность процесса обучения, используя несколько эвристические приемы. На практике мы обнаружили, что DQN и его варианты достаточно хорошо подходят для решения большинства задач персонализации. Один из недостатков DQN заключается в том, что пространство действий должно быть дискретным и относительно небольшим; это видно из приведенного выше рекурсивного уравнения, которое ищет действие, максимизирующее ценность, на каждом шаге, что требует перечисления всех элементов в пространстве действий. В приложениях для персонализации это допущение иногда может быть ограничивающим, поскольку количество доступных рекламных акций или комбинаций продвижения и размещения может быть относительно большим. Эту проблему можно решить, используя алгоритмы критических действий, которые поддерживают непрерывные пространства действий, и платформа, которую мы описываем ниже, поддерживает этот вариант.

Архитектура платформы

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

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

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

  • Начнем со сбора логов в соответствии с политикой выбора начальных действий, которая может быть случайной или на основе правил.
  • Зарегистрированные состояния, действия и вознаграждения используются для обучения произвольного алгоритма обучения с подкреплением вне политики: журнал воспроизводится событие за событием, имитируя фактическое взаимодействие с окружающей средой.
  • Зарегистрированные вероятности действий используются для контрфактической оценки политики, созданной с использованием процесса обучения.
  • Если результаты оценки соответствуют критериям качества и безопасности, новая версия политики развертывается в рабочей среде, и цикл обучения повторяется.

Изображенная выше конструкция реализована как универсальная платформа с использованием стандартных компонентов. Платформа поддерживает несколько алгоритмов обучения с подкреплением, которые интегрированы из библиотек с открытым исходным кодом без модификаций, и между алгоритмами легко переключаться. Платформа также поддерживает несколько методов контрфактической оценки политики (CPE) и предоставляет общие интерфейсы для анализа результатов оценки. Наконец, целевой сервер, изображенный на диаграмме, представляет собой универсальный контейнер развертывания для обученных политик, которые экспортируются с платформы в виде двоичных артефактов. Сервер обрабатывает запросы на персонализацию от транзакционных приложений, блокирует определенные решения политики на основе бизнес-правил и управляет логикой A/B-тестирования.
Описанное выше решение использует принципиально иной взгляд на модели персонализации по сравнению с традиционными методами. . Он использует обучение с подкреплением не только как алгоритм оценки функции ценности, но и как машину сквозной оптимизации, которая сочетает в себе возможности исследования, обучения и оценки. Такая универсальность является одним из основных преимуществ обучения с подкреплением по сравнению с традиционными методами науки о данных, такими как моделирование склонностей.

Дизайн состояний, действий и наград

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

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

Агент принимает решение о предложении последовательно, так что сначала пользователю предлагается вариант a1a1, а затем агент ждет, пока предложение не будет принято (событие ac1a1c) или истечет. Минимальное время между предложениями ограничено nrnr дней, и агент переходит в неактивный режим, если предложение принято раньше. Как только предложение принято или истекло, агент переходит в активный режим, генерирует следующее предложение a2a2, и цикл повторяется.

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

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

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

Дополнительное обучение

Подход на основе журналов помогает отделить процесс обучения агентов от производственных операций, но также создает определенные проблемы. Одной из потенциальных проблем с операционализацией платформы является дополнительное обучение. Все алгоритмы обучения с подкреплением по определению направлены на максимизацию отдачи от траектории и, следовательно, требуют правильного определения траекторий и отдачи. В случае с платформой персонализации пользователь может взаимодействовать с приложением неопределенно долгое время, и, таким образом, его траектория может расти бесконечно. Это потенциально может привести к неверному заданию траектории. Чтобы лучше понять проблему, давайте пройдем процесс обучения DQN для следующего примера траектории:

Сначала примем лог с первыми двумя переходами с этой траектории и вычислим целевые метки для обучения ДКН как
Q(s0,a0)=r0+γmaxaQ(s1,a)Q(s1,a1)=r1Q (s0,a0)=r0+γmaxaQ(s1,a)Q(s1,a1)=r1

Состояние s2s2 является конечным на этой траектории, поэтому рекурсию разложим только для первого перехода. Предполагая, что к моменту второго обучения траектория расширена еще двумя переходами, новые метки целей вычисляются следующим образом:
Q(s2,a2)=r2+maxaQ(s3,a)Q(s3, а3)=r3Q(s2,a2)=r2+maxaQ(s3,a)Q(s3,a3)=r3

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

Результаты

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

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

Наконец, платформа предоставляет расширенные возможности автоматизации, которые включают в себя оценку политик, основанную на вымышленных фактах, A/B-тестирование и множество готовых алгоритмов обучения с подкреплением. Это помогает сосредоточиться на бизнес-задачах, таких как вознаграждение и дизайн действий, а не на базовом моделировании и задачах MLOps.

Между тем, если вы заинтересованы в этом решении или нас как компании, не стесняйтесь обратитесь!

использованная литература

  1. Дженнифер Соколовски, «Starbucks обращается к технологиям, чтобы установить более личную связь со своими клиентами», 2019 г.
  2. Георгиос Теохарус, Филип Томас и Мохаммад Гавамзаде, «Системы рекомендаций по персонализированной рекламе для оптимизации ценности в течение всего срока службы с гарантиями», 2015 г.
  3. Джейсон Гаучи и др., «Горизонт: платформа Facebook для прикладного обучения с открытым исходным кодом», 2019 г.