KI-Modelle und Plattformen

Paraphrasen-Generierung mit Deep Reinforcement Learning – Thought Leaders

mm
Unite.AI zu deinen bevorzugten Quellen auf Google hinzufügen

Wenn wir schreiben oder sprechen, haben wir uns alle schon einmal gefragt, ob es eine bessere Möglichkeit gibt, eine Idee anderen zu vermitteln. Welche Wörter sollte ich verwenden? Wie sollte ich den Gedanken strukturieren? Wie werden sie wahrscheinlich reagieren? Bei Phrasee verbringen wir viel Zeit damit, über Sprache nachzudenken – was funktioniert und was nicht.

Stellen Sie sich vor, Sie schreiben die Betreffzeile für eine E-Mail-Kampagne, die an 10 Millionen Menschen in Ihrer Liste gesendet wird, um 20% Rabatt auf einen neuen Laptop anzubieten.

Welche Zeile würden Sie wählen:

  • Sie können jetzt 20% Rabatt auf Ihre nächste Bestellung erhalten
  • Bereiten Sie sich vor – 20% Rabatt

Obwohl sie dieselbe Information vermitteln, erreichte eine der Zeilen eine fast 15% höhere Öffnungsrate als die andere (und ich wette, Sie können unser Modell nicht schlagen, wenn es darum geht, vorherzusagen, welche Zeile es ist). Obwohl Sprache oft durch A/B-Testing oder Multi-Armed-Bandits getestet werden kann, bleibt die automatische Generierung von Paraphrasen ein sehr schwieriges Forschungsproblem.

Zwei Sätze werden als Paraphrasen voneinander betrachtet, wenn sie dieselbe Bedeutung haben und austauschbar verwendet werden können. Ein weiterer wichtiger Aspekt, der oft als selbstverständlich angesehen wird, ist, ob ein von einer Maschine generierter Satz flüssig ist.

Im Gegensatz zum überwachten Lernen lernen Reinforcement-Learning-(RL)-Agenten durch Interaktion mit ihrer Umgebung und Beobachtung der Belohnungen, die sie als Ergebnis erhalten. Dieser feine Unterschied hat massive Auswirkungen auf die Funktionsweise der Algorithmen und die Ausbildung der Modelle. Deep Reinforcement Learning verwendet neuronale Netze als Funktionsapproximator, um es dem Agenten zu ermöglichen, zu lernen, wie er in komplexen Umgebungen wie Go, Atari und StarCraft II menschliche Leistungen übertrifft.

Trotz dieses Erfolgs wurde Reinforcement Learning nicht weit verbreitet auf reale Probleme einschließlich der Verarbeitung natürlicher Sprache (NLP) angewendet.

Im Rahmen meiner MSc-Arbeit in Data Science zeigen wir, wie Deep RL verwendet werden kann, um überwachtes Lernen in der automatischen Generierung von Paraphrasen von Eingabetext zu überbieten. Das Problem der Generierung der besten Paraphrase kann als Finden der Serie von Wörtern angesehen werden, die die semantische Ähnlichkeit zwischen Sätzen maximiert, während die Flüssigkeit in der Ausgabe beibehalten wird. RL-Agenten sind gut geeignet, um die beste Menge an Aktionen zu finden, um die maximale erwartete Belohnung in Kontrollumgebungen zu erreichen.

Im Gegensatz zu den meisten Problemen im maschinellen Lernen liegt das größte Problem in den meisten Anwendungen der natürlichen Sprachgenerierung (NLG) nicht im Modell, sondern in der Bewertung. Obwohl die menschliche Bewertung derzeit als Goldstandard in der NLG-Bewertung gilt, hat sie erhebliche Nachteile, einschließlich hoher Kosten, langen Zeitaufwands, Schwierigkeiten bei der Feinabstimmung und mangelnder Reproduzierbarkeit über Experimente und Daten hinweg (Han, 2016). Als Ergebnis suchen Forscher seit langem nach automatischen Metriken, die einfach, allgemein gültig und die menschliche Beurteilung widerspiegeln (Papineni et al., 2002).

