Saya punya sub-pertanyaan kecil untuk pertanyaan ini .
Saya mengerti bahwa ketika kembali-merambat melalui lapisan pooling max gradien dirutekan kembali dengan cara yang neuron di lapisan sebelumnya yang dipilih sebagai max mendapatkan semua gradien. Yang saya tidak yakin 100% adalah bagaimana gradien pada lapisan berikutnya akan dialihkan kembali ke lapisan penyatuan.
Jadi pertanyaan pertama adalah apakah saya memiliki lapisan penyatuan yang terhubung ke lapisan yang sepenuhnya terhubung - seperti gambar di bawah ini.
Ketika menghitung gradien untuk "neuron" cyan dari lapisan kumpulan apakah saya menjumlahkan semua gradien dari neuron lapisan FC? Jika ini benar maka setiap "neuron" dari lapisan kumpulan memiliki gradien yang sama?
Sebagai contoh jika neuron pertama dari lapisan FC memiliki gradien 2, kedua memiliki gradien 3, dan ketiga gradien 6. Apa gradien "neuron" biru dan ungu di lapisan pooling dan mengapa?
Dan pertanyaan kedua adalah ketika layer pooling dihubungkan ke layer konvolusi lain. Bagaimana cara menghitung gradien? Lihat contoh di bawah ini.
Untuk "neuron" paling kanan paling atas dari lapisan penyatuan (yang digariskan hijau) saya hanya mengambil gradien dari neuron ungu di lapisan konv berikutnya dan mengarahkan kembali, kan?
Bagaimana dengan yang diisi hijau? Saya perlu mengalikan kolom neuron pertama di lapisan berikutnya karena aturan rantai? Atau apakah saya perlu menambahkannya?
Tolong jangan memposting banyak persamaan dan katakan padaku bahwa jawaban saya benar di sana karena saya sudah mencoba untuk membungkus kepala saya di sekitar persamaan dan saya masih tidak mengerti dengan sempurna itu sebabnya saya menanyakan pertanyaan ini secara sederhana cara.
Jawaban:
Tidak. Tergantung pada bobot dan fungsi aktivasi. Dan kebanyakan bobotnya berbeda dari neuron pertama dari lapisan pooling ke lapisan FC seperti dari lapisan kedua dari lapisan pooling ke lapisan FC.
Jadi biasanya Anda akan memiliki situasi seperti:
Di mana adalah neuron ke-i pada lapisan yang sepenuhnya terhubung, adalah neuron ke-j di lapisan dan adalah fungsi aktivasi dan merupakan bobot.FCsaya Pj f W
Ini berarti bahwa gradien sehubungan dengan P_j adalah
Yang berbeda untuk j = 0 atau j = 1 karena W berbeda.
Itu tidak membuat perbedaan apa jenis lapisan itu terhubung. Ini adalah persamaan yang sama sepanjang waktu. Jumlah semua gradien pada lapisan berikutnya dikalikan dengan bagaimana output dari neuron-neuron tersebut dipengaruhi oleh neuron pada lapisan sebelumnya. Perbedaan antara FC dan Konvolusi adalah bahwa dalam FC semua neuron pada lapisan berikutnya akan memberikan kontribusi (bahkan jika mungkin kecil) tetapi dalam Konvolusi sebagian besar neuron pada lapisan berikutnya sama sekali tidak dipengaruhi oleh neuron pada lapisan sebelumnya sehingga kontribusinya. persis nol.
Baik. Plus juga gradien dari neuron lain pada lapisan konvolusi yang mengambil sebagai input neuron paling kanan paling atas dari lapisan penggabungan.
Tambahkan mereka. Karena aturan rantai.
Max Pooling Sampai pada titik ini, fakta bahwa itu max pool sama sekali tidak relevan seperti yang Anda lihat. Max pooling hanyalah fungsi aktivasi pada layer itu yang . Jadi ini berarti bahwa gradien untuk lapisan sebelumnya adalah:m a x gr a d( PRj)
Tapi sekarang untuk neuron maks dan untuk semua neuron lain, jadi untuk neuron maks di lapisan sebelumnya dan untuk semua neuron lainnya. Begitu:f= i d f= 0 f′= 1 f′= 0
sumber