Lompat ke konten utama
←

Jaringan Saraf Tiruan Dasar dengan Python

Pelajaran 11 dari 22

Belajar: gradient descent, backpropagation, dan optimizer

Backpropagation untuk satu lapis tersembunyi

Setelah pelajaran ini kamu bisa menghitung gradien semua bobot dan bias jaringan dengan satu lapis tersembunyi ReLU, lalu menjalankan satu langkah pembaruan.

±13 menitDiperiksa 28 Sep 2026

Materi

Untuk jaringan Z1 = XW1 + b1, H = ReLU(Z1), Ŷ = HW2 + b2, dengan loss MSE rata-rata atas n sampel, backpropagation berjalan mundur dalam lima langkah. Pertama, gradien terhadap keluaran: dŶ = 2(Ŷ − Y)/n. Kedua, lapisan keluaran: dW2 = Hᵀ·dŶ dan db2 = jumlah dŶ per kolom. Ketiga, kirim gradien ke lapis tersembunyi: dH = dŶ·W2ᵀ. Keempat, lewati ReLU: dZ1 = dH dikali (Z1 > 0), karena turunan ReLU 1 untuk z positif dan 0 selainnya. Kelima, lapisan pertama: dW1 = Xᵀ·dZ1 dan db1 = jumlah dZ1 per kolom.

Pola bentuknya selalu sama: gradien bobot punya bentuk yang persis sama dengan bobotnya, sehingga W − η·dW bisa langsung dihitung. Transpos (.T) muncul karena gradien harus dijumlahkan atas semua sampel. User Guide scikit-learn meringkas proses yang sama: setelah loss dihitung, backward pass merambatkannya dari lapisan keluaran ke lapisan sebelumnya dan memberi setiap bobot nilai pembaruan yang menurunkan loss.

import numpy as np

# satu sampel, satu neuron tersembunyi, tanpa bias
x = np.array([[3.0]]); y = np.array([[1.0]])
w1 = np.array([[0.5]]); w2 = np.array([[2.0]])
z1 = x @ w1; h = np.maximum(0, z1); y_topi = h @ w2    # 1.5, 1.5, 3.0
d_y = 2 * (y_topi - y)                                 # 4.0
d_w2 = h.T @ d_y                                       # 6.0
d_z1 = (d_y @ w2.T) * (z1 > 0)                         # 8.0
d_w1 = x.T @ d_z1                                      # 24.0

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Satu sampel x = [1, 2]. Neuron tersembunyi pertama aktif (z-nya positif). Gradien loss terhadap keluaran ŷ adalah 0,5, dan bobot dari neuron itu ke keluaran adalah 1,5. Berapa gradien loss terhadap bobot dari masukan kedua ke neuron itu?

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke