Zurück zu allen Blogbeiträgen

Generative Adversarial Networks: Wie mit Neuronalen Netzen Daten generiert werden können

  • Artificial Intelligence
  • Data Science
  • Machine Learning
15. Oktober 2020
·

Team statworx

Management Summary

Neuronale Netze haben sich in den letzten Jahren immer weiter zur Kerntechnologie im Bereich Machine Learning und AI entwickelt. Neben den klassischen Anwendungen der Daten-Klassifizierung und -Regression können sie auch dazu verwendet werden, neue, realistische Datenpunkte zu erzeugen. Die etablierte Modell-Architektur für die Datengenerierung sind sogenannte Generative Adversarial Networks (GANs). GANs bestehen aus zwei neuronalen Netzen, dem Generator- und dem Diskriminatornetzwerk. Die beiden Netzwerke werden iterativ gegeneinander trainiert. Hierbei versucht der Generator einen realistischen Datenpunkt zu erzeugen, während der Diskriminator lernt, echte und synthetische Datenpunkte zu unterscheiden. In diesem Minimax-Spiel verbessert der Generator seine Performance so weit, bis die erzeugten Datenpunkte nicht mehr von echten Datenpunkten zu unterscheiden sind.

Die Erzeugung synthetischer Daten mittels GANs hat eine Vielzahl von spannenden Anwendungsmöglichkeiten in der Praxis:

  1. Die Bild-Synthese
    Die ersten Erfolge von GANs wurden auf Basis von Bilddaten erreicht. Heute sind spezifische GAN-Architekturen fähig, Bilder von Gesichtern zu generieren, die kaum von echten unterscheidbar sind.
  2. Die Musik-Synthese
    Neben Bildern können GAN-Modelle auch verwendet werden, um Musik zu generieren. Im Bereich der Musik-Synthese wurden sowohl für das Erzeugen von realistischen Wellenformen als auch für die Generierung ganzer Melodien vielversprechende Resultate erreicht.
  3. Super-Resolution
    Ein weiteres Beispiel für den erfolgreichen Einsatz von GANs ist die Super-Resolution. Hierbei wird versucht, die Auflösung eines Bilds zu verbessern bzw. die Größe des Bildes verlustfrei zu erhöhen. Mittels GANs können schärfere Übergänge zwischen verschiedenen Bildbereichen als mit z.B. Interpolation erreicht und die allgemeine Bildqualität verbessert werden.
  4. Deepfakes
    Mittels Deepfake Algorithmen können Gesichter in Bildern und Videoaufnahmen durch andere Gesichter ersetzt werden. Dabei wird der Algorithmus auf möglichst vielen Daten der Zielperson trainiert. Danach kann damit die Mimik einer dritten Person auf die zu imitierende Person transferiert werden, und es entsteht ein „Deepfake“.
  5. Generierung zusätzlicher Trainingsdaten
    GANs werden auch dazu verwendet, die im maschinellen Lernen oft nur in geringen Mengen verfügbaren Trainingsdaten zu vermehren (auch Augmentieren genannt). Dabei wird ein GAN auf dem Trainingsdatensatz kalibriert, damit anschließend beliebig viele, neue Trainingsbeispiele generiert werden können. Das Ziel ist, mit den zusätzlich generierten Daten die Performance bzw. Generalisierbarkeit von ML-Modellen zu verbessern.
  6. Anonymisierung von Daten
    Letztlich können mittels GANs auch Daten anonymisiert werden. Dies ist vor allem für Datensätze, die personenbezogene Daten enthalten, ein wichtiger Anwendungsfall. Der Vorteil von GANs gegenüber anderen Ansätzen zur Datenanonymisierung ist, dass die statistischen Eigenschaften des Datensets erhalten bleiben. Dies ist wiederum wichtig für die Performance anderer Machine Learning Modelle, die auf diesen Daten trainiert werden. Da das Verarbeiten von personenbezogenen Daten heute im Bereich des maschinellen Lernens eine große Hürde darstellt, sind GANs für die Anonymisierung von Datensätzen ein vielversprechender Ansatz und haben das Potential, für Firmen die Tür zur Verarbeitung personenbezogener Daten zu öffnen.

In diesem Artikel wird die Funktionsweise von GANs erläutert. Zudem werden Use Cases diskutiert, die mithilfe von GANs umgesetzt werden können, und aktuelle Trends vorgestellt, die sich im Bereich von generativen Netzwerken abzeichnen.

Einleitung

