Pelatihan jaringan saraf konvolusi


11

Saat ini saya sedang mengerjakan perangkat lunak pengenal wajah yang menggunakan jaringan saraf konvolusi untuk mengenali wajah. Berdasarkan bacaan saya, saya telah mengumpulkan bahwa jaringan saraf convolutional telah berbagi bobot, sehingga menghemat waktu selama pelatihan. Tapi, bagaimana cara mengadaptasi backpropagation sehingga dapat digunakan dalam jaringan saraf konvolusi. Dalam backpropagation, seseorang menggunakan formula yang mirip dengan ini untuk melatih bobot.

New Weight  = Old Weight +  LEARNING_RATE * 1 * Output Of InputNeuron * Delta

Namun, karena dalam jaringan saraf convolutional, bobot dibagi, masing-masing berat digunakan dengan beberapa neuron, jadi bagaimana saya memutuskan mana Output of InputNeuronyang digunakan?

Dengan kata lain, karena bobot dibagi, bagaimana saya memutuskan berapa banyak untuk mengubah bobot?

Jawaban:


13

Pertama-tama Anda harus menghitung semua pembaruan seolah-olah wieghts tidak dibagikan, tetapi simpan saja, jangan lakukan pembaruan apa pun.

Biarkan menjadi bobot yang muncul di lokasi di jaringan Anda dan mana adalah tingkat pembelajaran dan adalah fungsi tujuan Anda. Perhatikan bahwa pada titik ini jika Anda tidak berbagi bobot, Anda hanya akan meningkatkan sebagai Untuk menangani bobot bersama, Anda perlu meringkas semua pembaruan individual. Jadi atur dan kemudian perbarui wkIk={(i,j):wi,j=wk}Δwi,j=ηJwi,jηJwi,j

wi,j=wi,j+Δwi,j.
Δwk=(i,j)IkΔwi,j
wk=wk+Δwk.

1
Apakah Anda punya referensi untuk ini? Untuk bacaan lebih lanjut
Jon
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.