Diese Frage lautet: "Wie funktionieren Faltungsschichten genau ?
Angenommen , ich habe eine Graubild. Das Bild hat also einen Kanal. In der ersten Ebene ich eine Faltung von mit Filtern und -Auffüllung an. Dann habe ich noch eine Faltungsschicht mit Faltungen und Filtern. Wie viele Feature-Maps habe ich?3 × 3 k 1 5 × 5 k 2
Typ 1 Faltung
Die erste Ebene wird ausgeführt. Danach habe ich Feature-Maps (eine für jeden Filter). Jedes davon hat die Größe . Jedes einzelne Pixel wurde erstellt, indem Pixel aus dem gepolsterten Eingabebild genommen wurden. n × m 3 ≤ 3 = 9
Dann wird die zweite Schicht aufgetragen. Jeder einzelne Filter wird separat auf jede der Feature-Maps angewendet . Dies führt zu Feature-Maps für jede der Feature-Maps. Es gibt also Feature-Maps nach der zweiten Ebene. Jedes einzelne Pixel jeder der neuen Feature-Maps wurde erstellt, indem "Pixel" der gepolsterten Feature-Map von zuvor verwendet wurden.k 1 k 1 × k 2 5 ≤ 5 = 25
Das System muss Parameter lernen .
Typ 2.1 Faltung
Wie zuvor: Die erste Ebene wird ausgeführt. Danach habe ich Feature-Maps (eine für jeden Filter). Jedes davon hat die Größe . Jedes einzelne Pixel wurde erstellt, indem Pixel aus dem gepolsterten Eingabebild genommen wurden. n × m 3 ≤ 3 = 9
Im Gegensatz zu früher: Dann wird die zweite Schicht aufgetragen. Jeder einzelne Filter wird auf dieselbe Region angewendet, jedoch auf alle Feature-Maps von zuvor. Dies führt zu insgesamt Feature-Maps, nachdem der zweite Layer ausgeführt wurde. Jedes einzelne Pixel jeder der neuen Feature-Maps wurde erstellt, indem "Pixel" der zuvor gepolsterten Feature-Maps verwendet wurden.k 2 ≤ 5 ≤ 5 = 25 ≤ k 2
Das System muss Parameter lernen .
Typ 2.2 Faltung
Wie oben, aber anstatt Parameter pro Filter zu haben, die gelernt und einfach für die anderen Eingabe-Feature-Maps kopiert werden müssen, haben Sie Parameter, die gelernt werden müssen.k 1 ≤ 3 ≤ 3 + k 2 ≤ k 1 ≤ 5 ≤ 5
Frage
- Wird typischerweise Typ 1 oder Typ 2 verwendet?
- Welcher Typ wird in Alexnet verwendet ?
- Welcher Typ wird in GoogLeNet verwendet ?
- Wenn Sie Typ 1 sagen: Warum ergeben Faltungen irgendeinen Sinn? Multiplizieren sie die Daten nicht nur mit einer Konstanten?
- Wenn Sie Typ 2 sagen: Bitte erläutern Sie die quadratischen Kosten ("Wenn beispielsweise in einem Deep-Vision-Netzwerk zwei Faltungsschichten verkettet sind, führt jede gleichmäßige Erhöhung der Anzahl ihrer Filter zu einer quadratischen Erhöhung der Berechnung.")
Bitte geben Sie für alle Antworten einige Beweise (Papiere, Lehrbücher, Dokumentation von Frameworks) an, dass Ihre Antwort korrekt ist.
Bonusfrage 1
Wird das Pooling immer nur pro Feature-Map angewendet oder erfolgt es auch über mehrere Feature-Maps?
Bonusfrage 2
Ich bin mir ziemlich sicher, dass Typ 1 richtig ist und ich habe etwas mit dem GoogLe-Papier falsch gemacht. Aber es gibt auch 3D-Windungen. Nehmen wir an, Sie haben 1337 Feature-Maps der Größe und wenden einen Filter an. Wie schieben Sie den Filter über die Feature-Maps? (Von links nach rechts, von oben nach unten, von der ersten Feature-Map zur letzten Feature-Map?) Ist es wichtig, solange Sie dies konsequent tun?3 × 4 × 5
Meine Recherche
- Ich habe die beiden Papiere von oben gelesen, bin mir aber immer noch nicht sicher, was verwendet wird.
- Ich habe die Lasagnendokumentation gelesen
- Ich habe die theano-Dokumentation gelesen
- Ich habe die Antworten auf " Faltungsnetzwerke verstehen" gelesen (ohne allen Links zu folgen)
- Ich habe Convolutional Neural Networks (LeNet) gelesen . Insbesondere Abbildung 1 lässt mich relativ sicher sein, dass Typ 2.1 der richtige ist. Dies würde auch zum Kommentar "Quadratische Kosten" in GoogLe Net und zu einigen praktischen Erfahrungen passen, die ich mit Caffee gemacht habe.