Skip to content

Latest commit

 

History

History
28 lines (18 loc) · 4.6 KB

README.md

File metadata and controls

28 lines (18 loc) · 4.6 KB

Stochastic Decay-Bot (@JTOCHAST_TFXFE

Was ist das?

Diesen Bot habe ich für die Poetikvorlesung an der Universität Hildesheim (15. November 2022) geschrieben. Er twittert einmal am Tag um 9 Uhr morgens einen Text, den er von einer Text-zu-Bild-KI illustieren lässt. Dabei wird, je weiter der Monat fortschreitet, der Text immer fehlerhafter – er zerfällt (wie sehr, wird als "𝔡𝔢𝔠𝔞𝔶 𝔯𝔞𝔱𝔢" im Tweet angezeigt).

Was soll das?

Der Stochastic Decay-Bot bringt zwei Paradigmen digitaler Literatur zusammen - das regelbasierte »sequenzielle Paradigma« und das auf neuronalen Netzen beruhende »konnektionistische Paradigma«. Während die meisten Computerprogramme zum ersten gehören (sie sind Listen mit Anweisungen, die sequenziell abgearbeitet werden und die für Menschen lesbar sind), gehören moderne KI-Modelle zu letzterem (und sind eben nicht mehr lesbar, sondern undurchsichtige Black Boxes). Eine genaue Erklärung findet sich hier. Der Bot ist daher sowohl ein Werk der digitalen Literatur als auch eine Illustration ihrer Geschichte. Zudem ist er ein schönes Beispiel jenes indirekten Schreibens, über das ich auch in meiner Vorlesung etwas zu erzählen vorhabe. Der Effekt der Überraschung – was hat der Bot heute wieder angestellt? – ist dabei ebenso interessant wie der Versuch sich vorzustellen, wie die Text-Bild-KI nun den Satz eigentlich interpretiert hat (als algorithmische Einfühlung).

Was bedeutet der Text?

Der Bot zitiert das allererste deutschsprachige Werk digitaler Literatur: Theo Lutz' »Stochastische Texte« von 1959, die unter der Leitung von Max Bense entstanden. Das Programm produzierte zufällig zusammengesetzte Sätze aus einem Satz von Wörtern aus Kafkas Schloss. Zum Beispiel: »KEIN DORF IST SPAET ODER JEDES DORF IST GUT.«

Ausschnitt aus dem Original-Ausdruck der Stochstischen Texte.

Was ist daran neu?

Für meine Version habe ich zwei Aktualisierungen vorgenommen: Erstens passe ich Lutz' Original den Möglichkeiten eines Twitterbots an, indem ich es dynamisiere: Je nach Tag des Monats wird der generierte Text Schritt für Schritt »korrumpiert« (Buchstaben werden zufällig austauscht, so dass aus SCHLOSS irgendwann vielleicht SXHLOTS wird). Der Lutz'sche Text ist so am Monatsende fast unlesbar; der Reset erfolgt immer am Monatsanfang und das Spiel beginnt von neuem. Zweitens verbinde ich das alte regelbasierte Paradigma mit einem neuen neuronalen Netz zur Bildgenerierung (der Text-to-Image-KI »stable diffusion«, siehe dazu hier), die den Satz versucht als Bild zu interpretieren.

Beispielbild 1 des Twitterbots: Ein mysteriöses schwarz-weißes Bild mit der Aufschrift: JEDER WEG IST DUNKEL. EIN GAAF IST FERN.

Damit vermischt der Bot drittens nicht nur das alte und das neue Paradigma, sondern illustriert ihre Besonderheiten über die Funktion von Fehlern und Glitches: Während im sequenziellen Paradigma ein Fehler klar erkennbar ist – ein falscher Buchstabe ruiniert die Bedeutung des Wortes –, ist das konnektionistische Paradigma sehr viel flexibler und versucht, Fehler zu glätten und dennoch Sinn aus der sinnlosen Eingabe zu erzeugen. Es bevorzugt, könnte man sagen, glatte Oberflächen und die Kohärenz von Gestalten statt Brüche zuzulassen und Fehler offenzulegen.

Beispielbild 2 des Twitterbots: Ein Stich im Stil Dürers mit der Aufschrift: EIN BLICK IST DUNKEL ODER EIN TURM IST STARK.

Damit die Bilder nicht immer gleich aussehen, benutze ich ein »prompt engineering«, das stable diffusion zusätzlich zum Eingabetext noch Angaben zum Stil übergibt: In den Beispielen etwa »in the style of a Dürer etching« oder »as a Xerox copy«.

Wie kann ich das selbst laufen lassen?

Der Programmcode ist frei verfügbar; nur die API-Keys für tweepy und relicate müssen in den Code eingetragen werden (oder besser noch als Umgebungsvariablen gespeichert werden).