Menggunakan notasi dari halaman wikipedia, konvolusi dalam CNN akan menjadi kernel g dimana kita akan mempelajari beberapa bobot untuk mengekstraksi informasi yang kita butuhkan dan kemudian menerapkan fungsi aktivasi.
Konvolusi yang terpisah
Dari halaman wikipedia konvolusi digambarkan sebagai
( f∗ g) [ n ] =∑infm = - inff[ m ] g[ n - m ]
Misalnya dengan asumsi Sebuah adalah fungsinya f dan b adalah fungsi konvolusi g,
Untuk menyelesaikan ini kita bisa menggunakan persamaan terlebih dahulu kita balik fungsi b secara vertikal, karena - myang muncul dalam persamaan. Kemudian kami akan menghitung penjumlahan untuk setiap nilain. Sementara berubahn, fungsi asli tidak bergerak, namun fungsi konvolusi bergeser sesuai. Mulai darin = 0,
c [ 0 ] =∑ma [ m ] b [ - m ] = 0 ∗ 0,25 + 0 ∗ 0,5 + 1 ∗ 1 + 0,5 ∗ 0 + 1 ∗ 0 + 1 ∗ 0 = 1
c [ 1 ] =∑ma [ m ] b [ - m ] = 0 ∗ 0,25 + 1 ∗ 0,5 + 0,5 ∗ 1 + 1 ∗ 0 + 1 ∗ 0 = 1
c [ 2 ] =∑ma [ m ] b [ - m ] = 1 ∗ 0,25 + 0,5 ∗ 0,5 + 1 ∗ 1 + 1 ∗ 0 + 1 ∗ 0 = 1,5
c [ 3 ] =∑ma [ m ] b [ - m ] = 1 ∗ 0 + 0,5 ∗ 0,25 + 1 ∗ 0,5 + 1 ∗ 1 = 1,625
c [ 4 ] =∑ma [ m ] b [ - m ] = 1 ∗ 0 + 0,5 ∗ 0 + 1 ∗ 0,25 + 1 ∗ 0,5 + 0 ∗ 1 = 0,75
c [ 5 ] =∑ma [ m ] b [ - m ] = 1 ∗ 0 + 0,5 ∗ 0 + 1 ∗ 0 + 1 ∗ 0,25 + 0 ∗ 0,5 ∗ 0 ∗ 1 = 0,25
Seperti yang Anda lihat, itulah yang kami dapatkan di plot c [ n ]. Jadi kami beralih fungsib [ n ] lebih dari fungsi a [ n ].
Konvolusi Diskrit 2D
Sebagai contoh, jika kita memiliki matriks berwarna hijau
dengan filter konvolusi
Maka operasi yang dihasilkan adalah perkalian elemen-bijaksana dan penambahan istilah seperti yang ditunjukkan di bawah ini. Sangat mirip dengan halaman wikipedia, kernel ini (matriks oranye)g digeser di seluruh fungsi (matriks hijau) f.
diambil dari tautan yang dirujuk oleh @Hobbes. Anda akan melihat bahwa tidak ada flip dari kernelgseperti yang kami lakukan untuk perhitungan eksplisit konvolusi di atas. Ini adalah masalah notasi seperti yang ditunjukkan oleh @Media. Ini harus disebut korelasi silang. Namun, secara komputasional perbedaan ini tidak mempengaruhi kinerja algoritma karena kernel sedang dilatih sedemikian rupa sehingga bobotnya paling cocok untuk operasi, sehingga menambahkan operasi flip hanya akan membuat algoritma mempelajari bobot dalam sel yang berbeda dari kernel untuk mengakomodasi flip. Jadi kita bisa menghilangkan flip.