Bỏ qua, tới nội dung chính
Luxara Academy

Bài archive — trả lời một câu hỏi

Một bước gradient descent tính thế nào?

Sau khi có gradient, cập nhật trọng số w theo công thức nào?

Gradient descent di chuyển tham số theo hướng làm mất mát giảm. Với một trọng số ww, đạo hàm ∂L/∂w\partial L / \partial w và tốc độ học η\eta:

wmới=wcu˜−η∂L∂ww_{\text{mới}} = w_{\text{cũ}} - \eta \frac{\partial L}{\partial w}

Ví dụ đơn giản: giả sử w=0,5w = 0{,}5, ∂L/∂w=2,0\partial L / \partial w = 2{,}0, η=0,1\eta = 0{,}1. Bước cập nhật: wmới=0,5−0,1×2,0=0,3w_{\text{mới}} = 0{,}5 - 0{,}1 \times 2{,}0 = 0{,}3. Mất mát thường giảm nếu η\eta không quá lớn.

Dấu trừ là điểm dễ nhầm: gradient tăng mất mát thì ta trừ để đi ngược. Trên nhiều tham số, mỗi wjw_j và bb cập nhật cùng lúc sau khi tính gradient trên một mẫu hoặc một batch.

python
w, grad, eta = 0.5, 2.0, 0.1
w = w - eta * grad
assert w == 0.3

Khóa Deep Learning dạy bước này tay trên một mẫu thư trước khi bọc vòng lặp NumPy — để khi loss “nhảy”, bạn biết kiểm tra η\eta hay gradient trước. Viết ra giấy wcu˜w_{\text{cũ}}, ∂L/∂w\partial L/\partial w và wmớiw_{\text{mới}} cho một bài toán spam cụ thể giúp bạn không lạc dấu dấu trừ trong công thức.