Saya sekarang membaca buku berjudul "Pembelajaran Mesin Langsung dengan Scikit-Learn dan TensorFlow" dan pada bab 11, ia memiliki deskripsi berikut tentang penjelasan ELU (Exponential ReLU).
Ketiga, fungsinya halus di mana-mana, termasuk di sekitar z = 0, yang membantu mempercepat Gradient Descent, karena tidak memantul sebanyak kiri dan kanan z = 0.
The z
berarti sumbu x pada grafik di atas. Saya mengerti turunannya halus karena z < 0
garisnya memiliki kurva dan dalam bidang itu turunannya tidak lagi sama dengan 0
.
Namun, mengapa demikian halnya jika fungsinya "halus di mana-mana, termasuk di sekitar z = 0", itu mempercepat Gradient Descent?
deep-learning
gradient-descent
Blaszard
sumber
sumber
Jawaban:
Dugaan saya karena turunannya, karena ReLU memiliki turunan terputus pada 0. Oleh karena itu jika Anda menggunakan definisi:
sumber
Pendahuluan: ada tiga atribut fungsi yang relevan di sini: kontinu, monotonik, dan dapat dibedakan. RELU adalah kacang kontinu dan monotonik tidak dapat dibedakan pada z = 0. Relu eksponensial atau ELU adalah ketiga atribut tersebut.
Diferensial atau gradien memberi Anda arah. Ketika turunan dari suatu fungsi tidak ditentukan pada suatu titik, maka arah gradien tidak ditentukan pada titik tersebut.
Saat menerapkan gradient descent, kami ingin terus mengubah parameter sehingga fungsi kerugian terus menurun, yang sama dengan mengatakan kami ingin terus bergerak ke bawah menuju minimum.
Ketika turunan dari fungsi kerugian tidak ditentukan pada beberapa titik, gradien tidak ditentukan. Ini berarti gradient descent berpotensi bergerak ke arah yang salah. Besarnya keterlambatan yang disebabkan oleh ketidakpastian ini tergantung pada tingkat pembelajaran dan parameter hiper lainnya. Terlepas dari parameter-hiper, secara statistik, turunan yang tidak terdefinisi dalam RELU pada z = 0, berkontribusi terhadap perlambatan konvergensi penurunan gradien.
sumber
Menjadi lebih cepat atau lebih rendah adalah istilah yang relatif dan harus dipahami dalam konteks apa yang dibandingkan. Jadi, untuk memahami ini, pertama-tama kita harus mempertimbangkan bagaimana gradient descent bekerja dengan tipe lain dari fungsi aktivasi.
Contoh Pengaturan
...
Tanh dan Sigmoid - Vanishing Gradient
RELU dan Dead Neuron
RELU dan ELU bocor
Saya mengutip makalah asli untuk perbedaan antara keduanya.
Penjelasan intuitifnya seperti berikut ini. Dalam ELU, setiap kali x menjadi cukup kecil, gradien menjadi sangat kecil dan jenuh (dengan cara yang sama terjadi untuk Tanh dan Sigmoid). Gradien kecil berarti bahwa algoritma pembelajaran dapat fokus pada penyetelan bobot lain tanpa khawatir tentang interaktivitas dengan neuron jenuh.
Pertimbangkan polinomial derajat 2 yang dapat direpresentasikan sebagai permukaan halus dalam ruang 3-d. Untuk menemukan minimum lokal, algoritma gradient descent perlu mempertimbangkan kecuraman pada arah x dan y. Jika gradien keduanya negatif dalam arah x dan y, tidak jelas arah mana yang lebih baik. Jadi masuk akal untuk memilih jalan di suatu tempat di antara keduanya. Tetapi bagaimana jika kita sudah tahu semuanya datar (gradien nol) di arah x, maka menjadi no-brainer untuk pergi untuk arah y. Atau dengan kata lain, ruang pencarian Anda menjadi jauh lebih kecil.
catatan khusus
Dalam pembelajaran mendalam, ada banyak klaim tanpa cukup bukti empiris atau pemahaman mendalam untuk mendukungnya. Dalam kasus ELU, walaupun mungkin benar bahwa itu menghasilkan konvergensi yang lebih cepat untuk beberapa dataset, bisa juga benar bahwa itu membuat algoritma pembelajaran terjebak pada maksimum lokal untuk dataset yang berbeda. Kami hanya belum cukup tahu.
sumber
Saya memiliki gagasan intuitif tentang mengapa fungsi halus lebih cepat dioptimalkan tetapi tidak ada bukti matematis atau apa pun.
Gradient descent menghitung turunan dari fungsi aktivasi untuk menentukan perubahan bobot. Ketika fungsi aktivasi memiliki potongan keras (misalnya pada z = 0 untuk ReLu), aktivasi unit dapat berubah secara radikal (yaitu selalu nol atau linier) untuk titik data tertentu ketika mengubah bobot.
Bobot lain perlu beradaptasi dengan perilaku yang berbeda secara radikal dari unit tertentu untuk titik data tertentu. Namun, jika perilaku unit berubah secara radikal lagi selama zaman berikutnya jaringan terus beradaptasi terhadap perubahan di zaman sebelumnya.
Dengan fungsi yang halus tidak ada perubahan radikal seperti itu. Dan dengan demikian jaringan bisa lebih stabil secara bertahap.
sumber