Apa itu activation function pada neural network?
Activation function adalah fungsi non-linear yang diterapkan pada weighted sum tiap neuron sebelum hasilnya diteruskan ke layer berikutnya. Tanpa fungsi ini, neural network sedalam apa pun hanya menghitung fungsi linear dari input-nya. Pilihan yang umum adalah sigmoid, tanh, ReLU, dan varian ReLU yang halus seperti GELU dan Swish.
Pilihan aktivasi memengaruhi apa yang bisa direpresentasikan network dan seberapa lancar gradient mengalir saat training. ReLU membuat deep convolutional network jadi praktis sekitar 2012. GELU adalah pilihan bawaan di BERT dan transformer bergaya GPT, sedangkan gated unit berbasis Swish (SwiGLU) dipakai di feed-forward layer LLaMA. Sigmoid masih bertahan di output layer untuk binary classification dan di gate LSTM.
Ide utama
- Tanpa aktivasi non-linear, tumpukan layer menyatu menjadi satu layer linear.
- Sigmoid dan tanh mengalami saturasi pada input besar, tempat gradient-nya mendekati nol.
- Tanh adalah sigmoid yang digeser dan diskalakan ulang, dengan output yang berpusat di nol.
- ReLU murah, tidak mengalami saturasi untuk input positif, dan menjadi pilihan bawaan banyak hidden layer.
- Leaky ReLU, ELU, Swish, dan GELU tetap memberi respons bukan nol untuk input negatif.
- Output layer memakai aktivasi sesuai tugas: sigmoid untuk biner, softmax untuk multikelas, dan tanpa aktivasi untuk regresi.
Pertanyaan umum
Activation function mana yang sebaiknya dipakai?
Untuk hidden layer, mulai dengan ReLU pada convolutional network dan feed-forward network biasa, serta GELU atau SwiGLU pada transformer. Untuk output layer, pilihannya mengikuti tugas: sigmoid untuk satu probabilitas, softmax untuk beberapa kelas yang saling meniadakan, dan output linear untuk regresi.
Apa bedanya activation function dan softmax?
Sebagian besar activation function bekerja pada tiap neuron secara terpisah. Softmax bekerja pada seluruh vector: setiap elemen dieksponensialkan lalu dibagi dengan jumlahnya, sehingga output-nya positif dan berjumlah 1. Softmax dipakai di output classifier untuk mengubah skor menjadi probabilitas kelas.
Apakah activation function harus bisa diturunkan?
Fungsi ini perlu punya gradient yang bisa dipakai di hampir semua titik, karena training mengandalkan backpropagation. ReLU tidak bisa diturunkan di 0, tetapi satu titik itu tidak berpengaruh dalam praktik, dan framework memberinya turunan 0. Sebaliknya, step function punya gradient nol di semua titik yang terdefinisi, jadi gradient descent tidak bisa melatih network melewatinya.
Kenapa GELU dipakai di transformer?
GELU memberi bobot pada tiap input sesuai probabilitas variabel normal standar jatuh di bawah nilai itu, sehingga kurvanya halus, bukan bersudut tajam seperti ReLU. Penulisnya melaporkan peningkatan kecil dibanding ReLU pada tugas visi dan bahasa, lalu BERT dan GPT mengadopsinya. Model yang lebih baru seperti LLaMA beralih ke SwiGLU, gated unit yang dibangun di atas Swish.
Penjelasan terkait
- Neural Network · Cara neuron dan layer mengenali gambar
- Perceptron · Neural network paling sederhana: satu neuron, satu decision boundary
- Backpropagation · Cara network belajar dari kesalahannya
- Vanishing dan Exploding Gradient · Kenapa deep network sulit dilatih dan cara mengatasinya
- Inisialisasi Weight · Xavier, He, dan kenapa weight acak itu penting
- Softmax, Logit, dan Temperature · Mengubah skor mentah menjadi probabilitas
Referensi
- Hendrycks & Gimpel (2016), "Gaussian Error Linear Units (GELUs)"
- Ramachandran, Zoph & Le (2017), "Searching for Activation Functions"
- Clevert, Unterthiner & Hochreiter (2015), "Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)"
- He et al. (2015), "Delving Deep into Rectifiers"
- Goodfellow, Bengio & Courville (2016), "Deep Learning", section 6.3: Hidden Units
Terakhir diperbarui