Pilihan fungsi aktivasi tersembunyi neural net

14

Saya telah membaca di tempat lain bahwa pilihan seseorang untuk fungsi aktivasi lapisan tersembunyi dalam NN harus didasarkan pada kebutuhan seseorang , yaitu jika Anda membutuhkan nilai dalam rentang -1 hingga 1 gunakan tanh dan gunakan sigmoid untuk rentang 0 hingga 1.

Pertanyaan saya adalah bagaimana seseorang tahu apa yang dibutuhkan seseorang ? Apakah ini didasarkan pada rentang lapisan input, misalnya menggunakan fungsi yang dapat mencakup rentang nilai penuh lapisan input, atau entah bagaimana mencerminkan distribusi lapisan input (fungsi Gaussian)? Atau apakah masalah kebutuhan / domain spesifik dan pengalaman / penilaian seseorang diperlukan untuk membuat pilihan ini? Atau itu hanya "menggunakan apa yang memberikan kesalahan pelatihan minimum divalidasi silang terbaik?"

babelproofreader
sumber
3
Argumen ini adalah bs karena (tanh + 1) / 2 juga dalam 0-1, belum lagi bahwa "sigmoid" adalah istilah yang tidak jelas sehingga cukup sering mencakup tanh.
Mungkin perlu disebutkan bahwa set data apa pun dapat dinormalisasi menjadi 0> 1 dan dibuat menggunakan aktivasi sigmoid 1 + (1 / exp(-sum)). Membuat kebutuhan sangat sulit untuk dipahami tanpa mencoba keduanya pada setiap set data. The kebutuhan seperti yang disebutkan di sini terkait dengan hubungan yang sebenarnya sedang belajar, yaitu satu set data biner akan belajar lebih cepat atau tidak sama sekali aktivasi yang berbeda diberikan.
Adrian Seeley

Jawaban:

12

LeCun membahas ini di Backprop Efisien Bagian 4.4. Motivasinya mirip dengan motivasi untuk menormalkan input menjadi rata-rata nol (Bagian 4.3). Output rata-rata dari fungsi aktivasi tanh lebih cenderung mendekati nol daripada sigmoid, yang output rata-rata harus positif.

pengguna1149913
sumber
Bacaan yang sangat informatif!
babelproofreader
6

Kebutuhan yang disebutkan dalam paragraf pertama dari pertanyaan terkait dengan fungsi aktivasi lapisan keluaran , bukan fungsi aktivasi lapisan tersembunyi. Memiliki output yang berkisar dari 0 hingga 1 adalah nyaman karena itu berarti mereka dapat secara langsung mewakili probabilitas. Namun, IIRC, sebuah jaringan dengan fungsi aktivasi lapisan keluaran tanh dapat dengan mudah diubah menjadi jaringan dengan fungsi aktivasi lapisan keluaran logistik, sehingga tidak terlalu penting dalam praktiknya.

IIRC alasan untuk menggunakan tanh daripada fungsi aktivasi logistik di unit tersembunyi, yaitu bahwa perubahan yang dilakukan terhadap bobot menggunakan backpropagation tergantung pada output dari neuron lapisan tersembunyi dan pada turunan dari fungsi aktivasi, sehingga menggunakan aktivasi logistik fungsi Anda dapat memiliki keduanya pergi ke nol pada saat yang sama, yang dapat berakhir dengan unit lapisan tersembunyi menjadi beku.

Singkatnya, gunakan tanh untuk fungsi aktivasi lapisan tersembunyi, pilih fungsi aktivasi lapisan output untuk menegakkan batasan yang diinginkan pada output (pilihan umum: linier - tanpa kendala, logistik - output terletak antara 0 dan 1 dan eksponensial - output sangat positif).

Dikran Marsupial
sumber
Saya tidak mendapatkan "... keduanya nol ...". Saya melihat output mungkin nol tetapi bagaimana mungkin memiliki turunan fungsi logistik menjadi nol sebagai tanh tidak.
erogol
itu tidak pergi ke nol, untuk fungsi logistik, itu hanya menjadi sangat kecil. Untuk fungsi tanh, turunan berada pada titik terbesarnya ketika outputnya nol dan output pada titik terbesarnya ketika turunannya terkecil. Makalah asli ditulis pada akhir 80-an, saya akan melihat apakah saya bisa mengingat detailnya.
Dikran Marsupial
2
Saya tidak dapat menemukan kertas asli, tetapi beberapa makalah dalam buku "Jaringan Saraf - Trik Perdagangan" menyarankan bahwa tanh lebih baik di lapisan tersembunyi karena jaringan berkinerja lebih baik jika aktivasi lapisan tersembunyi dipusatkan (yaitu nol rata-rata ).
Dikran Marsupial
2

1.7159×tanh(x×(2/3))-1+1[-1.5,+1.5]. Dengan cara itu jaringan Anda akan lebih akurat pada titik-titik dekat batas keputusan.

Konsep umum untuk memilih sigmoid untuk tujuan Anda adalah memilih yang sesuai dengan aturan, nilai output Anda berada dalam kisaran poin, membuat turunan kedua fungsi sigmoid menjadi maksimum.

erogol
sumber