Fungsi Aktivasi: Dasar-dasar Sigmoid, ReLU, Leaky ReLU dan Softmax untuk Neural Networks dan Deep Learning

Jan 13 2020
Mari kita mulai dengan dasar-dasar Neuron dan Jaringan Neural dan Apa itu Fungsi Aktivasi dan Mengapa kita membutuhkannya> Neuron membentuk Jaringan Saraf Tiruan dan Neuron dapat divisualisasikan sebagai sesuatu yang menyimpan angka yang berasal dari cabang akhir ( Sinapsis) disediakan di Neuron itu, yang terjadi adalah untuk Lapisan Jaringan Syaraf kita mengalikan masukan ke Neuron dengan bobot yang dipegang oleh sinaps itu dan menjumlahkan semuanya. Untuk beberapa lapisan Jaringan Neural dan Koneksi kita dapat memiliki nilai yang bervariasi dari wX dan iX dan penjumlahan S yang bervariasi sesuai dengan apakah Neuron tertentu diaktifkan atau tidak, jadi untuk menormalkan ini dan mencegah rentang nilai yang berbeda secara drastis, kami 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.

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:
  • Sinapsis dan Neuron di Jaringan Neural baik Biologis dan Komputasi

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 .

Input, Bobot dan Output

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.
Fungsi Aktivasi untuk Jaringan Neural

Memecah beberapa fungsi Aktivasi:

  1. Fungsi Sigmoid >
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.

Sigmoid dan fungsi turunannya

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

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 .

ULT f (x)

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
Sigmoid Vs ReLU

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.

ULT Bocor

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.

Grafik Softmax

Secara matematis Softmax adalah fungsi berikut dimana z adalah vektor input ke layer output dan j mengindeks unit output dari 1,2, 3…. k :

Fungsi Softmax

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