Logo Zéphyrnet

Optimisez l'engagement client grâce à l'apprentissage par renforcement

Date :

Il s'agit d'un article invité co-écrit par Taylor Names, ingénieur en apprentissage machine, Dev Gupta, responsable de l'apprentissage machine, et Argie Angeleas, chef de produit senior chez Ibotta. Ibotta est une société technologique américaine qui permet aux utilisateurs de ses applications de bureau et mobiles de gagner de l'argent sur les achats en magasin, sur les applications mobiles et en ligne avec la soumission de reçus, les comptes de fidélité des détaillants liés, les paiements et la vérification des achats.

Ibotta s'efforce de recommander des promotions personnalisées pour mieux fidéliser et engager ses utilisateurs. Cependant, les promotions et les préférences des utilisateurs évoluent constamment. Cet environnement en constante évolution avec de nombreux nouveaux utilisateurs et de nouvelles promotions est un problème typique de démarrage à froid : il n'y a pas suffisamment d'interactions historiques entre les utilisateurs et les promotions pour en tirer des conclusions. L'apprentissage par renforcement (RL) est un domaine de l'apprentissage automatique (ML) qui s'intéresse à la manière dont les agents intelligents doivent agir dans un environnement afin de maximiser la notion de récompenses cumulatives. RL se concentre sur la recherche d'un équilibre entre l'exploration de territoires inexplorés et l'exploitation des connaissances actuelles. Le bandit multi-armé (MAB) est un problème classique d'apprentissage par renforcement qui illustre le compromis exploration/exploitation : maximiser la récompense à court terme (exploitation) tout en sacrifiant la récompense à court terme pour des connaissances qui peuvent augmenter les récompenses à long terme (exploration). ). Un algorithme MAB explore et exploite des recommandations optimales pour l'utilisateur.

Ibotta a collaboré avec le Laboratoire de solutions Amazon Machine Learning utiliser les algorithmes MAB pour augmenter l'engagement des utilisateurs lorsque les informations sur les utilisateurs et les promotions sont très dynamiques.

Nous avons sélectionné un algorithme MAB contextuel car il est efficace dans les cas d'utilisation suivants :

  • Faire des recommandations personnalisées en fonction de l'état des utilisateurs (contexte)
  • Gérer les aspects de démarrage à froid tels que les nouveaux bonus et les nouveaux clients
  • Accommoder les recommandations lorsque les préférences des utilisateurs changent avec le temps

Données

Pour augmenter les échanges de bonus, Ibotta souhaite envoyer des bonus personnalisés aux clients. Les bonus sont les incitations en espèces autofinancées d'Ibotta, qui servent d'actions du modèle contextuel de bandit multi-armé.

Le modèle bandit utilise deux ensembles de fonctionnalités :

  • Caractéristiques d'action – Ceux-ci décrivent les actions, telles que le type de bonus et le montant moyen du bonus
  • Fonctionnalités client – Celles-ci décrivent les préférences et les interactions historiques des clients, telles que les échanges, les clics et les vues des semaines précédentes

Les fonctionnalités contextuelles sont dérivées des parcours clients historiques, qui contenaient 26 mesures d'activité hebdomadaires générées à partir des interactions des utilisateurs avec l'application Ibotta.

Bandit multi-armé contextuel

Bandit est un cadre de prise de décision séquentielle dans lequel le décideur choisit séquentiellement une action, potentiellement basée sur les informations contextuelles actuelles, et observe un signal de récompense.

Nous avons mis en place le workflow bandit multi-armé contextuel sur Amazon Sage Maker en utilisant le intégré Vowpal Wabbit (VW) récipient. SageMaker aide les data scientists et les développeurs à préparer, construire, former et déployer rapidement des modèles ML de haute qualité en rassemblant un large éventail de fonctionnalités spécialement conçues pour le ML. La formation et les tests du modèle sont basés sur une expérimentation hors ligne. Le bandit apprend les préférences de l'utilisateur en fonction de ses commentaires sur les interactions passées plutôt que sur un environnement réel. L'algorithme peut passer en mode production, où SageMaker reste l'infrastructure de support.

Pour mettre en œuvre la stratégie d'exploration/exploitation, nous avons construit le système itératif de formation et de déploiement qui effectue les actions suivantes :

  • Recommande une action en utilisant le modèle de bandit contextuel basé sur le contexte de l'utilisateur
  • Capture les commentaires implicites au fil du temps
  • Entraîne en continu le modèle avec des données d'interaction incrémentielles