Die größten Fortschritte der letzten Jahre im Bereich der künstlichen Intelligenz wurden durch die Anwendung von neuronalen Netzen erzielt. Diese haben sich insbesondere bei der Verarbeitung von unstrukturierten Daten, wie Texten oder Bildern, als äußerst zuverlässiger Ansatz zur Regression und Klassifizierung erwiesen. Ein bekanntes Beispiel ist die Klassifizierung von Bildern in zwei oder mehr Gruppen. Auf dem sogenannten ImageNet-Datensatz [1] mit insgesamt 1000 Klassen erreichen Neuronale Netze eine Top-5 Accuracy von 98.7%. Das bedeutet, dass für 98.7% der Bilder die richtige Klasse in den fünf besten Modellvorhersagen enthalten ist. Auch im Bereich der natürlichen Sprachverabreitung wurden in den letzten Jahren bahnbrechende Resultate durch die Anwendung von neuronalen Netzen erzielt. Die Transformer-Architektur wurde beispielsweise sehr erfolgreich für verschiedene Sprachverarbeitungsprobleme wie Question-Answering, Named Entity Recognition und Sentimentanalyse verwendet.

Weniger bekannt ist, dass neuronale Netze auch dazu verwendet werden können die zugrundeliegende Verteilung einer Datenmenge zu erlernen, um somit neue, realistische Beispieldaten zu generieren. Als zielführende Modell-Architektur für diese Problemstellung haben sich in den letzten Jahren Generative Adversarial Networks (GANs) etabliert. Durch deren Anwendung ist es möglich, synthetische Datenpunkte zu erzeugen, die die gleichen statistischen Eigenschaften wie die zugrundeliegenden Trainingsdaten aufweisen. Dies eröffnet viele spannende Anwendungsfälle, von denen nachfolgend einige vorgestellt werden.

Generative Adversarial Networks

GANs sind eine neue Klasse von Algorithmen im Bereich des maschinellen Lernens. Wie zuvor erläutert, handelt es sich dabei um Modelle, die neue, realistische Datenpunkte generieren können, nachdem sie auf einem bestimmten Datensatz trainiert wurden. GANs bestehen im Kern aus zwei neuronalen Netzen, die für spezifische Tasks im Lernprozess zuständig sind. Der Generator ist dafür verantwortlich, einen zufällig generierten Input in ein realistisches Sample der zu lernenden Verteilung zu transformieren. Im Gegensatz dazu ist es die Aufgabe des Diskriminators, echte von generierten Datenpunkten zu unterscheiden.

Eine einfache Analogie ist das Wechselspiel eines Fälschers und eines Polizisten. Der Fälscher versucht möglichst realistische Münzfälschungen zu kreieren, während der Polizist die Fälschungen von echten Münzen unterscheiden will. Je besser die Nachbildungen des Fälschers sind, desto besser muss der Polizist die Münzen unterscheiden können, um die gefälschten Exemplare zu erkennen. Andererseits müssen die Fälschungen immer besser werden, da der Polizist mit seiner Erfahrung gefälschte Münzen zuverlässiger erkennen kann. Es ist einleuchtend, dass im Verlaufe dieses Prozesses sowohl der Fälscher als auch der Polizist in ihrer jeweiligen Aufgabe besser werden. Dieser iterative Prozess bildet auch die Grundlage für das Training der GAN-Modelle. Der Fälscher entspricht hier dem Generator, während der Polizist die Rolle des Diskriminators einnimmt.

Wie werden Generator- und Diskriminator-Netzwerke trainiert?

In einem ersten Schritt wird der Diskriminator fixiert. Das bedeutet, dass in diesem Schritt für das Diskriminatornetzwerk keine Anpassungen der Parameter vorgenommen werden. Für eine bestimmte Anzahl an Trainingsschritten wird dann der Generator trainiert. Der Generator wird, wie für neuronale Netze üblich, mittels Backpropagation trainiert. Sein Ziel ist, dass die aus dem zufälligen Input entstehenden „gefälschten“ Outputs von dem aktuellen Diskriminator als echte Beispiele klassifiziert werden. Es ist wichtig zu erwähnen, dass die Trainingsfortschritte vom aktuellen Stand des Diskriminators abhängen.

Im zweiten Schritt wird der Generator fixiert und ausschließlich der Diskriminator trainiert, indem er sowohl echte als auch generierte Beispiele mit entsprechenden Labels als Trainingsinput verarbeitet. Das Ziel des Trainingsprozesses ist, dass der Generator so realistische Beispiele zu erschaffen lernt, dass der Diskriminator sie nicht mehr von echten unterscheiden kann. Zum besseren Verständnis ist der GAN-Trainingsprozess in der Abbildung 1 schematisch abgebildet.

Abbildung 1 – Architektur eines GANs

Herausforderungen des Trainingsprozesses

Aufgrund der Natur des alternierenden Trainingsprozesses können verschiedene Probleme beim Training eines GANs auftreten. Eine häufige Herausforderung ist, dass das Feedback des Diskriminators schlechter wird, je besser der Generator im Verlauf des Trainings wird.

