Da es keine detaillierte und markierte Antwort gibt, werde ich mein Bestes geben.
Lassen Sie uns zunächst verstehen, woher die Motivation für solche Schichten kommt: zB ein Faltungsautoencoder. Sie können einen Faltungs-Autoencoder verwenden, um Bildmerkmale zu extrahieren, während Sie den Autoencoder trainieren, um das Originalbild zu rekonstruieren. (Es ist eine unbeaufsichtigte Methode.)
Ein solcher Autoencoder besteht aus zwei Teilen: dem Encoder, der die Merkmale aus dem Bild extrahiert, und dem Decoder, der das Originalbild aus diesen Merkmalen rekonstruiert. Die Architektur des Codierers und Decodierers wird normalerweise gespiegelt.
In einem Faltungs-Autoencoder arbeitet der Encoder mit Faltungs- und Pooling-Schichten. Ich gehe davon aus, dass Sie wissen, wie diese funktionieren. Der Decoder versucht, den Encoder zu spiegeln, aber anstatt "alles kleiner zu machen", hat er das Ziel, "alles größer zu machen", um der Originalgröße des Bildes zu entsprechen.
Das Gegenteil der Faltungsschichten sind die transponierten Faltungsschichten (auch als Entfaltung bekannt , aber mathematisch gesehen ist dies etwas anderes). Sie arbeiten mit Filtern, Kerneln und Schritten genau wie die Faltungsschichten, aber anstatt z. B. 3x3 Eingangspixel auf 1 Ausgang abzubilden, ordnen sie 1 Eingangspixel 3x3 Pixel zu. Natürlich funktioniert auch die Backpropagation etwas anders.
Das Gegenteil der Pooling-Ebenen sind die Upsampling- Ebenen, die in ihrer reinsten Form nur die Bildgröße ändern (oder das Pixel so oft wie nötig kopieren). Eine fortschrittlichere Technik wird unpooling die resverts maxpooling durch die Lage der Maxima in den maxpooling Schichten und in den unpooling Schichten Erinnern Sie den Wert auf genau diesem Ort kopieren. Um aus diesem Papier ( https://arxiv.org/pdf/1311.2901v3.pdf ) zu zitieren :
Im Convnet ist die maximale Pooling-Operation nicht invertierbar. Wir können jedoch eine ungefähre Umkehrung erhalten, indem wir die Positionen der Maxima innerhalb jeder Pooling-Region in einem Satz von Schaltvariablen aufzeichnen. Im Dekonvnet verwendet die Entpoolungsoperation diese Schalter, um die Rekonstruktionen aus der darüber liegenden Schicht an geeigneten Stellen zu platzieren, wobei die Struktur des Stimulus erhalten bleibt.
Weitere technische Informationen und Informationen zum Kontext finden Sie in dieser wirklich guten, demonstrativen und ausführlichen Erklärung: http://deeplearning.net/software/theano/tutorial/conv_arithmetic.html
Und werfen Sie einen Blick auf https://www.quora.com/Was-ist-die-Differenz- zwischen-Deconvolution-Upsampling-Unpooling- and-Convolutional-Sparse- Coding