4.5 Convolutional Neural Networks - NerimanK/Cloud-Computing-Technology---Google-Home GitHub Wiki

Dieser Abschnitt enthält einen Überblick über die wichtigsten verwendeten Konzepte in Convolutional Neural Networks (CNN). CNNs sind eine spezielle Art von neuronalen Netzen, die ursprünglich für die Bildverarbeitung verwendet wurden. Seit ihrem Erfolg in der Bildverarbeitung wurden sie auch sehr erfolgreich in Anwendungen für natürliche Sprache und Videoverarbeitung eingesetzt. Dabei können als Input, Matrix dargestellte Bilder (Breite x Höhe x Farbkanäle) verwendet werden, im Gegenteil zu normalen Neuronalen Netze die dazu nicht in der Lage sind, da ein Vektor als Input benötigt wird.
Um relevante Daten aus der Eingabe zu extrahieren, arbeiten die Convolutional- und das pooling layer paarweise. Die Daten werden dann in dem Fully-connected layer klassifiziert.

cnn

Die Faltungsoperation wird auf den Input mit einem bestimmten Filter ausgeführt, der als Kernel bezeichnet wird. Die Ausgabe der Faltungsoperation wird typischer-weise als Feature-Map bezeichnet. Die Eingabe in die Faltungsebene ist entweder ein Bild oder eine Feature-Map aus der vorherigen Ebene. Das Kernel hat typischerweise eine quadratische Form und seine Breite kann 3 bis N Pixel betragen. Die Funktionszuordnung wird durch Faltung des Kernels über jedes angegebene Eingabeelement erstellt. Die Faltung wird ausführlicher in einem Abschnitt beschrieben, der das Training von CNN beschreibt.

Abhängig von der Größe des Kernels und der Auffüllvorgaben der Ebene kann der Faltungsprozess eine Feature-Map mit einer anderen Größe als der Eingabe erzeugen.

Pooling layers aggregieren mit denen die von den Convolutional layers extrahierten Daten und geben jeweils nur das stärkste Signal weiter. Ein häufig verwendeter Pooling-Algorithmus ist das Max-Pooling, dabei wird beispielsweise der höchste Wert einer Kernel-Matrix beibehalten und alle anderen Werte werden verworfen. Somit werden die Anzahl der Parameter reduziert und nur die relevantesten Signale an die nächsten Schichten weitergegeben.

Der Input wird aufgrund der Faltungen und dem Pooling immer weiter reduziert, dagegen nimmt die Bestimmung der übergeordneten Daten zu.

Fully-connected layers sind vollständig verbundene Schichten und folgen nach dem letzten Pooling Layer. Diese Schicht dient zur Klassifizierung der resultierenden Features.