Man kann sich den Prozess folgendermaßen vorstellen: Wenn der Generator Beispiele generieren kann, die von echten Beispielen nicht mehr unterscheidbar sind, bleibt dem Diskriminator nichts anderes übrig, als zu raten aus welcher Klasse das jeweilige Beispiel stammt. Wenn man also das Training nicht rechtzeitig beendet, ist es möglich, dass die Qualität des Generators und des Diskriminators aufgrund der zufälligen Rückgabewerten des Diskriminators wieder abnimmt.

Ein weiteres häufig auftretendes Problem ist der sogenannte „Mode-Collapse“. Dieser tritt auf, wenn das Netzwerk anstatt die Eigenschaften der zugrundeliegenden Daten zu lernen, sich einzelne Beispiele dieser Daten merkt oder nur Beispiele mit geringer Variabilität generiert. Einige Ansätze, um diesem Problem entgegenzuwirken, sind das Verarbeiten mehrerer Beispiele gleichzeitig (in Batches) oder das simultane Zeigen vergangener Beispiele, damit der Diskriminator mangelnde Unterscheidbarkeit der Beispiele quantifizieren kann.

Use Cases für GANs

Die Erzeugung von synthetischen Daten mittels GANs hat eine Vielzahl von spannenden Anwendungsmöglichkeiten in der Praxis. Die ersten eindrucksvollen Resultate von GANs wurden auf Basis von Bilddaten erreicht, dicht gefolgt von der Generierung von Audiodaten. In den letzten Jahren wurden GANs jedoch auch erfolgreich auf andere Datentypen, wie tabellarische Daten, angewendet. Im Folgenden werden ausgewählte Anwendungen vorgestellt.

1.    Die Bild-Synthese

Eine der bekanntesten Anwendungen von GANs ist die Bild-Synthese. Hierbei wird ein GAN auf Basis eines großen Bilddatensatzes trainiert. Dabei erlernt das Generatornetzwerk die wichtigen gemeinsamen Merkmale und Strukturen der Bilder. Ein Beispiel ist die Generierung von Gesichtern. Die Portraits in der Abbildung 2 wurden mittels speziellen GAN-Netzwerken erzeugt, die für Bilddaten optimierte Faltungsnetzwerke, „Convolutional Neural Networks“ (CNN), verwenden. Natürlich können auch andere Arten von Bildern mittels GANs erzeugt werden, wie zum Beispiel handgeschriebene Zeichen, Fotos von Gegenständen oder Häusern. Die grundlegende Voraussetzung für gute Resultate ist ein ausreichend großer Datensatz.

Ein praktischer Anwendungsfall dieser Technologie findet sich im Online Retail. Hier werden mittels GAN Fotos von Models in spezifischen Kleidungsstücken oder bestimmten Posen erzeugt.

Abbildung 2 – GAN-generierte Gesichter

2.    Die Musik-Synthese

Im Gegensatz zur Erzeugung von Bildern beinhaltet die Musik-Synthese eine temporale Komponente. Da Audio-Wellenformen sehr periodisch sind und das menschliche Ohr sehr empfindlich gegen Abweichungen dieser Wellenformen ist, hat die Erhaltung der Signalperiodizität einen hohen Stellenwert für GANs, die Musik generieren. Dies hat zu GAN-Modellen geführt, die anstatt der Wellenform die Magnituden und Frequenzen des Tons generieren. Beispiele für GANs zur Musiksynthese sind das GANSynth [3], welches für das Generieren von realistischen Wellenformen optimiert ist, und das MuseGAN [4] –  seinerseits spezialisiert auf das Generieren von ganzen Melodiesequenzen. Im Internet finden sich diverse Quellen, die von GANs erzeugte Musikstücke präsentieren. [5, 6]  Es ist zu erwarten, dass GANs in den nächsten Jahren für eine hohe Disruption in der Musikbranche führen werden.

Die Abbildung 3 zeigt Ausschnitte der vom MuseGAN generierten Musik für verschiedene Trainingsschritte. Zu Beginn des Trainings (step 0) ist der Output rein zufällig und im letzten Schritt (step 7900) erkennt man, dass z.B. der Bass eine typische Basslinie spielt und die Streicher vorwiegend gehaltene Akkorde spielen.

Abbildung 3 – MuseGAN Trainingsverlauf

3.    Die Super-Resolution

Der Prozess der Wiedergewinnung eines hochauflösenden Bildes aus einem tiefer aufgelösten Bild heißt Super-Resolution. Die Schwierigkeit hierbei besteht darin, dass es sehr viele mögliche Lösungen für die Wiederherstellung des Bildes gibt.

