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” vermuten lässt, werden synthetische Datensets durch Computerprogramme generiert, anstatt durch die Dokumentation realer Ereignisse zusammengestellt zu werden. Der Hauptzweck 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 zufälligen Prozesse, die zur Generierung der Daten verwendet werden, sollten kontrollierbar sein und auf verschiedenen statistischen Verteilungen basieren. Zufälliges Rauschen kann auch im Datenset platziert werden.
Wenn synthetische Daten für einen Klassifizierungsalgorithmus verwendet werden, sollte die Menge an Klassenabstand 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 immer verbreiteter und leistungsfähiger werden, ist das Hauptproblem, das Datenwissenschaftler lösen müssen, die Erfassung und Verarbeitung 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 drastisch 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 Ihrer KI entscheidend sind. Randfälle sind Ereignisse, die sehr ähnlich zum primären Ziel einer KI 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 kein Problem bei synthetischen Daten, 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 es schwierig oder gefährlich ist, reale Trainingsdaten zu sammeln. Synthetische Daten sind auch nützlich für die Erstellung von Daten, die zur Ausbildung von Bilderkennungssystemen wie Überwachungssystemen verwendet werden, viel effizienter als das manuelle Sammeln und Beschriften von Trainingsdaten. Robotik-Systeme können langsam trainiert und entwickelt werden, wenn herkömmliche Methoden der Datensammlung und -ausbildung verwendet werden. Synthetische Daten ermöglichen es Robotik-Unternehmen, Robotik-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 synthetischer Daten viele Vorteile mit sich bringt, bringt sie auch viele Herausforderungen mit.
Wenn synthetische Daten erstellt werden, fehlen ihnen oft Ausreißer. Ausreißer treten in Daten natürlicherweise 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 synthetischer Daten sehr variabel sein. Synthetische Daten werden oft mit einem Eingabedatum oder einem Seed-Datum generiert, und daher kann die Qualität der Daten von der Qualität des Eingabedatums 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 der 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 der Daten bekannt ist, kann ein Unternehmen synthetische Daten durch Verwendung einer Monte-Carlo-Methode generieren.
Deep-Learning-basierte Methoden zur Generierung synthetischer 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 der Basisdaten 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 “adversarische” Netze bezeichnet, da GANs tatsächlich zwei Netze sind, die miteinander konkurrieren. Der Generator ist für die Generierung synthetischer Daten verantwortlich, während das zweite Netz (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 davon benachrichtigt und er versucht, eine neue Charge an Daten zu generieren, die der Diskriminator nicht erkennen kann. Im Gegenzug wird der Diskriminator immer besser darin, Fälschungen zu erkennen. Die beiden Netze werden gegeneinander trainiert, wobei Fälschungen immer lebensnaher werden.












