Netzarchitekturen

Vorschau

Das Ergebnis des Trainings beim Machine oder Deep Learning ist das Erlernen bzw. Approximieren einer Funktion. Dabei kann es sich um die Abbildung einer endlichen Menge (Klassifikation, Clustering) oder das Abbilden einer Eingabe auf eine kontinuierliche Menge (Regression) handeln. Dazu können unterschiedliche Netzarchitekturen verwendet werden. Die einfachste Variante ist diejenige, bei der alle Neuronen einer Schicht mit den Neuronen der nächsten Schicht verbunden sind. Es ergibt sich ein Netz mit sogenannten Fully-Connected Layers.

Convolutional Neural Networks

Die Mitte der 1990er-Jahre maßgeblich von Yann LeCun entwickelten Convolutional Neural Networks (CNN oder ConvNets) sind vorwärtsgerichtete neuronale Netze, die sich besonders für Klassifikationsaufaben eignen. Sie sind von den Beobachtungen der Informationsverarbeitung im visuellen Kortex inspiriert. Die biologischen Neuronen in dieser Region sind so angeordnet, dass sie ein zu lösendes Problem in eine Abfolge von kleineren und leichter zu lösenden Schritten verwandeln. Diese Abstraktionsfunktionalität wird auf diese Art auf künstliche neuronale Netze übertragen.

Ein CNN besteht aus den folgenden Schichten:

  • einer Eingabeschicht (Input Layer)
  • einer Faltungsschicht (Convolutional Layer), die ein Filter auf ein Eingabebild anwendet und sogenannte Feature Map generiert. Dei Begriffe Feature Map und Activation Map sind Synonyme.
  • einer Aktivierungsschicht (Activation Layer) mit einer Aktivierungsfunktion (meistens ReLU), die auf dieser Feature Map angewendet wird.
  • einem Pooling Layer (meistens Max Pooling), der die Dimension der Feature Maps reduziert und somit die markantesten Stellen im Bild verstärkt.
  • einem (oder mehreren) Fully Connected Layer(s) (oft auch Dense Layer genannt).
  • aus einer Ausgabeschicht (Output Layer), um z.B. das Klassifizierungsergebnis auszugeben.

Die einfache oder mehrfache Sequenz von Convolutional, Activation und Pooling Layer mit einem oder mehreren Fully Connected Layern bildet das Prinzip eines CNN.

Rekurrente Neruonale Netze

Neben den CNN bilden die Recurrent Neuronal Networks (RNN) eine weitere sehr oft benutze Netzwerkarchitektur. Als rekurrente bzw. rückgekoppelte neuronale Netze bezeichnet man neuronale Netze, die sich im Gegensatz zu den Feedforward-Netzen durch Verbindungen von Neuronen einer Schicht zu Neuronen derselben oder einer vorangegangenen Schicht auszeichnen. Im Gehirn ist dies die bevorzugte Verschaltungsweise neuronaler Netze, insbesondere im Neocortex. In künstlichen neuronalen Netzen wird die rekurrente Verschaltung von Modellneuronen benutzt, um zeitlich codierte Informationen in den Daten zu entdecken. RNN werden beispielsweise bei Spracherkennung, Übersetzungen, Satzvervollständigungen, Wettervorhersage, Vorhersage der Aktienkurse oder Zinsprognosen eingesetzt.

Generative Adversarial Networks

Generative Adversarial Networks (GAN) sind Modelle, die in der Lage sind, neue Daten aus den Trainingsdaten zu generieren. Das Prinzip von GAN: Es treten zwei konkurierende neuronale Netze (ein Generator und ein Diskriminator) gegeneinander an. Der Generator erzeugt auf Basis des vorliegenden Datasets neue, fiktive Dateninstanzen, die der Diskriminator auf Echtheit prüft. Das heißt, er entscheidet, ob der erzeugte Datensatz als dem Trainingsdataset zugehörig zu Klassifizieren ist oder nicht. Beide Netze werden mit demselben Dataset trainiert.

Zurück zu: Machine Learning Diagnostik > 020 Grundlagen