Dalam convolutional neural networks (CNN), matriks bobot pada setiap langkah mendapatkan baris dan kolom terbalik untuk mendapatkan matriks kernel, sebelum melanjutkan dengan konvolusi. Ini dijelaskan pada serangkaian video oleh Hugo Larochelle di sini :
Menghitung peta yang tersembunyi akan sesuai dengan melakukan konvolusi diskrit dengan saluran dari lapisan sebelumnya, menggunakan matriks kernel [...], dan kernel tersebut dihitung dari matriks bobot tersembunyi , di mana kita membalikkan baris dan kolom.
Jika kita membandingkan langkah-langkah tereduksi dari konvolusi ke perkalian matriks reguler seperti pada tipe NN lainnya, kemanfaatan akan menjadi penjelasan yang jelas . Namun, ini mungkin bukan perbandingan yang paling relevan ...
Dalam pemrosesan pencitraan digital, penerapan konvolusi filter ke suatu gambar ( ini adalah video youtube yang bagus untuk intuisi praktis ) tampaknya terkait dengan:
- Fakta bahwa konvolusi bersifat asosiatif sedangkan korelasi (lintas) tidak.
- Kemungkinan untuk menerapkan filter dalam domain frekuensi gambar sebagai perkalian, karena konvolusi dalam domain waktu sama dengan perkalian dalam domain frekuensi ( teorema konvolusi ).
Dalam lingkungan teknis khusus korelasi DSP ini didefinisikan sebagai:
yang pada dasarnya adalah jumlah dari semua sel dalam produk Hadamard:
di mana adalah fungsi filter (dinyatakan sebagai matriks), dan I ( x , y ) adalah nilai piksel dari suatu gambar di lokasi ( x , y ) :
The Tujuan dari korelasi silang adalah untuk menilai seberapa mirip adalah gambar probe untuk gambar tes. Perhitungan peta korelasi silang bergantung pada teorema konvolusi.
Di sisi lain, konvolusi didefinisikan sebagai:
yang selama filter simetris, itu sama dengan operasi korelasi dengan baris dan kolom filter terbalik:
Secara komputasional, kedua operasi adalah produk dalam Frobenius, yang berarti menghitung jejak perkalian matriks .
Pertanyaan (menyusun kembali setelah komentar dan jawaban pertama):
- Apakah penggunaan konvolusi di CNN terkait dengan FFT?
Dari apa yang saya kumpulkan sejauh ini jawabannya adalah tidak. FFT telah digunakan untuk mempercepat implementasi konvolusi GPU . Namun, FFT biasanya tidak menjadi bagian dari struktur atau fungsi aktivasi di CNN, meskipun menggunakan konvolusi dalam langkah-langkah pra-aktivasi.
- Apakah konvolusi dan korelasi silang dalam CNN setara?
Ya, mereka setara.
- Jika sesederhana "tidak ada perbedaan", apa gunanya membalik bobot ke dalam matriks kernel?
Baik asosiatif konvolusi (berguna dalam pembuktian matematika), maupun pertimbangan mengenai FT dan teorema konvolusi tidak berlaku. Bahkan, tampaknya seolah-olah membalik bahkan tidak terjadi (korelasi silang yang hanya salah label sebagai konvolusi) (?).