Ein klassischer Ansatz für Super-Resolution ist Interpolation. Dabei werden die für die höhere Auflösung fehlenden Pixel mittels einer vorgegebenen Funktion von den benachbarten Pixeln abgeleitet. Dabei gehen aber typischerweise viele Details verloren und die Übergänge zwischen verschiedenen Bildteilen verschwimmen. Da GANs die Hauptmerkmale von Bilddaten gut erlernen können, sind sie auch für das Problem der Super-Resolution ein geeigneter Ansatz. Dabei wird für das Generator-Netzwerk nicht mehr ein zufälliger Input verwendet, sondern das niedrigaufgelöste Bild. Der Diskriminator lernt dann generierte Bilder höherer Auflösung von den echten Bildern höherer Auflösung zu unterscheiden. Das trainierte GAN-Netzwerk kann dann auf neuen tief aufgelösten Bildern verwendet werden.

Ein State of the Art GAN für Super-Resolution ist das SRGAN [7]. In der Abbildung 4 sind die Resultate für verschiedene Super-Resolution-Ansätze für ein Beispielbild abgebildet. Das SRGAN (zweites Bild von rechts) liefert das schärfste Resultat. Besonders Details wie Wassertropfen oder die Oberflächenstruktur des Kopfschmucks werden vom SRGAN erfolgreich rekonstruiert.

Abbildung 4 – Beispiel Super-Resolution für 4x Upscaling (von links nach rechts: bikubische Interpolation, SRResNet, SRGAN, Originalbild)

4.    Deepfakes: Audio und Video

Mittels Deepfake-Algorithmen können Gesichter in Bildern und Videoaufnahmen durch andere Gesichter ersetzt werden. Die Resultate sind mittlerweile so gut, dass die Deepfakes nur schwer von echten Aufnahmen unterschieden werden können. Um einen Deepfake herzustellen wird wird der Algorithmus zunächst auf möglichst vielen Daten der Zielperson trainiert, damit anschließend die Mimik einer dritten Person auf die zu imitierende Person transferiert werden kann. In der Abbildung 5 sehen Sie den Vorher-nachher-Vergleich eines Deepfakes. Dabei wurde das Gesicht des Schauspielers Matthew McConaughey (Bildausschnit aus dem Film „Interstellar“) (links) durch das Gesicht des Tech-Unternehmers Elon Musk ersetzt (rechts).

Diese Technik lässt sich beispielsweise auch auf Audiodaten anwenden. Dabei wird das Modell auf eine Zielstimme trainiert, um dann die Stimme in der Originalaufnahme durch die Zielstimme zu ersetzen.

Abbildung 5 – Deepfake Sample Images

5.    Generierung zusätzlicher Trainingsdaten

Um tiefe neuronale Netze mit vielen Parametern trainieren zu können, werden i.d.R. sehr große Datenmengen benötigt. Oft ist es nur schwer oder gar nicht möglich, an eine ausreichend große Datenmengen zu gelangen oder diese zu erheben. Ein Ansatz, um auch mit weniger Daten ein gutes Resultat zu erzielen, ist die Data Augmentation. Dabei werden die vorhandenen Datenpunkte leicht abgeändert, um somit neue Trainingsbeispiele zu kreieren. Häufig wird dies bspw. im Bereich von Computer Vision angewendet, indem Bilder rotiert oder mittels Zoom neue Bildausschnitte abgeleitet werden. Ein neuerer Ansatz für Data Augmentation ist das Verwenden von GANs. Die Idee ist, dass GANs die Verteilung der Trainingsdaten erlernen und somit theoretisch unendlich viele neue Beispiele generiert werden können. Für die Erkennung von Krankheiten auf Tomographie-Bildern wurde dieser Ansatz beispielsweise erfolgreich umgesetzt [9]. GANs können also dazu verwendet werden, neue Trainingsdaten für Probleme zu generieren, bei denen nicht genügend große Datenmengen für das Training vorhanden sind.

In vielen Fällen ist das Erheben größerer Datenmengen auch mit erheblichen Kosten verbunden, insbesondere dann, wenn die Daten für das Training manuell gekennzeichnet werden müssen. In diesen Situationen können GANs verwendet werden, um die anfallenden Kosten einer zusätzlichen Datenakquise zu reduzieren.

Ein weiteres technisches Problem beim Training von Machine Learning Modellen, bei dem GANs Abhilfe schaffen können, sind Imbalanced Datasets. Dabei handelt es sich um Datensätze mit verschiedenen Klassen, die unterschiedlich häufig repräsentiert sind. Um mehr Trainingsdaten der unterrepräsentierten Klasse zu erhalten, kann man für dieser Klasse ein GAN trainieren, um weitere synthetisch generierte Datenpunkte zu erzeugen, die dann im Training verwendet werden. Beispielsweise gibt es deutlich weniger Mikroskop-Aufnahmen von krebsbefallenen Zellen als von gesunden. GANs ermöglichen in diesem Fall, bessere Modelle zur Erkennung von Krebszellen zu trainieren und können so Ärzte bei der Krebsdiagnose unterstützen.

