Saya sedang belajar dan mencoba menerapkan jaringan saraf convolutional, tetapi saya kira pertanyaan ini berlaku untuk perceptrons multilayer secara umum.
Neuron keluaran di jaringan saya mewakili aktivasi setiap kelas: neuron paling aktif sesuai dengan kelas prediksi untuk input yang diberikan. Untuk mempertimbangkan biaya lintas-entropi untuk pelatihan, saya menambahkan lapisan softmax di akhir jaringan, sehingga setiap nilai aktivasi neuron ditafsirkan sebagai nilai probabilitas.
Pertanyaan saya adalah: haruskah neuron di lapisan output menerapkan fungsi non-linear ke input? Intuisi saya adalah bahwa itu tidak perlu:
- jika input ke neuron keluaran ke- adalah produk titik antara vektor (berasal dari lapisan sebelumnya) dan bobot untuk neuron itu,x T θ i x θ i
- dan jika saya menggunakan fungsi non-linear monoton seperti sigmoid atau ReLU
- maka output aktivasi yang lebih besar masih akan sesuai dengan , jadi dari sudut pandang ini fungsi non-linear tidak akan mengubah prediksi.
Apakah ada yang salah dengan interpretasi ini? Apakah ada beberapa faktor pelatihan yang saya abaikan yang membuat output menjadi tidak linier?
Dan jika saya benar, apakah ada yang akan berubah jika alih-alih menggunakan fungsi sigmoid saya menggunakan fungsi ReLU , yang tidak sepenuhnya monoton?
EDIT
Dengan merujuk pada jawaban Karel, yang jawabannya pada dasarnya adalah "itu tergantung", berikut ini adalah deskripsi yang lebih rinci tentang jaringan saya dan keraguan:
Misalkan saya memiliki N lapisan tersembunyi, dan lapisan keluaran saya hanyalah lapisan softmax di atas set neuron yang mewakili kelas (jadi output yang saya harapkan adalah probabilitas bahwa data input milik masing-masing kelas). Dengan asumsi lapisan N-1 pertama memiliki neuron nonlinear, apa perbedaan antara menggunakan neuron nonlinear vs linear di lapisan tersembunyi ke-N?