Penting untuk menggunakan fungsi aktivasi nonlinier di jaringan saraf, terutama di NN yang dalam dan propagasi mundur. Menurut pertanyaan yang diajukan dalam topik, pertama saya akan mengatakan alasan perlunya menggunakan fungsi aktivasi nonlinier untuk propagasi mundur.
Sederhananya: jika fungsi aktivasi linier digunakan, turunan dari fungsi biaya adalah konstanta terhadap input (wrt), sehingga nilai input (ke neuron) tidak mempengaruhi pembaharuan bobot . Artinya, kami tidak dapat mengetahui bobot mana yang paling efektif dalam memberikan hasil yang baik dan oleh karena itu kami terpaksa mengubah semua bobot secara merata.
Lebih Dalam: Secara umum, bobot diperbarui sebagai berikut:
W_new = W_old - Learn_rate * D_loss
Artinya bobot baru sama dengan bobot lama dikurangi turunan fungsi biaya. Jika fungsi aktivasi adalah fungsi linier, maka masukan wrt turunannya adalah konstanta, dan nilai masukan tidak berpengaruh langsung pada pembaruan bobot.
Misalnya, kami bermaksud memperbarui bobot neuron lapisan terakhir menggunakan propagasi mundur. Kita perlu menghitung gradien dari fungsi bobot wrt bobot. Dengan aturan rantai kami memiliki:
h dan y adalah (perkiraan) keluaran neuron dan nilai keluaran aktual, masing-masing. Dan x adalah masukan dari neuron. grad (f) diturunkan dari fungsi aktivasi input wrt. Nilai yang dihitung di atas (dengan faktor) dikurangi dari bobot saat ini dan bobot baru diperoleh. Sekarang kita dapat membandingkan kedua jenis fungsi aktivasi ini dengan lebih jelas.
1- Jika fungsi pengaktifannya adalah fungsi linier , seperti: F (x) = 2 * x
kemudian:
bobot barunya adalah:
Seperti yang Anda lihat, semua bobot diperbarui secara merata dan tidak peduli berapa nilai inputnya !!
2- Tetapi jika kita menggunakan fungsi aktivasi non-linier seperti Tanh (x) maka:
dan:
dan sekarang kita dapat melihat efek langsung dari input dalam memperbarui bobot! nilai masukan yang berbeda membuat bobot yang berbeda berubah .
Saya rasa hal di atas sudah cukup untuk menjawab pertanyaan tentang topik tetapi ada gunanya menyebutkan manfaat lain dari penggunaan fungsi aktivasi non-linier.
Seperti yang disebutkan dalam jawaban lain, non-linearitas memungkinkan NN memiliki lebih banyak lapisan tersembunyi dan NN yang lebih dalam. Urutan lapisan dengan fungsi penggerak linier dapat digabungkan sebagai lapisan (dengan kombinasi fungsi sebelumnya) dan praktis merupakan jaringan saraf dengan lapisan tersembunyi, yang tidak memanfaatkan manfaat NN yang dalam.
Fungsi aktivasi non-linier juga dapat menghasilkan keluaran yang dinormalisasi.