6.    Anonymisierung von Daten

Ein weiterer interessanter Anwendungsbereich von GANs ist die Anonymisierung von Datensätzen. Klassische Ansätze für die Anonymisierung sind das Entfernen von Identifikator-Spalten oder das zufällige Ändern ihrer Werte. Resultierende Probleme sind bspw., dass mit entsprechendem Vorwissen trotzdem Rückschlüsse auf die Personen hinter den personenbezogenen Daten gezogen werden können. Auch die Änderung der statistischen Eigenschaften des Datensatzes durch das Fehlen oder Abändern bestimmter Informationen kann den Nutzen der Daten schmälern. GANs können auch dazu verwendet werden, anonymisierte Datensätze zu generieren. Sie werden dabei so trainiert, dass die persönlichen Daten im generierten Datensatz nicht mehr identifiziert, aber Modelle trotzdem ähnlich gut damit trainiert werden können [10]. Erklären kann man diese gleichbleibende Qualität der Modelle damit, dass die zugrundeliegenden statistischen Eigenschaften des ursprünglichen Datensatzes von dem GAN gelernt, und somit auch erhalten werden.

Anonymisierung mithilfe von GANs kann neben tabellarischen Daten auch spezifisch für Bilder angewendet werden. Dabei werden Gesichter oder andere persönliche Merkmale/Elemente auf dem Bild durch generierte Varianten ersetzt. Dies erlaubt, Computer Vision Modelle mit realistisch aussehenden Daten zu trainieren, ohne mit Datenschutzproblemen konfrontiert zu werden. Oft wird die Qualität der Modelle deutlich schlechter, wenn wichtige Merkmale eines Bilds, wie beispielsweise ein Gesicht, verpixelt oder weichgezeichnet in den Trainingsprozess einbezogen werden.

Fazit und Ausblick

Durch die Anwendung von GANs kann die Verteilung von Datensätzen beliebiger Art gelernt werden. Wie oben erläutert werden GANs bereits auf verschiedenste Problemstellungen erfolgreich angewendet. Da GANs erst 2014 entdeckt wurden und großes Potential bewiesen haben, wird aktuell sehr intensiv daran geforscht. Die Lösung der oben erwähnten Probleme beim Training, wie z.B. „Mode-Collapse“, sind in der Forschung weit verbreitet. Es wird unter anderem an alternativen Loss-Funktionen und allgemein stabilisierenden Trainingsverfahren geforscht. Ein weiteres aktives Forschungsgebiet ist die Konvergenz von GAN-Netzwerken. Aufgrund der Fortschritte des Generators und Diskriminators während des Trainingsprozesses ist es sehr wichtig, zum richtigen Zeitpunkt das Training zu beenden, um den Generator nicht weiter auf schlechten Diskriminator-Ergebnissen zu trainieren. Um das Training zu stabilisieren, wird zudem an Ansätzen geforscht, die Diskriminator-Inputs mit Rauschen versehen, um die Anpassung des Diskriminators während des Trainings zu limitieren.

Ein modifizierter Ansatz zur Generierung neuer Trainingsdaten sind Generative Teaching Networks. Dabei wird der Fokus des Trainings nicht primär auf das Erlernen der Datenverteilung gelegt, sondern man versucht direkt zu lernen, welche Daten das Training am schnellsten vorantreiben, ohne zwingend Ähnlichkeit mit den Originaldaten vorzuschreiben. [11] Am Beispiel von handgeschriebenen Zahlen konnte gezeigt werden, dass neuronale Netzwerke mit diesen künstlichen Inputdaten schneller lernen können als mit den Originaldaten. Dieser Ansatz lässt sich auch auf andere Datenarten als Bilddaten anwenden. Im Bereich der Anonymisierung ist man bisher imstande, Teile eines Datensatzes mit Persönlichkeitsschutzgarantien zuverlässig zu generieren. Diese Anonymisierungsnetzwerke können weiterentwickelt werden, um mehr Typen von Datensätzen abzudecken.

Im Bereich von GANs werden sehr schnell theoretische Fortschritte gemacht, die bald den Weg in die Praxis finden werden. Da das Verarbeiten von personenbezogenen Daten heute im Bereich des maschinellen Lernens eine große Hürde darstellt, sind GANs für die Anonymisierung von Datensätzen ein vielversprechender Ansatz und haben das Potenzial, für Unternehmen die Tür zur Verarbeitung personenbezogener Daten zu öffnen.

