Neuronale Netze im Allgemeinen und CNNs im Speziellen nutzen eine nichtlineare Trigger-Funktion, um eine klare Identifizierung von möglichen Merkmalen auf jeder verborgenen Schicht zu signalisieren. CNNs können unterschiedlichste Funktionen nutzen – wie ReLUs (Rectified Linear Units) und kontinuierliche Trigger (nichtlineare) Funktionen – um diese nichtlineare Triggerung effizient zu implementieren.
ReLU
Eine ReLU implementiert die Funktion y = max(x, 0), sodass die Eingabe- und Ausgabe-Größen dieser Schicht gleich sind. Diese Vorgabe vergrößert die nichtlinearen Eigenschaften der Entscheidungsfunktion und des gesamten Netzwerks, ohne die rezeptiven Felder der Faltungsschicht zu beeinflussen.
Im Vergleich zu anderen nichtlinearen Funktionen, die in CNNs genutzt werden (z.B. Tangens Hyperbolicus, Absolutwert des Tangens Hyperbolicus und Sigmoid), besteht der Vorteil von ReLU darin, dass sich das Netzwerk deutlich schneller trainieren lässt. Die ReLU-Funktionalität ist in Bild 7 zu sehen, wobei die Übertragungsfunktion über dem Pfeil dargestellt ist.
Kontinuierliche Trigger-Funktion
Die nichtlineare Schicht verarbeitet ein Element nach dem anderen für jedes Merkmal. Eine kontinuierliche Trigger-Funktion kann ein Tangens Hyperbolicus sein, der Absolutwert des Tangens Hyperbolicus oder die Sigmoid-Funktion. Bild 8 verdeutlicht, wie eine nichtlineare Funktion (Tangens Hyperbolicus) auf einzelne Elemente angewendet wird.
Vollständig verknüpfte Schichten
Vollständig verknüpfte Schichten werden häufig als letzte Schicht eines CNN genutzt. Diese Schichten bilden eine mathematische Summe der Gewichtungen der Eigenschaften aus den vorherigen Schichten, was eine genaue Festlegung der Zutaten erlaubt, um ein spezifisches Zielausgabe-Ergebnis zu bestimmen. Im Falle einer voll vernetzten Schicht werden alle Elemente aller Merkmale der vorherigen Schicht in der Berechnung jedes Elementes jedes Ausgabe-Merkmales genutzt.
Vorteile von CNNs
Während neuronale Netze und andere Mustererkennungsverfahren seit rund 50 Jahren bekannt sind, hat es in letzter Zeit eine entscheidende Entwicklung im Bereich der Convolutional Neuronal Networks gegeben. Die Vorteile von CNNs bei der Verwendung für die Bilderkennung im Überblick:
Robustheit
Eine Bilderkennung mit CNN ist unempfindlich im Hinblick auf Verzerrungen, wie etwa eine Veränderung der Form durch die Kameralinse, unterschiedliche Lichtverhältnisse, verschiedene Posen, teilweise Einschlüsse, horizontale und vertikale Verschiebungen.
Weniger Speicherplatzbedarf
Mit einer vollständig verknüpften Schicht zur Extraktion der Merkmale bei einem Eingabe-Bild mit einer Größe von 32 × 32 und einer verborgenen Schicht mit 1000 Merkmalen würden rund 106 Koeffizienten benötigt, was einer riesigen Speicheranforderung entspricht. In einer Faltungsschicht werden dieselben Koeffizienten für verschiedene Positionen im Raum genutzt, sodass die Speicheranforderungen drastisch reduziert werden können.
Einfacheres und besseres Training
Auch würde bei einem normalen neuronalen Netz durch die viel höhere Anzahl von Parametern die Trainingszeit stark zunehmen. Bei einem CNN wird die Trainingszeit dagegen proportional verkürzt, da die Anzahl der Parameter deutlich geringer ist. Bei einem perfekten Training könnte zwar ein normales neuronales Netz mit der entsprechenden Leistung eines CNN entwickelt werden. Aber bei einem praktischen Training müsste dieses gleichwertige normale neuronale Netz mehr Parameter haben, die zu mehr Störungen während des Lernprozesses führen würden. Folglich wäre die Leistung eines normalen neuronalen Netzes gegenüber einem gleichwertigen CNN immer niedriger.
Chris Rowen |
---|
ist CTO bei der IP Group von Cadence. Er hat Elektrotechnik in Stanford (MSEE, PhD) und Physik in Harvard (BA) studiert.
|
Rishi Kumar |
---|
ist Senior Principal Design Engineer. Er arbeitet an CNNs für maschinelle Bildverarbeitung bei der IP Group von Cadence. |