Einführung

Um die Inhalte dieses Kurses verstehen zu können, solltest du bereits mit Grundlagen zu neuronalen Netzen vertraut sein.

Ein Autoencoder ist eigentlich nichts anderes als ein künstliches neuronales Netz, wobei das Layout des Netzes eine spezielle Struktur besitzt: Eingangs- und Ausgangsschicht haben stets die gleiche Anzahl an Neuronen und zudem wird das Layout in einen Encoder und einen Decoder aufgeteilt:

Dabei hat die verborgene Schicht mit der Bezeichnung y eine in der Regel deutlich kleinere Anzahl an Neuronen im Vergleich zur Eingangs- bzw. Ausgangsschicht.

Anders als bei künstlichen neuronalen Netzen zur Lösung einer Klassifikationsaufgabe wird bei Autoencodern folgendes Ziel verfolgt:

Die Gewichte und Schwellwerte eines Autoencoders sollen derart bestimmt werden, sodass jedes Ausgangssignal x' möglichst ähnlich dem zugehörigen Eingangssignal x ist.

Neben der Dimensionsreduktion können Autoencoder zur Erkennung von Anomalien oder zur Bildbearbeitung eingesetzt werden. Darüber hinaus können Autoencoder auch als Methode der generativen Künstlichen Intelligenz angesehen werden. All diese Anwendungsfälle werden wir in diesem Kurs vorstellen.

HandwrittenDigits

Zum Zwecke der Demonstration werden wir in den nächsten Abschnitten zunächst vor allem auf das HandwrittenDigits-Datenpaket zurückgreifen:

Zur Referenz

Das Paket stellt Daten handgeschriebener Ziffern bereit, wobei sämtliche Ziffern als schwarz-weiß Bilder mit jeweils 8 x 8 Pixel zu verstehen sind. Eingangs- und Ausgangsschicht eines zugehörigen Autoencoders besitzen entsprechend 64 Neuronen.

Beispiel
Aufbereitung der Trainingsdaten des HandwrittenDigits-Pakets, um diese anschließend für einen Autoencoder einsetzen zu können.
Quiz
Schau dir die Referenz des HandwrittenDigits-Pakets an. Wie viele Ziffern beinhaltet der gesamte Umfang der Trainingsdaten?
937
1000
2000
3823
5000
Exkurs Zielfunktion