Mengapa ReLU digunakan sebagai fungsi aktivasi?

19

Fungsi aktivasi digunakan untuk memperkenalkan non-linearitas dalam output linear dari tipe w * x + bdalam jaringan saraf.

Yang saya bisa mengerti secara intuitif untuk fungsi aktivasi seperti sigmoid.

Saya mengerti keuntungan dari ReLU, yaitu menghindari neuron mati selama backpropagation. Namun, saya tidak dapat memahami mengapa ReLU digunakan sebagai fungsi aktivasi jika outputnya linear?

Bukankah seluruh titik menjadi fungsi aktivasi dikalahkan jika tidak akan memperkenalkan non-linearitas?

Kelinci
sumber

Jawaban:

19

Dalam matematika fungsi dianggap linier setiap kali sebuah jika untuk setiap dan dalam domain memiliki properti berikut: . Menurut definisi, ReLU adalah . Oleh karena itu, jika kita membagi domain dari atau maka fungsinya linear. Namun, mudah untuk melihat bahwa . Oleh karena itu menurut definisi ReLU tidak linier. x y A f ( x ) + f ( y ) = f ( x + y ) m a x ( 0 , x ) ( - , 0 ] [ 0 , ) f ( - 1 ) + f ( 1 ) f ( 0 )f:ABxyAf(x)+f(y)=f(x+y)max(0,x)(,0][0,)f(1)+f(1)f(0)

Namun demikian, ReLU sangat dekat dengan linier sehingga sering membingungkan orang dan bertanya-tanya bagaimana bisa digunakan sebagai aproksimasi universal. Dalam pengalaman saya, cara terbaik untuk memikirkan mereka adalah seperti jumlah Riemann. Anda dapat memperkirakan setiap fungsi kontinu dengan banyak persegi panjang kecil. Aktivasi ReLU dapat menghasilkan banyak persegi panjang kecil. Bahkan, dalam praktiknya, ReLU dapat membuat bentuk yang agak rumit dan mendekati banyak domain rumit.

Saya juga ingin mengklarifikasi poin lain. Seperti yang ditunjukkan oleh jawaban sebelumnya, neuron tidak mati di Sigmoid, tetapi menghilang. Alasan untuk ini adalah karena maksimal turunan dari fungsi sigmoid adalah 0,25. Oleh karena itu, setelah begitu banyak lapisan Anda akhirnya mengalikan gradien ini dan produk dari angka yang sangat kecil, kurang dari 1 cenderung menjadi nol dengan sangat cepat.

Karenanya, jika Anda membangun jaringan pembelajaran yang dalam dengan banyak lapisan, fungsi sigmoid Anda pada dasarnya akan stagnan dengan lebih cepat dan menjadi lebih atau kurang berguna.

Kuncinya adalah lenyapnya berasal dari mengalikan gradien bukan gradien itu sendiri.

Pucuk topi
sumber
6

Saya mengerti keuntungan dari ReLU, yaitu menghindari neuron mati selama backpropagation.

Ini tidak sepenuhnya benar. Neuron tidak mati. Jika Anda menggunakan aktivasi mirip sigmoid, setelah beberapa iterasi nilai gradien jenuh untuk sebagian besar neuron. Nilai gradien akan sangat kecil dan proses pembelajaran berlangsung sangat lambat. Ini menghilang dan meledak gradien yang telah di fungsi aktivasi sigmoid. Sebaliknya, neuron mati dapat terjadi jika Anda menggunakan ReLUnon-linarity, yang disebut sekarat ReLU .

Saya tidak dapat mengerti mengapa ReLU digunakan sebagai fungsi aktivasi jika outputnya linear

Jelas itu tidak linier. Sebagai definisi sederhana, fungsi linier adalah fungsi yang memiliki turunan yang sama untuk input dalam domainnya.

Fungsi linear populer di bidang ekonomi. Ini menarik karena sederhana dan mudah ditangani secara matematis. Ini memiliki banyak aplikasi penting. Fungsi linear adalah mereka yang grafiknya adalah garis lurus. Fungsi linear memiliki bentuk berikut:

y = f (x) = a + bx

Fungsi linear memiliki satu variabel independen dan satu variabel dependen. Variabel independen adalah x dan variabel dependen adalah y.

a adalah istilah konstan atau intersep y. Ini adalah nilai variabel dependen ketika x = 0.

b adalah koefisien variabel independen. Ini juga dikenal sebagai kemiringan dan memberikan tingkat perubahan variabel dependen.

ReLUtidak linier . Jawaban sederhananya adalah bahwa ReLUkeluarannya bukan garis lurus, tetapi tertekuk pada sumbu x. Poin yang lebih menarik adalah apa konsekuensi dari non-linearitas ini. Secara sederhana, fungsi linear memungkinkan Anda untuk membedah bidang fitur menggunakan garis lurus. Tetapi dengan non-linearitas ReLUs, Anda dapat membangun kurva berbentuk sewenang-wenang di bidang fitur.

ReLUmungkin memiliki kerugian yang merupakan nilai yang diharapkan. Tidak ada batasan untuk output Reludan nilai yang diharapkan tidak nol. Tanhlebih populer daripada sigmoidkarena nilai yang diharapkan sama dengan nol dan pembelajaran di lapisan yang lebih dalam terjadi lebih cepat. Meskipun ReLUtidak memiliki keunggulan inibatch normalization menyelesaikan masalah ini .

Anda juga dapat merujuk di sini dan di sini untuk informasi lebih lanjut.

Media
sumber