Ich habe eine kleine Unterfrage zu dieser Frage .
Ich verstehe, dass bei der Rückübertragung durch eine Max-Pooling-Schicht der Gradient so zurückgeleitet wird, dass das Neuron in der vorherigen Schicht, das als Max ausgewählt wurde, den gesamten Gradienten erhält. Was ich nicht 100% sicher bin, ist, wie der Gradient in der nächsten Ebene zurück zur Poolebene geleitet wird.
Die erste Frage ist also, ob eine Poolebene mit einer vollständig verbundenen Ebene verbunden ist - wie im Bild unten dargestellt.
Summiere ich bei der Berechnung des Gradienten für das Cyan- "Neuron" der Pooling-Schicht alle Gradienten aus den FC-Schicht-Neuronen? Wenn dies korrekt ist, hat jedes "Neuron" der Pooling-Schicht den gleichen Gradienten?
Wenn zum Beispiel das erste Neuron der FC-Schicht einen Gradienten von 2 hat, das zweite einen Gradienten von 3 und das dritte einen Gradienten von 6. Was sind die Gradienten der blauen und violetten "Neuronen" in der Pooling-Schicht und warum?
Und die zweite Frage ist, wann die Pooling-Schicht mit einer anderen Faltungsschicht verbunden ist. Wie berechne ich dann den Gradienten? Siehe folgendes Beispiel.
Für das oberste rechte "Neuron" der Pooling-Schicht (das umrandete grüne) nehme ich einfach den Gradienten des violetten Neurons in der nächsten Conv-Schicht und richte ihn zurück, oder?
Wie wäre es mit dem gefüllten grünen? Ich muss die erste Spalte von Neuronen in der nächsten Schicht aufgrund der Kettenregel multiplizieren. Oder muss ich sie hinzufügen?
Bitte posten Sie keine Reihe von Gleichungen und sagen Sie mir, dass meine Antwort richtig ist, weil ich versucht habe, meinen Kopf um Gleichungen zu wickeln, und ich es immer noch nicht perfekt verstehe. Deshalb stelle ich diese Frage in einer einfachen Form Weg.
Antworten:
Nein, es hängt von den Gewichten und der Aktivierungsfunktion ab. Und am typischsten unterscheiden sich die Gewichte von dem ersten Neuron der Pooling-Schicht zu der FC-Schicht wie von der zweiten Schicht der Pooling-Schicht zu der FC-Schicht.
Normalerweise haben Sie eine Situation wie:
Wo das i-te Neuron in der vollständig verbundenen Schicht ist, ist das j-te Neuron in der und ist die Aktivierungsfunktion und die Gewichte.FCich Pj f W
Dies bedeutet, dass der Gradient in Bezug auf P_j ist
Was für j = 0 oder j = 1 unterschiedlich ist, weil das W unterschiedlich ist.
Es spielt keine Rolle, mit welcher Art von Ebene es verbunden ist. Es ist immer die gleiche Gleichung. Summe aller Gradienten auf der nächsten Ebene multipliziert mit der Auswirkung, die das Neuron auf der vorherigen Ebene auf die Ausgabe dieser Neuronen hat. Der Unterschied zwischen FZ und Faltung besteht darin, dass bei FZ alle Neuronen in der nächsten Schicht einen Beitrag liefern (auch wenn sie vielleicht klein sind), aber bei Faltung sind die meisten Neuronen in der nächsten Schicht überhaupt nicht vom Neuron in der vorherigen Schicht betroffen, so dass ihr Beitrag ist genau null.
Richtig. Plus auch der Gradient aller anderen Neuronen auf dieser Faltungsschicht, die das oberste rechte Neuron der Poolschicht als Eingabe nehmen.
Füge sie hinzu. Wegen der Kettenregel.
Max Pooling Bis zu diesem Punkt war die Tatsache, dass es sich um Max Pool handelte, völlig irrelevant, wie Sie sehen können. Max. Pooling ist nur die, dass die Aktivierungsfunktion auf dieser Ebene . Dies bedeutet, dass die Farbverläufe für die vorherigen Ebenen sind:m a x Gr a d( S.Rj)
Aber jetztf= i d f= 0 f′= 1 f′= 0
quelle