Gradient và đạo hàm riêng
Gradient và đạo hàm riêng
Kéo một điểm trên mặt lỗi và xem vector gradient chỉ hướng dốc lên mạnh nhất.
Khi hàm mất mát phụ thuộc hai biến, ví dụ f(x, y) = 0.5 x^2 + 1.5 y^2, bạn không hỏi
"độ dốc" chung chung nữa, mà hỏi độ dốc theo từng hướng. Đạo hàm riêng theo x, viết là
df/dx, đo mặt lỗi dốc bao nhiêu nếu bạn nhích riêng x và giữ nguyên y; đạo hàm riêng
theo y, viết là df/dy, đo độ dốc khi nhích riêng y. Ở đây df/dx = x và df/dy = 3y,
nên cùng một khoảng cách tới đáy thì hướng y dốc gấp ba hướng x.
Gom hai con số đó lại thành một vector, ta được gradient grad f = (df/dx, df/dy). Vector
này không phải một hướng tùy ý: trong mọi hướng bạn có thể bước đi từ điểm đang đứng,
gradient chính là hướng mặt lỗi đi lên nhanh nhất, và độ dài của nó là độ dốc theo
hướng ấy. Vì thế gradient descent không cần đoán mò: nó chỉ việc bước ngược lại, theo
-grad f, tức hướng xuống nhanh nhất.
Thử ngay
Thử điều này:
- Kéo điểm ra xa đáy theo trục
y: mũi tên vàng dài ra rất nhanh, còn thành phầndf/dyáp đảodf/dx, đúng như hệ số1.5làm hướngydốc hơn. - Đặt điểm nằm ngay trên trục
x(choygần0):df/dygần như biến mất, gradient gần như nằm ngang, chỉ còn thành phần theox. - Rê điểm dọc theo một vòng đồng mức và để ý mũi tên vàng luôn đâm vuông góc ra khỏi vòng đó.
- Kéo điểm về sát cực tiểu ở gốc: độ lớn gradient tụt về
0và mũi tên biến mất, vì không còn hướng nào để đi xuống.
Vì sao vuông góc đường đồng mức
Trên một đường đồng mức, giá trị f không đổi, nên nếu bạn bước dọc theo đường đó thì mặt
lỗi không lên cũng không xuống, độ dốc theo hướng đó bằng 0. Gradient lại là hướng dốc
nhất, hoàn toàn ngược lại với hướng "không dốc". Hai điều này chỉ dung hòa được khi gradient
vuông góc với đường đồng mức, và đó chính là góc vuông bạn thấy giữa mũi tên vàng và nét
tiếp tuyến xám trong hình.
Gradient gom các đạo hàm riêng thành một vector chỉ đúng hướng dốc lên mạnh nhất và luôn vuông góc với đường đồng mức, nên gradient descent chỉ việc bước ngược nó là đi xuống nhanh nhất.
- 1Vector gradient grad f tại một điểm chỉ về hướng nào?
- 2Với f(x, y) = 0.5 x^2 + 1.5 y^2, tại điểm mà y lớn hơn x nhiều, thành phần nào của gradient trội hơn?
- 3Vì sao vector gradient luôn vuông góc với đường đồng mức đi qua điểm?