Koehn AI Firmenlogo

Rekurrente Neuronale Netzwerke für personalisierte Customer-Journeys

15. Juni 2022
  1. Machinelles Lernen im Marketing und Customer-Service
  2. Wie RNNs funktionieren
  3. RNNs im Einzelhandel

Maschinelles Lernen für datengestütztes Kundenbeziehungsmanagement wird ein immer wichtigeres Thema im Marketing und in der Servicequalität. Für große Unternehmen mit einem umfangreichen Produktsortiment und Millionen von Kunden besteht eine klare Herausforderung darin, einen personalisierten Service zu bieten. Als Antwort auf diese Herausforderung wenden sich Einzelhändler maschinenlerngestützten Tools zu, die Transaktionen, Kundenhistorien und andere Daten durchforsten, um aus früheren Trends bessere Vorhersagen über das künftige Kundenverhalten zu treffen. Für Einzelhändler, die in der Lage sind, die riesigen Datenmengen, die ihnen zur Verfügung stehen, effektiv zu nutzen, sind die potenziellen Vorteile enorm. Die Anwendungen reichen von verbesserten Kundenempfehlungen und gezielter Werbung bis hin zur Betrugserkennung, Echtzeitgeboten für Online-Anzeigenbestände, optimierten Zeitpunkten für den Versand von Newslettern und genaueren Vorhersagen der Produktnachfrage. Andererseits können Kunden ohne gezielte Unterstützung Produkte, die sie interessieren, übersehen, durch häufige irrelevante Werbung abgeschreckt werden oder es leichter finden, anderswo nach Produkten zu suchen. In diesem Artikel möchten wir Ihnen eine spezielle Art von neuronalen Netzen vorstellen, die als rekurrente neuronale Netze bekannt sind und für Ihr Unternehmen von besonderem Interesse sein könnten. Wir können ähnliche Tools für Sie implementieren. Sprechen Sie uns einfach an.

Maschinelles Lernen im Marketing und Customer-Service

Viele Einzelhändler stehen vor der Frage, wie sie die Daten, die ihnen zur Verfügung stehen, am besten nutzen können. Herkömmliche Ansätze des maschinellen Lernens beruhen auf Eingaben, die ein festes Format haben, so dass eine feste neuronale Architektur die bekannte und konstante Größe der Eingabedaten ausnutzen kann. Das klassische Beispiel ist die Bilderkennung, bei der die Eingabe immer als ein nxn-Gitter aus farbigen Pixeln dargestellt wird, während die Ausgabe einer endlichen Liste von Zielbeschriftungen (d. h. Zahlen, Buchstaben oder Tiernamen) entspricht. Im Gegensatz dazu sind kommerzielle Daten in der Regel als Zeitreihen strukturiert, wobei verschiedene Kunden sehr unterschiedliche Kaufhistorien haben. Der herkömmliche Ansatz für den Umgang mit unterschiedlichen Verbraucherverhaltensweisen und Kaufkanälen bestand darin, dass man sich auf das Feature-Engineering stützte, bei dem versucht wurde, große und amorphe Eingabedatensätze in eine kleine Anzahl von Schlüsselparametern umzuwandeln, die dann in eine feste neuronale Architektur eingespeist werden können. Beispielsweise kann die komplizierte Kaufhistorie eines beliebigen Kunden in Form von so genannten "RFM"-Daten neu parametrisiert werden, die die "Häufigkeit", die "Häufigkeit" und die "monetären" Werte einer vollständigen Kaufhistorie beschreiben. Der Vorteil des Feature Engineering liegt in seiner Einfachheit und darin, dass es sich auf natürliche Weise aus der klassischen Analyse großer kommerzieller Datensätze entwickelt (RFM-Daten werden beispielsweise seit vielen Jahren zur Berechnung des CLV oder des "Customer Lifetime Value" von Kunden verwendet). Der Nachteil ist jedoch, dass die Bestimmung, welcher endliche Satz von Merkmalen das Wesen der Verbrauchergeschichten am besten erfasst, eine zeitaufwändige und knifflige Kunst ist, die im Kern das Wegwerfen von Eingabedaten beinhaltet. Wird diese Reduzierung nicht mit Bedacht vorgenommen, besteht die Gefahr, dass falsche oder unvollständige Schlussfolgerungen gezogen werden. Besser wäre es, den gesamten Datensatz in seiner ganzen Fülle zur Verfügung zu haben. Ist das nicht der versprochene Vorteil des maschinellen Lernens gegenüber traditionellen Ansätzen?