Quellen

  1. http://www.image-net.org/
  2. https://arxiv.org/abs/1710.10196
  3. https://openreview.net/pdf?id=H1xQVn09FX
  4. https://arxiv.org/abs/1709.06298
  5. https://salu133445.github.io/musegan/results
  6. https://storage.googleapis.com/magentadata/papers/gansynth/index.html
  7. https://arxiv.org/abs/1609.04802
  8. https://github.com/iperov/DeepFaceLab
  9. https://arxiv.org/abs/1803.01229
  10. https://arxiv.org/abs/1806.03384
  11. https://eng.uber.com/generative-teaching-networks/
Linkedin Logo
Marcel Plaschke
Head of Strategy, Sales & Marketing
Beratung vereinbaren
Zugehörige Leistungen
No items found.

Weitere Blogartikel

  • Coding
  • Python
  • Statistics & Methods
Ensemble-Methoden im maschinellen Lernen: Bagging & Subagging
Team statworx
15.4.2025
Mehr erfahren
  • Deep Learning
  • Python
  • Tutorial
Verwendung von Reinforcement Learning zum Spielen von Super Mario Bros auf NES mit TensorFlow
Sebastian Heinz
15.4.2025
Mehr erfahren
  • Coding
  • Machine Learning
  • R
Abstimmung von Random Forest auf Zeitreihendaten
Team statworx
15.4.2025
Mehr erfahren
  • Data Science
  • Statistics & Methods
Modellregularisierung – The Bayesian Way
Thomas Alcock
15.4.2025
Mehr erfahren
  • Coding
  • Python
  • Statistics & Methods
Wie man Gradient Boosting um den Faktor Zwei beschleunigt
Team statworx
15.4.2025
Mehr erfahren
  • Coding
  • Frontend
  • R
Dynamische UI-Elemente in Shiny - Teil 2
Team statworx
15.4.2025
Mehr erfahren
  • Coding
  • R
Warum heißen sie so?! – Ursprung und Bedeutung von R-Paketnamen
Team statworx
15.4.2025
Mehr erfahren
  • Data Engineering
  • Python
Von überall aus auf deinen Spark-Cluster zugreifen – mit Apache Livy
Team statworx
15.4.2025
Mehr erfahren
  • Coding
  • Data Engineering
  • Data Science
Testen von REST-APIs mit Newman
Team statworx
14.4.2025
Mehr erfahren
  • Machine Learning
  • Python
  • R
XGBoost: Entscheidungsbaum vs. Lineares Modell
Fabian Müller
14.4.2025
Mehr erfahren
  • Data Science
  • R
Kombination von Preiselastizitäten und Verkaufsprognosen zur Verkaufssteigerung
Team statworx
14.4.2025
Mehr erfahren
  • Data Science
  • Machine Learning
  • R
Zeitreihenvorhersage mit Random Forest
Team statworx
14.4.2025
Mehr erfahren
  • Data Visualization
  • R
Gemeinschaftsdetektion mit Louvain und Infomap
Team statworx
14.4.2025
Mehr erfahren
  • Machine Learning
Machine Learning Goes Causal II: Der kausale Bruder des Random Forests
Team statworx
11.4.2025
Mehr erfahren
  • Coding
  • Data Visualization
  • R
Animierte Diagramme mit ggplot und gganimate
Team statworx
8.4.2025
Mehr erfahren
  • Artificial Intelligence
AI Trends Report 2025: Die 16 Trends im Überblick
Tarik Ashry
25.2.2025
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • GenAI
Wie ein CustomGPT Effizienz und Kreativität bei hagebau fördert
Tarik Ashry
15.1.2025
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Human-centered AI
Explainable AI in der Praxis: Mit der richtigen Methode die Black Box öffnen
Jonas Wacker
15.1.2025
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Zurück in die Zukunft: Die Geschichte von Generativer KI (Episode 4)
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Zurück in die Zukunft: Die Geschichte von Generativer KI (Episode 3)
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Zurück in die Zukunft: Die Geschichte von Generativer KI (Episode 2)
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Culture
  • Data Science
  • Deep Learning
  • GenAI
  • Machine Learning
AI Trends Report 2024: statworx COO Fabian Müller zieht eine Zwischenbilanz
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Maßgeschneiderte KI-Chatbots: Hohe Leistung und schnelle Integration vereint
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Zurück in die Zukunft: Die Geschichte von Generativer KI (Episode 1)
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Culture
  • Human-centered AI
KI in der Arbeitswelt: Wie wir Skepsis in Zuversicht verwandeln
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Generative KI als Denkmaschine? Ein medientheoretischer Blick
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Culture
  • Human-centered AI
Wie Führungskräfte die Datenkultur im Unternehmen stärken können
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
Wie wir für Microsoft einen Chatbot mit echtem Wissen entwickelt haben
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Data Visualization
  • Frontend Solution
