Synthetische Daten - ein neuartiger Weg zur Erweiterung der Realität

09. März 2021 - von Pascal Marco Caversaccio

Maschinelles Lernen, Künstliche Intelligenz, Deep Learning, synthetische Daten - Begriffe die definitiv in die Sparte Trendwörter eingeordnet werden können. Während dem letzte Jahr haben wir das Startup Smartest Learning bei der Entwicklung ihrer App begleitet. Die Smartest App basiert auf der Idee, Lernmaterial schnell und einfach in interaktive Praxistests zu verwandeln. Dazu muss das Material lediglich via App gescannt werden, Smartest erstellt automatisch verschiedene Tests oder Lernkarten. Möglich macht dies die Kombination von Computer Vision und Natural Language Processing - beides Teilbereiche von Maschinellem Lernen. In diesem konkreten Fall werden erprobte Algorithmen und Datensätze verwendet. Aber was, wenn die grundlegenden Daten zuerst gesammelt und Datenmodelle zuerst erstellt werden müssen? Wie gelingt es, die Datenqualität sicher zu stellen?

Klingt nach komplexen Fragen - und die Materie ist auch alles andere als banal. Da wir aber finden, dass es sich um ein wichtiges Thema handelt, möchten wir unser Wissen möglichst einfach und verständlich weitergeben und so unsere Begeisterung dafür teilen. 

Glücklicherweise haben wir einen Spezialisten in unseren eigenen Reihen, den wir dafür zu Wort kommen lassen. Pascal ist nämlich nicht "nur" unser Blockchain-Berater, sondern auch ein Experte wenn es ums Thema Maschinelles Lernen geht. Mit DAITA Technologies hat er eine Firma gegründet, die sich auf die Aufbereitung von Daten für künstliche Intelligenz spezialisiert.

Bühne frei für Pascals Ausführungen zum Thema Maschinelles Lernen und synthetische Daten!


Warum gutes Maschinelles Lernen gute Daten braucht

Kommen wir gleich zum Punkt: Maschinelles Lernen (ML) kann nur so gut sein wie die Daten, mit denen es trainiert wird. Aber warum ist das eigentlich der Fall? Nun, einfach ausgedrückt, wenn man sich mit ML-Algorithmen beschäftigt, braucht man bestimmte Inputs, um dem Modell zu helfen, Dinge auf seine eigene Art und Weise zu verstehen (ja, das Modell ist ganz am Anfang extrem dumm, und oft ist es das später auch noch). Trainingsdaten sind die einzige Quelle, auf die man als Input für die Algorithmen zurückgreifen kann. Als Beispiel kann man sich Bilder oder Videomaterial als Trainingsdaten vorstellen. Sie helfen einem ML-Modell, nützliche Informationen aus den Daten zu extrahieren und wichtige Entscheidungen zu treffen, genau so wie es die menschliche Intelligenz auch tut. So weit so gut. Gehen wir weiter zu einer bestimmten Klasse von Algorithmen, die von ML-Methoden verwendet werden.

Tweet von Ben Hammer

Überwachtes ML erfordert zusätzlichen Input von gelabelten / annotierten Trainingsdaten. Und wenn diese Trainingsdaten nicht richtig beschriftet sind, sind sie nicht für überwachtes ML geeignet. Die Daten, wie zum Beispiel Bilder, werden mit präzisen Metadaten beschriftet, um das Objekt für Maschinen durch Computer Vision erkennbar zu machen. Daher müssen die Trainingsdaten in Bezug auf das Labelling mit dem korrekten Verfahren genau sein. Aufgrund der Anforderung von annotierten Daten wird das überwachte Lernen auch als "Lernen mit einem Lehrer" bezeichnet. Im Folgenden ein Beispiel für ein annotiertes Bild - genauer gesagt handelt es sich um ein sogenanntes cuboid label - inklusive eines Auszugs aus der zugehörigen JSON-Datei mit den Annotationsparametern.  

Foto von Gebäuden in einer Stadt
Foto von Gebäuden in einer Stadt mit eingezeichneter Objekterkennung

Soviel zu den Grundlagen. Eine weiterer wichtiger Aspekt ist die Grösse des Datensatzes, beziehungsweise die Menge der Trainingsdaten. In der gesamten Geschichte von ML gibt es zahlreiche Belege dafür, dass die Verwendung von mehr Trainingsdaten zu qualitativ hochwertigeren Modellen führt. Dieser Zusammenhang zwischen der Menge an Trainingsdaten, die für ein ML-Modell zur Verfügung stehen, und seiner letztendlichen Qualität wird in der modernen Welt der tiefen neuronalen Netze, welche Milliarden von zu trainierenden Parametern enthalten, noch verstärkt. Zum Beispiel: Im Januar 2021 veröffentlichte Google ein neues Modell, bei dem sie ein KI-Sprachmodell mit einer Billion Parametern trainierten!

