Dalam semacam istilah berbasis mekanistik / gambar / gambar:
Dilatasi: ### LIHAT KOMENTAR, BEKERJA UNTUK MEMPERBAIKI BAGIAN INI
Pelebaran sebagian besar sama dengan run-of-the-mill convolution (terus terang demikian juga dekonvolusi), kecuali bahwa hal itu menimbulkan celah pada kernelnya, yaitu sedangkan kernel standar biasanya akan meluncur di atas bagian-bagian input yang berdekatan, dilebarkan oleh rekannya, misalnya, "melingkari" bagian gambar yang lebih besar - sementara masih hanya memiliki bobot / input sebanyak bentuk standar.
(Catat juga, sedangkan pelebaran menyuntikkan nol ke kernelnya untuk lebih cepat mengurangi dimensi wajah / resolusi outputnya, transpose konvolusi menyuntikkan nol ke inputnya untuk meningkatkan resolusi outputnya.)
Untuk membuat ini lebih konkret, mari kita ambil contoh yang sangat sederhana:
Katakanlah Anda memiliki gambar 9x9, x tanpa bantalan. Jika Anda menggunakan kernel standar 3x3, dengan langkah 2, subset pertama yang menjadi perhatian dari input adalah x [0: 2, 0: 2], dan semua sembilan poin dalam batas ini akan dipertimbangkan oleh kernel. Anda kemudian akan menyapu x [0: 2, 2: 4] dan seterusnya.
Jelas, output akan memiliki dimensi wajah yang lebih kecil, khususnya 4x4. Dengan demikian, neuron lapisan berikutnya memiliki bidang reseptif dalam ukuran yang tepat dari kernel ini. Tetapi jika Anda membutuhkan atau menginginkan neuron dengan pengetahuan spasial yang lebih global (mis. Jika fitur penting hanya dapat didefinisikan di daerah yang lebih besar dari ini) maka Anda perlu melilit lapisan ini untuk kedua kalinya untuk membuat lapisan ketiga di mana bidang reseptif efektif adalah beberapa penyatuan lapisan sebelumnya rf.
Tetapi jika Anda tidak ingin menambahkan lebih banyak lapisan dan / atau Anda merasa bahwa informasi yang diteruskan terlalu berlebihan (yaitu bidang 3x3 reseptif Anda di lapisan kedua hanya benar-benar membawa "2x2" jumlah informasi yang berbeda), Anda dapat menggunakan filter melebar. Mari kita menjadi ekstrim tentang hal ini untuk kejelasan dan katakan kita akan menggunakan filter 9-dialasi 3x9. Sekarang, filter kami akan "melingkari" seluruh input, jadi kami tidak perlu menggesernya sama sekali. Namun kami masih akan, hanya mengambil 3x3 = 9 poin data dari input, x , biasanya:
x [0,0] U x [0,4] U x [0,8] U x [4,0] U x [4,4] U x [4,8] U x [8,0] U x [8,4] U x [8,8]
Sekarang, neuron di lapisan berikutnya (kita hanya akan memiliki satu) akan memiliki data "mewakili" bagian yang jauh lebih besar dari gambar kita, dan sekali lagi, jika data gambar sangat redundan untuk data yang berdekatan, kita mungkin telah mempertahankan informasi yang sama dan mempelajari transformasi yang setara, tetapi dengan lebih sedikit lapisan dan lebih sedikit parameter. Saya pikir dalam batas-batas deskripsi ini jelas bahwa sementara dapat didefinisikan sebagai resampling, kami di sini downsampling untuk setiap kernel.
Dengan sedikit fraksional atau transpose atau "dekonvolusi":
Jenis ini masih sangat berbelit-belit. Perbedaannya adalah, sekali lagi, kita akan beralih dari volume input yang lebih kecil ke volume output yang lebih besar. OP tidak mengajukan pertanyaan tentang apa upampling itu, jadi saya akan menghemat sedikit, kali ini dan langsung ke contoh yang relevan.
Dalam kasus 9x9 kami dari sebelumnya, katakan kita ingin sekarang menjadi 11x11. Dalam hal ini, kami memiliki dua opsi umum: kami dapat mengambil kernel 3x3 dan dengan langkah 1 dan menyapu input 3x3 kami dengan 2-padding sehingga pass pertama kami akan berada di atas wilayah [left-pad-2: 1, di atas-pad-2: 1] lalu [kiri-pad-1: 2, di atas-pad-2: 1] dan seterusnya dan seterusnya.
Atau, kita juga bisa memasukkan padding di antara data input, dan menyapu kernel di atasnya tanpa banyak padding. Jelas kita kadang-kadang akan memperhatikan diri kita sendiri dengan titik input yang sama persis lebih dari sekali untuk satu kernel; disinilah istilah "fractionally-strided" tampaknya lebih beralasan. Saya pikir animasi berikut (dipinjam dari sini dan berdasarkan (saya percaya) dari pekerjaan ini akan membantu untuk membersihkan segala sesuatunya meskipun memiliki dimensi yang berbeda. Inputnya biru, nol yang diinjeksi dan di-padding putih, dan output berwarna hijau:
Tentu saja, kita mengkhawatirkan diri kita sendiri dengan semua data input sebagai lawan pelebaran yang mungkin atau mungkin tidak mengabaikan sebagian wilayah sama sekali. Dan karena kita jelas ditutup dengan lebih banyak data daripada yang kita mulai, "upsampling".
Saya mendorong Anda untuk membaca dokumen luar biasa yang saya tautkan untuk mendapatkan definisi dan penjelasan konvolusi transpose yang lebih baik, abstrak, dan juga untuk mempelajari mengapa contoh-contoh yang dibagikan bersifat ilustratif tetapi sebagian besar bentuk yang tidak tepat untuk benar-benar menghitung transformasi yang diwakili.