Neural Network Training

Ars Electronica Futurelab (AT)

Trainieren Sie unterschiedliche Neural Networks und sehen sie, wie sich die künstliche Intelligenz aufgrund Ihrer Eingaben verhält.

Ein Neuron im Fokus

Jedes Neuron in einem künstlichen neuronalen Netzwerk kann als eine mathematische Funktion gesehen werden, die in der Regel mehrere Inputs mit einem Output verbindet. Aus den Eingabewerten errechnet das Neuron dabei einen Ausgabewert, der an die nächste Neuronenschicht weitergegeben wird: je höher dieser Wert, desto „aktiver“ wird das Neuron im Netzwerk. Deshalb spricht man von sogenannten Aktivierungsfunktionen. An dieser Station kann ausprobiert werden, wie sich unterschiedliche mathematische Funktionen im Neuron auf die Ausgabe auswirken.

Farben und Gewichte

Ist die schwarze oder die weiße Schrift auf der jeweiligen Hintergrundfarbe besser lesbar? Darauf gilt es dieses Netzwerk zu trainieren. Als Eingabewerte dienen die Anteile der Farben Rot, Grün und Blau (RGB-Spektrum), aus denen die Hintergrundfarbe besteht. Mit jeder Eingabe lernt das System dazu. Dabei kann man ihm zusehen, wie es die Gewichtungen zwischen den Neuronen ändert, um letztendlich zu einem besseren Ergebnis zu kommen.

Tiere und Eigenschaften

Hier kann ein Netzwerk dazu trainiert werden, aus der Sicht einer Maus ein Tier als gefährlich oder nicht gefährlich einzustufen. Das Netzwerk lernt dabei aus verschiedenen vordefinierten, stark vereinfachten Merkmalen (Wie schwer ist das Tier? Hat es Zähne oder Krallen?), welche Kombinationen an Eigenschaften eines Tieres dazu beitragen, dass es für die Maus gefährlich ist. Am Ende zeigt die Ausgabeschicht an, wie hoch das Netzwerk die Gefährlichkeit des Tieres einschätzt.

Convolutional Filter

Wichtiger Bestandteil eines Convolutional Neural Network (CNN) sind die Filterschichten, sogenannte Convolutional Filters. Sie sorgen dafür, dass verschiedene Elemente eines Bildes erkannt werden können. Dafür lernt jeder Filter andere Eigenschaften des Bildes. Diese Technik ist dabei keineswegs neu: Gängige Bildbearbeitungsprogramme verwenden sie bereits seit Längerem für Effekte, allerdings ohne dass sie trainiert werden und damit selbst lernen.

Wie Convolutional Neural Networks sehen

Dieses Convolutional Neural Network (CNN) hat mit vielen Trainingsbeispielen gelernt, bestimmte Objekte zu erkennen. Das Netzwerk besteht aus mehreren aufeinanderfolgenden Schichten, die während der Trainingsphase gelernt haben, unterschiedliche Eigenschaften in einem Bild zu erkennen und diese Information in Folge an die nächste Schicht weiterzugeben. Während die ersten Schichten eher primitive Eigenschaften wie gerade Linien, Farben und Kurven erkennen, spezialisieren sich die nachfolgenden Schichten auf komplexere Formen. Das hier verwendete Netzwerk VGG16 ist eines der bekanntesten Modelle dieser Art.