Kleinere Modelle brauchen nicht so viele Trainingsdaten, bevor ihre Leistung ein Plateau erreicht. Sie haben so viel gelernt, wie sie angesichts ihrer begrenzten Kapazität können. Die supergrossen Modelle, die wir heutzutage sehen, wie das oben erwähnte Modell von Google oder das bekannte GPT-3, benötigen jedoch sehr viele Daten, bevor sie überhaupt eine gute Leistung erbringen. Ihre grosse Anzahl an Parametern bedeutet, dass sie erstaunlich gut im "Overfitting" auf kleinen Datenmengen sind, wenn man nicht vorsichtig ist. Das bedeutet, dass die Trainingsdaten zu gut modelliert werden. Overfitting passiert, wenn ein Modell die Details und das Rauschen in den Trainingsdaten in einem Ausmass lernt, dass es die Leistung des Modells auf neuen Daten negativ beeinflusst.

Ein Unternehmen das die Grenzen in Bezug auf Daten ausreizt ist Tesla. Sie sammeln eine riesige Menge an Daten aus ihrer Flotte, um den vollständig selbstfahrenden Computer zu trainieren.


Tweet von James Locke zu Tesla

Fassen wir kurz zusammen: ML benötigt grosse Mengen an realen Daten. Das Problem ist jedoch, dass viele Datensätze Verzerrungen aufweisen, also nicht repräsentativ sind. Ein bekanntes Beispiel sind Datensätze, in denen es viel zu wenig Minderheiten gibt, oder es fehlen Ausnahmefälle innerhalb des Datensatzes (wie oft passiert es z.B., dass man ein Reh bei Nacht und Nebel über die Strasse laufen sieht). Um diese Probleme in den Griff zu bekommen, kommen Techniken zur Datenanreicherung bzw. synthetischen Datengenerierung ins Spiel.

Was ist ein synthetischer Datensatz?

Ein synthetischer Datensatz ist eine Sammlung von Daten, die programmgesteuert erzeugt wird. Synthetische Daten werden nicht durch eine reale Umfrage oder ein Experiment gesammelt. Ihr Hauptzweck ist es, flexibel und reichhaltig genug zu sein, um Experimente mit verschiedenen Klassifikations-, Regressions- und Clustering-Algorithmen durchzuführen.


Warum sind synthetische Daten wichtig?

Synthetische Daten sind wichtig, weil sie generiert werden können, um bestimmte Anforderungen oder Bedingungen zu erfüllen, die in vorhandenen (realen) Daten nicht existieren. Dies kann in zahlreichen Fällen nützlich sein:

  • Wenn Datenschutzanforderungen die Verfügbarkeit von Daten oder deren Verwendung einschränken.
  • Das Testen eines Produkts zur Freigabe erfordert Daten, die entweder nicht existieren oder den Tester*innen nicht zur Verfügung stehen.
  • Mehrere Ausnahmefälle und Datenvariabilität werden für ML-Algorithmen benötigt, um regulatorische Anforderungen zu erfüllen.

Wie generiert man synthetische Daten?

Die Welt ist unübersichtlich und komplex und es gibt keine "Ein-Tool-für-alles"-Lösung. Betrachten wir zwei gängige Methoden zur Erzeugung synthetischer Daten: Variational Autoencoder (VAE) und Generative Adversarial Network (GAN).

  • VAE ist eine unüberwachte Methode, bei welcher der Encoder den Originaldatensatz in eine kompaktere Struktur komprimiert und die Daten an den Decoder überträgt. Der Decoder erzeugt dann eine Ausgabe, die eine Repräsentation des Originaldatensatzes ist. Das System wird trainiert, indem die Korrelation zwischen Eingangs- und Ausgangsdaten optimiert wird.
Schematische Darstellung der Funktionsweise eines Variational Autoencoder
  • Im GAN-Modell trainieren zwei Netzwerke, Generator und Diskriminator, das Modell iterativ. Der Generator nimmt zufällige Beispieldaten und erstellt einen synthetischen Datensatz. Der Diskriminator vergleicht die synthetisch erzeugten Daten mit einem realen Datensatz basierend auf vordefinierten Bedingungen.
Schematische Darstellung der Funktionsweise Generative Adversarial Network