Die häufigsten automatischen Bewertungsmethoden bei der Bewertung von maschinell generierten Bildunterschriften sind unten mit ihren Vor- und Nachteilen aufgeführt:

Paraphrasen-Generierung mit Reinforcement Learning-Pipeline

Wir entwickelten ein System namens ParaPhrasee, das hochwertige Paraphrasen generiert. Das System besteht aus mehreren Schritten, um Reinforcement Learning auf eine computationally effiziente Weise anzuwenden. Eine kurze Zusammenfassung der High-Level-Pipeline ist unten aufgeführt, mit mehr Details in der Arbeit.

Datensatz

Es gibt mehrere Paraphrasen-Datensätze, die in der Forschung verwendet werden, einschließlich: dem Microsoft Paraphrase-Korpus (MSFT ), ACLs Semantic Text Similarity-Wettbewerb, Quora Duplicate Questions und Twitter Shared Links. Wir haben MS-COCO ausgewählt, da es groß, sauber und als Benchmark für zwei bemerkenswerte Paraphrasen-Generierungsarbeiten verwendet wird. MS-COCO enthält 120.000 Bilder von alltäglichen Szenen mit 5 Bildunterschriften pro Bild, die von 5 verschiedenen menschlichen Annotatoren bereitgestellt werden.

Obwohl es hauptsächlich für die Forschung im Bereich der ComputerVision entwickelt wurde, haben die Bildunterschriften tendenziell eine hohe semantische Ähnlichkeit und sind interessante Paraphrasen. Da die Bildunterschriften von verschiedenen Menschen bereitgestellt werden, neigen sie dazu, leichte Variationen in den Details zu haben, die in der Szene bereitgestellt werden, daher neigen die generierten Sätze dazu, Details zu halluzinieren.

Überwachtes Modell

Obwohl Reinforcement Learning erheblich in Bezug auf StichprobenEffizienz, Trainingszeiten und allgemeine Best Practices verbessert wurde, ist das Training von RL-Modellen von Grund auf immer noch vergleichsweise sehr langsam und instabil (Arulkumaran et al., 2017). Daher trainieren wir anstelle eines Modells von Grund auf ein überwachtes Modell und feinabstimmen es dann mit RL.

Wir verwenden ein Encoder-Decoder-Modellrahmen und bewerten die Leistung mehrerer Baseline-überwachter Modelle. Wenn wir das Modell mit RL feinabstimmen, feinabstimmen wir nur das Dekoder-Netzwerk und behandeln das Encoder-Netzwerk als statisch. Wir betrachten daher zwei Hauptframeworks:

  • Training des überwachten Modells von Grund auf mit einem Standard-/Vanilla-Encoder-Decoder mit GRUs
  • Verwendung von vorgefertigten Satz-Embedding-Modellen für den Encoder, einschließlich: gepoolter Wort-Embeddings (GloVe), InferSent und BERT

Die überwachten Modelle tendieren dazu, über die Modelle hinweg ziemlich ähnlich zu performen, wobei BERT und der Vanilla-Encoder-Decoder die beste Leistung erzielen.

Obwohl die Leistung tendenziell vernünftig ist, gibt es drei häufige Fehlerquellen: Stottern, Generieren von Satzfragmenten und Halluzinationen. Dies sind die Hauptprobleme, die durch die Verwendung von RL gelöst werden sollen.

Reinforcement Learning-Modell

Die Implementierung von RL-Algorithmen ist sehr herausfordernd, besonders wenn Sie nicht wissen, ob das Problem gelöst werden kann. Es kann Probleme in der Implementierung der Umgebung, des Agents, der Hyperparameter, der Belohnungsfunktion oder einer Kombination aller dieser Faktoren geben. Diese Probleme werden verschlimmert, wenn man Deep RL durchführt, da man die zusätzliche Komplexität des Debuggens von neuronalen Netzen erhält.

Wie bei allen Debugging-Aktivitäten ist es entscheidend, mit einfachen Dingen zu beginnen. Wir implementierten Variationen von zwei gut verstandenen Spiel-RL-Umgebungen (CartPole und FrozenLake), um RL-Algorithmen zu testen und eine wiederholbare Strategie für die Übertragung von Wissen vom überwachten Modell zu finden.

