Fungsi Aktivasi Neural - Perbedaan antara Logistik / Tanh / dll

Saya sedang menulis beberapa metode jaringan saraf dasar - khususnya fungsi aktivasi - dan telah mencapai batas pengetahuan saya tentang matematika. Saya memahami rentang masing-masing (-1/1) (0/1) dll, tetapi deskripsi dan implementasi yang berbeda-beda membuat saya bingung.

Khususnya sigmoid, logistik, bipolar sigmoid, tanh, dll.

Apakah sigmoid hanya mendeskripsikan bentuk fungsi terlepas dari rentangnya? Jika ya, apakah tanh merupakan 'fungsi sigmoid'?

Saya telah melihat 'bipolar sigmoid' dibandingkan dengan 'tanh' di sebuah makalah, namun saya telah melihat kedua fungsi tersebut diimplementasikan (di berbagai perpustakaan) dengan kode yang sama:

(( 2/ (1 + Exp(-2 * n))) - 1). Apakah keduanya sama persis?

Demikian pula, saya telah melihat aktivasi logistik dan sigmoid diimplementasikan dengan kode yang sama:

( 1/ (1 + Exp(-1 * n))). Apakah ini juga setara?

Terakhir, apakah hal itu terlalu penting dalam praktiknya? Saya melihat di wiki plot fungsi sigmoid yang sangat mirip - dapatkah salah satu dari ini digunakan? Beberapa di antaranya tampak jauh lebih cepat untuk dihitung daripada yang lain.


person Satellite    schedule 07.08.2012    source sumber
comment
FYI Daftar lengkap fungsi aktivasi di jaringan neural dengan pro/kontra   -  person Franck Dernoncourt    schedule 01.01.2017


Jawaban (4)


Fungsi logistik: ex/(ex + ec)

Kasus khusus ("standar") dari fungsi logistik: 1/(1 + e-x)

Sigmoid bipolar: belum pernah mendengarnya.

Tanh: (ex-e-x)/(ex + e-x)

Sigmoid biasanya mengacu pada bentuk (dan batasnya), jadi ya, tanh adalah fungsi sigmoid. Namun dalam beberapa konteks ini merujuk secara khusus pada fungsi logistik standar, jadi Anda harus berhati-hati. Dan ya, Anda bisa menggunakan fungsi sigmoid apa pun dan mungkin melakukannya dengan baik.

(( 2/ (1 + Exp(-2 * x))) - 1) setara dengan tanh(x).

person Beta    schedule 07.08.2012
comment
Jawaban yang bagus, terima kasih! Saya memeriksa fungsi 'bipolar sigmoid', dan di makalah yang saya miliki di depan saya, mereka mengimplementasikannya sebagai: (( 2/ (1 + Exp(-1 * x))) - 1) = tanh(x /2) - person Satellite; 08.08.2012
comment
Sebenarnya Anda harus berhati-hati dengan sigmoid mana yang Anda gunakan - mis. setidaknya cocok dengan rentang keluaran (atau mengubah skala keluaran). Juga dengan backpropagation tanh/tansig cenderung bekerja lebih baik daripada logsig ke lapisan tersembunyi. Hal ini karena ia berada di antara -1 dan +1 (bipolar) daripada 0 dan +1 (unipolar) dan menjaga keseimbangan yang lebih baik. - person David M W Powers; 07.04.2017

Umumnya perbedaan yang paling penting adalah a. halus terus terdiferensiasi seperti tanh dan logistik vs langkah atau terpotong b. kompetitif vs transfer c. sigmoid vs radial d. simetris (-1,+1) vs asimetris (0,1)