Da Verbrauchergeschichten von Natur aus sequentiell und von unterschiedlicher Länge sind, ist ein natürlicher Ansatz, der anstelle von Feature-Engineering in Betracht gezogen werden kann, der von rekurrenten neuronalen Netzen (RNNs). RNNs sind künstliche neuronale Netze, die speziell für den Umgang mit sequenziellen Daten unterschiedlicher Länge konzipiert sind. RNNs verwenden eine feste neuronale Architektur, die jedoch eingesetzt wird, um jedes Element einer Datenfolge nacheinander zu analysieren. Bei jedem Schritt wird die Ausgabe des vorangegangenen Schritts zusammen mit der Eingabe einbezogen, um "kontextbezogene" Informationen für die Berechnung bereitzustellen. Für Ingenieure ist der Unterschied zwischen RNNs und traditionelleren neuronalen Feed-Forward-Netzen vergleichbar mit dem Unterschied zwischen offenem und geschlossenem Regelkreis. Das folgende Schema ist hilfreich für das Verständnis der Idee: RNN

Die Art von Eingabesequenzen, an die Sie denken sollten, sind Dinge wie englische Sätze oder Lieder, bei denen jedes Element der Sequenzen durch ein Wort oder eine Note gegeben ist. Eine nützliche Art und Weise, ein RNN zu verstehen, besteht darin, sich vorzustellen, dass es "aufgerollt" ist und auf jedes Element einer Datensequenz schrittweise einwirkt. Bei jedem Schritt in einer Eingabesequenz nimmt das Netz zwei Eingaben auf: (i) eine externe Eingabe (z. B. ein Wort, ein Foto, ein Musikstück) und (ii) die Ausgabe "Speicher" aus dem vorangegangenen Schritt. Im Gegenzug produziert das Netzwerk zu jedem Zeitpunkt zwei Ausgabeteile: (i) eine verwertbare Ausgabe (vielleicht ein Bild oder ein Wort) und (ii) einen Ausgabe-"Speicher", der in die nächste Iteration des Netzwerks einfließt. Die Besonderheiten der Eingabe und Ausgabe sowie die interne Topologie des Netzes hängen von der jeweiligen Aufgabe ab. Wir werden in Kürze etwas mehr dazu sagen. Der wichtigste Punkt ist, dass bei jedem Schritt in der Sequenz dasselbe Netz verwendet wird und Sequenzen beliebiger Länge berücksichtigt werden können, was es RNNs ermöglicht, beliebig lange Eingaben zu verarbeiten und auch beliebig lange Ausgaben zu erzeugen.

Der Grundgedanke von RNNs, die Ausgabe in die Eingabe zurückzuführen, mag zwar einfach klingen, ist aber in der Praxis äußerst leistungsfähig und hat zu bemerkenswerten Ergebnissen bei der Verarbeitung natürlicher Sprache, der Sprachübersetzung und in einer Reihe anderer Bereiche geführt. Ein klassisches Beispiel ist eine Zeitreihe, bei der der zeitliche Kontext zu jedem Zeitpunkt berücksichtigt werden muss. Nehmen wir zum Beispiel das Problem der Bestimmung der zukünftigen oder vergangenen Flugbahn eines geworfenen Balls aus einer Folge von Fotos. Aus einem einzigen Foto wäre es sehr schwierig (und vielleicht sogar unmöglich) zu bestimmen, in welche Richtung der Ball ursprünglich geworfen wurde oder wohin er sich bewegt. Mit zwei oder mehr Fotos und dem Wissen, in welcher Reihenfolge sie entstanden sind, sollte es dagegen möglich sein, Informationen über die Flugbahn des Balls im Laufe der Zeit zusammenzusetzen. Oder anders ausgedrückt: Der Kontext ermöglicht es, nicht nur die Position des Balls zu einem bestimmten Zeitpunkt zu kennen, sondern auch seine Ableitungen.

