Thuật toán Gradient Descent là phương pháp mà ta sẽ giảm dần dần giá trị của hàm loss function đến một giá trị cực tiểu, ở đó ta lấy ra giá trị w và b. Giả sử loss function được định nghĩa là J, lúc này để dễ cho biểu diễn, ta sẽ bỏ qua thành phần bias b, khi này hàm loss sẽ là J(w) vì loss lúc này chỉ phụ thuộc vào w.
α được gọi là learning rate, tham số quyết định tốc độ của gradient descent.
dw là đạo hàm của hàm loss.
Hoạt động của Gradient Descent được mô tả ở hình dưới đây:
Đầu tiên ta khởi tạo giá trị w là 1 điểm nằm trên trục ngang của đồ thị, khi này nếu ta đi từ phải sang trái tương ứng với w giảm 1 bước đủ nhỏ sao cho không quá giá trị cực tiểu, giá trị J(w) cũng sẽ giảm, khi đó hiệu của J(w) giữa 2 điểm được định nghĩa là dJ(w) (hiệu của J(w) trước khi dịch w và sau khi dịch w) và hiệu giữa 2 điểm w là d(w). Khi đó ta thấy giá trị dJ(w) là dương, do đó theo công thức tính w ở hình trên, w sẽ giảm. Miễn là giá trị dJ(w) dương, ta có thể khẳng định ta đang đi đúng hướng đến điểm cực tiểu.
Hãy cùng hiểu bản chất của Gradient descent nào.
Đầu tiên, nhìn vào hình bên trên, ta thấy ta sẽ có 4 hướng đi
1) Từ bên trái đến điểm cực tiểu, chiều w tăng dần.
2) Từ bên trái đến điểm cực tiểu, chiều w giảm dần
3) Từ điểm cực tiểu đến bên phải, chiều w tăng dần
4) Từ điểm cực tiểu đến bên phải, chiều w giảm dần
1) Khi này dw âm, và dJ(w) dương, do đó w sẽ tăng => tiến đến Wexpect
2) Khi này dw dương, và dJ(w) âm, do đó w sẽ tăng => tiến đến Wexpect
3) Khi này dw âm, và dJ(w) âm, do đó w giảm => tiến đến Wexpect
4) Khi này dw dương, và dJ(w) dương, do đó w tăng => tiến đến Wexpect
Từ đó ta thấy, miễn hàm loss là một hàm convex, ta sẽ luôn tiến tới điểm cực tiểu.
Tuy nhiên, tham số α cũng đóng vai trò quan trọng trong việc tìm điểm cực tiểu này, nếu α là cực nhỏ, ta sẽ đảm bảo được việc tìm w sẽ chính xác nhưng khi đó w sẽ tăng hoặc giảm rất chậm, do đó mất thời gian. Nếu α lớn, ta có thể gặp tình trạng overshoot. Cả hai trường hợp được mô tả như hình dưới đây.
Không có nhận xét nào:
Đăng nhận xét