Umumnya persyaratan terdiferensiasi diperlukan untuk lapisan tersembunyi dan tanh sering direkomendasikan karena lebih seimbang. Angka 0 untuk tanh berada pada titik tercepat (gradien atau penguatan tertinggi) dan bukan jebakan, sedangkan untuk logistik 0 adalah titik terendah dan jebakan untuk apa pun yang mendorong lebih jauh ke wilayah negatif. Fungsi radial (basis) adalah tentang jarak dari prototipe tipikal dan cocok untuk daerah melingkar cembung di sekitar neuron, sedangkan fungsi sigmoid adalah tentang pemisahan secara linier dan baik untuk setengah ruang - dan akan memerlukan banyak hal untuk pendekatan yang baik ke daerah cembung, dengan daerah melingkar/bola menjadi yang terburuk untuk sigmoid dan terbaik untuk radial.

Secara umum, rekomendasinya adalah untuk tanh pada lapisan perantara untuk +/- keseimbangan, dan menyesuaikan lapisan keluaran dengan tugas (keputusan kelas boolean/dikotomis dengan ambang batas, logistik, atau keluaran kompetitif (misalnya softmax, generalisasi logistik multikelas yang dapat dinormalisasi sendiri ); tugas regresi bahkan bisa linier). Lapisan keluaran tidak perlu terdiferensiasi secara terus menerus. Lapisan masukan harus dinormalisasi dengan cara tertentu, baik ke [0,1] atau lebih baik lagi standarisasi atau normalisasi dengan merendahkan ke [-1,+1]. Jika Anda memasukkan input dummy 1 lalu normalkan sehingga ||x||p = 1 Anda membaginya dengan jumlah atau panjang dan informasi besaran ini disimpan dalam input bias dummy daripada hilang. Jika Anda melakukan normalisasi pada contoh, hal ini secara teknis mengganggu data pengujian jika Anda melihatnya, atau mungkin berada di luar jangkauan jika Anda tidak melihatnya. Tetapi dengan normalisasi ||2 variasi atau kesalahan tersebut harus mendekati distribusi normal jika itu merupakan efek dari distribusi alami atau kesalahan. Ini berarti bahwa nilai-nilai tersebut dengan probabilitas tinggi tidak akan melampaui rentang aslinya (mungkin sekitar 2 deviasi standar) dengan lebih dari satu faktor kecil (yaitu, nilai-nilai yang melampaui rentang tersebut dianggap sebagai outlier dan tidak signifikan).

Jadi saya merekomendasikan normalisasi contoh yang tidak bias atau standardisasi pola yang bias atau keduanya pada lapisan masukan (mungkin dengan reduksi data dengan SVD), tanh pada lapisan tersembunyi, dan fungsi ambang batas, fungsi logistik atau fungsi kompetitif pada keluaran untuk klasifikasi, tetapi linier dengan target yang tidak dinormalisasi atau mungkin logsig dengan target yang dinormalisasi untuk regresi.

person David M W Powers    schedule 22.08.2014

Faktanya adalah (dan saya telah mengujinya) bahwa dalam beberapa kasus mungkin lebih baik menggunakan tanh daripada logistik karena

  1. Output mendekati Y = 0 pada logistik kali bobot w menghasilkan nilai mendekati 0 yang tidak berpengaruh banyak pada lapisan atas yang dipengaruhinya (walaupun ketiadaan juga mempengaruhi), namun nilai yang mendekati Y = -1 pada tahn kali bobot w mungkin menghasilkan angka besar yang memiliki efek numerik lebih besar.
  2. Turunan dari tanh (1 - y^2) menghasilkan nilai yang lebih besar daripada logistik (y (1 -y) = y - y^2). Misalnya, jika z = 0, fungsi logistik menghasilkan y = 0.5 dan y' = 0.25, untuk tanh y = 0 tetapi y' = 1 (Anda dapat melihatnya secara umum hanya dengan melihat grafik). ARTI bahwa lapisan tanh mungkin belajar lebih cepat daripada lapisan logistik karena besarnya gradien.
person Cristian Garcia    schedule 02.02.2015

Sigmoid bipolar = (1-e^(-x))/(1 + e^(-x))

Penjelasan detailnya dapat ditemukan di di sini

person Gongqin Shen    schedule 23.09.2015