{"id":4158,"date":"2021-07-28T03:44:49","date_gmt":"2021-07-28T03:44:49","guid":{"rendered":"https:\/\/lamarr-institute.org\/blog\/generative-neuronale-modelle-gan\/"},"modified":"2025-11-12T14:52:03","modified_gmt":"2025-11-12T14:52:03","slug":"generative-neuronale-modelle-gan","status":"publish","type":"blog","link":"https:\/\/lamarr-institute.org\/de\/blog\/generative-neuronale-modelle-gan\/","title":{"rendered":"Generative Adversarial Networks (GANs) f\u00fcr maschinelle \u00dcbersetzung"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><span style=\"font-size: 18pt;\">Wie funktioniert ein GAN?<\/span><\/h2>\n\n\n\n<p>Der Begriff &#8222;GAN&#8220; ist schwierig auf Deutsch zu \u00fcbersetzen. Gut klingt vielleicht eine nicht ganz w\u00f6rtliche \u00dcbertragung als &#8222;Kontrovers-produktives neuronales System&#8220;. Diese Bezeichnung tr\u00e4gt jedoch &#8211; wie das englische Original &#8211; nicht gerade zum Verst\u00e4ndnis dessen bei, was damit eigentlich gemeint ist. Die Idee dahinter ist spannend und wurde 2014 zuerst von <a href=\"https:\/\/arxiv.org\/abs\/1406.2661\" target=\"_blank\" rel=\"noopener\">Ian Goodfellow und Kollegen<\/a> publiziert: Das System besteht aus zwei Komponenten (beides sind Neuronale Netze), die &#8222;Generator&#8220; und &#8222;Diskriminator&#8220; genannt werden (siehe untenstehende Abbildung). Diese beiden teilen sich die eigentliche Aufgabe des Systems, n\u00e4mlich aus vielen Eingabedaten (Lerndaten), wie zum Beispiel Fotos, ohne weitere menschliche Vorgaben neue Daten zu erzeugen, die den Eingaben sehr \u00e4hnlich sind. Es handelt sich um eine Variante des <a href=\"https:\/\/lamarr-institute.org\/de\/welche-arten-von-maschinellem-lernen-gibt-es\/\" target=\"_blank\" rel=\"noreferrer noopener\">un\u00fcberwachten Lernens<\/a>, denn das System ist nicht auf eine \u00e4u\u00dfere Kontrolle der \u00c4hnlichkeit der erzeugten Ausgabedaten zu den Lerndaten angewiesen: Die Generator Komponente hat die Aufgabe, neue Daten zu erzeugen. Die Diskriminator Komponente hat die Aufgabe, die vom Generator erzeugten Daten von den Lerndaten zu unterscheiden und als k\u00fcnstlich erzeugt zu erkennen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/GAN20Schema-1024x380.jpg\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-24834\" title=\"\"><figcaption class=\"wp-element-caption\">\u00a9 ML2R <br>GAN Schema<\/figcaption><\/figure>\n\n\n\n<p>Man k\u00f6nnte dieses Prinzip also als eine Art Spiel am Beispiel von Fotos charakterisieren: Das Generator Netz versucht, mit m\u00f6glichst realistischen k\u00fcnstlichen Fotos das Diskriminator Netz zu \u00fcberlisten. Im Verlauf des Lernens erzeugt das Generator Netz immer &#8222;echtere&#8220; Bilder, w\u00e4hrend das Diskriminator Netz immer genauer zwischen Realit\u00e4t und k\u00fcnstlichen Daten zu unterscheiden lernt. Nachdem ein neues Bild erzeugt wurde, wird dem Diskriminator Netz dieses zusammen mit einem echten Foto vorgelegt. Es muss dann entscheiden, welches der beiden Bilder ein echtes Foto und welches ein k\u00fcnstlich erzeugtes ist. Wichtig dabei ist, dass es sich bei den beiden Bildern nicht um dasselbe Motiv handeln muss, sondern nur um grob denselben Themenbereich. Abgesehen vom allgemeinen Thema, wie zum Beispiel Portraitaufnahmen, muss das Diskriminator Netz seine Entscheidung allein aus den Mikro-Eigenschaften der Bilder, wie Kontrast, Farbverlauf, Tiefensch\u00e4rfe, Aufl\u00f6sung, etc., ableiten. Am Anfang des Trainings ist diese Unterscheidung noch einfach, denn das Generator Netz steht als Eingabe keines der echten Fotos zur Verf\u00fcgung, sondern nur einen zuf\u00e4llig erzeugten Eingabevektor. Man k\u00f6nnte sich diese Eingabe so \u00e4hnlich vorstellen, wie das Bild auf einem alten Fernseher, wenn kein Sender eingestellt ist. Eine zeitgen\u00f6ssische Analogie w\u00e4re ein gro\u00dfer QR-Code mit zuf\u00e4llig verteilten schwarzen und wei\u00dfen Feldern. Die Generator Komponente ist daher ein generatives neuronales Netz. Es soll lernen, die allgemeine Variationsbreite der Bilder in den Lerndaten zu reproduzieren. Genaueres dazu kann man in einem weiteren <a href=\"https:\/\/lamarr-institute.org\/de\/generative-neuronale-modelle\/\" target=\"_blank\" rel=\"noreferrer noopener\">Blog Beitrag<\/a> lesen. Das Netz muss nun lernen, die wiederholten zuf\u00e4lligen Eingabewerte so zu transformieren, dass als Ausgabe ein m\u00f6glichst realistisches Bild entsteht. Nach jedem Versuch bekommt es als R\u00fcckmeldung nur die bin\u00e4re Entscheidung der Diskriminator Komponente &#8222;reales Foto&#8220; oder &#8222;k\u00fcnstliches Bild&#8220; zur\u00fcckgemeldet.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/portraits_cut.png\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-24836\" title=\"\"><figcaption class=\"wp-element-caption\">\u00a9 Alexander Amini and Ava Soleimany MIT 6.S191: Introduction to Deep Learning IntroToDeepLearning.com <br>Von GANs erzeugte Portraits<\/figcaption><\/figure>\n\n\n\n<p>GANs wurden zun\u00e4chst zur Produktion von real erscheinenden Bildern anhand von Fotos eingesetzt. Besonders Aufsehen erregend waren Bilder, die menschliche Portraits darstellten (siehe obenstehende Abbildung). Diese Portraits waren auch von Menschen, die beruflich einschl\u00e4gige Expertise besa\u00dfen, nicht von realen Fotos zu unterscheiden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Welche Verbesserungen sind f\u00fcr das urspr\u00fcngliche System vorgeschlagen worden?<\/h2>\n\n\n\n<p>Eine wichtige Modifikation der GAN Architektur besteht darin, den einfachen Generator Input, also den zuf\u00e4llig erzeugten Vektor, durch einen Datenvektor aus den Lerndaten zu ersetzen, der dann vor der Verarbeitung in der Generator Komponente zus\u00e4tzlich mit zuf\u00e4lligen Werten verrauscht wird. Dieses Prinzip \u00e4hnelt dem Variational Autoencoder, der im <a href=\"https:\/\/lamarr-institute.org\/de\/generative-neuronale-modelle\/\" target=\"_blank\" rel=\"noreferrer noopener\">Blog Beitrag<\/a> beschrieben wird. So ergibt sich eine interessante Alternative: Ein derartiges GAN kann darauf trainiert werden, reale Eingaben so zu ver\u00e4ndern, dass bestimmte Eigenschaften erhalten bleiben, andere aber systematisch ver\u00e4ndert werden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/CycleGAN1-1024x468.jpg\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-24838\" title=\"\"><figcaption class=\"wp-element-caption\">\u00a9 Jun-Yan Zhu et al.<br>Die Generator Komponente eines Cycle GANs (Foto- und Gem\u00e4lde-Reproduktionen aus \u201c<a href=\"https:\/\/arxiv.org\/abs\/1703.10593\" target=\"_blank\" rel=\"noreferrer noopener\">Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks<\/a>\u201c)<\/figcaption><\/figure>\n\n\n\n<p>Die vorstehende Abbildung stellt schematisch die Generator Komponente eines GANs zur Erzeugung von Bildern, die einer bestimmten Kunstrichtung entsprechen, aus realen Fotos dar. Weitere Publikationen beschreiben gelungene Versuche, weitere Modalit\u00e4ten von Fotos zu \u00e4ndern, wie zum Beispiel von neiner Sommerlandschaft hn zu einer Winterlandschaft, oder Strichzeichnung zu Foto-realistischem Gegenstand.<\/p>\n\n\n\n<p>Ein Nachteil der einfachen GAN Architektur ist die langsame und nicht immer erfolgreiche Konvergenz, also das Lernverhalten des Systems, das extrem hohe Rechenaufw\u00e4nde im Computer ben\u00f6tigt. Der Erfolg des Trainings h\u00e4ngt zudem von vielen extern einzustellenden Parametern, wie der Netzarchitektur der beiden Komponenten, der Anzahl der Neuronen und der Lernrate f\u00fcr die Gewichtanpassung ab. Es kann dar\u00fcber hinaus vorkommen, dass sich Generator und Diskriminator Komponenten in einen singul\u00e4ren Zustand einschwingen, in dem auch offensichtlich nicht real erscheinende Generator Ausgaben von der Diskriminator Komponente nicht als k\u00fcnstlich erkannt werden. Dies wird in der Fachliteratur als Mode Collapse bezeichnet.<\/p>\n\n\n\n<p>Eine neue Idee, die diese Schwierigkeit durch &#8222;Regularisierung&#8220; (siehe auch unseren Blogbeitrag zu <a href=\"https:\/\/lamarr-institute.org\/de\/tiefe-neuronale-netze\/\" target=\"_blank\" rel=\"noreferrer noopener\">Tiefen Neuronalen Netzen<\/a>) zu \u00fcberwinden sucht, ist es, einen Vergleich zwischen dem Ausgangsdatum der Generator Komponente und einer &#8222;R\u00fccktransformation&#8220; durch ein zweites GAN vorzusehen. Dies ist in der folgenden Abbildung dargestellt. Die Lernaufgabe des zweiten GANs ist die inverse Aufgabe des ersten. In unserem obigen Beispiel soll das zweite GAN also lernen, aus gemalten Bildern realistische Fotos zu erzeugen. Wohlgemerkt bedeutet diese Zielsetzung nicht, das r\u00fccktransformierte Foto mit der Originaleingabe des ersten GANs direkt zu vergleichen wie beim \u00fcberwachten Lernen. Die Diskriminator Komponente des zweiten GANs hat die Aufgabe, das r\u00fccktransformierte Foto von &#8222;beliebigen&#8220; Originalfotos zu unterscheiden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/CycleGAN2-1024x762.jpg\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-24840\" title=\"\"><figcaption class=\"wp-element-caption\">\u00a9 Jun-Yan Zhu et al.<br>Zwei GANs werden zur Vermeidung von Mode Collapse zusammengeschaltet (Foto- und Gem\u00e4lde-Reproduktionen aus \u201c<a href=\"https:\/\/arxiv.org\/abs\/1703.10593\" target=\"_blank\" rel=\"noreferrer noopener\">Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks<\/a>\u201c)<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Wie kann ein GAN lernen, Worte zu \u00fcbersetzen?<\/h2>\n\n\n\n<p>Es wurde bereits erw\u00e4hnt, dass GANs zu den un\u00fcberwachten maschinellen Lernverfahren geh\u00f6ren. Man ben\u00f6tigt also prinzipiell keine Detailvorgaben f\u00fcr einzelne Daten, aus denen Fehlerwerte berechnet werden k\u00f6nnen. F\u00fcr maschinelle \u00dcbersetzungen w\u00e4re diese Eigenschaft sehr w\u00fcnschenswert. Man w\u00fcrde dann nicht gro\u00dfe Textmengen parallel in zwei Sprachen ben\u00f6tigen oder \u00fcbersetzen m\u00fcssen. Ans\u00e4tze, die sich die GAN Eigenschaft des un\u00fcberwachten Lernens zu Nutze machen, zielen zun\u00e4chst nicht auf die \u00dcbersetzung von ganzen S\u00e4tzen, sondern von einzelnen Worten oder Begriffen, denn diese Aufgabe ist weniger komplex. Eine L\u00f6sung w\u00e4re aber trotzdem sehr interessant, w\u00fcrde sie doch erm\u00f6glichen, W\u00f6rterbuch-\u00e4hnliche \u00dcbersetzungslisten automatisch, ohne menschliche Zuarbeit, zu erzeugen.<\/p>\n\n\n\n<p>Die erste Frage ist, in welche Form Worte oder Texte f\u00fcr die Verarbeitung in einem GAN \u00fcberf\u00fchrt werden m\u00fcssen. Hier bieten sich Einbettungsvektoren an. Das Prinzip wird in diesem <a href=\"https:\/\/lamarr-institute.org\/de\/kontextabhaengige-einbettungsvektoren\/\" target=\"_blank\" rel=\"noreferrer noopener\">Grundlagen-Beitrag<\/a> erkl\u00e4rt. Zun\u00e4chst m\u00fcssen also f\u00fcr beide Sprachen, zwischen denen \u00fcbersetzt werden soll, Einbettungsvektoren berechnet werden. Hierf\u00fcr existieren mehrere praktikable Verfahren, die in unserem Blog Text zu Einbettungsvektoren erl\u00e4utert werden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/Translation1-1024x713.jpg\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-24842\" title=\"\"><figcaption class=\"wp-element-caption\">\u00a9 ML2R <br>Ein GAN zur \u00dcbersetzung von Worten<\/figcaption><\/figure>\n\n\n\n<p>In dieser Abbildung wird das Prinzip anhand von \u00dcbersetzungen von Englisch nach Franz\u00f6sisch veranschaulicht (siehe auch &#8222;<a href=\"https:\/\/arxiv.org\/abs\/1608.02996\" target=\"_blank\" rel=\"noreferrer noopener\">Towards cross-lingual distributed representations without parallel text trained with adversarial autoencoders<\/a>&#8222;): F\u00fcr einen Lernschritt werden je ein englischer und ein franz\u00f6sischer Einbettungsvektor zuf\u00e4llig ausgew\u00e4hlt. Es muss sich dabei nicht um Vektoren von denselben Worten handeln, denn das Lernen passiert un\u00fcberwacht. Aus dem englischen Einbettungsvektor produziert dann die Generator Komponente einen &#8222;franz\u00f6sischen&#8220; Einbettungsvektor und die Diskriminator Komponente muss entscheiden, welcher der beiden franz\u00f6sischen Vektoren ein Original und welches eine erzeugte Version ist.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/Translation2-1024x546.jpg\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-24844\" title=\"\"><figcaption class=\"wp-element-caption\">\u00a9 ML2R <br>Ein \u00dcbersetzungs GAN mit Autoencoder<\/figcaption><\/figure>\n\n\n\n<p>Die von einem GAN nach der Lernphase produzierten Einbettungsvektoren sind noch keine &#8222;\u00fcbersetzten&#8220; Worte. Hierf\u00fcr muss noch die Zuordnung des Einbettungsvektors zu einem Wort der Zielsprache durchgef\u00fchrt werden. Diese Zuordnung geschieht dadurch, dass mit Hilfe des Cosinus-Wertes die \u00c4hnlichkeit zu bekannten Worten der Zielsprache ermittelt und das \u00e4hnlichste Wort ausgew\u00e4hlt wird.<\/p>\n\n\n\n<p>Experimente mit Varianten dieser Architektur haben gezeigt, dass bessere Ergebnisse erzielt werden, wenn das Generator Netz ein (variational) Autoencoder ist (siehe obenstehende Abbildung). In diesem Fall bewertet die Diskriminator Komponente die <strong>interne<\/strong> Repr\u00e4sentation der Einbettungsvektoren aus dem Autoencoder. Um zu einer \u00dcbersetzung zu gelangen, m\u00fcssen diese Vektoren zun\u00e4chst mit dem Decoder transformiert werden, um dann mittels Cosinus-Abstand ein Wort der Zielsprache zu ermitteln.<\/p>\n\n\n\n<p>In der Publikation &#8222;<a href=\"https:\/\/direct.mit.edu\/coli\/article\/46\/2\/257\/93364\/Unsupervised-Word-Translation-with-Adversarial\" target=\"_blank\" rel=\"noreferrer noopener\">Unsupervised Word Translation with Adversarial Autoencoder<\/a>&#8220; wird diese Architektur mit der zyklischen Architektur kombiniert. Es ergibt sich eine komplexe Archtirektur aus zwei GANs, die gute Erfolge bei der \u00dcbersetzung zwischen mehreren Sprachen erzielt hat. Allerdings bleibt auch hier die Schwierigkeit der langsamen Konvergenz und der Notwendigkeit bestehen, die Hyperparameter innerhalb enger Grenzen passend zu w\u00e4hlen.<\/p>\n\n\n\n<p>GANs er\u00f6ffnen also eine interessante M\u00f6glichkeit, ohne die Vorgabe von Regeln oder anderem Expertenwissen, allein aus gro\u00dfen Datenmengen neue, f\u00fcr eine Dom\u00e4ne typische Beispiele zu erzeugen. Durch die zyklische Verschr\u00e4nkung von zwei GANs wurde eine erh\u00f6hte Stabilit\u00e4t des Systemverhaltens erreicht. Die Kombination von Beispieldaten mit der Zufallsverteilung als Eingabe erlaubt dabei eine gezielte Steuerung der produzierten Ergebnisse.<\/p>\n\n\n\n<p>Die Verwendung von GANs f\u00fcr zweifelhafte oder gar kriminelle Ziele im Bereich des &#8222;Deep Fake&#8220; genannten Umfelds darf f\u00fcr eine Bewertung nicht \u00fcbergangen werden. Es w\u00fcrde an dieser Stelle jedoch zu weit f\u00fchren, auf Einzelheiten einzugehen. Es wird intensiv daran gearbeitet, Analysemethoden zum Erkennen von derartigen F\u00e4lschungen zu entwickeln (siehe zum Beispiel &#8222;<a href=\"https:\/\/arxiv.org\/abs\/1909.11573\" target=\"_blank\" rel=\"noreferrer noopener\">Deep learning for deepfakes creation and detection: A survey<\/a>&#8222;)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GANs erm\u00f6glichen ohne die Vorgabe von Regeln oder anderem Expertenwissen, allein aus gro\u00dfen Datenmengen neue, dom\u00e4nenspezifische Beispiele zu erzeugen. In diesem Beitrag erkl\u00e4ren wir, wie GANs f\u00fcr die \u00dcbersetzung genutzt werden.<\/p>\n","protected":false},"author":9,"featured_media":4171,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog-category":[1416,390,1418],"blog-tag":[1479,1512,1514],"class_list":["post-4158","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-category-alle-blogbeitraege","blog-category-grundlagen","blog-category-sprachtechnologien","blog-tag-deep-fakes-de","blog-tag-gans-de","blog-tag-generative-ki"],"acf":[],"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog\/4158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/users\/9"}],"version-history":[{"count":0,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog\/4158\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/media\/4171"}],"wp:attachment":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/media?parent=4158"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog-category?post=4158"},{"taxonomy":"blog-tag","embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog-tag?post=4158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}