Zephyrnet-Logo

Optimieren Sie die Kundenbindung mit Reinforcement Learning

Datum:

Dies ist ein Gastbeitrag, der von Taylor Names, Staff Machine Learning Engineer, Dev Gupta, Machine Learning Manager, und Argie Angeles, Senior Product Manager bei Ibotta, gemeinsam verfasst wurde. Ibotta ist ein amerikanisches Technologieunternehmen, das es Benutzern mit seinen Desktop- und mobilen Apps ermöglicht, Cashback für Einkäufe im Geschäft, mobile Apps und Online-Käufe zu verdienen, mit Quittungsübermittlung, verknüpften Händler-Treuekonten, Zahlungen und Kaufbestätigung.

Ibotta ist bestrebt, personalisierte Werbeaktionen zu empfehlen, um seine Benutzer besser zu halten und einzubinden. Werbeaktionen und Benutzerpräferenzen entwickeln sich jedoch ständig weiter. Dieses sich ständig ändernde Umfeld mit vielen neuen Benutzern und neuen Werbeaktionen ist ein typisches Kaltstartproblem – es gibt keine ausreichenden historischen Benutzer- und Werbeinteraktionen, um daraus Rückschlüsse ziehen zu können. Reinforcement Learning (RL) ist ein Bereich des maschinellen Lernens (ML), der sich damit befasst, wie intelligente Agenten in einer Umgebung handeln sollten, um die Vorstellung von kumulativen Belohnungen zu maximieren. RL konzentriert sich darauf, ein Gleichgewicht zwischen der Erkundung von Neuland und der Nutzung des aktuellen Wissens zu finden. Multi-Armed Bandit (MAB) ist ein klassisches Reinforcement-Learning-Problem, das den Kompromiss zwischen Exploration und Exploitation veranschaulicht: kurzfristige Maximierung der Belohnung (Exploitation), während die kurzfristige Belohnung für Wissen geopfert wird, das die Belohnungen langfristig erhöhen kann (Exploration ). Ein MAB-Algorithmus erforscht und nutzt optimale Empfehlungen für den Benutzer.

Ibotta arbeitete mit der Amazon Machine Learning Solutions Lab MAB-Algorithmen zu verwenden, um die Benutzerbindung zu erhöhen, wenn die Benutzer- und Werbeinformationen hochdynamisch sind.

Wir haben einen kontextbezogenen MAB-Algorithmus ausgewählt, da er in den folgenden Anwendungsfällen effektiv ist:

  • Personalisierte Empfehlungen gemäß dem Status des Benutzers (Kontext)
  • Umgang mit Kaltstartaspekten wie Neuprämien und Neukunden
  • Anpassung an Empfehlungen, wenn sich die Präferenzen der Benutzer im Laufe der Zeit ändern

Datum

Um die Einlösung von Boni zu erhöhen, möchte Ibotta personalisierte Boni an Kunden senden. Boni sind Ibottas eigenfinanzierte Baranreize, die als Aktionen des kontextbezogenen mehrarmigen Banditenmodells dienen.

Das Bandit-Modell verwendet zwei Funktionsgruppen:

  • Aktionsfunktionen – Diese beschreiben die Aktionen, wie Bonusart und durchschnittliche Höhe des Bonus
  • Kundenfunktionen – Diese beschreiben die bisherigen Präferenzen und Interaktionen der Kunden, wie z. B. die Einlösungen, Klicks und Aufrufe der letzten Wochen

Die Kontextfunktionen werden aus historischen Kundenreisen abgeleitet, die 26 wöchentliche Aktivitätsmetriken enthielten, die aus den Interaktionen der Benutzer mit der Ibotta-App generiert wurden.

Kontextueller mehrarmiger Bandit

Bandit ist ein Framework für sequentielle Entscheidungsfindung, bei dem der Entscheidungsträger sequentiell eine Aktion auswählt, möglicherweise basierend auf den aktuellen Kontextinformationen, und ein Belohnungssignal beobachtet.

Wir richten den kontextbezogenen mehrarmigen Banditen-Workflow ein Amazon Sage Maker mit dem eingebauten Vowpal Wabbit (VW) Container. SageMaker hilft Datenwissenschaftlern und Entwicklern, qualitativ hochwertige ML-Modelle schnell vorzubereiten, zu erstellen, zu trainieren und bereitzustellen, indem es eine breite Palette von Funktionen zusammenführt, die speziell für ML entwickelt wurden. Das Modelltraining und -testen basiert auf Offline-Experimenten. Der Bandit lernt Benutzerpräferenzen auf der Grundlage ihres Feedbacks aus früheren Interaktionen und nicht aus einer Live-Umgebung. Der Algorithmus kann in den Produktionsmodus wechseln, wobei SageMaker als unterstützende Infrastruktur verbleibt.

Um die Explorations-/Ausbeutungsstrategie umzusetzen, haben wir das iterative Trainings- und Bereitstellungssystem entwickelt, das die folgenden Aktionen ausführt:

  • Empfiehlt eine Aktion unter Verwendung des kontextabhängigen Banditenmodells basierend auf dem Benutzerkontext
  • Erfasst das implizite Feedback über die Zeit
  • Trainiert das Modell kontinuierlich mit inkrementellen Interaktionsdaten

