Thông số siêu dữ liệu là các biến kiểm soát nhiều khía cạnh của quá trình huấn luyện. Ba tham số siêu dữ liệu phổ biến là:
Ngược lại, tham số là các biến, chẳng hạn như trọng số và độ lệch, là một phần của chính mô hình. Nói cách khác, tham số siêu dữ liệu là các giá trị mà bạn kiểm soát; tham số là các giá trị mà mô hình tính toán trong quá trình huấn luyện.
Tốc độ học
Tốc độ học là một số dấu phẩy động mà bạn đặt để ảnh hưởng đến tốc độ hội tụ của mô hình. Nếu tốc độ học quá thấp, mô hình có thể mất nhiều thời gian để hội tụ. Tuy nhiên, nếu tốc độ học quá cao, mô hình sẽ không bao giờ hội tụ mà thay vào đó sẽ dao động xung quanh các trọng số và độ lệch giúp giảm thiểu tổn thất. Mục tiêu là chọn tốc độ học không quá cao cũng không quá thấp để mô hình hội tụ nhanh chóng.
Tốc độ học xác định mức độ thay đổi cần thực hiện đối với các trọng số và độ lệch trong mỗi bước của quá trình giảm độ dốc. Mô hình nhân độ dốc với tốc độ học để xác định các tham số của mô hình (giá trị trọng số và độ lệch) cho lần lặp lại tiếp theo. Trong bước thứ ba của phương pháp hạ độ dốc, "một lượng nhỏ" để di chuyển theo hướng dốc âm đề cập đến tốc độ học.
Sự khác biệt giữa các tham số mô hình cũ và các tham số mô hình mới tương ứng với độ dốc của hàm tổn thất. Ví dụ: nếu độ dốc lớn, thì mô hình sẽ thực hiện một bước lớn. Nếu nhỏ, bạn chỉ cần thực hiện một bước nhỏ. Ví dụ: nếu độ lớn của độ dốc là 2,5 và tốc độ học là 0,01, thì mô hình sẽ thay đổi thông số này thêm 0,025.
Tốc độ học lý tưởng giúp mô hình hội tụ trong một số lần lặp lại hợp lý. Trong Hình 21, đường cong tổn thất cho thấy mô hình cải thiện đáng kể trong 20 lần lặp đầu tiên trước khi bắt đầu hội tụ:
Hình 21. Biểu đồ tổn thất cho thấy một mô hình được huấn luyện bằng tốc độ học hội tụ nhanh.
Ngược lại, tốc độ học quá nhỏ có thể mất quá nhiều lần lặp để hội tụ. Trong Hình 22, đường cong tổn thất cho thấy mô hình chỉ cải thiện một chút sau mỗi lần lặp lại:
Hình 22. Biểu đồ tổn thất cho thấy một mô hình được huấn luyện với tốc độ học nhỏ.
Tốc độ học quá lớn sẽ không bao giờ hội tụ vì mỗi lần lặp lại sẽ khiến tổn thất tăng lên hoặc liên tục tăng lên. Trong Hình 23, biểu đồ tổn thất cho thấy mô hình giảm rồi tăng tổn thất sau mỗi lần lặp lại, còn trong Hình 24, tổn thất tăng lên ở các lần lặp lại sau:
Hình 23. Biểu đồ tổn thất cho thấy một mô hình được huấn luyện với tốc độ học quá lớn, trong đó đường cong tổn thất biến động mạnh, tăng lên và giảm xuống khi số lần lặp tăng lên.
Hình 24. Biểu đồ tổn thất cho thấy một mô hình được huấn luyện với tốc độ học quá lớn, trong đó đường cong tổn thất tăng lên đáng kể trong các lần lặp lại sau này.
Bài tập: Kiểm tra mức độ hiểu bài
Kích thước lô
Kích thước lô là một tham số siêu dữ liệu đề cập đến số lượng ví dụ mà mô hình xử lý trước khi cập nhật trọng số và độ lệch của mô hình. Bạn có thể nghĩ rằng mô hình phải tính toán tổn thất cho mọi ví dụ trong tập dữ liệu trước khi cập nhật trọng số và độ lệch. Tuy nhiên, khi một tập dữ liệu chứa hàng trăm nghìn hoặc thậm chí hàng triệu ví dụ, việc sử dụng toàn bộ lô không thực tế.
Hai kỹ thuật phổ biến để có được độ dốc phù hợp trên trung bình mà không cần xem xét mọi ví dụ trong tập dữ liệu trước khi cập nhật trọng số và độ lệch là lên xuống theo độ dốc ngẫu nhiên và lên xuống theo độ dốc ngẫu nhiên theo lô nhỏ:
Giảm độ dốc ngẫu nhiên (SGD): Phương pháp giảm độ dốc ngẫu nhiên chỉ sử dụng một ví dụ (kích thước lô là 1) cho mỗi lần lặp lại. Với đủ số lần lặp, SGD hoạt động nhưng rất nhiễu. "Nhiễu" đề cập đến các biến thể trong quá trình đào tạo khiến tổn thất tăng lên thay vì giảm trong một vòng lặp. Thuật ngữ "stochastic" (ngẫu nhiên) cho biết một ví dụ bao gồm mỗi lô được chọn ngẫu nhiên.
Hãy lưu ý trong hình ảnh sau đây về mức độ biến động nhỏ của tổn thất khi mô hình cập nhật trọng số và độ lệch bằng SGD, điều này có thể dẫn đến nhiễu trong biểu đồ tổn thất:
Hình 25. Mô hình được huấn luyện bằng thuật toán giảm độ dốc ngẫu nhiên (SGD) cho thấy nhiễu trong đường cong tổn thất.
Xin lưu ý rằng việc sử dụng phương pháp giảm độ dốc ngẫu nhiên có thể tạo ra nhiễu trong toàn bộ đồ thị tổn thất, chứ không chỉ gần điểm hội tụ.
Phương pháp giảm độ dốc ngẫu nhiên trên gói nhỏ (SGD trên gói nhỏ): Phương pháp giảm độ dốc ngẫu nhiên trên gói nhỏ là một giải pháp trung gian giữa phương pháp toàn bộ gói và SGD. Đối với số điểm dữ liệu $ N $, kích thước lô có thể là bất kỳ số nào lớn hơn 1 và nhỏ hơn $ N $. Mô hình chọn các ví dụ có trong mỗi lô một cách ngẫu nhiên, tính trung bình các độ dốc của chúng, sau đó cập nhật trọng số và độ lệch một lần cho mỗi lần lặp lại.
Việc xác định số lượng ví dụ cho mỗi lô phụ thuộc vào tập dữ liệu và tài nguyên điện toán có sẵn. Nhìn chung, kích thước lô nhỏ hoạt động giống như SGD và kích thước lô lớn hoạt động giống như phương pháp hạ gradient toàn lô.
Hình 26. Mô hình được huấn luyện bằng SGD trên gói nhỏ.
Khi huấn luyện mô hình, bạn có thể nghĩ rằng nhiễu là một đặc điểm không mong muốn cần loại bỏ. Tuy nhiên, một lượng nhiễu nhất định có thể là điều tốt. Trong các mô-đun sau, bạn sẽ tìm hiểu cách nhiễu có thể giúp mô hình tổng quát hoá tốt hơn và tìm trọng số và độ lệch tối ưu trong mạng nơron.
Thời gian bắt đầu
Trong quá trình huấn luyện, thời gian bắt đầu có nghĩa là mô hình đã xử lý một lần mọi ví dụ trong tập huấn luyện. Ví dụ: với một tập huấn luyện có 1.000 ví dụ và kích thước lô nhỏ là 100 ví dụ, mô hình sẽ cần 10 iterations để hoàn thành một epoch.
Quá trình huấn luyện thường yêu cầu nhiều epoch. Tức là hệ thống cần xử lý nhiều lần mọi ví dụ trong tập huấn luyện.
Số epoch là một tham số siêu dữ liệu mà bạn đặt trước khi mô hình bắt đầu đào tạo. Trong nhiều trường hợp, bạn sẽ cần thử nghiệm số lượng thời gian cần thiết để mô hình hội tụ. Nhìn chung, càng nhiều epoch thì mô hình càng tốt, nhưng cũng mất nhiều thời gian hơn để huấn luyện.
Hình 27. Lô đầy đủ so với lô nhỏ.
Bảng sau đây mô tả mối quan hệ giữa kích thước lô và số epoch với số lần mô hình cập nhật các tham số của nó.
Loại lô | Thời điểm cập nhật trọng số và độ lệch |
---|---|
Toàn bộ lô | Sau khi mô hình xem xét tất cả các ví dụ trong tập dữ liệu. Ví dụ: nếu một tập dữ liệu chứa 1.000 ví dụ và mô hình huấn luyện trong 20 chu kỳ, thì mô hình sẽ cập nhật trọng số và độ lệch 20 lần, mỗi chu kỳ một lần. |
Phương pháp giảm độ dốc ngẫu nhiên | Sau khi mô hình xem xét một ví dụ duy nhất trong tập dữ liệu. Ví dụ: nếu một tập dữ liệu chứa 1.000 ví dụ và huấn luyện trong 20 chu kỳ, thì mô hình sẽ cập nhật trọng số và độ lệch 20.000 lần. |
Phương pháp giảm độ dốc ngẫu nhiên trên gói nhỏ | Sau khi mô hình xem xét các ví dụ trong mỗi lô. Ví dụ: nếu một tập dữ liệu chứa 1.000 ví dụ và kích thước lô là 100, đồng thời mô hình huấn luyện trong 20 chu kỳ, thì mô hình sẽ cập nhật trọng số và độ lệch 200 lần. |