Mengapa ReLU lebih baik daripada fungsi aktivasi lainnya

17

Di sini jawabannya mengacu pada gradien menghilang dan meledak yang telah di- sigmoidfungsi aktivasi tetapi, saya kira, Relumemiliki kelemahan dan itu adalah nilai yang diharapkan. tidak ada batasan untuk output Reludan nilai yang diharapkan tidak nol. Saya ingat waktu sebelum popularitas Reluyang tanhadalah yang paling populer di antara mesin ahli belajar daripada sigmoid. Alasannya adalah bahwa nilai yang diharapkan tanhsama dengan nol dan dan itu membantu belajar di lapisan yang lebih dalam untuk menjadi lebih cepat di jaring saraf. Relutidak memiliki karakteristik ini, tetapi mengapa itu bekerja dengan baik jika kita mengesampingkan keunggulan turunannya. Selain itu, saya kira turunannya juga dapat terpengaruh. Karena aktivasi (output dariRelu ) dilibatkan untuk menghitung aturan pembaruan.

Media
sumber
Adalah umum untuk memiliki semacam normalisasi (misalnya normalisasi bets, normalisasi layer) bersama dengan ReLU. Ini menyesuaikan rentang output.
ncasas
@ncasas Tapi dalam CNNnormalisasi normal keluaran relutidak umum? Setidaknya saya belum pernah melihat itu.
Media
Anda benar, di CNN yang tidak terlalu dalam, normal untuk tidak memiliki batch normalisasi. Sudahkah Anda mempertimbangkan peran nilai awal bobot? (mis. Dia inisialisasi)
ncasas
ya, sebenarnya mereka untuk entah bagaimana mencegah gradien menghilang / meledak, setelah beberapa iterasi output menjadi lebih besar kurasa.
Media

Jawaban:

21

Keuntungan terbesar dari ReLu memang bukan saturasi gradiennya, yang sangat mempercepat konvergensi penurunan gradien stokastik dibandingkan dengan fungsi sigmoid / tanh ( kertas oleh Krizhevsky et al).

Tapi itu bukan satu-satunya keuntungan. Berikut ini adalah diskusi tentang efek sparsity dari aktivasi ReLu dan regularisasi yang diinduksi. Properti bagus lainnya adalah dibandingkan dengan tanh / sigmoid neuron yang melibatkan operasi yang mahal (eksponensial, dll.), ReLU dapat diimplementasikan dengan hanya menebang matriks aktivasi di nol.

Tapi saya tidak yakin bahwa sukses besar jaringan saraf modern adalah karena ReLu sendiri . Teknik inisialisasi baru, seperti inisialisasi Xavier, dropout dan (kemudian) batchnorm juga memainkan peran yang sangat penting. Misalnya, AlexNet yang terkenal menggunakan ReLu dan dropout.

Jadi untuk menjawab pertanyaan Anda: ReLu memiliki sifat yang sangat bagus, meskipun tidak ideal . Tapi itu benar-benar membuktikan diri ketika dikombinasikan dengan teknik-teknik hebat lainnya, yang dengan cara memecahkan masalah bukan-nol-pusat yang telah Anda sebutkan.

UPD: Output ReLu memang tidak berpusat pada nol dan itu benar-benar mengganggu kinerja NN. Tetapi masalah khusus ini dapat diatasi dengan teknik regularisasi lainnya, misalnya batchnorm, yang menormalkan sinyal sebelum aktivasi :

x=Wkamu+b

Pepatah
sumber
1
Saya harus menekankan bagian ini: Saya mencoba mengatakan bahwa ReLu sendiri tidak menyelesaikan masalah ini. Anda benar bahwa output ReLu tidak berpusat pada nol dan itu benar-benar merusak kinerja NN, kecuali jika bobotnya diatur. Tapi gradien jenuh lebih menyakitkan NN, jadi adopsi massal ReLu adalah langkah maju meskipun kekurangannya.
Maxim
Bisakah Anda mengatakan apa yang Anda maksudkan dengan bobot yang diatur? dalam jawaban dan juga hal yang telah Anda tekankan.
Media
Memperbarui jawaban saya dengan beberapa perincian tentang masalah khusus ini
Maxim
Apa yang saya temukan agak membingungkan, mengapa tidak menggunakan fungsi identitas saja? Apa keuntungan 0 untuk nilai neg?
Alex
@Alex id bukan non-linearitas. Ini setara dengan hanya memiliki lapisan linier di NN. Lihat pertanyaan ini - stackoverflow.com/q/46659525/712995
Maxim