Mengapa ini mempercepat gradient descent jika fungsinya halus?

10

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.

masukkan deskripsi gambar di sini

The zberarti sumbu x pada grafik di atas. Saya mengerti turunannya halus karena z < 0garisnya 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?

Blaszard
sumber
BTW apakah saya di SE yang benar? Ilmu Data, Kecerdasan Buatan, dan Cross Divalidasi, (dan juga MathSE) ... menurut saya banyak topik sangat saling terkait ...
Blaszard
2
Saya pikir Anda akan aman memposting pertanyaan ini di sini di Ilmu Data atau di Cross Validated. Mungkin boleh juga untuk Inteligensi Buatan, tapi saya kurang terbiasa dengan situs itu.
Neil Slater
Pertanyaan bagus. Kelancaran memungkinkan Anda untuk mengambil langkah berani ke arah yang benar daripada mengambil langkah-langkah kecil untuk sementara karena gradien mungkin berubah secara drastis pada langkah berikutnya. Untuk analisis konvergensi, lihat mis., Akselerasi Gradien Keturunan Nesterov untuk Optimalisasi Optimasi Cembung yang Lembut
Emre
@NeilSlater AI memiliki cakupan yang sangat tidak jelas. Mereka menutup pertanyaan seperti itu. Jadi, DS dan CV akan menjadi pilihan terbaik :)
Dawny33

Jawaban:

1

Dugaan saya karena turunannya, karena ReLU memiliki turunan terputus pada 0. Oleh karena itu jika Anda menggunakan definisi:

ff(x+ϵ)f(xϵ)2ϵ

x

Alex
sumber
0

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.

Stardust dinamis
sumber
Sangat tidak mungkin bahwa parameter menjadi tepat z = 0 setelah inisialisasi.
Pieter
0

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

n

z1=W1x+b1

a1=f(z1)

...

zn=Wnan1+bn

y=f(zn)

f

Tanh dan Sigmoid - Vanishing Gradient

ff(x)(1,1)x

yW1

dfdW1=dfdWndWndWn1...dW2dW1

0<i<n

dXidXi1=f(Wi1ai2+bi1)×ai2(1,1)

(1,1)fai2(1,1)

dfdW1ndfdW1

RELU dan Dead Neuron

ai>0f

dXidXi1=ai2
dfdW1=a1a2a3...an1

x>0x<0

RELU dan ELU bocor

x>0x<1

Saya mengutip makalah asli untuk perbedaan antara keduanya.

Meskipun LReLU dan PReLU memiliki nilai negatif juga, mereka tidak memastikan keadaan penonaktifan yang kuat terhadap noise. ELU jenuh ke nilai negatif dengan input lebih kecil dan dengan demikian mengurangi variasi dan informasi yang diperbanyak ke depan.

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.

Louis T
sumber
0

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.

Pieter
sumber