Wir fanden heraus, dass die Verwendung eines Actor-Critic-Algorithmus REINFORCE in diesen Umgebungen übertraf. Bei der Übertragung von Wissen auf das Actor-Critic-Modell fanden wir heraus, dass die Initialisierung der Gewichte des Actors mit dem trainierten überwachten Modell und das Vortrainieren des Kritikers die beste Leistung erzielten. Wir fanden es schwierig, sophisticatede Policy-Distillation-Ansätze auf neue Umgebungen zu verallgemeinern, da sie viele neue Hyperparameter einführen, die abgestimmt werden müssen, um zu funktionieren.

Unterstützt durch diese Erkenntnisse, wenden wir uns dann der Entwicklung eines Ansatzes für die Paraphrasen-Generierungsaufgabe zu. Wir müssen zunächst eine Umgebung erstellen.

Die Umgebung ermöglicht es uns, den Einfluss der Verwendung unterschiedlicher Bewertungsmetriken als Belohnungsfunktionen leicht zu testen.

Dann definieren wir den Agenten, da er viele Vorteile hat, verwenden wir eine Actor-Critic-Architektur. Der Actor wird verwendet, um das nächste Wort in der Sequenz auszuwählen und hat seine Gewichte mit dem überwachten Modell initialisiert. Der Kritiker liefert eine Schätzung der erwarteten Belohnung, die ein Zustand wahrscheinlich erhalten wird, um dem Actor zu helfen, zu lernen.

Entwurf der richtigen Belohnungsfunktion

Der wichtigste Bestandteil des Entwurfs eines RL-Systems ist die Belohnungsfunktion, da dies das ist, was der RL-Agent zu optimieren versucht. Wenn die Belohnungsfunktion falsch ist, leiden die Ergebnisse, auch wenn jeder andere Teil des Systems funktioniert.

Ein klassisches Beispiel dafür ist CoastRunners, bei dem die OpenAI-Forscher die Belohnungsfunktion als Maximierung des Gesamtscores festlegten, anstatt das Rennen zu gewinnen. Das Ergebnis davon ist, dass der Agent eine Schleife entdeckte, in der er den höchsten Score erzielen konnte, ohne das Rennen jemals abzuschließen.

https://www.youtube.com/watch?time_continue=2&v=tlOIHko8ySg&feature=emb_title

Da die Bewertung der Qualität von Paraphrasen selbst ein ungelöstes Problem ist, ist es noch schwieriger, eine Belohnungsfunktion zu entwerfen, die dieses Ziel automatisch erfasst. Die meisten Aspekte der Sprache lassen sich nicht schön in lineare Metriken zerlegen und sind abhängig von der Aufgabe (Novikova et al., 2017).

Der RL-Agent entdeckt oft eine interessante Strategie, um Belohnungen zu maximieren, die die Schwächen in der Bewertungsmetrik ausnutzt, anstatt hochwertigen Text zu generieren. Dies führt tendenziell zu schlechter Leistung auf Metriken, die der Agent nicht direkt optimiert.

Wir betrachten drei Hauptansätze:

  1. Wort-Überlappungsmetriken

Gängige NLP-Bewertungsmetriken berücksichtigen den Anteil der Wortübereinstimmung zwischen der generierten Paraphrase und der Bewertungssatz. Je größer die Übereinstimmung, desto größer die Belohnung. Die Herausforderung bei wortbasierten Ansätzen besteht darin, dass der Agent zu viele Konjunktionen wie “a ist auf von” enthält und es keine Maßnahme für die Flüssigkeit gibt. Dies führt zu sehr schlechten Paraphrasen.

  1. Satzlevel-Ähnlichkeit und Flüssigkeitsmetriken

Die Hauptmerkmale einer generierten Paraphrase sind, dass sie flüssig und semantisch ähnlich zum Eingabesatz sein muss. Daher versuchen wir, diese individuell zu bewerten und dann die Metriken zu kombinieren. Für die semantische Ähnlichkeit verwenden wir die Kosinus-Ähnlichkeit zwischen Satz-Embeddings von vorgefertigten Modellen, einschließlich BERT. Für die Flüssigkeit verwenden wir einen Score, der auf der Perplexität eines Satzes von GPT-2 basiert. Je größer die Kosinus-Ähnlichkeit und die Flüssigkeitsscores, desto größer die Belohnung.

