Apa itu bias term pada neural network?
Bias adalah angka hasil training yang dijumlahkan ke weighted sum sebuah neuron sebelum masuk ke activation function, sehingga neuron menghitung σ(w·x + b). Weight menentukan arah yang direspons neuron, dan bias menentukan di titik mana sepanjang arah itu neuron mulai aktif. Secara geometris, bias memindahkan decision boundary neuron menjauhi titik asal.
Hampir setiap dense layer dan convolutional layer punya satu bias per neuron, jadi layer dengan n input dan m neuron menyimpan n×m weight dan m bias. Tanpa bias, setiap boundary di layer pertama harus melewati titik asal, dan itu gagal begitu kelas-kelasnya tidak berada di tengah. Penjelasan ini dimulai dari satu neuron dan berakhir di network kecil yang boundary-nya bergabung untuk menyelesaikan XOR.
Ide utama
- Neuron menghitung σ(w·x + b), dan bias b dipelajari seperti weight.
- Weight menentukan orientasi decision boundary, dan bias menentukan pergeserannya.
- Tanpa bias, setiap boundary harus melewati titik asal.
- Setiap neuron menarik satu boundary linear, lalu layer berikutnya menggabungkannya menjadi area melengkung.
- XOR butuh minimal dua boundary, jadi butuh minimal satu hidden layer.
- Bias hanya menambah sedikit parameter, tetapi membuat setiap neuron bisa menempatkan boundary-nya di mana saja.
Pertanyaan umum
Apakah semua layer neural network punya bias?
Tidak. Layer yang diikuti batch normalization biasanya tidak memakai bias, karena batch norm mengurangi rata-rata lalu menambahkan pergeseran hasil training-nya sendiri. Sebagian model bahasa besar, seperti PaLM, menghapus bias dari dense layer sepenuhnya dan melaporkan training yang lebih stabil.
Apakah bias term berkaitan dengan bias pada bias-variance tradeoff?
Tidak, kesamaan katanya hanya kebetulan. Bias term adalah parameter di dalam neuron. Bias pada bias-variance tradeoff adalah kesalahan sistematis model, yang disebabkan oleh asumsi yang terlalu sederhana untuk data.
Bisakah decision boundary melengkung?
Boundary satu neuron selalu datar: garis, bidang, atau hyperplane. Boundary melengkung berasal dari gabungan banyak neuron di hidden layer, dari penambahan feature non-linear seperti x₁² sebelum model linear, atau dari kernel method seperti RBF support vector machine.
Bagaimana cara memplot decision boundary model yang sudah dilatih?
Jalankan model pada kisi rapat yang mencakup ruang input, lalu warnai tiap titik menurut kelas prediksinya, seperti area berarsir di sini. Boundary berada di tempat warnanya berubah. Cara ini hanya langsung berlaku untuk dua feature input. Kalau lebih banyak, plot biasanya menetapkan nilai feature lainnya atau memproyeksikan data ke 2D dulu.
Penjelasan terkait
- Perceptron · Neural network paling sederhana: satu neuron, satu decision boundary
- Neural Network · Cara neuron dan layer mengenali gambar
- Activation Function · Kenapa network butuh sifat non-linear untuk belajar
- Support Vector Machine · Classifier dengan margin maksimum dan kernel trick
- Batch Normalization · Kenapa normalisasi aktivasi mempercepat training deep network
- Inisialisasi Weight · Xavier, He, dan kenapa weight acak itu penting
Referensi
- Goodfellow, Bengio & Courville (2016), "Deep Learning", chapter 6: Deep Feedforward Networks (6.1: Learning XOR)
- Nielsen, "Neural Networks and Deep Learning", chapter 1
- Ioffe & Szegedy (2015), "Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift"
- Chowdhery et al. (2022), "PaLM: Scaling Language Modeling with Pathways"
Terakhir diperbarui