1) Die mit CNN extrahierten Merkmale sind skalierungs- und drehungsinvariant.
Ein Feature an sich in einem CNN ist nicht skalierungs- oder drehungsinvariant. Weitere Informationen finden Sie unter Deep Learning. Ian Goodfellow und Yoshua Bengio und Aaron Courville. 2016: http://egrcc.github.io/docs/dl/deeplearningbook-convnets.pdf ; http://www.deeplearningbook.org/contents/convnets.html :
Die Faltung ist naturgemäß nicht mit anderen Transformationen vergleichbar, wie z. B. Änderungen des Maßstabs oder der Drehung eines Bildes. Andere Mechanismen sind erforderlich, um diese Art von Transformationen zu handhaben.
Es ist die maximale Poolebene, die solche Invarianten einführt:
2) Die Kerne, die wir zur Faltung mit unseren Daten verwenden, sind bereits in der Literatur definiert? Was für ein Kernel sind das? ist es für jede Anwendung anders?
Die Kerne werden in der Trainingsphase des ANN gelernt.
Franck Dernoncourt
quelle
Ich denke, es gibt ein paar Dinge, die dich verwirren.
Das Obige gilt für eindimensionale Signale, das Gleiche gilt jedoch für Bilder, bei denen es sich nur um zweidimensionale Signale handelt. In diesem Fall lautet die Gleichung:
Bildlich ist das, was passiert:
In jedem Fall ist zu beachten, dass der Kernel während des Trainings eines Deep Neural Network (DNN) tatsächlich gelernt hat . Ein Kernel wird einfach das sein, mit dem Sie Ihre Eingaben zusammenführen. Der DNN lernt den Kernel so, dass bestimmte Facetten des Bildes (oder des vorherigen Bildes) hervorgehoben werden, die dazu beitragen, den Verlust Ihres Ziels zu verringern.
Dies ist der erste wichtige Punkt, den man verstehen sollte: Traditionell haben die Leute Kernel entworfen , aber beim Deep Learning lassen wir das Netzwerk entscheiden, welcher Kernel der beste sein soll. Was wir jedoch spezifizieren, sind die Kernel-Dimensionen. (Dies wird als Hyperparameter bezeichnet, z. B. 5x5 oder 3x3 usw.).
quelle
Viele Autoren, darunter Geoffrey Hinton (der Capsule net vorschlägt), versuchen das Problem qualitativ zu lösen. Wir versuchen, dieses Problem quantitativ anzugehen. Wenn alle Faltungskerne im CNN symmetrisch sind (Dieder-Symmetrie der Ordnung 8 [Dih4] oder 90-Grad-Inkrement-Rotationssymmetrie usw.), würden wir eine Plattform für den Eingabevektor und den resultierenden Vektor auf jeder verborgenen Faltungsschicht bereitstellen, die gedreht werden sollen synchron mit der gleichen symmetrischen Eigenschaft (dh Dih4 oder 90-Inkrement-Rotationssymmetrie, et al.). Zusätzlich wäre der resultierende Wert auf jedem Knoten quantitativ identisch und würde dazu führen, dass der CNN-Ausgangsvektor für jeden Filter derselbe ist (dh vollständig verbunden ist, sich aber dasselbe symmetrische Muster teilt) auch. Ich nannte es transformationsidentisches CNN (oder TI-CNN-1). Es gibt andere Methoden, die auch transformationsidentische CNN unter Verwendung symmetrischer Eingaben oder Operationen innerhalb der CNN (TI-CNN-2) konstruieren können. Basierend auf dem TI-CNN kann ein getriebegleicher CNN (GRI-CNN) aus mehreren TI-CNN aufgebaut werden, wobei der Eingangsvektor um einen kleinen Schrittwinkel gedreht wird. Darüber hinaus kann ein zusammengesetztes quantitativ identisches CNN auch konstruiert werden, indem mehrere GRI-CNNs mit verschiedenen transformierten Eingangsvektoren kombiniert werden.
"Transformationsidentische und invariante Faltungs-Neuronale Netze durch symmetrische Elementoperatoren" https://arxiv.org/abs/1806.03636 (Juni 2018)
"Transformationsidentische und invariante Faltungs-Neuronale Netze durch Kombination von symmetrischen Operationen oder Eingabevektoren" https://arxiv.org/abs/1807.11156 (Juli 2018)
"Rotationsidentische und invariante faltungsorientierte neuronale Netzwerksysteme" https://arxiv.org/abs/1808.01280 (August 2018)
quelle
Ich denke, Max Pooling kann Translations- und Rotationsinvarianzen nur für Translations- und Rotationsschritte reservieren, die kleiner als die Schrittweite sind. Wenn größer, keine Invarianz
quelle