Wir haben viele verschiedene Kombinationen von Satz-Embedding-Modellen und Flüssigkeitsmodellen ausprobiert und obwohl die Leistung vernünftig war, lag das Hauptproblem des Agents darin, die semantische Ähnlichkeit nicht ausreichend mit der Flüssigkeit in Einklang zu bringen. Für die meisten Konfigurationen priorisierte der Agent die Flüssigkeit, was dazu führte, dass Details entfernt wurden und die meisten Entitäten “in der Mitte” von etwas oder “auf einem Tisch” oder “an der Seite der Straße” platziert wurden.

Multi-Objekt-Reinforcement-Learning ist eine offene Forschungsfrage und sehr herausfordernd in diesem Fall.

  1. Verwendung eines adversativen Modells als Belohnungsfunktion

Da Menschen als Goldstandard bei der Bewertung gelten, trainieren wir ein separates Modell namens Diskriminator, um vorherzusagen, ob zwei Sätze Paraphrasen voneinander sind oder nicht (ähnlich wie ein Mensch die Bewertung durchführen würde). Das Ziel des RL-Modells ist dann, dieses Modell davon zu überzeugen, dass der generierte Satz eine Paraphrase des Eingabesatzes ist. Der Diskriminator generiert einen Score, wie wahrscheinlich es ist, dass die beiden Sätze Paraphrasen voneinander sind, der als Belohnung verwendet wird, um den Agenten zu trainieren.

Jedes 5.000 Mal wird dem Diskriminator gesagt, welche Paraphrase aus dem Datensatz stammt und welche generiert wurde, damit es seine zukünftigen Schätzungen verbessern kann. Der Prozess wird über mehrere Runden fortgesetzt, wobei der Agent versucht, den Diskriminator zu täuschen und der Diskriminator versucht, die generierten Paraphrasen von den Bewertungsparaphrasen aus dem Datensatz zu unterscheiden.

Nach mehreren Runden des Trainings generiert der Agent Paraphrasen, die die überwachten Modelle und andere Belohnungsfunktionen überbieten.

Zusammenfassung und Einschränkungen

Adversative Ansätze (einschließlich Selbstspiels für Spiele) bieten einen sehr vielversprechenden Ansatz für das Trainieren von RL-Algorithmen, um die menschliche Leistung auf bestimmten Aufgaben ohne explizite Belohnungsfunktion zu überbieten.

Obwohl RL in diesem Fall das überwachte Lernen überbot, ist der zusätzliche Aufwand in Bezug auf Code, Rechenleistung und Komplexität nicht wertvoll genug, um die Leistungssteigerung für die meisten Anwendungen zu rechtfertigen. RL ist am besten für Situationen geeignet, in denen überwachtes Lernen nicht leicht angewendet werden kann und eine Belohnungsfunktion leicht definiert werden kann (wie z.B. Atari-Spiele). Die Ansätze und Algorithmen sind viel ausgereifter im überwachten Lernen und das Fehlersignal ist viel stärker, was zu schnellerem und stabilerem Training führt.

Ein weiterer Aspekt ist, dass, wie bei anderen neuronalen Ansätzen, der Agent sehr dramatisch versagen kann, wenn die Eingabe anders ist als die Eingaben, die er zuvor gesehen hat, was eine zusätzliche Ebene von Soll-Prüfungen für Produktionsanwendungen erfordert.

Die Explosion des Interesses an RL-Ansätzen und die Fortschritte in der Recheninfrastruktur in den letzten Jahren werden enorme Chancen für die Anwendung von RL in der Industrie, insbesondere im Bereich der NLP, eröffnen.

Andrew Gibbs-Bravo ist ein Data Scientist bei Phrasee und konzentriert sich auf die Verbesserung der Technologie hinter Phrasees weltweit führender KI-gesteuerter Copywriting. Er ist auch der Co-Organisator des London Reinforcement Learning Community Meetup und interessiert sich für alle Dinge RL, NLP und Machine Learning.