Saya mempelajari jaringan saraf convolutional (CNNs) karena aplikasi mereka dalam visi komputer. Saya sudah terbiasa dengan jaringan saraf feed-foward standar, jadi saya berharap beberapa orang di sini dapat membantu saya mengambil langkah ekstra dalam memahami CNN. Inilah yang saya pikirkan tentang CNN:
- Dalam NN feed-foward tradisional, kami memiliki data pelatihan di mana setiap elemen terdiri dari vektor fitur yang kami input ke NN di "lapisan input," sehingga dengan pengenalan gambar, kami dapat membuat setiap piksel menjadi satu input. Itu adalah vektor fitur kami. Sebagai alternatif, kita dapat secara manual membuat vektor fitur lain yang kemungkinan lebih kecil.
- Keuntungan dari CNN Is adalah ia dapat menghasilkan vektor fitur yang lebih kuat yang lebih tidak berubah-ubah terhadap distorsi dan posisi gambar. Seperti ditunjukkan gambar berikut (dari tutorial ini ), CNN menghasilkan peta fitur yang kemudian diumpankan ke jaringan saraf standar (jadi benar-benar ini merupakan langkah pra-pemrosesan raksasa).
- Cara kita mendapatkan fitur "yang lebih baik" itu adalah dengan mengubah konvolusi dan sub-sampling. Saya mengerti cara kerja sub-sampling. Untuk setiap peta fitur, ambil saja subset pikselnya, atau kami dapat meratakan nilai pikselnya.
Tapi yang paling membingungkan saya adalah bagaimana langkah konvolusi bekerja. Saya akrab dengan konvolusi dari teori probabilitas (kepadatan untuk jumlah dua variabel acak), tetapi bagaimana mereka bekerja di CNN, dan mengapa mereka efektif?
Pertanyaan saya mirip dengan yang satu ini tetapi khususnya, saya tidak yakin mengapa langkah konvolusi pertama berhasil.
sumber
Saya tidak tahu apa yang Anda maksud dengan "mengapa langkah konvolusi pertama berhasil." Agar CNN berhasil, CNN harus memiliki banyak lapisan. Salah satu ide mendasar di balik CNN dan banyak pendekatan pembelajaran mendalam lainnya adalah bahwa sinyal yang lebih besar dapat diidentifikasi oleh korelasi spasial dari bagian-bagian kecil mereka yang jarang dapat diwakili. Dengan kata lain, gambar mungkin terlihat rumit tetapi dibuat dari kombinasi hanya beberapa bagian dasar. Untuk penglihatan komputer, struktur garis dasar dalam gambar biasanya terdiri dari tepi dan sudut. CNN mencoba mengeksploitasi sparseness dari struktur dalam sebuah gambar dengan mencari struktur lokal yang umum. Itulah yang coba ditentukan oleh lapisan pertama CNN. Pikirkan konvolusi sebagai filter pencocokan yang mencari sinyal yang cocok dengan templat tertentu. Seberapa baik kerjanya tergantung pada data yang ada. Untungnya dunia penuh dengan pengulangan dalam skala kecil, jadi CNN bekerja dengan baik untuk tugas-tugas penglihatan komputer.
sumber
Video ini menjelaskan dasar konvolusi dengan cukup baik.
sumber