Wie RNNs funktionieren

Bevor wir mögliche Geschäftsanwendungen erörtern, wollen wir den Vorhang ein wenig zurückziehen, um zu sehen, wie RNNs funktionieren. Um die neuronale Architektur hinter RNNs richtig zu motivieren, ist es hilfreich, zunächst zu erwähnen, wie RNNs trainiert werden. Wie bei jedem neuronalen Netz erfolgt das Training durch die Aktualisierung der internen Gewichte des Netzes, um den Fehler einer vorhergesagten Ausgabe im Vergleich zu der für eine bestimmte Eingabe erwarteten zu minimieren. Für diejenigen, die mit neuronalen Netzen nicht vertraut sind, kann man sich ein solches Netz als eine "Black Box" vorstellen, die eine Eingabe entgegennimmt und daraus eine Ausgabe erzeugt. Die "Gewichte" bestimmen genau, welche Funktion das Netz ausführt, und so passt das "Training" eines Netzes die Leistung der Blackbox an. RNN Black Box

Für ein standardmäßiges neuronales Feed-Forward-Netz umfasst dieser Trainingsprozess drei wichtige Schritte:

  • Geben Sie eine Eingabe in das Netz ein, um eine vorhergesagte Ausgabe zu berechnen.
  • Berechnen Sie den "Fehler" oder die Differenz zur erwarteten Ausgabe sowie die Ableitungen des Fehlers in Bezug auf die Netzgewichte.
  • Verwenden Sie die Ableitungen des Fehlers, um die internen Gewichte des Netzes anzupassen, um den Fehler zu minimieren.

Dieser als Backpropagation bezeichnete Trainingsprozess wird viele Male und vorzugsweise mit einer großen Menge an Trainingsdaten wiederholt, mit dem Ziel, einen Satz von Gewichten zu entwickeln, der für jeden gegebenen Satz von Eingabedaten hochpräzise Ausgabevorhersagen liefert. Bei RNNs ist der analoge Prozess als Backpropagation durch die Zeit (BPTT) bekannt, aber konzeptionell ist er der regulären Backpropagation sehr ähnlich und kann durch die Analyse des "abgerollten" neuronalen Netzes verstanden werden, das auf eine Sequenz von Eingabedaten angewendet wird (wie in der allerersten Abbildung oben). Jeder Schritt des entrollten Netzwerks kann als "verborgene Schicht" eines regulären tiefen neuronalen Feed-Forward-Netzwerks betrachtet werden, die aus einer identischen Kopie des Netzwerks besteht. Auf diese Weise können genau dieselben Trainingstechniken (die sich im Kern auf die wiederholte Anwendung der Kettenregel für Ableitungen beschränken), die in Feed-Forward-Netzen verwendet werden, auch auf RNNs angewendet werden. Kurz gesagt: Bei jedem Schritt werden die Fehler berechnet und die Gewichte entsprechend aktualisiert.

Aus der obigen kurzen Beschreibung können Leser, die mit dem Training tiefer neuronaler Netze vertraut sind, einige der Probleme erahnen, die beim Training von RNNs auftreten. Tiefe neuronale Netze leiden oft unter "Gradienten"-Problemen, bei denen der Trainingsalgorithmus beim Training der letzten Schichten eines tiefen neuronalen Netzes effizienter ist und zunehmend weniger effektiv wird, je tiefer das Netz ist. Intuitiv hat dieser Effekt mit der Abhängigkeit zu tun, die jede Schicht eines Netzes von den Eingaben der vorangehenden Schichten hat, so dass sich die Effekte beim Durchlaufen der Schichten verstärken. Dies kann zu Ableitungen in der Backpropagation-Berechnung führen, die entweder verschwinden oder explodieren, was zu einem langsamen und verrauschten Lernen führt. Da RNNs für die Verarbeitung von Sequenzen beliebiger Länge konzipiert sind, können sie, wenn sie (wie in der ersten Abbildung oben) entschlüsselt werden, als tiefe neuronale Netze beliebiger Tiefe betrachtet werden. Das übliche Ergebnis ist ein "Gedächtnisverlust" beim Training. Das heißt, wenn der Trainingsalgorithmus die Gewichte eines Netzes anpasst, während er eine Sequenz von Trainingsdaten bearbeitet, leistet er gegen Ende der Sequenz eine viel bessere Arbeit. RNNs neigen daher dazu, dem Ende einer Sequenz von Eingabedaten eine viel größere Bedeutung beizumessen.

