Operasi konvolusi, sederhananya, adalah kombinasi produk elemen-bijaksana dari dua matriks. Selama kedua matriks ini sepakat dalam dimensi, seharusnya tidak ada masalah, dan saya dapat memahami motivasi di balik pertanyaan Anda.
A.1. Namun, tujuan konvolusi adalah untuk menyandikan matriks data sumber (seluruh gambar) dalam hal filter atau kernel. Lebih khusus, kami mencoba untuk menyandikan piksel di lingkungan piksel jangkar / sumber. Lihat gambar di bawah ini:
Biasanya, kami menganggap setiap piksel dari gambar sumber sebagai piksel jangkar / sumber, tetapi kami tidak dibatasi untuk melakukan ini. Bahkan, tidak jarang untuk memasukkan langkah, di mana kita jangkar / sumber piksel dipisahkan oleh jumlah piksel tertentu.
Oke, jadi apa pixel sumbernya? Ini adalah titik jangkar di mana kernel dipusatkan dan kami menyandikan semua piksel tetangga, termasuk piksel jangkar / sumber. Karena, kernel berbentuk simetris (tidak simetris dalam nilai-nilai kernel), ada jumlah yang sama (n) piksel di semua sisi (4- konektivitas) dari piksel jangkar. Oleh karena itu, berapapun jumlah piksel ini, panjang setiap sisi kernel berbentuk simetris kami adalah 2 * n + 1 (setiap sisi jangkar + piksel jangkar), dan karenanya filter / kernel selalu berukuran aneh.
Bagaimana jika kita memutuskan untuk putus dengan 'tradisi' dan menggunakan kernel asimetris? Anda menderita kesalahan alias, jadi kami tidak melakukannya. Kami menganggap piksel sebagai entitas terkecil, yaitu tidak ada konsep sub-piksel di sini.
A.2 Masalah batas ditangani dengan menggunakan pendekatan yang berbeda: beberapa mengabaikannya, beberapa nol padanya, beberapa cermin memantulkannya. Jika Anda tidak akan menghitung operasi terbalik, yaitu dekonvolusi, dan tidak tertarik dengan rekonstruksi sempurna gambar asli, maka Anda tidak peduli kehilangan informasi atau injeksi suara karena masalah batas. Biasanya, operasi pooling (pooling rata-rata atau max pooling) akan menghilangkan artefak batas Anda. Jadi, silakan abaikan bagian dari 'bidang masukan' Anda, operasi pengumpulan Anda akan melakukannya untuk Anda.
-
Zen konvolusi:
Dalam domain pemrosesan sinyal old-school, ketika sinyal input berbelit-belit atau melewati filter, tidak ada cara menilai a-sebelum komponen respons yang berbelit-belit / disaring yang relevan / informatif dan yang tidak. Akibatnya, tujuannya adalah untuk mempertahankan komponen sinyal (semuanya) dalam transformasi ini.
Komponen sinyal ini adalah informasi. Beberapa komponen lebih informatif daripada yang lain. Satu-satunya alasan untuk ini adalah bahwa kami tertarik untuk mengekstraksi informasi tingkat yang lebih tinggi; Informasi berkaitan dengan beberapa kelas semantik. Karenanya, komponen sinyal yang tidak memberikan informasi yang secara khusus kami minati dapat dipangkas. Oleh karena itu, tidak seperti dogma-dogma lama tentang konvolusi / penyaringan, kita bebas untuk mengumpulkan / memangkas respons konvolusi seperti yang kita inginkan. Cara yang kami rasa ingin lakukan adalah menghapus semua komponen data yang tidak berkontribusi terhadap peningkatan model statistik kami.