Der Workflow der Client-Anwendung ist wie folgt:

  1. Die Clientanwendung wählt einen Kontext aus, der an den SageMaker-Endpunkt gesendet wird, um eine Aktion abzurufen.
  2. Der SageMaker-Endpunkt gibt eine Aktion, die zugehörige Prämieneinlösungswahrscheinlichkeit und zurück event_id.
  3. Da dieser Simulator unter Verwendung historischer Interaktionen generiert wurde, kennt das Modell die wahre Klasse für diesen Kontext. Wenn der Agent eine Aktion mit Einlösung auswählt, beträgt die Belohnung 1. Andernfalls erhält der Agent eine Belohnung von 0.

Falls historische Daten verfügbar sind und das Format haben <state, action, action probability, reward>, kann Ibotta ein Live-Modell warmstarten, indem es die Richtlinie offline lernt. Andernfalls kann Ibotta eine zufällige Richtlinie für Tag 1 initiieren und von dort aus beginnen, eine Banditenrichtlinie zu lernen.

Das Folgende ist das Code-Snippet zum Trainieren des Modells:

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)

Modellleistung

Wir teilen die eingelösten Interaktionen nach dem Zufallsprinzip in Trainingsdaten (10,000 Interaktionen) und Bewertungsdaten (5,300 Holdout-Interaktionen) auf.

Bewertungsmetriken sind die durchschnittliche Belohnung, wobei 1 angibt, dass die empfohlene Aktion eingelöst wurde, und 0 angibt, dass die empfohlene Aktion nicht eingelöst wurde.

Wir können die mittlere Belohnung wie folgt bestimmen:

Mittlere Belohnung (Einlöserate) = (Anzahl empfohlener Aktionen mit Einlösung)/(Gesamtzahl an empfohlenen Aktionen)

Die folgende Tabelle zeigt das durchschnittliche Belohnungsergebnis:

Mittlere Belohnung Einheitliche zufällige Empfehlung Kontextbezogene MAB-basierte Empfehlung
Training 11.44% 56.44%
Test 10.69% 59.09%

Die folgende Abbildung stellt die inkrementelle Leistungsbewertung während des Trainings dar, wobei die x-Achse die Anzahl der vom Modell gelernten Datensätze und die y-Achse die inkrementelle mittlere Belohnung darstellt. Die blaue Linie zeigt den mehrarmigen Banditen an; Die orangefarbene Linie zeigt zufällige Empfehlungen an.

Das Diagramm zeigt, dass die vorhergesagte mittlere Belohnung über die Iterationen zunimmt und die vorhergesagte Aktionsbelohnung deutlich größer ist als die zufällige Zuweisung von Aktionen.

Wir können zuvor trainierte Modelle als Warmstarts verwenden und das Modell im Batch mit neuen Daten neu trainieren. In diesem Fall konvergierte die Modellleistung bereits durch das anfängliche Training. Beim neuen Batch-Retraining wurde keine signifikante zusätzliche Leistungsverbesserung beobachtet, wie in der folgenden Abbildung dargestellt.

Wir haben auch kontextabhängige Banditen mit einheitlich zufälligen und nachträglich zufälligen Richtlinien (zufällige Empfehlung unter Verwendung der historischen Verteilung der Benutzerpräferenzen als Warmstart) verglichen. Die Ergebnisse werden wie folgt aufgelistet und dargestellt:

  • Räuber – 59.09 % mittlere Belohnung (Training 56.44 %)
  • Einheitlicher Zufall – 10.69 % mittlere Belohnung (Training 11.44 %)
  • Posterior-Wahrscheinlichkeit zufällig – 34.21 % mittlere Belohnung (Training 34.82 %)

Der kontextabhängige Multi-Armed-Bandit-Algorithmus übertraf die beiden anderen Richtlinien deutlich.

Zusammenfassung

Das Amazon ML Solutions Lab hat mit Ibotta zusammengearbeitet, um unter Verwendung eines SageMaker RL-Containers eine kontextbezogene Bandit-Reinforcement-Learning-Empfehlungslösung zu entwickeln.

Diese Lösung zeigte eine stetige Erhöhung der Einlösungsrate gegenüber zufälligen (fünffache Erhöhung) und nicht kontextbezogenen RL-Empfehlungen (zweifache Erhöhung), basierend auf einem Offline-Test. Mit dieser Lösung kann Ibotta eine dynamische benutzerorientierte Empfehlungsmaschine einrichten, um die Kundenbindung zu optimieren. Im Vergleich zur zufälligen Empfehlung verbesserte die Lösung laut Offline-Test die Empfehlungsgenauigkeit (mittlere Belohnung) von 11 % auf 59 %. Ibotta plant, diese Lösung in weitere Personalisierungsanwendungsfälle zu integrieren.

