Memorization In Stable Diffusion Is Unexpectedly Driven by CLIP Embeddings
Dieser Artikel zeigt, dass das Auswendiglernen in Stable Diffusion unerwartet durch die strukturelle Verdopplung der End-of-Text-Einbettung in Padding-Token getrieben wird, die ihren Einfluss verstärkt, und schlägt einfache Inferenzzeit-Strategien vor, um dieses Problem zu mildern, ohne die Bildqualität zu beeinträchtigen.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Das große Problem: Das Modell ist in Erinnerungen „festgefahren"
Stellen Sie sich einen talentierten Künstler (Stable Diffusion) vor, der auf Millionen von Fotos trainiert wurde. Manchmal, wenn Sie diesen Künstler bitten, etwas Neues zu zeichnen, kopiert er versehentlich ein bestimmtes Foto aus seinem Trainingsdatensatz exakt, Pixel für Pixel. Dies wird als Auswendiglernen (Memorization) bezeichnet. Es stellt ein Risiko für die Privatsphäre und das Urheberrecht dar, da das Modell nichts Neues erschafft, sondern lediglich alte Daten wiederholt.
Wissenschaftler haben versucht herauszufinden, warum dies geschieht. Die meisten Theorien konzentrierten sich auf die Wörter, die Sie eingeben (den Prompt), oder auf die innere Mathematik des Modells. Dieses Paper hat jedoch einen überraschenden Übeltäter gefunden, der sich in der „Auffüllung" der Anweisungen versteckt.
Der Aufbau: Wie der Künstler Anweisungen liest
Um die Entdeckung zu verstehen, müssen wir uns ansehen, wie der Künstler Ihre Anweisungen liest.
- Der Prompt: Sie tippen einen Satz wie „Eine Katze auf einer Matte" ein.
- Das Limit: Der Künstler kann Anweisungen nur bis zu einer bestimmten Länge lesen (77 „Tokens" oder Wortteile).
- Der Füller: Wenn Ihr Satz kurz ist (z. B. nur 10 Wörter), muss der Computer die verbleibenden 67 leeren Stellen auffüllen, um das Limit von 77 zu erreichen.
Der alte Weg (Stable Diffusion v1.4):
Der Computer füllt diese leeren Stellen mit einem speziellen „Ende des Textes"-Token (nennen wir es <eot>).
- Die Analogie: Stellen Sie sich vor, Sie lesen eine Geschichte, aber die letzte Seite ist leer. Anstatt sie leer zu lassen, druckt der Drucker immer wieder die Worte „DAS ENDE" auf, bis die Seite voll ist.
- Also sieht der Künstler bei einem kurzen Prompt:
[Ihre Wörter] + [DAS ENDE] + [DAS ENDE] + [DAS ENDE]...(wiederholt 60-mal oder öfter).
Die Entdeckung: Der „Echokammer"-Effekt
Die Autoren des Papers entdeckten, dass der Künstler stark auf diese wiederholten „DAS ENDE"-Stempel angewiesen ist, um zu entscheiden, was er zeichnet, insbesondere beim Auswendiglernen von Bildern.
Hier ist die von ihnen gefundene Kette von Ereignissen:
- Trainings-Mismatch: Das System, das Wörter in Mathematik übersetzt (CLIP genannt), wurde so trainiert, dass es das erste „DAS ENDE"-Token als die wichtigste Zusammenfassung des gesamten Satzes behandelt. Es lernte, die tatsächlichen Wörter und die Füll-Token zu ignorieren.
- Der Glitch: Da der Computer den leeren Raum mit mehr „DAS ENDE"-Token füllt, sieht der Künstler plötzlich das „DAS ENDE"-Token Dutzende Male wiederholt.
- Die Verstärkung: Der Künstler denkt: „Wow, es gibt so viele 'DAS ENDE'-Token! Das muss der wichtigste Teil der Anweisung sein!"
- Das Ergebnis: Das Modell fokussiert sich übermäßig auf dieses wiederholte Token. Wenn dieses spezifische „DAS ENDE"-Muster während des Trainings mit einem bestimmten urheberrechtlich geschützten Bild assoziiert war, gerät das Modell in eine Schleife und reproduziert genau dieses Bild, wobei es Ihre eigentliche Anfrage ignoriert.
Die Metapher:
Stellen Sie sich einen Chor vor, bei dem der Dirigent (das Modell) eigentlich dem Solisten (Ihrem Prompt) zuhören soll. Aber alle Chormitglieder schreien „STOPP!" (das Auffüll-Token) immer wieder. Der Dirigent wird von dem Geschrei so überwältigt, dass er aufhört, dem Solisten zuzuhören, und einfach nur im Kreis marschiert, basierend auf den „STOPP!"-Befehlen. Wenn der „STOPP!"-Befehl zuvor mit einer bestimmten Tanzbewegung verknüpft war, wiederholt der Chor einfach diesen Tanz und ignoriert die Musik.
Die überraschende Wendung: Die Wörter sind nicht so wichtig
Die Autoren testeten dies, indem sie die tatsächlichen Wörter aus dem Prompt entfernten und sie durch das „Ende"-Token ersetzten.
- Ergebnis: Das Modell konnte immer noch ein erkennbares Bild generieren.
- Fazit: Die tatsächlichen Wörter, die Sie eingegeben haben (der Prompt), tragen sehr wenig zum Auswendiglernen-Teil des Prozesses bei. Die „Füll"-Token leisten die schwere Arbeit für das Kopierverhalten.
Die Lösung: Zwei einfache Fixes
Das Paper schlägt zwei einfache Wege vor, dies zu stoppen, ohne das gesamte Modell neu zu trainieren oder es zu verlangsamen. Beide sind „Inferenzzeit"-Fixes, was bedeutet, dass Sie sie kurz vor der Bildgenerierung anwenden können.
Fix 1: Ändern Sie das Füll-Token
- Die Aktion: Füllen Sie den leeren Raum nicht mit „DAS ENDE" (
<eot>) auf, sondern ersetzen Sie es durch ein neutrales Symbol wie ein Ausrufezeichen (!). - Warum es funktioniert: Dies bricht die Echokammer. Das Modell sieht nicht mehr 60 Kopien des „Ende"-Tokens. Es sieht ein neutrales Symbol, das nicht dasselbe hohe Gewicht trägt.
- Bonus: Sie verbergen (maskieren) auch das einzelne ursprüngliche „Ende"-Token, um auf Nummer sicher zu gehen.
Fix 2: Stummschalten des Füllers
- Die Aktion: Behalten Sie die Tokens so, wie sie sind, drosseln Sie aber einfach die Lautstärke (maskieren) der wiederholten „Ende"-Token, damit das Modell weniger auf sie achtet.
- Warum es funktioniert: Es reduziert den Einfluss des „Echos", ohne den Tokenizer zu ändern.
Der Beweis: Warum Version 2.1 besser ist
Die Autoren stellten fest, dass Stable Diffusion v2.1 (eine neuere Version) dieses Auswendiglern-Problem nicht so stark hat.
- Warum? Es stellt sich heraus, dass die Entwickler von v2.1 dieses Problem versehentlich behoben haben. Sie wechselten zu einem anderen Textsystem (OpenCLIP), das ein neutrales Symbol für die Auffüllung verwendet, anstatt „DAS ENDE" zu wiederholen.
- Die Erkenntnis: Die Tatsache, dass v2.1 natürlich weniger auswendig lernt, beweist, dass das „wiederholte Ende-Token" tatsächlich die Hauptursache des Problems in v1.4 war.
Zusammenfassung
- Das Problem: Stable Diffusion kopiert manchmal Trainingsbilder exakt.
- Die Ursache: Kurze Prompts werden mit wiederholten „Ende des Textes"-Token aufgefüllt. Das Modell hält diese wiederholten Token für den wichtigsten Teil der Anweisung, was dazu führt, dass es sich „überanpasst" und spezifische Bilder auswendig lernt.
- Die Lösung: Ändern Sie das Füll-Token zu etwas Neutralem (wie
!) oder stummschalten Sie die wiederholten Token. Dies stoppt das Auswendiglernen, während die Bildqualität hoch bleibt. - Der Vorteil: Sie können diesen Fix sofort anwenden, ohne die KI neu zu trainieren oder vorher zu erkennen, welche Bilder riskant sind.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.