Lensa ML

Cara Kerja Neural Network

Langkah 1 dari 6: Semua Berawal dari Foto

Cara neural network melihat gambar kucing

Foto kucing
pixel mentah
→
Ekstrak
feature
→
Telinga runcing0.85
Kumis0.72
Tekstur bulu0.91

Neural network tidak bisa melihat foto. Gambar dipindai dulu untuk mencari feature: telinga runcing, kumis, tekstur bulu. Masing-masing menjadi angka 0–1. Angka-angka inilah yang diolah network.

Target
Kucing = 1.0
Target
Anjing = 0.0

Langkah berikutnya mengikuti foto kucing ini di seluruh network.

Network gambar sungguhan tidak mulai dari feature pilihan manusia seperti telinga runcing. Convolutional network membaca nilai pixel mentah dan mempelajari feature-nya sendiri di layer awal. Di sini kita memakai tiga feature bernama supaya setiap angka bisa kamu ikuti. Apa pun input-nya, semuanya menjadi vector berisi angka. Targetnya (Kucing = 1.0, Anjing = 0.0) juga berupa angka, sehingga network bisa mengukur seberapa jauh jawabannya meleset.

Langkah 2 dari 6: Apa Itu Neuron?

Satu unit kecil yang menimbang feature kucing, lalu mengambil keputusan

0.85Telinga runcing×0.60.72Kumis×-0.30.91Tekstur bulu×0.80.74σ(Σ) = 0.735output0.735

Neuron ini menerima feature dari foto kucing. Tekstur bulu (×0,8) dan telinga runcing (×0,6) mendapat weight besar karena keduanya ciri kuat kucing. Kumis (×-0,3) bernilai negatif karena anjing juga punya kumis.

Neuron ini menghitung σ(w₁x₁ + w₂x₂ + w₃x₃): kalikan setiap feature dengan weight-nya, jumlahkan, lalu masukkan hasilnya ke activation function σ. Di sini σ adalah sigmoid, yang memampatkan angka apa pun ke rentang 0 sampai 1. Sebagian besar network sungguhan juga menambahkan bias term b ke jumlah itu, yang menggeser titik aktif neuron. Ide ini berawal dari perceptron (Rosenblatt, 1958), yang memakai threshold nyala/mati, bukan kurva halus.

Langkah 3 dari 6: Layer dan Koneksi

Ketuk neuron mana saja untuk melihat cara ia mengolah feature kucing

Feature kucing masuk ke network
0.85Telinga runcing0.72Kumis0.91Tekstur bulu0.620.520.630.300.650.770.410.480.57Kucing0.67AnjingInputHidden 1Hidden 2Output

3 feature kucing melewati hidden layer yang mendeteksi kombinasi feature. Ketuk neuron mana saja untuk melihat hitungannya.

Ketuk neuron di setiap layer dan bandingkan apa yang diterimanya. Dengan 3 input, dua hidden layer berisi 4, dan 2 output, network ini punya 3×4 + 4×4 + 4×2 = 36 weight koneksi. Activation function di antara layer itu penting. Tanpanya, menumpuk layer tidak menambah apa-apa, karena rangkaian weighted sum tetap setara dengan satu weighted sum. Sifat non-linear inilah yang membuat setiap layer bisa membangun feature baru dari kombinasi output layer sebelumnya.

Langkah 4 dari 6: Atur Weight

Network yang sama. Geser weight dan lihat prediksinya berubah

Geser weight dan lihat prediksinya berubah
-0.02+0.05+0.07+0.67+0.60-0.61-0.600.85Telinga runcing0.72Kumis0.91Tekstur bulu0.620.520.630.300.650.770.410.480.57Kucing0.67AnjingInputHidden 1Hidden 2Output
Kucing (target: 1.0)
0.571
Anjing (target: 0.0)
0.671
Hidden 1 #2
Telinga runcing
0.85×w=-0.017
-0.02
Kumis
0.72×w=+0.036
+0.05
Tekstur bulu
0.91×w=+0.064
+0.07

Network mengira ini Anjing. Naikkan weight untuk ciri kucing.

Geser tiap weight dan lihat output Kucing dan Anjing bergerak. Ada weight yang nyaris tidak mengubah output, ada pula yang mengubahnya banyak. Kepekaan output terhadap tiap weight itulah gradient, dan training mengukurnya untuk semua weight sekaligus. Mengatur dengan tangan masih bisa untuk satu foto dan 36 weight, tetapi network sungguhan punya jauh lebih banyak weight dan harus benar pada ribuan contoh sekaligus.

Langkah 5 dari 6: Forward Pass

Lihat feature kucing mengalir sampai menjadi jawaban akhir

Feature kucing mengalir melewati network
0.85Telinga runcing0.72Kumis0.91Tekstur buluKucingAnjingInputHidden 1Hidden 2Output

Telinga runcing, kumis, dan tekstur bulu mengalir ke depan. Output: Kucing=0.57, Anjing=0.67. Belum cukup yakin, jadi masih perlu training.

