Künstliche Intelligenz
Was ist synthetische Daten?

Was ist synthetische Daten?
Synthetische Daten sind ein schnell wachsendes Trend und ein aufkommendes Werkzeug im Bereich der Datenwissenschaft. Was sind synthetische Daten genau? Die kurze Antwort ist, dass synthetische Daten aus Daten bestehen, die nicht auf realen Phänomenen oder Ereignissen basieren, sondern durch ein Computerprogramm generiert werden. Doch warum werden synthetische Daten so wichtig für die Datenwissenschaft? Wie werden synthetische Daten erstellt? Lassen Sie uns die Antworten auf diese Fragen erkunden.
Was ist ein synthetisches Datenset?
Wie der Begriff “synthetisch” bereits andeutet, werden synthetische Datensets durch Computerprogramme generiert, anstatt durch die Dokumentation realer Ereignisse zusammengestellt zu werden. Der primäre Zweck eines synthetischen Datensets ist es, vielseitig und robust genug zu sein, um für die Ausbildung von Machine-Learning-Modellen nützlich zu sein.
Um für einen Machine-Learning-Klassifizierer nützlich zu sein, sollten synthetische Daten bestimmte Eigenschaften aufweisen. Während die Daten kategorial, binär oder numerisch sein können, sollte die Länge des Datensets willkürlich sein und die Daten sollten zufällig generiert werden. Die zur Generierung der Daten verwendeten Zufallsprozesse sollten kontrollierbar sein und auf verschiedenen statistischen Verteilungen basieren. Zufälliges Rauschen kann auch in das Datenset eingebracht werden.
Wenn synthetische Daten für einen Klassifizierungs-Algorithmus verwendet werden, sollte die Menge an Klassen-Trennung anpassbar sein, damit das Klassifizierungsproblem je nach Anforderung des Problems einfacher oder schwieriger gemacht werden kann. Während für eine Regressionsaufgabe nicht-lineare generierende Prozesse eingesetzt werden können, um die Daten zu generieren.
Warum synthetische Daten verwenden?
Da Machine-Learning-Frameworks wie TensorFlow und PyTorch einfacher zu verwenden sind und vorgefertigte Modelle für Computer-Vision und Natural-Language-Processing allgegenwärtiger und leistungsfähiger werden, ist das primäre Problem, das Datenwissenschaftler lösen müssen, die Erfassung und Handhabung von Daten. Unternehmen haben oft Schwierigkeiten, große Mengen an Daten zu sammeln, um innerhalb eines bestimmten Zeitrahmens ein genaues Modell zu trainieren. Das manuelle Labeln von Daten ist eine kostspielige und langsame Methode, um Daten zu sammeln. Die Generierung und Verwendung synthetischer Daten kann jedoch Datenwissenschaftlern und Unternehmen helfen, diese Hürden zu überwinden und zuverlässige Machine-Learning-Modelle schneller zu entwickeln.
Es gibt eine Reihe von Vorteilen bei der Verwendung synthetischer Daten. Der offensichtlichste Vorteil der Verwendung synthetischer Daten ist, dass sie den Bedarf an der Erfassung von Daten aus realen Ereignissen reduzieren und es ermöglichen, Daten und ein Datenset viel schneller zu generieren als ein Datenset, das von realen Ereignissen abhängt. Dies bedeutet, dass große Mengen an Daten in kurzer Zeit produziert werden können. Dies ist besonders wahr für Ereignisse, die selten auftreten, da mehr Daten aus einigen echten Datenproben erstellt werden können, wenn ein Ereignis selten in der Natur auftritt. Darüber hinaus können die Daten automatisch beschriftet werden, während sie generiert werden, was den Zeitbedarf für die Beschriftung von Daten erheblich reduziert.
Synthetische Daten können auch nützlich sein, um Trainingsdaten für Randfälle zu gewinnen, die Instanzen sind, die möglicherweise nur selten auftreten, aber für den Erfolg von KI-Systemen kritisch sind. Randfälle sind Ereignisse, die sehr ähnlich zum primären Ziel eines KI-Systems sind, aber sich in wichtigen Aspekten unterscheiden. Beispielsweise können Objekte, die nur teilweise in Sicht sind, als Randfälle bei der Entwicklung eines Bildklassifizierers betrachtet werden.
Schließlich können synthetische Datensets datenschutzbedenken minimieren. Versuche, Daten zu anonymisieren, können ineffektiv sein, da selbst wenn sensible/identifizierende Variablen aus dem Datenset entfernt werden, andere Variablen als Identifikatoren wirken können, wenn sie kombiniert werden. Dies ist bei synthetischen Daten kein Problem, da sie nie auf einer realen Person oder einem realen Ereignis basierten.
Anwendungsfälle für synthetische Daten
Synthetische Daten haben eine breite Palette von Anwendungsfällen, da sie auf fast jede Machine-Learning-Aufgabe angewendet werden können. Gängige Anwendungsfälle für synthetische Daten umfassen selbstfahrende Fahrzeuge, Sicherheit, Robotik, Betrugsprävention und Gesundheitswesen.
Einer der ersten Anwendungsfälle für synthetische Daten waren selbstfahrende Autos, da synthetische Daten verwendet werden, um Trainingsdaten für Autos in Bedingungen zu erstellen, in denen die Erlangung von realen Trainingsdaten auf der Straße schwierig oder gefährlich ist. Synthetische Daten sind auch nützlich für die Erstellung von Daten, die zum Trainieren von Bilderkennungssystemen wie Überwachungssystemen verwendet werden, viel effizienter als die manuelle Erfassung und Beschriftung einer Menge an Trainingsdaten. Robotik-Systeme können langsam zu trainieren und zu entwickeln sein, wenn herkömmliche Methoden der Datenerfassung und -ausbildung verwendet werden. Synthetische Daten ermöglichen es Robotik-Unternehmen, Systeme durch Simulationen zu testen und zu entwickeln. Betrugspräventionssysteme können von synthetischen Daten profitieren, und neue Methoden zur Betrugsdetektion können mit Daten trainiert und getestet werden, die ständig neu sind, wenn synthetische Daten verwendet werden. Im Gesundheitswesen können synthetische Daten verwendet werden, um Gesundheitsklassifizierer zu entwerfen, die genau sind und gleichzeitig die Privatsphäre der Menschen schützen, da die Daten nicht auf realen Personen basieren.
Herausforderungen bei synthetischen Daten
Während die Verwendung von synthetischen Daten viele Vorteile mit sich bringt, bringt sie auch viele Herausforderungen mit sich.
Wenn synthetische Daten erstellt werden, fehlen ihnen oft Ausreißer. Ausreißer treten in Daten natürlich auf, und obwohl sie oft aus Trainingsdatensets entfernt werden, kann ihre Existenz notwendig sein, um wirklich zuverlässige Machine-Learning-Modelle zu trainieren. Darüber hinaus kann die Qualität von synthetischen Daten sehr variabel sein. Synthetische Daten werden oft mit einem Eingabe- oder Seed-Datenset generiert, und daher kann die Qualität der Daten von der Qualität des Eingabe-Datensets abhängen. Wenn die Daten, die zur Generierung der synthetischen Daten verwendet werden, voreingenommen sind, kann die generierte Daten diese Voreingenommenheit aufrechterhalten. Synthetische Daten erfordern auch eine Form von Ausgabe-/Qualitätskontrolle. Sie müssen gegen menschlich annotierte Daten oder authentische Daten in irgendeiner Form überprüft werden.
Wie werden synthetische Daten erstellt?
Synthetische Daten werden programmatisch mit Machine-Learning-Techniken erstellt. Klassische Machine-Learning-Techniken wie Entscheidungsbäume können verwendet werden, sowie Deep-Learning-Techniken. Die Anforderungen an die synthetischen Daten beeinflussen, welche Art von Algorithmus zur Generierung der Daten verwendet wird. Entscheidungsbäume und ähnliche Machine-Learning-Modelle ermöglichen es Unternehmen, nicht-klassische, multi-modale Datenverteilungen zu erstellen, die auf Beispielen realer Daten trainiert sind. Die Generierung von Daten mit diesen Algorithmen liefert Daten, die hoch korreliert mit den ursprünglichen Trainingsdaten sind. Für Fälle, in denen die typische Verteilung von Daten bekannt ist, kann ein Unternehmen synthetische Daten durch Verwendung einer Monte-Carlo-Methode generieren.
Deep-Learning-basierte Methoden zur Generierung von synthetischen Daten verwenden in der Regel entweder eine Variational-Autoencoder (VAE) oder ein generatives adversarisches Netzwerk (GAN). VAEs sind unüberwachte Machine-Learning-Modelle, die Encodierer und Decodierer verwenden. Der Encodierer-Teil eines VAE ist für die Komprimierung der Daten in eine einfachere, kompaktere Version des ursprünglichen Datensets verantwortlich, die der Decodierer dann analysiert und verwendet, um eine Darstellung des Basis-Datensets zu generieren. Ein VAE wird mit dem Ziel trainiert, eine optimale Beziehung zwischen den Eingabedaten und den Ausgabedaten zu haben, bei der sowohl die Eingabedaten als auch die Ausgabedaten sehr ähnlich sind.
Wenn es um GAN-Modelle geht, werden sie als “adversarial” bezeichnet, da GANs tatsächlich zwei Netzwerke sind, die miteinander konkurrieren. Der Generator ist für die Generierung von synthetischen Daten verantwortlich, während das zweite Netzwerk (der Diskriminator) durch Vergleichen der generierten Daten mit einem realen Datenset und Versuchen, zu bestimmen, welche Daten falsch sind, funktioniert. Wenn der Diskriminator gefälschte Daten erkennt, wird der Generator benachrichtigt und ändert die Daten, um eine neue Charge von Daten zu generieren, die vom Diskriminator nicht erkannt werden. Im Gegenzug wird der Diskriminator immer besser darin, Fälschungen zu erkennen. Die beiden Netzwerke werden gegeneinander trainiert, wobei die Fälschungen immer lebensnaher werden.