Le workflow de l'application cliente est le suivant :

  1. L'application cliente sélectionne un contexte, qui est envoyé au point de terminaison SageMaker pour récupérer une action.
  2. Le point de terminaison SageMaker renvoie une action, la probabilité de rachat de bonus associée et event_id.
  3. Étant donné que ce simulateur a été généré à l'aide d'interactions historiques, le modèle connaît la véritable classe pour ce contexte. Si l'agent sélectionne une action avec rachat, la récompense est de 1. Sinon, l'agent obtient une récompense de 0.

Dans le cas où des données historiques sont disponibles et sont au format <state, action, action probability, reward>, Ibotta peut démarrer à chaud un modèle en direct en apprenant la politique hors ligne. Sinon, Ibotta peut lancer une politique aléatoire pour le jour 1 et commencer à apprendre une politique de bandit à partir de là.

Voici l'extrait de code permettant d'entraîner le modèle :

hyperparameters = { "exploration_policy": "egreedy" , # supports "egreedy", "bag", "cover" "epsilon": 0.01 , # used if egreedy is the exploration policy "num_policies": 3 , # used if bag or cover is the exploration policy "num_arms": 9,
} job_name_prefix = "ibotta-testbed-bandits-1" vw_image_uri = "462105765813.dkr.ecr.us-east-1.amazonaws.com/sagemaker-rl-vw-container:vw-8.7.0-cpu" # Train the estimator rl_estimator = RLEstimator(entry_point='train-vw_new.py', source_dir="src", image_uri=vw_image_uri, role=role, output_path=s3_output_path, base_job_name=job_name_prefix, instance_type=instance_type, instance_count=1, hyperparameters=hyperparameters) rl_estimator.fit(“s3 bucket/ibotta.csv”, wait=True)

Performances du modèle

Nous avons divisé au hasard les interactions échangées en données d'entraînement (10,000 5,300 interactions) et en données d'évaluation (XNUMX XNUMX interactions non retenues).

Les métriques d'évaluation sont la récompense moyenne, où 1 indique que l'action recommandée a été utilisée et 0 indique que l'action recommandée n'a pas été utilisée.

Nous pouvons déterminer la récompense moyenne comme suit :