Warum Frontend-Entwicklung in Data Science-Anwendungen nützlich ist
Jakob Gepp
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • statworx
the byte - Wie wir ein KI-gesteuertes Pop-up Restaurant aufgebaut haben
Sebastian Heinz
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • GenAI
Die Zukunft des Customer Service: Generative KI als Erfolgsfaktor
Tarik Ashry
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Strategy
Der AI-Act ist da – diese Risikoklassen sollte man kennen
Fabian Müller
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Machine Learning
Genderdarstellung in der KI – Teil 2: Automatisierte Erzeugung genderneutraler Versionen von Gesichtsbildern
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Human-centered AI
  • Statistics & Methods
Die Black-Box entschlüsseln – 3 Explainable AI Methoden zur Vorbereitung auf den AI-Act
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Strategy
Wie der AI-Act die KI-Branche verändern wird: Alles, was man jetzt darüber wissen muss
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Recap
  • statworx
Big Data & AI World 2023 Recap
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Statistics & Methods
Ein erster Einblick in unser Forecasting Recommender Tool
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
Vom Können, Tun und Wollen – Warum Datenkultur und Death Metal einiges miteinander gemeinsam haben
David Schlepps
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
Wie man KI-generierte Avatare mit Hilfe von Stable Diffusion und Textual Inversion erstellt
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Strategy
Das Geheimnis der Datenkultur entschlüsseln: Diese Faktoren beeinflussen Kultur und Erfolg von Unternehmen
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Machine Learning
GPT-4 – Eine Einordnung der wichtigsten Neuerungen
Mareike Flögel
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Strategy
Knowledge Management mit NLP: So einfach verarbeitet man E-Mails mit KI
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
3 Anwendungsfälle, wie ChatGPT die Kommunikation in Unternehmen revolutionieren wird
Ingo Marquart
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Machine Learning
  • Tutorial
Paradigmenwechsel in NLP: 5 Ansätze, um bessere Prompts zu schreiben
Team statworx
6.12.2024
Mehr erfahren
  • Recap
  • statworx
Ho ho ho – weihnachtlicher Küchenabriss
Julius Heinz
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
Real-time Computer Vision: Gesichter erkennen mit einem Roboter
Sarah Sester
6.12.2024
Mehr erfahren
  • Recap
  • statworx
statworx @ UXDX Conf 2022
Markus Berroth
6.12.2024
Mehr erfahren
  • Data Engineering
  • Tutorial
Data Engineering – From Zero to Hero
Thomas Alcock
6.12.2024
Mehr erfahren
  • Recap
  • statworx
statworx @ vuejs.de Conf 2022
Jakob Gepp
6.12.2024
Mehr erfahren
  • Data Engineering
  • Data Science
Überwachung und Protokollierung von Anwendungen und Infrastruktur: Metriken und (Ereignis-)Protokolle
Team statworx
6.12.2024
Mehr erfahren
  • Data Engineering
  • Data Science
  • Python
Wie Du Deinen Code und Deine Abhängigkeiten in Python scannst
Thomas Alcock
6.12.2024
Mehr erfahren
  • Cloud Technology
  • Data Engineering
  • Data Science
Wie du dein Data Science Projekt fit für die Cloud machst
Alexander Broska
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Machine Learning
Geschlechter­darstellung in der KI – Teil 1: Verwendung von StyleGAN zur Erforschung von Geschlechter­vielfalt bei der Bild­bearbeitung
Isabel Hermes
6.12.2024
Mehr erfahren
  • R
Das helfRlein Package – Eine Sammlung nützlicher Funktionen
Team statworx
6.12.2024
Mehr erfahren
  • Data Engineering
  • Data Science
  • Machine Learning
Data-Centric AI: Von Model-First zu Data-First KI-Prozessen
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Human-centered AI
  • Machine Learning
DALL-E 2: Warum Diskriminierung in der KI-Entwicklung nicht ignoriert werden kann
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
statworx AI Principles: Warum wir eigene KI-Prinzipien entwickeln
Team statworx
6.12.2024
Mehr erfahren
  • Recap
  • statworx
5 Highlights vom Digital Festival Zürich 2021
Team statworx
6.12.2024
Mehr erfahren
  • Recap
  • statworx
Unfold 2022 in Bern – by Cleverclip
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Human-centered AI
  • Machine Learning
  • Strategy
Warum Data Science und KI-Initiativen scheitern – eine Reflektion zu nicht-technischen Faktoren
Team statworx
6.12.2024
Mehr erfahren
  • Machine Learning
  • Python
  • Tutorial
Wie man eine Machine Learning API mit Python und Flask erstellt
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Human-centered AI
  • Machine Learning
Vorurteile in KI abbauen
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Cloud Technology
  • Data Science
  • Sustainable AI
Wie du als Data Scientist deinen KI CO₂ Fußabdruck verringerst
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Data Engineering
Automatisierte Erstellung von Docker Containern
Stephan Emmer
6.12.2024
Mehr erfahren
  • Coding
  • Data Visualization
  • R
