Hubungan antara belit dalam matematika dan CNN

10

Saya sudah membaca penjelasan konvolusi dan memahaminya sampai batas tertentu. Adakah yang bisa membantu saya memahami bagaimana operasi ini berhubungan dengan konvolusi dalam Jaring Saraf Konvolusional? Apakah fungsi seperti filter gyang menerapkan bobot?

VladimirLenin
sumber
Itulah yang saya baca dan saya melihat dari sana bahwa konvolusi di CNN adalah operasi matriks. Dan konvolusi "fungsional" tidak pernah digunakan di sana? Jadi ini hanya 2 operasi berbeda dengan nama yang sama?
VladimirLenin
2
Mungkin perbedaan yang Anda lihat adalah antara pandangan konvolusi diskrit dan kontinyu - ini pada dasarnya adalah operasi yang sama, tetapi harus dilakukan secara berbeda di dua ruang yang berbeda. CNN menggunakan konvolusi diskrit. Dan mereka hanya melakukannya karena itu adalah cara yang nyaman untuk mengekspresikan matematika dari koneksi (ini berlaku di kedua arah - itu adalah kenyamanan matematika yang diberikan desain, dan kemungkinan bahwa satu alasan desain ini populer karena peta rapi ke sumur Fungsi -understood sudah digunakan dalam pemrosesan sinyal)
Neil Slater

Jawaban:

2

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

(fg)[n]=m=-infinff[m]g[n-m]

Misalnya dengan asumsi Sebuah adalah fungsinya f dan b adalah fungsi konvolusi g,

masukkan deskripsi gambar di sini

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]=mSebuah[m]b[-m]=00,25+00,5+11+0,50+10+10=1

c[1]=mSebuah[m]b[-m]=00,25+10,5+0,51+10+10=1

c[2]=mSebuah[m]b[-m]=10,25+0,50,5+11+10+10=1.5

c[3]=mSebuah[m]b[-m]=10+0,50,25+10,5+11=1.625

c[4]=mSebuah[m]b[-m]=10+0,50+10,25+10,5+01=0,75

c[5]=mSebuah[m]b[-m]=10+0,50+10+10,25+00,501=0,25

Seperti yang Anda lihat, itulah yang kami dapatkan di plot c[n]. Jadi kami beralih fungsib[n] lebih dari fungsi Sebuah[n].

Konvolusi Diskrit 2D

Sebagai contoh, jika kita memiliki matriks berwarna hijau

masukkan deskripsi gambar di sini

dengan filter konvolusi

masukkan deskripsi gambar di sini

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.

masukkan deskripsi gambar di sini

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.

JahKnows
sumber
1

Ya mereka terkait. Sebagai contoh, pertimbangkan Gaussian smoothing (en.wikipedia.org/wiki/Gaussian_blur) yang merupakan konvolusi dengan kernel dengan nilai Gaussian. CNN mempelajari bobot filter (yaitu kernel), dan karenanya dapat belajar untuk melakukan smoothing jika diperlukan.

MD004
sumber
1

Meskipun CNNsingkatan dari jaringan saraf convolutional, apa yang mereka lakukan dinamakan korelasi silang dalam matematika dan bukan konvolusi. Lihatlah di sini .

Sekarang, sebelum pindah, ada komentar teknis yang ingin saya sampaikan tentang korelasi silang versus konvolusi dan hanya untuk fakta apa yang harus Anda lakukan untuk mengimplementasikan jaringan saraf convolutional. Jika Anda membaca buku teks matematika yang berbeda atau buku teks pemrosesan sinyal, ada satu kemungkinan inkonsistensi lain dalam notasi yaitu, jika Anda melihat pada buku teks matematika biasa, cara konvolusi ditentukan sebelum melakukan produk elemen dan penjumlahan, ada sebenarnya satu langkah lain ...

Media
sumber