Récompense moyenne (taux d'échange) = (nombre d'actions recommandées avec échange)/(nombre total d'actions recommandées)

Le tableau suivant montre le résultat de récompense moyen :

Récompense moyenne Recommandation aléatoire uniforme Recommandation contextuelle basée sur le MAB
Train 11.44% 56.44%
Teste 10.69% 59.09%

La figure suivante trace l'évaluation des performances incrémentielles pendant la formation, où l'axe des x est le nombre d'enregistrements appris par le modèle et l'axe des y est la récompense moyenne incrémentielle. La ligne bleue indique le bandit multi-armé ; la ligne orange indique des recommandations aléatoires.

Le graphique montre que la récompense moyenne prédite augmente au fil des itérations et que la récompense d'action prédite est significativement supérieure à l'attribution aléatoire des actions.

Nous pouvons utiliser des modèles précédemment formés comme démarrages à chaud et recycler le modèle par lots avec de nouvelles données. Dans ce cas, les performances du modèle ont déjà convergé grâce à la formation initiale. Aucune amélioration supplémentaire significative des performances n'a été observée lors du recyclage de nouveaux lots, comme le montre la figure suivante.

Nous avons également comparé les politiques de bandit contextuel avec les politiques uniformément aléatoires et aléatoires postérieures (recommandation aléatoire utilisant la distribution historique des préférences des utilisateurs comme démarrage à chaud). Les résultats sont listés et tracés comme suit :

  • Bandit – 59.09% de récompense moyenne (entraînement 56.44%)
  • Uniforme aléatoire – 10.69% de récompense moyenne (entraînement 11.44%)
  • Probabilité postérieure aléatoire – 34.21% de récompense moyenne (entraînement 34.82%)

L'algorithme de bandit multi-armé contextuel a nettement surpassé les deux autres politiques.

Résumé

Amazon ML Solutions Lab a collaboré avec Ibotta pour développer une solution contextuelle de recommandation d'apprentissage par renforcement des bandits à l'aide d'un conteneur SageMaker RL.

Cette solution a démontré une augmentation constante du taux de rachat par rapport aux recommandations aléatoires (augmentation par cinq) et non contextuelles (augmentation par deux) basées sur un test hors ligne. Avec cette solution, Ibotta peut établir un moteur de recommandation dynamique centré sur l'utilisateur pour optimiser l'engagement client. Par rapport à la recommandation aléatoire, la solution a amélioré la précision de la recommandation (récompense moyenne) de 11 % à 59 %, selon le test hors ligne. Ibotta prévoit d'intégrer cette solution dans davantage de cas d'utilisation de personnalisation.

"Le laboratoire de solutions Amazon ML a travaillé en étroite collaboration avec l'équipe d'apprentissage automatique d'Ibotta pour créer un moteur de recommandation de bonus dynamique afin d'augmenter les échanges et d'optimiser l'engagement des clients. Nous avons créé un moteur de recommandation tirant parti de l'apprentissage par renforcement qui apprend et s'adapte à l'état en constante évolution du client et lance automatiquement de nouveaux bonus à froid. En l'espace de 2 mois, les scientifiques du ML Solutions Lab ont développé une solution contextuelle d'apprentissage par renforcement des bandits à plusieurs bras à l'aide d'un conteneur SageMaker RL. La solution RL contextuelle a montré une augmentation constante des taux de rachat, atteignant une augmentation de cinq fois le taux de rachat de bonus par rapport à la recommandation aléatoire, et une augmentation de deux fois par rapport à une solution RL non contextuelle. La précision des recommandations est passée de 11 % en utilisant la recommandation aléatoire à 59 % en utilisant la solution ML Solutions Lab. Compte tenu de l'efficacité et de la flexibilité de cette solution, nous prévoyons d'intégrer cette solution dans davantage de cas d'utilisation de personnalisation Ibotta afin de poursuivre notre mission de rendre chaque achat gratifiant pour nos utilisateurs. »

– Heather Shannon, vice-présidente principale de l'ingénierie et des données chez Ibotta.


À propos des auteurs

Noms Taylor est un ingénieur en apprentissage automatique chez Ibotta, spécialisé dans la personnalisation du contenu et la prévision de la demande en temps réel. Avant de rejoindre Ibotta, Taylor dirigeait des équipes d'apprentissage automatique dans les espaces de l'IoT et de l'énergie propre.

Dev Gupta est responsable de l'ingénierie chez Ibotta Inc, où il dirige l'équipe d'apprentissage automatique. L'équipe ML d'Ibotta est chargée de fournir des logiciels ML de haute qualité, tels que des recommandateurs, des prévisionnistes et des outils ML internes. Avant de rejoindre Ibotta, Dev a travaillé chez Predikto Inc, une startup d'apprentissage automatique, et chez Home Depot. Il est diplômé de l'Université de Floride.

Argie Angeleas est chef de produit senior chez Ibotta, où il dirige les équipes d'apprentissage automatique et d'extension de navigateur. Avant de rejoindre Ibotta, Argie a travaillé comme directeur de produit chez iReportsource. Argie a obtenu son doctorat en informatique et ingénierie à la Wright State University.

Fang Wang est chercheur principal au Laboratoire de solutions Amazon Machine Learning, où elle dirige la vente au détail verticale, travaillant avec des clients AWS dans divers secteurs pour résoudre leurs problèmes de ML. Avant de rejoindre AWS, Fang a travaillé en tant que directeur principal de la science des données chez Anthem, à la tête de la plateforme d'IA de traitement des réclamations médicales. Elle a obtenu sa maîtrise en statistiques à l'Université de Chicago.

Xin Chen est cadre supérieur au Laboratoire de solutions Amazon Machine Learning, où il dirige le centre des États-Unis, la région de la Grande Chine, LATAM et Automotive Vertical. Il aide les clients AWS de différents secteurs à identifier et à créer des solutions d'apprentissage automatique pour répondre aux opportunités d'apprentissage automatique avec le meilleur retour sur investissement de leur organisation. Xin a obtenu son doctorat en informatique et ingénierie à l'Université de Notre Dame.

Raj Biswas est Data Scientist au Laboratoire de solutions Amazon Machine Learning. Il aide les clients AWS à développer des solutions basées sur le ML dans divers secteurs verticaux de l'industrie pour leurs défis commerciaux les plus urgents. Avant de rejoindre AWS, il était étudiant diplômé à l'Université de Columbia en science des données.

Xinghua Liang est scientifique appliquée à la Laboratoire de solutions Amazon Machine Learning, où il travaille avec des clients de divers secteurs, dont la fabrication et l'automobile, et les aide à accélérer leur adoption de l'IA et du cloud. Xinghua a obtenu son doctorat en ingénierie de l'Université Carnegie Mellon.

Yi Liu est un scientifique appliqué avec Amazon Customer Service. Elle est passionnée par l'utilisation de la puissance de ML/AI pour optimiser l'expérience utilisateur des clients Amazon et aider les clients AWS à créer des solutions cloud évolutives. Son travail scientifique chez Amazon couvre l'engagement des membres, le système de recommandation en ligne et l'identification et la résolution des défauts de l'expérience client. En dehors du travail, Yi aime voyager et explorer la nature avec son chien.

spot_img

Dernières informations

spot_img

Discutez avec nous

Salut! Comment puis-je t'aider?