"Das Amazon ML Solutions Lab arbeitete eng mit dem Machine Learning-Team von Ibotta zusammen, um eine dynamische Bonusempfehlungsmaschine zu entwickeln, um die Einlösung zu steigern und die Kundenbindung zu optimieren. Wir haben eine Empfehlungsmaschine entwickelt, die Reinforcement Learning nutzt, die lernt und sich an den sich ständig ändernden Kundenzustand anpasst und neue Boni automatisch kaltstartet. Innerhalb von 2 Monaten entwickelten die Wissenschaftler des ML Solutions Lab mithilfe eines SageMaker RL-Containers eine kontextbezogene mehrarmige Bandit-Reinforcement-Learning-Lösung. Die kontextbezogene RL-Lösung zeigte einen stetigen Anstieg der Einlösungsraten und erreichte eine fünffache Steigerung der Bonus-Einlösungsrate gegenüber zufälligen Empfehlungen und eine zweifache Steigerung gegenüber einer nicht kontextbezogenen RL-Lösung. Die Empfehlungsgenauigkeit verbesserte sich von 11 % mit zufälliger Empfehlung auf 59 % mit der ML Solutions Lab-Lösung. Angesichts der Effektivität und Flexibilität dieser Lösung planen wir, diese Lösung in weitere Ibotta-Anwendungsfälle für die Personalisierung zu integrieren, um unsere Mission voranzubringen, jeden Kauf für unsere Benutzer lohnend zu machen."

– Heather Shannon, Senior Vice President of Engineering & Data bei Ibotta.


Über die Autoren

Taylor-Namen ist ein festangestellter Ingenieur für maschinelles Lernen bei Ibotta und konzentriert sich auf die Personalisierung von Inhalten und Bedarfsprognosen in Echtzeit. Bevor er zu Ibotta kam, leitete Taylor Teams für maschinelles Lernen in den Bereichen IoT und saubere Energie.

Entwickler Gupta ist Engineering Manager bei Ibotta Inc, wo er das Team für maschinelles Lernen leitet. Das ML-Team bei Ibotta hat die Aufgabe, qualitativ hochwertige ML-Software wie Recommender, Prognostiker und interne ML-Tools bereitzustellen. Bevor er zu Ibotta kam, arbeitete Dev bei Predikto Inc, einem Startup für maschinelles Lernen, und The Home Depot. Er absolvierte die University of Florida.

Argie Angeles ist Senior Product Manager bei Ibotta, wo er die Teams für maschinelles Lernen und Browsererweiterungen leitet. Bevor sie zu Ibotta kam, arbeitete Argie als Director of Product bei iReportsource. Argie promovierte in Informatik und Ingenieurwesen an der Wright State University.

Fang Wang ist Senior Research Scientist am Amazon Machine Learning Solutions Lab, wo sie den Retail Vertical leitet und mit AWS-Kunden aus verschiedenen Branchen zusammenarbeitet, um ihre ML-Probleme zu lösen. Bevor er zu AWS kam, arbeitete Fang als Sr. Director of Data Science bei Anthem und leitete die KI-Plattform zur Bearbeitung medizinischer Ansprüche. Sie erwarb ihren Master in Statistik an der University of Chicago.

Xin Chen ist leitender Angestellter bei der Amazon Machine Learning Solutions Lab, wo er die Central US, Greater China Region, LATAM und Automotive Vertical leitet. Er hilft AWS-Kunden aus verschiedenen Branchen dabei, Lösungen für maschinelles Lernen zu identifizieren und zu entwickeln, um die Möglichkeiten für maschinelles Lernen mit dem höchsten Return-on-Investment für ihr Unternehmen zu nutzen. Xin promovierte in Computer Science and Engineering an der University of Notre Dame.

Raj Biswas ist ein Data Scientist an der Amazon Machine Learning Solutions Lab. Er hilft AWS-Kunden bei der Entwicklung von ML-gestützten Lösungen in verschiedenen Branchen für ihre dringendsten geschäftlichen Herausforderungen. Bevor er zu AWS kam, war er Doktorand an der Columbia University in Data Science.

Xinghua Liang ist Angewandte Wissenschaftlerin an der Amazon Machine Learning Solutions Lab, wo er mit Kunden aus verschiedenen Branchen zusammenarbeitet, darunter Fertigung und Automobil, und ihnen hilft, ihre KI- und Cloud-Einführung zu beschleunigen. Xinghua promovierte in Ingenieurwissenschaften an der Carnegie Mellon University.

Yi Liu ist angewandter Wissenschaftler beim Amazon Kundenservice. Sie setzt sich leidenschaftlich dafür ein, die Leistungsfähigkeit von ML/KI zu nutzen, um die Benutzererfahrung für Amazon-Kunden zu optimieren und AWS-Kunden beim Aufbau skalierbarer Cloud-Lösungen zu helfen. Ihre wissenschaftliche Arbeit bei Amazon umfasst Mitgliedschaftsengagement, Online-Empfehlungssystem und Identifizierung und Behebung von Kundenerfahrungsfehlern. Außerhalb der Arbeit reist Yi gerne und erkundet mit ihrem Hund die Natur.

spot_img

Neueste Intelligenz

spot_img

Chat mit uns

Hallo! Wie kann ich dir helfen?