Was ist ein Convolutional Neural Network?
Ein Convolutional Neural Network (CNN) ist ein Deep Learning Algorithmus, der bei der Bildverarbeitung durch Computer zum Einsatz kommt. CNNs sind in der Lage, Bilder zu klassifizieren, da sie wichtige Bildmerkmale von unwichtigen Bildmerkmalen unterschieden können. Der Aufbau von CNNs orientiert sich an einem biologischen Vorbild: dem visuellen Cortex (Sehrinde) des menschlichen Gehirns.
Wie funktioniert ein CNN?
Im Folgenden wird ein CNN vereinfacht und ohne mathematische Details erklärt: Ein CNN hat drei Arten von Schichten: Convolutional Layer, Pooling Layer und Fully Connected Layer.
Convolutional Layer sind dafür zuständig, die Merkmale eines Bildes wie beispielsweise Formen oder Kanten zu erkennen und zu verarbeiten. Dies geschieht, indem das Bild von verschiedenen Filtern analysiert wird. Die Filter haben eine bestimmte Pixelgröße und scannen das Bild nach und nach auf seine Eigenschaften ab. Das kann man sich vorstellen, als würde man mit einer Lupe von links nach rechts sowie von oben nach unten das Bild abwandern. Die Ergebnisse des Scanvorgangs werden in einer Ergebnismatrix festgehalten. Die Ergebnismatrix wird anschließend von einem kleineren Filtern gescannt und auch diese Ergebnisse in einer Ergebnismatrix festgehalten. Dieser Vorgang wiederholt sich mehrere Male, sodass das Bild bis ins kleinste Detail analysiert wird.
Durch die sehr genaue Analyse des Bildes durch die Convolutional Layer entsteht eine große Datenmenge, von der viele Information für die eigentliche Bildverarbeitung unwichtig sind. Die Entscheidung, welche Daten wichtig sind und welche verworfen werden können, wird in der Pooling Layer getroffen. Die Pooling Layer sorgt also für eine Dimensionsreduktion und eine Verdichtung der Informationen zu den gescannten Merkmalen. Dies ist entscheidend, da so die Datenmenge erheblich reduziert wird und somit die Verarbeitung der Daten deutlich schneller erfolgen kann.
Nach einigen sich wiederholenden Einheiten, bestehend aus Convolutional Layer und Pooling Layer verknüpft die Fully Connected Layer die Ergebnisse miteinander und ist dadurch in der Lage, Bilder zu klassifizieren.
Falls Sie sehen wollen, wie die einzelnen Layer aussehen und funktionieren: Die Ryerson University hat eine interaktive 2D Visualisierung eines CNN entwickelt, welche handgeschriebene Zahlen erkennen kann: Ryerson University
Bei claimflow verwenden wir CNNs um eingehende Dokumente zu klassifizieren.
Quellen (übersetzt): Towards Data Science und Towards Data Science
Schaden gut. Alles gut.