We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Theorie - Generative Modelle

00:00

Formal Metadata

Title
Theorie - Generative Modelle
Title of Series
Number of Parts
79
Author
License
CC Attribution 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2023
Production PlaceHeinrich-Heine-Universität Düsseldorf

Content Metadata

Subject Area
Genre
Abstract
In diesem Video geht es um die Generierung von Bildern und von Texten mit Hilfe von KI. Wir schauen uns die Funktionsweisen von drei generativen Modellen für Bilder an: Variational Autoencoders (VAEs), Generative Adversarial Networks (GANs) und Stable Diffusion. Zudem interviewen wir einen Experten für Language Models im Natural Language Processing zu ChatGPT und den damit einhergehenden Chancen und Risiken. Lernziele: Du erklärst das grobe Konzept von Autoencoders und Variational Autoencoders Du erklärst das grobe Konzept von Generative Adversarial Networks Du ordnest das grobe Konzept von Stable Diffusion ein Du erläuterst das grobe Konzept von ChatGPT und die dazugehörigen Chancen und Risiken
Keywords
outputCodeInformationComputer programmingGame theoryEuclidean vectorElectric generatorPAPVector spaceZusammenhang <Mathematik>Zero–sum gameVector graphicsScientific modellingKanteDimensionsreduktionDistanceHypercubeoutputEncryptionConcurrency (computer science)Professional network serviceBIAS <Programm>JSONXMLComputer animationMeeting/Interview
OpenOffice.orgTexturSource codeXML
InformationNatural languageScientific modellingMeeting/InterviewLecture/Conference
Computer scienceExpert systemScientific modellingMeeting/Interview
ChatterbotLecture/ConferenceMeeting/Interview
Physical quantityStatistikerData modelScientific modellingLecture/Conference
Meeting/InterviewLecture/Conference
Row (database)Scientific modellingPredictionBerechnungProbability distributionData modelArtificial neural networkParameter (computer programming)outputInferenceWordReinforcement learningMeeting/Interview
Turing testMeeting/Interview
Grand Unified TheoryGenderLecture/ConferenceMeeting/Interview
InformationScientific modellingSpring (hydrology)Meeting/InterviewLecture/Conference
Lösung <Mathematik>Scientific modellingStandard deviationMeeting/InterviewLecture/Conference
Hospital information systemData modelInformationMeeting/InterviewLecture/Conference
InternetLecture/ConferenceMeeting/Interview
Lecture/Conference
Scientific modellingMeeting/InterviewXMLUMLLecture/Conference
Lorenz curveMachine visionPattern languageACM <Nachrichtentechnik>BildsegmentierungBlogComputer animation
XMLComputer animation
Transcript: German(auto-generated)
Stable diffusion, Dali, Chat-GPT. Ihr habt sicher alle schon davon gehört, oder? Wahrscheinlich sind diese generativen Deep Learning Modelle schon wieder von anderen überholt, wenn ihr dieses Video seht. Generative Modelle, darum soll es in diesem Video gehen. Denn
was haben die drei Modelle, die ich gerade genannt habe, alle gemein? Sie nutzen KI-Technologie, genauer gesagt neuronale Netzwerke, um Bilder oder Text zu generieren. Generieren im Sinne von neu kreieren, sich ausdenken, manchmal auch unschönerweise hallucinieren genannt. All diese
Begriffe sind eigentlich sehr anthropomorph und dadurch im Zusammenhang mit KI problematisch. Und wir verabschieden uns direkt mal wieder von ihnen. Denn so groß der Hype auch ist, wir reden immer noch über schwache KIs, die darauf trainiert wurden, eine spezielle Aufgabe sehr gut zu erfüllen. Natürlicherweise trainiert auf historischen Daten, also etwa auf
bereits vorhandenen Bildern oder Texten, dadurch natürlich auch anfällig dafür, bestimmte Biases zu reproduzieren. Zuerst beschäftigen wir uns mit der
Generierung von Bildern. Das ist ein ziemlich junges Forschungsfeld und existiert in etwa seit Anfang der 2010er Jahre. Übrigens findet ihr hier eine schöne Übersicht zu generativen Modellen für Bilder. Die ersten Modelle, mit denen wir uns beschäftigen, sind sogenannte Variational Autoencoders, kurz VAEs. Dazu schauen wir uns zunächst an,
was Autoencoder sind. Autoencoder sind neuronale Netzwerke, die einen gegebenen Input in einem ersten Schritt encoden, also kodieren oder verschlüsseln. Das Ergebnis enthält dann reduzierte Informationen über den Input. Wir können uns das auch als Dimensionsreduktion
vorstellen oder als Komprimierung. Die wichtigsten Informationen bleiben erhalten. Bei Bildern könnten das beispielsweise Informationen über Kanten sein. Im zweiten Schritt soll das Netzwerk lernen, aus dieser komprimierten Repräsentation so gut es geht, wieder den
Input als Output des Netzwerks herzustellen, also zu decodieren oder entschlüsseln. Dabei gehen typischerweise Informationen verloren, aber das Ziel ist, dass der Output dem Input so ähnlich wie möglich ist. Wie das genau funktioniert, lassen wir hier erstmal außen vor, aber das Prinzip sollte klar sein. Variational Autoencoders sehen Autoencoders
von der Architektur her sehr ähnlich, besitzen also einen ähnlichen Aufbau mit Encoding und Decoding Layers, unterscheiden sich aber in der Zielsetzung und in der Mathe dahinter. Es geht nicht darum, eine bestimmte Verschlüsselung in der Mitte zu finden,
sondern einen sogenannten Latent Space, der auch das Generieren von neuen Daten erlaubt. Wir können uns den Latent Space genauso vorstellen wie den Raum der Word Embeddings in der Textverarbeitung, also als einen Vektorraum. Auch hier gibt der Abstand zwischen zwei Vektoren eine gewisse Ähnlichkeit an. Der Unterschied zu Word Embeddings und der
Grund dafür, dass auch das Generieren möglich ist, ist die Tatsache, dass man im Latent Space eines VAE einen beliebigen Vektor in Daten, zum Beispiel in ein Bild umwandeln kann. So lassen sich beispielsweise Bilder von menschlichen Gesichtern mit verschiedenen Gesichtsausdrücken generieren. Trainiert werden VAEs ziemlich ähnlich zu dem, was wir bereits kennen.
Eine Lost Function misst den Unterschied zwischen den Input- und Outputdaten. Ein Meilenstein in der Geschichte der Generierung von Bildern war die Publikation des Papers von Ian Goodfellow und Co-Autoren zu Generative Adversarial Networks, kurz GANs,
im Jahr 2014. Die Idee hinter GANs ist die folgende. Es gibt zwei miteinander konkurrierende neuronale Netzwerke, den Generator und den Discriminator, also ein generierendes und ein unterscheidendes Netzwerk. Das Ziel des Generators ist es, neue Daten oder konkret
Bilder mit der gleichen Verteilung wie ihnen gegebenen Trainingsdaten zu erzeugen, sodass der Discriminator diese nicht voneinander unterscheiden kann. Der Discriminator wiederum wird darauf trainiert, Bilder aus dem Trainingsdatensatz von den Bildern zu
unterscheiden, die von dem Generator generiert wurden. Die Optimierung des Ganzen findet wieder durch die Formulierung einer geeigneten Lost Function statt, die genau diese Konkurrenz der beiden Netzwerke modelliert. In der mathematischen Spieltheorie nennt man das Nullsummenspiel. Im Paper von Goodfellow und Kollegen gibt es die folgende anschauliche
Erklärung. Das generative Modell kann mit einem Team von GeldfälscherInnen verglichen werden, die versuchen gefälschtes Geld herzustellen und unentdeckt zu verwenden. Während das diskriminative Modell mit der Polizei vergleichbar ist, die versucht das gefälschte Geld aufzuspüren. Der Wettbewerb in diesem Spiel treibt beide Teams dazu, ihre Methoden zu
verbessern, bis die Fälschungen nicht mehr von den echten Gegenständen zu unterscheiden sind. Hier können wir sehen, dass sich die Qualität der von ganz generierten Bilder von menschlichen Gesichtern in kürzester Zeit rapide verbessert hat. Wir können uns selbst davon überzeugen in unseren Skills als Discriminator testen, indem
wir die Seite whichfaceisreal.com besuchen. Hier sieht man jeweils immer zwei Bilder. Eines, das einen echten Menschen zeigt und ein anderes, das von einem Gun erzeugt wurde. Man soll auf das Bild klicken, von dem man denkt, dass es die reale Person zeigt. Versuchen wir
mal unser Glück. Ich wähle das rechte Bild, weil der Hintergrund im linken Bild eine komische Textur hat. Das war richtig. Hier wähle ich das linke Bild. Das ist leider falsch. Wenn man genau auf die Lachfalten im Gesicht achtet, kann man es erkennen. Dritter Versuch. Leider
wieder falsch. Der Hintergrund sieht aber auch etwas merkwürdig aus. Zum Schluss sprechen wir noch kurz über Stable Diffusion, stellvertretend für Text-to-Image-Modelle.
Die neuesten generativen Modelle für Bilder erzeugen diese nämlich entsprechend einer Texteingabe, verarbeiten also sowohl natürliche Sprache in Textform als auch Bilddaten. Der generative Trainingsprozess für die Bilder funktioniert stark vereinfacht folgendermaßen. Zunächst wird ein Bild aus den Trainingsdaten mit Hilfe eines vortrainierten VAEs encoded.
Als Resultat erhält man wieder eine Repräsentation im Latent Space. Dann gibt es auf der einen Seite einen Vorwärtsdiffusionsprozess, der nach und nach Noise bzw. Rauschen hinzufügt, bis am Ende nur noch Noise übrig bleibt. Andererseits wird ein Rückwärtsdiffusionsprozess
gelernt. Das heißt, es wird ein neuronales Netzwerk trainiert, das den Output der Vorwärtsdiffusion, der aus purer Noise besteht, nach und nach denoist bzw. entrauscht,
bis daraus nach dem Decoding-Schritt des VAE wieder ein klares Bild wird. Für das Denoising-Netzwerk wird eine spezielle CNN-Architektur verwendet, die sich UNET nennt. Hier seht ihr auch, woher der Name kommt. Wie kommt jetzt noch die Texteingabe ins Spiel? Dafür wird wiederum ein bereits
trainierter Textencoder verwendet, um einen Textprompt in einen weiteren Embeddingspace zu transformieren. Dieser sollte euch bekannt vorkommen. Er ist ein Transformer mit Bird Tokenizer. Die Integration der Information in das Netzwerk erfolgt mit Attention, genauer gesagt mit sogenannten Cross-Attention-Layers.
Klingt kompliziert, oder? Ist das auch? In der Realität ist das Ganze noch deutlich komplexer. Aber hoffentlich ist die Idee klar geworden. Widmet wir uns jetzt der Generierung von Texten. Dazu habe ich einen Experten hier.
Renato Vukovic ist Doktorand am Institut für Informatik an der HHU in der Arbeitsgruppe für Dialog Systems und Machine Learning. Hi Renato. Hi, vielen Dank für die Einladung. Danke, dass du hier bist. Seit wann können KI's denn eigentlich Texte generieren? Und welche Modelle waren dort am erfolgreichsten?
Ich denke, das Ziel, Texte zu generieren, ist eines der ersten für KI, wie man zum Beispiel auch am Touring-Test sehen kann. Aber gleichzeitig ist es auch eines der schwierigsten, da man sehen kann, dass es immer noch nicht gelöst ist. Angefangen hat es damals mit regelbasierten Chatbots wie Eliza, die nach und nach von den statistischen Machine Learning-Methoden abgelöst wurden. Heutzutage wird in der Regel versucht, ein Modell auf Grundlage der Verteilung von Sprache
beizubringen, wie sie funktioniert, indem das Model lernt, das nächste Wort in einer Sequenz vorherzusagen. Diese Idee ist essentiell für die sogenannten Large-Language-Models. Das sind große neuronale Netze, die auf großen Mengen Text mit diesem simplen Ziel trainiert werden, das nächste Wort im Text vorherzusagen.
Diese Modelle haben das Natural Language Processing, wie dieses Feld heißt, revolutioniert, indem sie heutzutage im Prinzip das Rückgrat zu so ziemlich jeder Natural Language Processing-Task bilden können. Für Übersetzung, Zusammenfassung, Klassifizierung, Generierung von Text.
Aber auch was für mich am interessantesten ist, Konversation. Kannst du die Funktionsweise der Modelle mal in ein paar Sätzen grob erklären? Ja, das Training solcher Modelle verläuft in der Regel in zwei Schritten, die Unsupervised Pre-Training und Fine-Tuning heißen. Beim ersten Schritt ist das Ziel des Trainings, dass das Modell in der Lage ist,
das nächste Wort in einem Satz mit den Wörtern davor als Input richtig vorherzusagen. Zum Beispiel im Satz KI für alle ist sehr, müsste dann ein Adjektiv ergänzt werden, wie zum Beispiel interessant. Dadurch, dass das Modell während des ersten Trainingsschritts eine große Bandbreite an Text sieht
und sehr viele Parameter hat, lernt es eine ziemlich allgemeingültige Repräsentation von Sprache, die im Prinzip auf der Wahrscheinlichkeitsverteilung von Wörtern beruht. Diese Art des Trainings wird konkret Language Modeling genannt, da das Modell lernt, Sprache in den Parametern darzustellen.
In den Embeddings von Wörtern sind dann also Informationen, die auf dem Kontext beruhen, in dem diese Wörter vorkommen. Durch die schiere Größe haben solche Modelle auch die Kapazität im Training zu lernen, Aufgaben zu verstehen und diese entsprechend zu erfüllen, um bessere Vorhersagen über die kommenden Wörter zu treffen.
Der erste Schritt ist Unsupervised, da im Text jederzeit das nächste Wort vorliegt, das dann im Training vorhergesagt werden muss. Das heißt, man muss dafür keine Daten ernotieren, weil die Labels, also das nächste Wort, dafür schon implizit in den Daten vorliegen. Da diese Modelle allerdings nach dem ersten Schritt
theoretisch jede Wörter, jede Art von Wort und alles, was in den Trainingsdaten vorhanden ist, einfach reproduzieren könnten, werden sie im zweiten Schritt noch darauf trainiert, gewissen Regeln zu folgen oder beim Berechnen der Antwort besser den Instruktionen des Users oder der Anfrage zu folgen.
Dies passiert, indem das Model zum einen auf menschengeschriebenen Anfrage-Antwort-Paren trainiert wird und darüber hinaus noch auf menschlichem Feedback darauf, welche Art von Antwort von den Menschen präferiert wird und auch ob gewisse Regeln der Konversation eingehalten werden, wie zum Beispiel, dass man keine Finanztipps
geben soll oder nicht aggressiv sein soll. Diese Fine-Tuning-Methode heißt Reinforcement Learning from Human Feedback. Bei diesem Reinforcement Learning geht es darum, einen Reward zu maximieren, indem man entsprechende Antworten als Actions liefert. In diesem Fall besteht der Reward aus den Präferenzen und dem Feedback von Menschen.
Diese Modelle nutzen in der Regel eine sogenannte Transformer-Architektur, also eine Art neuronales Netz, das hauptsächlich einen sogenannten Attention-Mechanismus nutzt, mit dem man die grammatikalischen Verbindungen in Sprache modellieren kann. Zum Beispiel so kann man die Verbindung zwischen Subjekt und Objekt in einem Satz
gut von dem Modell lernen lassen. Die stärksten Modelle wie ChatGPT haben sehr viele Parameter, weshalb sowohl Training als auch Inferenz sehr kosten- und zeitintensiv sind. So haben diese Modelle mehr als 100 Milliarden Parameter, die im Training angepasst werden müssen, und das Pre-Training dauert bis zu mehreren Wochen.
Und das selbst auf 1000 der besten TPUs. Das sind TPUs, die im Prinzip extra für neuronale Netze konzipiert wurden. Und was man auch noch sich vorstellen muss, ist, dass in diesem Training diese Modelle Billionen von Wörtern sehen, und das sind mehr Textdaten als Menschen, die sie im ganzen Leben sehen.
Einer der ersten Chat-Spots ist ja Eliza gewesen, also ein Modell, das quasi ein Gespräch mit einer Psychotherapeutin simuliert hat. Es hat zwar nicht den Turing-Test bestanden, wurde aber schon als sehr menschlich empfunden. Jetzt, Jahrzehnte später, wird ChatGPT gehypt,
und solche Large-Language-Models sind super erfolgreich. Für wie gefährlich hältst du eigentlich die Vermenschlichung dieser KI-Systeme? Und wie weit, glaubst du, sind sie jetzt noch von sogenannter AGI, also Artificial General Intelligence, entfernt? Ja, so wie mit jeder Technologie kommen mit Chancen natürlich auch große Verantwortung,
und alles, was für was Gutes genutzt werden kann, kann natürlich auch missbraucht werden. Obwohl es sehr aufregend ist, dass etwas wie ChatGPT, dass es heutzutage schon etwas wie ChatGPT gibt, bringen es natürlich auch Probleme und Gefahren mit sich. ChatGPT ist zum Beispiel nur so gut, wie die Daten, auf denen es trainiert wurde. Das heißt, wenn die Daten falsche Aussagen oder Bias zum Beispiel bezüglich Gender enthalten,
dann ist es wahrscheinlich, dass das Modell diese einfach reproduziert. Darüber hinaus lernt es zum Beispiel nicht, wie man richtig mit privaten Daten umgeht. Das heißt, man muss entsprechend sehr vorsichtig sein, welche Daten oder Informationen man mit so einem Modell teilt. Abgesehen davon ist das Verhalten des Modells nicht wirklich erklärbar.
Also man kann nicht überprüfen, wie das Modell jetzt zu einer speziellen Antwort kam. Weiterhin kann ChatGPT nicht erklären, welche die Quellen für sein Wissen sind, da die halt irgendwo in den Parametern sind. All diese Probleme sind natürlich Bestandteil aktiver Forschungsbereiche, und da bin ich gespannt, wie die Lösungen aussehen werden.
Während es natürlich sehr wichtig ist, diese Probleme technologisch zu lösen, ist es mindestens genauso wichtig, den Nutzern, also allen Menschen, beizubringen, damit verantwortungsbewusst umzugehen und entsprechende Standards zu setzen. Was Artificial General Intelligence angeht, denke ich, dass wir noch weit davon entwert sind, sie zu erreichen.
Natürlich ist ChatGPT sehr beeindruckend, und man kann durchaus sagen, dass es gewissermaßen übermenschliche Fähigkeiten besitzt. Allerdings löst es nicht alle Aufgaben, für die Intelligenz notwendig sind. Man sollte dabei auch nicht vergessen, wie viel Computerleistung nötig ist, um ChatGPT zu trainieren, und noch stärkere Modelle werden noch mehr Leistung benötigen.
Das kann so viel werden, dass es nicht klar ist, ob wir die benötigte Leistung überhaupt zur Verfügung stellen können, also entsprechend, ob wir dann noch generellere Modelle trainieren können. Dabei ist auch wichtig zu betonen, dass das ganze Wissen von ChatGPT von Demonstrationen menschlicher Intelligenz kommt, also Menschen gemacht im Text oder menschlichem Feedback.
Glaubst du, dass KIs wie ChatGPT bald auch für uns Aufsätze, Hausarbeiten oder vielleicht sogar Bücher schreiben? Ja, also ich kann mir das durchaus vorstellen. Ich denke, es hat einige Vorteile, denn so ein Model macht es einfacher, denn je eigene Ideen wieder zu schreiben. Und so werden Informationen oder Ideen natürlich auch zugänglicher,
wenn sie in gutleserlicher Form vorhanden sind. Am Ende denke ich, dass man ChatGPT nicht wirklich verbieten kann. Natürlich sollte man lernen, selbst Texte zu schreiben, aber die Lehre wird sich den neuen Technologien und den neuen Begebenheiten, die sie mit sich bringen, anpassen müssen. Entsprechend muss man den Leuten beibringen, wie man ChatGPT richtig nutzt, anstelle es zu verteufeln.
Man stelle sich vor, man würde heutzutage Bücher als Informationsquellen verbieten oder Computer oder gar das Internet. Das ist alles natürlich unvorstellbar. Aber auch, wie das damals bei der Einführung solcher Technologien war, ist es natürlich jetzt auch bei ChatGPT. Und deshalb denke ich, statt ChatGPT zu verbieten,
sollen wir uns überlegen, wie wir auch das bestmögliche und auch auf verantwortliche Weise nutzen lernen. Und so auch natürlich in der Lehre. Ja, vielen herzlichen Dank. Ja, danke auch. Jetzt habt ihr ein paar generative Modelle und die verschiedenen Ansätze dahinter kennengelernt.
Ihr habt Variational Autoencoder mit den Encoding- und Decoding-Layers kennengelernt, habt verstanden, wie bei ganz Generator und Discriminator miteinander konkurrieren und kennt die Ideen hinter Stable-Diffusion-Modellen. Außerdem habt ihr die Funktionsweise von ChatGPT kennengelernt und die damit einhergehenden Chancen und Risiken.