Memperbarui bobot filter dalam CNN

13

Saat ini saya mencoba memahami arsitektur CNN. Saya mengerti konvolusi, layer ReLU, pooling layer, dan layer yang sepenuhnya terhubung. Namun, saya masih bingung dengan bobotnya.

Dalam jaringan saraf normal, masing-masing neuron memiliki beratnya sendiri. Pada lapisan yang terhubung penuh, masing-masing neuron juga akan memiliki beratnya sendiri. Tapi yang saya tidak tahu adalah apakah setiap filter memiliki bobotnya sendiri. Apakah saya hanya perlu memperbarui bobot di lapisan yang terhubung sepenuhnya selama propagasi kembali? Atau apakah semua filter memiliki bobot terpisah yang harus saya perbarui?

Felix
sumber

Jawaban:

12

Dalam jaringan saraf normal, masing-masing neuron memiliki beratnya sendiri.

Ini tidak benar. Setiap koneksi antara neuron memiliki bobotnya sendiri. Dalam jaringan yang terhubung penuh setiap neuron akan dikaitkan dengan banyak bobot yang berbeda. Jika ada n0input (yaitu n0neuron di lapisan sebelumnya) ke lapisan dengan n1neuron di jaringan yang terhubung penuh, lapisan itu akan memiliki n0*n1bobot, tidak termasuk istilah bias.

Anda harus dapat melihat ini dengan jelas dalam diagram jaringan yang sepenuhnya terhubung dari CS231n ini . Setiap sisi yang Anda lihat mewakili bobot latihan yang berbeda:

masukkan deskripsi gambar di sini

Lapisan konvolusional berbeda karena memiliki jumlah bobot tetap yang diatur oleh pilihan ukuran filter dan jumlah filter, tetapi tidak tergantung pada ukuran input.

Setiap filter memiliki bobot terpisah di setiap posisi bentuknya. Jadi jika Anda menggunakan dua filter 3x3x3 maka Anda akan memiliki 54 bobot, sekali lagi tidak termasuk bias. Ini diilustrasikan dalam diagram kedua dari CS231n :

masukkan deskripsi gambar di sini

Bobot filter mutlak harus diperbarui di backpropagation, karena beginilah cara mereka belajar mengenali fitur input. Jika Anda membaca bagian berjudul "Visualisasi Jaringan Saraf" di sini Anda akan melihat bagaimana lapisan-lapisan CNN mempelajari lebih banyak dan lebih kompleks fitur-fitur gambar input saat Anda semakin dalam di jaringan. Ini semua dipelajari dengan menyesuaikan bobot filter melalui backpropagation.

Imran
sumber
mmm jumlah bobot di setiap lapisan juga tergantung pada jumlah langkah yang diambil filter ... benar?
Arnav Das
2

Selama propagasi belakang, kedua lapisan padat dan lapisan konvolusi diperbarui tetapi lapisan pengumpulan-max tidak memiliki bobot untuk diperbarui. Lapisan padat diperbarui untuk membantu jaring mengklasifikasikan. Lapisan konvolusi diperbarui agar jaringan mempelajari fitur-fiturnya sendiri. Karena Anda belum bertanya dalam pertanyaan, saya hanya menambahkan tautan untuk Anda jika Anda ingin tahu lebih banyak. Ada penjelasan yang sangat bagus untuk propagasi balik di sini yang dapat bermanfaat bagi Anda.

Media
sumber