Обучаемый симулятор для интерактивных систем

Онлайн-эксперименты – рискованное занятие: когда изменения, которые мы тестируем, плохие, бизнес теряет пользователей и деньги. В научной статье под названием "Accordion: A Trainable Simulator for Long-Term Interactive Systems" авторы предлагают обучить симулятор, который можно запускать офлайн и тестировать гипотезы безопасно для бизнеса. В экспериментах авторы используют симулятор для двух задач: настройки гиперпараметров рекомендательной системы и предсказания результатов A/B теста. Выводы, полученные на этом симуляторе, точнее, чем выводы, полученные на других. Что же, давайте сделаем краткий обзор этой работы.

Детали

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

Ключевой элемент статьи -- модель времени визита. Именно из-за нее предложенный симулятор точнее остальных. Время визита моделируется как сумма нескольких негомогенных пуассоновских процессов: таких, в которых частота возникновения события меняется со временем. Частоты каждого из этих пуассоновских процессов вычисляются feed-forward сетями, у которых на входе время и признаки, зависящие от предыдущей истории пользователя. Для этой модели получилось выписать функцию правдоподобия и оптимизировать её приближенно. Авторы предложили эффективный алгоритм сэмплирования из симулятора, основанный на технике rejection sampling.

Как мы уже говорили, в экспериментах авторы используют симулятор для двух задач: настройки гиперпараметров рекомендательной системы и предсказания результатов A/B теста. В первой задаче симулятор оказался более чувствительным к гиперпараметрам рекомендера, чем симулятор, который не учитывает время визита пользователя. Во второй задаче симулятор предсказал результат теста более точно, чем техника Norm-IPS.

Какие остались вопросы

Я не совсем понял из статьи, как соотносится выученная модель, имитирующая рекомендер, и рекомендеры, используемые в экспериментах. Либо это компоненты, которые существуют независимо, либо в экспериментах первое заменяется на второе.

Что можно использовать

Модель предсказания времени визита выглядит многообещающе -- она может быть полезна, например, в задаче предсказания оттока.

Больше материалов смотрите в моем блоге на Хабре: https://habr.com/ru/users/netcitizen/.