Der Grund dafür, dass Vanilla RNNs Gradientenprobleme haben, liegt im Wesentlichen darin, dass die Ausgabe von jedem Schritt im abgerollten Netz nur beim nächsten Schritt in der Sequenz gemeinsam genutzt wird, so dass es keine direkte Verbindung zwischen dem Anfang und dem Ende der Sequenz gibt. Eine offensichtliche Lösung wäre, die Eingabe von jedem Schritt in der Berechnung direkt in jeden nachfolgenden Schritt einzuspeisen, was jedoch die Anzahl der Verbindungen und die Komplexität des Algorithmus drastisch erhöhen würde. Ein weniger invasiver Ansatz besteht darin, explizit einen einzigen Zustand des Langzeitgedächtnisses zu schaffen, der durch das Netzwerk propagiert und bei jedem Schritt der Sequenz zusammen mit dem üblichen Kurzzeitgedächtnis gemeinsam genutzt wird. Dies ist der Ansatz von Netzwerken mit "langem Kurzzeitgedächtnis" oder LSTMs, die mit großem Erfolg zur Umgehung der Gradientenprobleme von RNNs eingesetzt wurden. Bei jedem Schritt der Analyse einer Datenfolge empfängt ein LSTM das aktuelle Langzeitgedächtnis des Netzes, den so genannten "Zellzustand", zusätzlich zu den üblichen Ausgaben des vorherigen Punktes in der Folge und den externen Eingabedaten für den aktuellen Punkt in der Folge.

Die wichtigste neue Idee bei LSTMs ist der "Zell"-Zustand, der kontextbezogene Informationen über die Daten liefert, die bereits in einer Sequenz verarbeitet wurden. Das Schöne an LSTMs ist, dass das Netz selbst darauf trainiert ist, den Informationsfluss in und aus der Zelle zu regulieren. LSTMs bestehen aus drei kleineren neuronalen Netzen, die als "Vergessensgatter", "Eingangsgatter" und "Ausgangsgatter" bezeichnet werden. Diese drei Gatter lassen sich anhand des folgenden Diagramms schematisch nachvollziehen: LSTM

Das erste Gatter, das so genannte Vergessensgatter, entscheidet, welche Informationen im eingehenden Zellzustandsvektor des Langzeitgedächtnisses wichtig sind und welche weggelassen werden sollten. Dazu nimmt es die Ausgabe des vorherigen Schritts in der Sequenz zusammen mit externen Eingaben und erzeugt daraus einen "Vergessen"-Vektor mit Elementen zwischen 0 und 1. Dieser Vektor hat die gleiche Dimension wie der "Zellstatus"-Vektor. Der Vergessensvektor und der Zellstatus werden punktweise miteinander multipliziert, was zur Folge hat, dass Informationen aus dem Zellstatus bzw. dem Langzeitgedächtnis entfernt werden. Mit anderen Worten, das Vergiss-Gatter entscheidet, welche Teile des Langzeitgedächtnisses vergessen werden sollen, wenn man den Ausgang des vorangehenden verborgenen Zustands und die aktuellen Daten in der Eingangssequenz betrachtet.

