Xuống dốc chuyển màu là một kỹ thuật toán học liên tục tìm các trọng số và độ chệch mô hình có tổn thất thấp nhất. Khi đi xuống dốc, bạn sẽ có được độ lệch và trọng lượng phù hợp nhất bằng cách lặp lại quy trình sau đây cho một số vòng lặp do người dùng xác định.
Mô hình này bắt đầu huấn luyện với trọng số và độ lệch ngẫu nhiên gần 0, rồi lặp lại các bước sau:
Tính toán mức giảm với cân nặng và độ chệch hiện tại.
Xác định hướng di chuyển của trọng số và độ chệch làm giảm tổn thất.
Di chuyển trọng số và độ chệch các giá trị một lượng nhỏ theo hướng làm giảm tổn thất.
Quay lại bước 1 và lặp lại quy trình cho đến khi mô hình không thể giảm mất mát hơn nữa.
Sơ đồ dưới đây trình bày các bước lặp lại khi dùng chế độ giảm độ dốc theo màu sắc để tìm trọng số và độ chệch tạo ra mô hình có tổn thất thấp nhất.
Hình 12 Giảm dần độ dốc là một quá trình lặp lại để tìm các trọng số và sai số dẫn đến mô hình có tổn thất thấp nhất.
Nhấp vào biểu tượng dấu cộng để tìm hiểu thêm về phép toán liên quan đến phương pháp giảm độ dốc.
Ở cấp độ cụ thể, chúng ta có thể thực hiện các bước giảm độ dốc bằng cách sử dụng một tập dữ liệu nhỏ với 7 ví dụ về trọng lượng của một chiếc ô tô tính theo pound và xếp hạng số dặm/gallon của nó:
Bảng trong 1000 giây (tính năng) | Dặm trên gallon (nhãn) |
---|---|
3,5 | 18 |
3,69 | 15 |
3,44 | 18 |
3,43 | 16 |
4,34 | 15 |
4,42 | 14 |
2,37 | 24 |
- Mô hình này bắt đầu huấn luyện bằng cách đặt trọng số và độ chệch thành 0:
- Tính toán tổn thất MSE bằng các tham số của mô hình hiện tại:
- Tính độ dốc của tiếp tuyến của hàm suy giảm tại mỗi trọng lượng và thiên kiến:
- Di chuyển một phần nhỏ theo hướng dốc âm để có được trọng số và độ lệch tiếp theo. Hiện tại, chúng ta sẽ tuỳ ý xác định "số lượng nhỏ" là 0,01:
Nhấp vào biểu tượng dấu cộng để tìm hiểu cách tính độ dốc.
Để có được độ dốc của các đường tiếp tuyến với trọng lượng và sai số, chúng ta lấy đạo hàm của hàm mất với về trọng số và độ chệch, sau đó giải quyết phương trình.
Chúng ta sẽ viết phương trình để đưa ra một dự đoán là:
$ f_{w,b}(x) = (w*x)+b $.
Chúng ta sẽ viết giá trị thực tế là: $ y $.
Chúng ta sẽ tính MSE bằng công thức:
$ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) – y_{(i)})^2 $
trong đó $i$ đại diện cho ví dụ huấn luyện $ith$ và $M$ đại diện
số lượng ví dụ.
Đạo hàm của hàm suy giảm đối với trọng lượng được viết là:
$ \frac{\partial }{\partial w} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) – y_{(i)})^2 $
và đánh giá thành:
$ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2x_{(i)} $
Trước tiên, chúng tôi tính tổng từng giá trị dự đoán trừ đi giá trị thực tế rồi nhân với hai lần giá trị tính năng. Sau đó, chúng ta chia tổng cho số ví dụ. Kết quả là độ dốc của đường tiếp tuyến với giá trị trọng số.
Nếu chúng ta giải phương trình này với trọng số và độ chệch bằng 0, chúng ta nhận được -119,7 cho độ dốc của đường thẳng.
Đạo hàm thiên sai
Đạo hàm của hàm mất đi đối với
thiên kiến được viết là:
$ \frac{\partial }{\partial b} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) – y_{(i)})^2 $
và đánh giá thành:
$ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2 $
Trước tiên, chúng tôi tính tổng từng giá trị dự đoán trừ đi giá trị thực tế rồi nhân với 2. Sau đó, chúng ta chia tổng cho nhiều ví dụ. Kết quả là độ dốc của đường thẳng tiếp tuyến với giá trị độ chệch.
Nếu chúng ta giải phương trình này với trọng số và độ chệch bằng 0, chúng ta nhận được -34,3 cho độ dốc của đường thẳng.
Sử dụng cân nặng và độ chệch mới để tính toán mức giảm và lặp lại. Đang hoàn tất trong 6 lần lặp lại, chúng ta sẽ nhận được các trọng số, độ chệch, và tổn thất:
Lặp lại | Trọng lượng | Thiên vị | Tổn thất (MSE) |
---|---|---|---|
1 | 0 | 0 | 303,71 |
2 | 1.2 | 0,34 | 170,67 |
3 | 2,75 | 0,59 | 67,3 |
4 | 3,17 | 0,72 | 50,63 |
5 | 3,47 | 0,82 | 42,1 |
6 | 3,68 | 0,9 | 37,74 |
Bạn có thể thấy rằng mức giảm sút sẽ giảm dần theo từng cân nặng và độ lệch được cập nhật. Trong ví dụ này, chúng ta đã dừng sau 6 lần lặp. Trong thực tế, một mô hình tàu cho đến hội nghị truyền hình. Khi một mô hình hội tụ, các lần lặp lại bổ sung không làm giảm số lượng mất đi nhiều hơn bởi vì phương pháp giảm độ dốc đã tìm thấy các trọng số và độ chệch gần như giảm thiểu tổn thất.
Nếu mô hình tiếp tục huấn luyện sự hội tụ trong quá khứ, thì tổn thất bắt đầu xảy ra dao động ở mức nhỏ vì mô hình này liên tục cập nhật tham số quanh giá trị thấp nhất của chúng. Điều này có thể khiến khó xác minh rằng mô hình đã thực sự hội tụ. Để xác nhận mô hình đã hội tụ, bạn sẽ muốn tiếp tục đào tạo cho đến khi thua đã ổn định.
Đường cong hội tụ và mất mô hình
Khi huấn luyện một mô hình, bạn thường xem xét sự mất mát đường cong để xác định xem mô hình có được chuyển đổi. Đường cong về mức ngừng sử dụng cho thấy mức tổn thất thay đổi khi mô hình huấn luyện. Sau đây là tỷ lệ mất mát thông thường đường cong. Tổn thất nằm trên trục y và số lặp lại trên trục x:
Hình 13. Đường cong tổn hao cho thấy mô hình hội tụ xung quanh mốc 1.000 lần lặp lại.
Bạn có thể thấy rằng tổn thất giảm đáng kể trong một vài lần lặp lại đầu tiên, sau đó giảm dần trước khi làm phẳng khoảng lần lặp 1.000 . Sau 1.000 lần lặp lại, chúng ta có thể chắc chắn rằng mô hình này đã hội tụ.
Trong các hình dưới đây, chúng tôi vẽ mô hình tại 3 điểm trong quá trình huấn luyện tiến trình: phần đầu, phần giữa và phần kết thúc. Trực quan hoá trạng thái của mô hình Các bản tổng quan nhanh trong quá trình đào tạo giúp củng cố mối liên hệ giữa trọng số và độ chệch, giảm tổn thất và sự hội tụ mô hình.
Trong các hình này, chúng tôi sử dụng các trọng số và độ chệch ở một lần lặp cụ thể để đại diện cho mô hình. Trong biểu đồ có các điểm dữ liệu và ảnh chụp nhanh của mô hình, đường mất màu xanh dương từ mô hình đến các điểm dữ liệu cho biết lượng tổn thất. Chiến lược phát hành đĩa đơn các dòng càng dài thì càng mất đi nhiều dữ liệu.
Trong hình bên dưới, chúng ta có thể thấy rằng khoảng lần lặp thứ hai mô hình sẽ không hiệu quả trong việc đưa ra dự đoán vì lượng tổn thất lớn.
Hình 14. Đường cong tổn hao và ảnh chụp nhanh của mô hình ở đầu trong quá trình đào tạo.
Vào khoảng lần lặp thứ 400, chúng ta có thể thấy rằng sự giảm độ dốc đã tìm thấy trọng số và độ lệch từ đó tạo ra mô hình tốt hơn.
Hình 15. Đường cong tổn thất và ảnh chụp nhanh của mô hình ở khoảng giữa quá trình huấn luyện.
Và ở khoảng lần lặp 1.000, chúng ta có thể thấy rằng mô hình đã hội tụ, tạo ra một mô hình có mức tổn thất thấp nhất có thể.
Hình 16. Đường cong ngừng sử dụng và ảnh chụp nhanh của mô hình ở gần cuối khoá đào tạo của chúng tôi.
Bài tập: Kiểm tra kiến thức
Hàm hội tụ và hàm lồi
Hàm mất cho mô hình tuyến tính luôn tạo ra bề mặt lồi. Kết quả của khi một mô hình hồi quy tuyến tính hội tụ, chúng ta biết rằng mô hình tìm ra trọng số và độ chệch dẫn đến tổn thất thấp nhất.
Nếu chúng ta vẽ biểu đồ bề mặt tổn thất cho một mô hình có một tính năng, chúng ta có thể thấy hình dạng lồi. Sau đây là bề mặt tổn thất của tập dữ liệu dặm/gallon được dùng trong các ví dụ trước. Trọng số nằm trên trục x, độ chệch trên trục y, và tổn thất nằm trên trục z:
Hình 17. Bề mặt bị mất cho thấy hình dạng lồi của nó.
Trong ví dụ này, trọng số -5,44 và độ lệch 35,94 tạo ra tổn thất thấp nhất ở 5,54:
Hình 18. Bề mặt giảm cân cho thấy trọng số và các giá trị độ chệch dẫn đến mức giảm thấp nhất.
Mô hình tuyến tính hội tụ khi tìm thấy mức tổn thất tối thiểu. Do đó, việc bổ sung lặp lại chỉ làm giảm độ dốc để di chuyển các giá trị trọng số và độ chệch số lượng rất nhỏ quanh mức tối thiểu. Nếu chúng ta vẽ đồ thị các trọng số và các điểm thiên vị trong quá trình giảm độ dốc, các điểm sẽ trông giống như một quả bóng lăn xuống một ngọn đồi, cuối cùng dừng lại ở điểm không còn đường dốc xuống nữa.
Hình 19. Biểu đồ suy hao cho thấy các điểm giảm độ dốc kết thúc ở điểm thấp nhất một điểm trên biểu đồ.
Lưu ý rằng các điểm tổn thất màu đen tạo nên hình dạng chính xác của đường cong tổn thất: a mức suy giảm mạnh trước khi dốc dần xuống cho đến khi đạt mức thấp nhất trên bề mặt mất dữ liệu.
Điều quan trọng cần lưu ý là mô hình đó hầu như không bao giờ tìm được chính xác tối thiểu cho mỗi trọng số và độ chệch, mà thay vào đó tìm ra giá trị rất gần với nó. Bạn cũng cần lưu ý rằng giá trị tối thiểu cho trọng số và độ chệch không tương ứng với tổn thất bằng 0, thì chỉ giá trị tạo ra tổn thất thấp nhất cho giá trị đó .
Sử dụng các giá trị trọng số và độ chệch dẫn đến sự sụt giảm thấp nhất—trong trường hợp này trọng số -5,44 và độ lệch 35,94, chúng ta có thể vẽ đồ thị mô hình để xem cách phù hợp với dữ liệu:
Hình 20. Mô hình được vẽ biểu đồ bằng cách sử dụng các giá trị trọng số và độ chệch tạo ra mức giảm thấp nhất.
Đây sẽ là mô hình tốt nhất cho tập dữ liệu này vì không có trọng số và độ chệch khác sẽ tạo ra một mô hình có mức tổn thất thấp hơn.