Anpassung der Zeit- und Datumsskalen in ggplot2
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Machine Learning
5 Typen von Machine Learning Algorithmen (Mit Anwendungsfällen)
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Machine Learning
  • Python
Data Science in Python – Der Einstieg in Machine Learning mit Scikit-Learn
Team statworx
6.12.2024
Mehr erfahren
  • Recap
  • statworx
2022 und die Reise zu statworx next
Sebastian Heinz
6.12.2024
Mehr erfahren
  • Recap
  • statworx
Als Data Science Praktikant bei statworx
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Data Science
  • Python
Wie man mit Call Graph automatisch Projektgrafiken erstellt
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Human-centered AI
  • Machine Learning
  • statworx
Kolumne: Mensch und Maschine Seite an Seite
Sebastian Heinz
6.12.2024
Mehr erfahren
  • Data Engineering
  • Data Science
  • Machine Learning
Machine Learning Modelle bereitstellen und skalieren mit Kubernetes
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Python
  • Tutorial
statworx Cheatsheets – Python Basics Cheatsheet für Data Science
Team statworx
6.12.2024
Mehr erfahren
  • Cloud Technology
  • Data Engineering
  • Machine Learning

3 Szenarien zum Deployment von Machine Learning Workflows mittels MLflow
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • statworx
  • Strategy
STATWORX meets DHBW – Data Science Real-World Use Cases
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Deep Learning
Car Model Classification I: Transfer Learning mit ResNet
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
Car Model Classification IV: Integration von Deep Learning Modellen mit Dash
Dominique Lade
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning

Car Model Classification III: Erklärbarkeit von Deep Learning Modellen mit Grad-CAM
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Coding
  • Deep Learning
Car Model Classification II: Deployment von TensorFlow-Modellen in Docker mit TensorFlow Serving
Team statworx
6.12.2024
Mehr erfahren
  • AI Act
Potenzial noch nicht ausgeschöpft – Ein Kommentar zur vorgeschlagenen KI-Regulierung der EU
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • statworx
Creaition – Revolutionierung des Designprozesses mit Machine Learning
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Deep Learning
Die 5 wichtigsten Use Cases für Computer Vision
Team statworx
6.12.2024
Mehr erfahren
  • Data Engineering
5 Technologien, die jeder Data Engineer kennen sollte
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
5 praxisnahe Beispiele für NLP Use Cases
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Data Science
  • Deep Learning
Finetuning von Tesseract-OCR für deutsche Rechnungen
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Deep Learning
Neue Trends im Natural Language Processing – Wie NLP massentauglich wird
Dominique Lade
6.12.2024
Mehr erfahren
  • Data Engineering
  • Data Science
  • Machine Learning
Machine Learning Modelle mit Hilfe von Docker Containern bereitstellen
Thomas Alcock
6.12.2024
Mehr erfahren
  • Frontend
  • Python
  • Tutorial
Wie Du ein Dashboard In Python baust – Plotly Dash Step-by-Step Tutorial
Alexander Blaufuss
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Machine Learning
Whitepaper: Ein Reifegradmodell für Künstliche Intelligenz
Team statworx
6.12.2024
Mehr erfahren
  • Data Engineering
  • R
  • Tutorial
Wie Du ShinyApps in Docker-Images einbauen kannst
Team statworx
6.12.2024
Mehr erfahren
  • Recap
  • statworx
STATWORX 2.0 – Das neue Headquarter in Frankfurt ist eröffnet
Julius Heinz
6.12.2024
Mehr erfahren
  • Coding
  • Python
Web Scraping 101 in Python mit Requests & BeautifulSoup
Team statworx
6.12.2024
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
Deep Learning – Überblick und Einstieg
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • R
  • Statistics & Methods
Wie man eine Kreuzvalidierung zur Evaluation der Modellperformance von Grund auf selbst erstellt
Team statworx
6.12.2024
Mehr erfahren
  • Machine Learning
  • R
  • Statistics & Methods
Was dem MAPE fälschlicherweise vorgeworfen wird, seine WAHREN Schwächen und BESSERE Alternativen!
Team statworx
6.12.2024
Mehr erfahren
  • Data Visualization
  • R
Interaktive Netzwerkvisualisierung mit R
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Tutorial
Eine Einführung in Dataiku DSS
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Data Visualization
  • Python
Das häufigste Problem mit Plotly Histograms und wie man es löst
Team statworx
6.12.2024
Mehr erfahren
  • Coding
  • Data Engineering
  • R
Wie Du ein R-Skript in Docker ausführst
Team statworx
6.12.2024
Mehr erfahren
  • Data Science
  • Data Visualization
  • Python
Data Science in Python – Matplotlib – Teil 4
Team statworx
6.12.2024
Mehr erfahren
This is some text inside of a div block.
This is some text inside of a div block.