Das nächste Gatter, das so genannte "Gedächtnisnetz"-Gatter (im Bild "New Memory Update Gate"), bestimmt, welche neuen Informationen dem Zustand der Langzeitgedächtniszellen hinzugefügt werden sollen. Dazu verwendet es die Ausgabe des vorherigen verborgenen Zustands zusammen mit den neuen Eingabedaten, um einen "neuen Speicheraktualisierungsvektor" mit positiven und negativen Elementen zu erzeugen. Der neue Speicheraktualisierungsvektor wird dem Zellzustand hinzugefügt, was dazu führt, dass der Langzeitspeicher des Netzes mit Informationen aktualisiert wird, die von den neuen Eingabedaten und dem durch den vorherigen verborgenen Zustand gegebenen Kontext abhängen. In Kombination aktualisieren die Gatter "Vergessen" und "Neuer Speicher" das Langzeitgedächtnis oder den "Zellzustand" des Netzes. Das abschließende "Output"-Gatter kombiniert dann alle Daten aus dem Zellzustand, der Eingabe und der Ausgabe des vorangegangenen Schritts, um die Ausgabe zu erzeugen, die zusammen mit dem Zellzustand an den nächsten Schritt in der Sequenz weitergegeben wird.

RNNs im Einzelhandel

Wir erleben die Leistungsfähigkeit von RNNs jeden Tag, wenn wir die Autovervollständigung auf unseren Mobiltelefonen nutzen oder wenn Google Suchanfragen vorschlägt. Die gleichen Eigenschaften, die RNNs ideal für die Sprachverarbeitung machen, machen sie auch perfekt geeignet für Aufgaben im Einzelhandel und im Handel, wie z. B. die Analyse der Kundenstimmung, die Berechnung des Customer Lifetime Value, die Attributionsanalyse und die Vorhersage des nächsten Kaufs, sowie für die Analyse anderer Verhaltensweisen und Interessen der Verbraucher. Aus der Perspektive der Datenverarbeitung sind Kundentransaktionshistorien, genau wie Sätze, Sequenzen von "Wörtern" mit beliebiger Länge, in denen die Reihenfolge der Wörter Informationen enthält. RNNs reduzieren den Aufwand für die Merkmalsanalyse: Sie erlauben es, sequenzielle Daten einzuspeisen, wo sonst nur aggregierte Daten brauchbar wären - und erhöhen damit auch die Qualität der Analyse, da Datenaggregation immer mit einem Informationsverlust einhergeht.

Nehmen Sie das Beispiel eines Modells zur Vorhersage von Rückgaben, bei dem Sie die Wahrscheinlichkeit vorhersagen wollen, dass ein bestellter Artikel zurückgegeben wird. Sie können sofort eine lange Liste von verschiedenen Eingabeinformationen aufschreiben, die für diese Ableitung relevant sein sollten. Es gibt jedoch zwei verschiedene Arten von Informationen: Zum einen gibt es einen Satz von sequentiellen Daten, bei denen man u.a. die Retourenquote pro vergangener Bestellung des Kunden erfasst. Darüber hinaus haben Sie auch nicht-sequenzielle, einzelne Informationen über den Kunden und die aktuelle Bestellung - wie den Zeitpunkt der Bestellung oder ob der Kunde Ihren Newsletter abonniert hat. Wenn Sie das Beste aus Ihrem Modell herausholen wollen, sollte es in der Lage sein, beide Arten von Daten zu verarbeiten, und es sind die sequenziellen Daten, bei denen RNNs ins Spiel kommen.

Inzwischen sollten Sie einen Überblick darüber haben, was RNNs sind und wie sie ungefähr funktionieren. Vielleicht stellen Sie sich bereits faszinierende neue Anwendungsfälle für Ihr eigenes Unternehmen vor. Die Anwendungsmöglichkeiten im Einzelhandel sind wirklich endlos und hängen von Ihrer eigenen Vorstellungskraft ab, mit einem riesigen Potenzial für die Schaffung eines datengesteuerten, hocheffizienten Unternehmens. Wenn Sie eine Anwendung haben, die Sie besprechen möchten, helfen wir Ihnen gerne, Ihre Ideen zum Leben zu erwecken. Von der Analyse von Transaktionstabellen über die Klassifizierung und Segmentierung von Kunden bis hin zur Erstellung von Vorhersagen auf der Grundlage der Online-Aktivitäten von Kunden bieten RNNs eine Vielzahl von Möglichkeiten.



Bleiben Sie up-to-date mit unserem kostenlosen Newsletter

0 Kommentare

Hinterlassen Sie einen Kommentar