Fungsi Aktivasi: Dasar-dasar Sigmoid, ReLU, Leaky ReLU dan Softmax untuk Neural Networks dan Deep Learning
Mari kita mulai dengan dasar-dasar Neuron dan Neural Network dan Apa itu Fungsi Aktivasi dan Mengapa kita membutuhkannya>
Neuron membentuk sebuah Artificial Neural Network dan Neuron dapat divisualisasikan sebagai sesuatu yang memegang nomor yang berasal dari cabang-cabang berakhir ( Sinapsis ) disediakan pada saat itu Neuron , apa yang terjadi adalah untuk Lapisan dari Neural Network kami kalikan dengan masukan ke Neuron dengan beban yang dipegang oleh sinapsis itu dan jumlahkan semuanya.
- Kode Contoh untuk Propagasi Maju dalam Neuron Tunggal:
Untuk beberapa lapis Neural Networks dan Koneksi kita bisa bervariasi nilai-nilai WX dan iX dan penjumlahan S yang bervariasi menurut apakah tertentu Neuron ini diaktifkan atau tidak , sehingga untuk menormalkan ini dan mencegah berbagai drastis berbeda dari nilai-nilai, kita menggunakan apa yang disebut Fungsi Aktivasi untuk jaringan Neural yang mengubah nilai-nilai ini menjadi sesuatu yang setara antara 0,1 atau -1,1 untuk membuat keseluruhan proses seimbang secara statistik .
Fungsi aktivasi yang biasanya digunakan berdasarkan beberapa properti yang diinginkan seperti:
- Nonlinier - Jika fungsi aktivasi non-linier, jaringan saraf dua lapis dapat dibuktikan sebagai aproksimator fungsi universal. Fungsi aktivasi identitas tidak memenuhi properti ini. Ketika beberapa lapisan menggunakan fungsi aktivasi identitas, seluruh jaringan setara dengan model lapisan tunggal.
- Rentang - Jika rentang fungsi aktivasi terbatas, metode pelatihan berbasis gradien cenderung lebih stabil, karena presentasi pola hanya memengaruhi bobot terbatas secara signifikan. Jika rentangnya tidak terbatas, pelatihan umumnya lebih efisien karena presentasi pola memengaruhi sebagian besar bobot secara signifikan. Dalam kasus terakhir, kecepatan pembelajaran yang lebih kecil biasanya diperlukan.
- Dapat dibedakan secara terus-menerus - Properti ini diinginkan (ULT tidak dapat terus menerus dapat dibedakan dan memiliki beberapa masalah dengan pengoptimalan berbasis gradien, tetapi masih memungkinkan) untuk mengaktifkan metode pengoptimalan berbasis gradien. Fungsi aktivasi langkah biner tidak dapat dibedakan pada 0, dan dibedakan menjadi 0 untuk semua nilai lainnya, sehingga metode berbasis gradien tidak dapat membuat kemajuan dengannya.
- Monotonik - Jika fungsi aktivasi monotonik, permukaan error yang terkait dengan model lapisan tunggal dijamin menjadi konveks.
- Fungsi halus dengan turunan monotonik - Ini telah terbukti menggeneralisasi lebih baik dalam beberapa kasus.
- Mendekati identitas di dekat asalnya - Saat fungsi aktivasi memiliki properti ini, jaringan neural akan belajar secara efisien saat bobotnya diinisialisasi dengan nilai acak kecil. Jika fungsi aktivasi tidak mendekati identitas di dekat asalnya, perhatian khusus harus digunakan saat menginisialisasi bobot.
Memecah beberapa fungsi Aktivasi:
- Fungsi Sigmoid >
Meskipun fungsi sigmoid dan turunannya sederhana dan membantu dalam mengurangi waktu yang dibutuhkan untuk membuat model, ada kekurangan besar dari kehilangan info karena turunannya memiliki jarak yang pendek.
Oleh karena itu, semakin banyak lapisan yang ada di Jaringan Neural kami atau semakin dalam Jaringan Neural kami, semakin banyak info yang dikompresi dan hilang di setiap lapisan dan ini memperkuat dan menyebabkan hilangnya data besar secara keseluruhan.
Dari halaman Wikipedia>
Selain fungsi logistik , fungsi sigmoid meliputi tangen busur biasa , tangen hiperbolik , fungsi Gudermannian , dan fungsi kesalahan , tetapi juga fungsi logistik umum dan fungsi aljabar.
2. Unit Linear Rektifikasi (ULT) >
Dari halaman Wikipedia>
Penyearah, mulai 2018, adalah fungsi aktivasi paling populer untuk jaringan neural dalam .
Sebagian besar aplikasi Deep Learning saat ini menggunakan ReLU daripada fungsi Aktivasi Logistik untuk Computer Vision, Speech Recognition, Deep Neural Networks, dll.
Beberapa varian ReLU antara lain: Softplus (SmoothReLU), Noisy ReLU, Leaky ReLU, Parametric ReLU dan ExponentialReLU (ELU).
ULT: Unit Linear Rektifikasi (Unit yang menggunakan penyearah juga disebut ULT unit linier terarah) memiliki keluaran 0 jika masukan kurang dari 0, dan keluaran mentah sebaliknya. Artinya, jika masukan lebih besar dari 0, keluarannya sama dengan masukan. Pengoperasian ReLU lebih dekat dengan cara kerja neuron biologis kita .
ReLU adalah non-linear dan memiliki keuntungan tidak memiliki apapun kesalahan backpropagation tidak seperti yang fungsi sigmoid , juga untuk Neural Networks yang lebih besar, kecepatan model bangunan didasarkan pada ReLU sangat cepat dibandingkan dengan menggunakan Sigmoids:
- Masuk akal secara biologis : Satu sisi, dibandingkan dengan antisymmetry dari tanh .
- Aktivasi renggang : Misalnya, dalam jaringan yang diinisialisasi secara acak, hanya sekitar 50% unit tersembunyi yang diaktifkan (memiliki keluaran bukan nol).
- Propagasi gradien yang lebih baik : Masalah gradien yang hilang lebih sedikit dibandingkan dengan fungsi aktivasi sigmoidal yang menjenuhkan di kedua arah.
- Perhitungan yang efisien : Hanya perbandingan, penjumlahan dan perkalian.
- Skala-invarian : max (0, ax) = max (0, x) untuk a ≥ 0
Masalah lain yang kita lihat di ReLU adalah masalah Dying ReLU di mana beberapa Neuron ReLU pada dasarnya mati untuk semua input dan tetap tidak aktif tidak peduli masukan apa yang diberikan, di sini tidak ada aliran gradien dan jika sejumlah besar neuron mati ada di Jaringan Neural, kinerjanya adalah terpengaruh, ini dapat diperbaiki dengan memanfaatkan apa yang disebut Leaky ReLU mana kemiringan yang berubah tersisa dari x = 0 pada gambar di atas dan dengan demikian menyebabkan kebocoran dan memperluas pada kisaran dari ReLU.
3. Softmax >
Softmax adalah fungsi aktivasi yang sangat menarik karena tidak hanya memetakan keluaran kita ke kisaran [0,1] tetapi juga memetakan setiap keluaran sedemikian rupa sehingga jumlah totalnya adalah 1 . Oleh karena itu, keluaran Softmax adalah distribusi probabilitas .
Dari Wikipedia>
Fungsi softmax sering digunakan di lapisan akhir pengklasifikasi berbasis jaringan saraf. Jaringan semacam itu biasanya dilatih di bawah rezim kehilangan log (atau lintas-entropi ), memberikan varian non-linear dari regresi logistik multinomial.
Secara matematis Softmax adalah fungsi berikut dimana z adalah vektor input ke layer output dan j mengindeks unit output dari 1,2, 3…. k :
Kesimpulannya, Softmax digunakan untuk multi-klasifikasi dalam model regresi logistik sedangkan Sigmoid digunakan untuk klasifikasi biner dalam model regresi logistik , jumlah probabilitasnya adalah One untuk Softmax. Juga, saya.
Untuk pemahaman yang lebih dalam semua Fungsi Aktivasi utama saya akan menyarankan Anda untuk grafik mereka dalam Python / MATLAB / R mereka derivatif juga dan memikirkan mereka Ranges dan Minimum dan Maksimum Nilai, dan bagaimana ini dipengaruhi ketika nomor dikalikan dengan mereka.
[1]: https://en.wikipedia.org/wiki/Artificial_neural_network
[2]: https://en.wikipedia.org/wiki/Activation_function
[3]: https://en.wikipedia.org/wiki/Rectifier_(neural_networks)
[4]: http://cs231n.github.io/neural-networks-1/
[5]: https://en.wikipedia.org/wiki/Softmax_function
[6]: https://github.com/Kulbear/deep-learning-nano-foundation/wiki/ReLU-and-Softmax-Activation-Functions
[7]: https://www.kaggle.com/dansbecker/rectified-linear-units-relu-in-deep-learning
[8]: http://dataaspirant.com/2017/03/07/difference-between-softmax-function-and-sigmoid-function/
Sampai jumpa di artikel saya selanjutnya!
If you found this useful and informative, please let me know by clapping or commenting ! Also for any queries you may have in regard to the above, ask me by commenting or tweeting @himanshuxd