Forward pass adalah seluruh proses prediksi network: satu weighted sum dan satu aktivasi per layer, dari input sampai output. Model yang sudah dilatih dan dipakai di produksi hanya menjalankan langkah ini. Training menambahkan backward pass, yang biayanya kira-kira dua kali lipat. Kedua output di sini adalah sigmoid yang terpisah, jadi Kucing dan Anjing tidak harus berjumlah 1. Output layer softmax akan memaksakan jumlah itu, dan ini pilihan umum ketika tepat satu kelas yang benar.

Langkah 6 dari 6: Cara Network Belajar

Ikuti training loop langkah demi langkah sampai network mengenali kucing

Mengajari network mengenali kucing ini
→
Forward
≈
Bandingkan
←
Backprop
±
Update
0.85Telinga runcing0.72Kumis0.91Tekstur bulu0.620.520.630.300.650.770.410.480.57Kucingtarget 1.00.67Anjingtarget 0.0InputHidden 1Hidden 2Output

Forward: Feature kucing mengalir ke depan (telinga, kumis, bulu), sama seperti di Langkah 5.

Epoch
0
Loss
1.673
riwayat loss

Ikuti Forward, Bandingkan, Backprop, dan Update satu per satu, atau tekan Otomatis, lalu lihat loss turun di setiap epoch. Hampir semua neural network dilatih dengan putaran ini: buat prediksi, ukur error dengan loss function, hitung gradient tiap weight dengan backpropagation, lalu geser tiap weight selangkah kecil ke arah turun. Network ini belajar dari satu foto, jadi ia bisa menghafalnya begitu saja. Training sungguhan memakai banyak contoh dan memeriksa held-out set untuk memastikan network mengenali kucing secara umum, bukan satu gambar saja.

Apa itu neural network?

Neural network adalah fungsi yang tersusun dari beberapa layer berisi unit sederhana bernama neuron. Setiap neuron menghitung weighted sum dari input-nya, lalu meneruskannya ke activation function. Dengan menumpuk layer, network bisa merepresentasikan hubungan yang rumit. Setelah itu, training menyesuaikan weight sampai output network cocok dengan sekumpulan contoh.

Network di sini cukup kecil untuk diikuti dengan tangan: 3 input, dua hidden layer yang masing-masing berisi 4 neuron, dan 2 output (Kucing dan Anjing), dengan aktivasi sigmoid di setiap neuron. Network di balik pengenalan gambar dan model bahasa bekerja dengan prinsip yang sama, tetapi memakai jutaan hingga miliaran weight.

Ide utama

  • Neuron menghitung weighted sum dari input-nya, lalu menerapkan activation function.
  • Layer berisi neuron membangun feature dari kombinasi feature sebelumnya.
  • Tanpa aktivasi non-linear, tumpukan layer berapa pun setara dengan satu layer.
  • Forward pass mengubah input menjadi prediksi, dan hanya itu yang dijalankan model yang sudah dilatih.
  • Training berulang: buat prediksi, ukur loss, jalankan backpropagation, perbarui weight.
  • Belajar berarti menemukan weight yang cocok untuk banyak contoh, bukan satu contoh saja.

Pertanyaan umum

Apa bedanya weight dan bias?

Weight mengalikan satu input ke neuron. Bias adalah satu angka tambahan yang dijumlahkan ke hasil neuron, sehingga neuron bisa aktif walaupun semua input-nya nol, dan decision boundary-nya bergeser dari titik asal. Keduanya dipelajari saat training.

Berapa layer yang dibutuhkan neural network?

Secara teori, satu hidden layer dengan neuron yang cukup bisa mendekati fungsi kontinu apa pun pada rentang input yang terbatas (teorema universal approximation). Dalam praktiknya, network yang lebih dalam mempelajari fungsi yang sama dengan neuron yang jauh lebih sedikit. Itu sebabnya network modern punya banyak layer.

Kenapa disebut neural network?

Ide awalnya terinspirasi secara longgar dari neuron biologis, yang menyala ketika gabungan sinyal masuknya melewati threshold. Neuron buatan jauh lebih sederhana daripada yang asli, dan network modern dirancang agar mudah dilatih di komputer, bukan untuk meniru otak.

Activation function apa yang dipakai selain sigmoid?

Hidden layer pada network modern umumnya memakai ReLU atau kerabat dekatnya seperti GELU, yang membuat gradient tidak cepat mengecil di network yang dalam. Sigmoid masih umum untuk output berupa probabilitas ya atau tidak.

Penjelasan terkait

Referensi

  1. Rosenblatt (1958), "The perceptron: A probabilistic model for information storage and organization in the brain", Psychological Review
  2. Rumelhart, Hinton & Williams (1986), "Learning representations by back-propagating errors", Nature
  3. Hornik, Stinchcombe & White (1989), "Multilayer feedforward networks are universal approximators", Neural Networks
  4. Nielsen, "Neural Networks and Deep Learning", chapter 1
  5. Goodfellow, Bengio & Courville (2016), "Deep Learning", chapter 6: Deep Feedforward Networks

Terakhir diperbarui