Die Generierung synthetischer Daten ist ein komplexer zweistufiger Prozess, bei welchem die Daten vor der Synthese vorbereitet werden müssen. Bei DAITA Technologies decken wir beide Schritte - Annotation und Augmentation / Generierung synthetischer Daten - ab, indem wir eine webbasierte End-to-End-Lösung anbieten. Unsere Datenplattform lässt sich am besten als das Mission Control Zentrum für KI-Daten beschreiben.

Beispielhafte Anwendungsfälle

Der Anwendungsbereich synthetisch generierter Daten reicht von medizinischen Röntgenaufnahmen bis hin zu Social Media. So nutzt zum Beispiel Facebook synthetische Daten, um seine verschiedenen Networking-Tools zu verbessern und um Fake News, Online-Belästigung und politische Propaganda von Regierungen zu bekämpfen, indem es Sprache auf der Plattform erkennt. Im Folgenden drei weitere Beispiele:

  • Selbstfahrende Autos: Die Verwendung synthetischer Bilder zum Trainieren eines Netzwerks ermöglicht eine Vielzahl von Fahrszenarien, ohne dass man mit einem echten Auto nach draussen gehen muss. Die Abbildung unten zeigt ein Beispiel für einen synthetischen Datensatz, Playing for Benchmarks, der öffentlich zugänglich ist. Playing for Benchmarks basiert auf dem Videospiel Grand Theft Auto (GTA), das eine ziemlich fotorealistische Ansicht des Fahrens in einer Stadt darstellt. Diese virtuelle Welt (also das Spiel), die dieselben physikalischen Gesetze aufweist, die wir auch in der realen Welt haben, ermöglicht eine schnellere Erfassung aller Szenarien, die beim Fahren auftreten können. Alle notwendigen Ausnahmefälle können simuliert und zum Trainieren des Modells verwendet werden. Dies ist natürlich viel schneller und effizienter als das Erfassen aller möglichen Szenarien in der realen Welt, wofür man wohl tausende Jahre herumfahren müsste.


Benchmarking mit GTA
  • Autoversicherungen: Mehrere Autoversicherer arbeiten an ML-basierten Bilderkennungs-Tools, um Autoschäden zu klassifizieren und die Kosten zu schätzen. Allerdings sind Schäden einzigartig und die Variabilität in Bezug auf Autolack, Karosserie, Alter - um nur einige Dimensionen zu nennen - ist extrem gross. Daher lohnt es sich, den ML-Algorithmus auf der Basis synthetischer Daten zu trainieren. Bei DAITA Technologies arbeiten wir derzeit an genau diesem Anwendungsfall, indem wir eine erweiterte GAN-Methodik anwenden.
Bild eines verunfallten Autos in einem Game
  • Augmented Reality (AR) / Virtual Reality (VR): Bei vielen grundlegenden Aufgaben des Szenenverständnisses ist es schwierig oder unmöglich, Ground Truth pro Pixel aus realen Bildern zu erhalten. Dies ist jedoch im Bereich AR / VR notwendig, der z. B. für Handy-Apps immer zentraler wird. So hat Apple mit Hypersim einen fotorealistischen synthetischen Datensatz zum ganzheitlichen Verständnis von Innenraumszenen eingeführt, der zum Training bestimmter AR / VR-Anwendungen genutzt werden kann. Das Verstehen eines Szenarios (z. B. wie hoch ist ein Tisch, wo ist der Eingang usw.) ist notwendig, um eine Entscheidung zu treffen. Dies gilt für jedes Computer-Vision-basierte ML-Modell genauso wie für das menschliche Gehirn.
Bilderkennung von Apple Hypersim

Fazit

Im Jahr 2021 können wir mit Sicherheit sagen, dass nicht Algorithmen, Programmier-Frameworks und Machine-Learning-Pakete die knappe Ressource sind, sondern hochwertige Daten. Es ist jedoch in vielen Fällen nicht möglich, alle benötigten Daten zu erhalten, zum Beispiel aufgrund explodierender Kosten oder nicht beobachtbarer Phänomene. Daher werden synthetische Daten in vielen ML-Anwendungen eine zentrale Rolle spielen. Es muss aber gesagt werden, dass synthetische Daten kein Ersatz für reale Daten sind, sondern lediglich als Ergänzung gesehen werden müssen.

Wer mehr über das Thema wissen möchte: Ich diskutier auch gerne auf Twitter!


Wir haben grad gemerkt, dass du mit Internet Explorer surfst. Unsere Webseite sieht damit leider nicht so schön aus.

Du willst erfahren warum das so ist?
Wir haben darüber geschrieben.

Zum Blog

Du brauchst Hilfe bei der Umstellung?
Melde dich. Wir helfen gern.

Kontakt

Einen neuen Browser installieren?
Hier gibt es Auswahl.

Browser