Điều chỉnh siêu tham số là gì?
Khi bạn đào tạo các mô hình máy học, mỗi tập dữ liệu và mô hình đều cần một bộ siêu tham số khác nhau. Các siêu tham số này cũng là một loại biến. Cách duy nhất để xác định những siêu tham số này là thông qua nhiều thử nghiệm, trong đó bạn chọn một bộ siêu tham số và chạy chúng thông qua mô hình của mình. Việc này được gọi là điều chỉnh siêu tham số. Về bản chất, bạn đang đào tạo mô hình của mình theo trình tự với các bộ siêu tham số khác nhau. Quá trình này có thể thực hiện thủ công hoặc bạn có thể chọn một trong số các phương pháp điều chỉnh siêu tham số tự động.
Dù sử dụng phương pháp nào, bạn vẫn cần theo dõi kết quả thử nghiệm của mình. Bạn sẽ phải áp dụng một số hình thức phân tích thống kê, chẳng hạn như hàm mất mát, để xác định bộ siêu tham số nào mang lại kết quả tốt nhất. Điều chỉnh siêu tham số là một quá trình quan trọng và có yêu cầu cao về điện toán.
Siêu tham số là gì?
Siêu tham số là các biến cấu hình bên ngoài được các nhà khoa học dữ liệu sử dụng để quản lý hoạt động đào tạo theo mô hình máy học. Đôi khi được gọi là siêu tham số mô hình, các siêu tham số này được thiết lập thủ công trước khi đào tạo về một mô hình. Các siêu tham số này khác với các tham số là tham số nội bộ được phát triển tự động trong suốt quá trình học và không phải do các nhà khoa học dữ liệu thiết lập.
Ví dụ về siêu tham số bao gồm số lượng nút và lớp trong một mạng nơ-ron và số lượng nhánh trong một cây quyết định. Các siêu tham số quyết định những tính năng chính như kiến trúc mô hình, tốc độ học và mức độ phức tạp của mô hình.
Bạn xác định siêu tham số bằng cách nào?
Chọn bộ siêu tham số phù hợp là điều vô cùng quan trọng liên quan đến hiệu năng và độ chính xác của mô hình. Đáng tiếc là không có quy tắc nào được thiết lập về những siêu tham số hiệu quả nhất hoặc giá trị tối ưu hay mặc định của những tham số này. Bạn cần thử nghiệm để tìm ra bộ siêu tham số tối ưu. Hoạt động này được gọi là điều chỉnh siêu tham số hay tối ưu hóa siêu tham số.
Vì sao điều chỉnh siêu tham số lại là quá trình quan trọng?
Các siêu tham số trực tiếp điều khiển kết cấu, chức năng và hiệu năng của mô hình. Điều chỉnh siêu tham số cho phép các nhà khoa học dữ liệu chỉnh sửa hiệu năng để có kết quả tối ưu. Quy trình này là một phần thiết yếu của máy học và việc chọn các giá trị siêu tham số thích hợp có vai trò quan trọng để quy trình này thành công.
Ví dụ: giả sửa bạn đang sử dụng tốc độ học của mô hình như một siêu tham số. Nếu giá trị quá cao thì mô hình có thể hội tụ quá nhanh, với kết quả chưa tối ưu. Trong khi đó, nếu tốc độ quá chậm thì thời gian đào tạo sẽ quá dài và kết quả có thể không hội tụ được. Lựa chọn siêu tham số phù hợp và cân bằng sẽ cho ra các mô hình chính xác và hiệu năng mô hình xuất sắc.
Điều chỉnh siêu tham số có cách thức hoạt động như thế nào?
Như đã trình bày từ trước, việc điều chỉnh siêu tham số có thể được thực hiện theo cách thủ công hoặc tự động. Mặc dù điều chỉnh thủ công sẽ chậm và dài dòng nhưng lại có lợi ích là bạn sẽ hiểu rõ hơn trọng số của siêu tham số sẽ ảnh hưởng đến mô hình như thế nào. Nhưng trong hầu hết các trường hợp, bạn thường sẽ sử dụng một trong những thuật toán học siêu tham số nổi tiếng.
Điều chỉnh siêu tham số là một quá trình lặp lại và bạn sẽ thử nhiều tổ hợp tham số và giá trị khác nhau. Bạn thường bắt đầu từ việc xác định một biến mục tiêu làm chỉ số chính, ví dụ như độ chính xác, với dự định tối đa hóa hoặc giảm thiểu biến này. Bạn nên sử dụng các kỹ thuật xác thực chéo để mô hình của bạn không chỉ tập trung vào một phần dữ liệu đơn lẻ.
Có những kỹ thuật điều chỉnh siêu tham số nào?
Có vô số thuật toán điều chỉnh siêu tham số, mặc dù các thuật toán được sử dụng phổ biến nhất là tối ưu hóa Bayes, tìm kiếm lưới và tìm kiếm ngẫu nhiên.
Tối ưu hóa Bayes
Tối ưu hóa Bayes là kỹ thuật dựa trên định lý Bayes, trong đó mô tả xác suất diễn ra một sự kiện tương ứng với kiến thức hiện tại. Khi áp dụng kỹ thuật này để tối ưu hóa siêu tham số, thuật toán sẽ xây dựng một mô hình xác suất từ một bộ siêu tham số, qua đó tối ưu hóa một chỉ số cụ thể. Mô hình này sử dụng phân tích hồi quy để liên tục chọn bộ siêu tham số phù hợp nhất.
Tìm kiếm lưới
Với kỹ thuật tìm kiếm lưới, bạn chỉ định một danh sách siêu tham số và một chỉ số hiệu năng và thuật toán sẽ nghiên cứu tất cả các tổ hợp khả thi để xác định tổ hợp phù hợp nhất. Tìm kiếm lưới có hiệu quả cao nhưng tương đối dài dòng và yêu cầu cao về điện toán, đặc biệt là với số lượng lớn các siêu tham số.
Tìm kiếm ngẫu nhiên
Mặc dù dựa trên các nguyên tắc tương tự như tìm kiếm lưới nhưng tìm kiếm ngẫu nhiên chọn các nhóm siêu tham số một cách ngẫu nhiên trên mỗi lần lặp. Kỹ thuật này có hiệu quả cao khi kết quả của mô hình được quyết định phần lớn bởi số lượng tương đối ít các siêu tham số.
Ví dụ về siêu tham số?
Mặc dù có một số siêu tham số phổ biến nhưng trong thực tiễn, bạn sẽ thấy rằng các thuật toán sử dụng các bộ siêu tham số cụ thể. Ví dụ: bạn có thể tìm hiểu cách Amazon SageMaker sử dụng các siêu tham số phân loại hình ảnh và tìm hiểu cách SageMaker sử dụng các siêu tham số của thuật toán XGBoost.
Sau đây là một số ví dụ về các siêu tham số phổ biến:
- Tốc độ học là tốc độ thuật toán cập nhật các ước tính
- Giảm dần tốc độ học là mức giảm dần tốc độ học theo thời gian để đẩy nhanh quá trình học
- Đà là hướng cho bước tiếp theo liên quan đến bước trước đó
- Nút mạng nơ-ron chỉ số lượng nút trong mỗi lớp ẩn
- Lớp mạng nơ-ron chỉ số lượng lớp ẩn trong một mạng nơ-ron
- Kích thước lô mini là kích thước của lô dữ liệu đào tạo
- Giai đoạn là số lần toàn bộ tập dữ liệu đào tạo được hiển thị cho mạng lưới trong khi đào tạo
- Eta là thu hẹp kích thước theo bước để tránh quá khớp
AWS có thể giúp gì cho việc điều chỉnh siêu tham số?
Tại Amazon Web Services (AWS), chúng tôi cung cấp Amazon SageMaker, một nền tảng máy học (ML) được quản lý hoàn toàn cho phép bạn thực hiện điều chỉnh mô hình tự động. Đào tạo mô hình Amazon SageMaker tìm phiên bản tốt nhất cho mô hình ML của bạn bằng cách chạy nhiều tác vụ đào tạo trên tập dữ liệu của bạn. Quá trình này sử dụng các khoảng siêu tham số và thuật toán đã chỉ định của bạn.
SageMaker cung cấp phiên bản thông minh của các phương pháp điều chỉnh siêu tham số dựa trên thuyết tìm kiếm Bayes và được thiết kế để tìm ra mô hình phù hợp nhất trong thời gian ngắn nhất. Quy trình này bắt đầu bằng tìm kiếm ngẫu nhiên nhưng sau đó tìm hiểu hoạt động của mô hình tương ứng với các giá trị siêu tham số. Để biết thêm thông tin, hãy đọc cách thức điều chỉnh siêu tham số trong SageMaker.
Điều chỉnh mô hình tự động SageMaker cũng hỗ trợ một chiến lược tìm kiếm mới là Hyperband. Hyperband có thể tìm ra bộ siêu dữ liệu tối ưu nhanh hơn gấp ba lần so với tìm kiếm Bayes đối với các mô hình có quy mô lớn giải quyết các vấn đề hình ảnh máy tính, ví dụ như mạng nơ-ron sâu.
Bạn cũng có thể đọc cách thực hiện điều chỉnh mô hình tự động với SageMaker. Bạn sử dụng mô-đun điều chỉnh siêu tham số SageMaker với các thuật toán SageMaker tích hợp sẵn, với các thuật toán tùy chỉnh và với các bộ chứa dựng sẵn SageMaker. Trang web cung cấp hướng dẫn và bài tập tự học toàn diện để giúp bạn học cách tiến hành tối ưu hóa siêu tham số.
Thật dễ dàng để bắt đầu trong SageMaker; tất cả những gì bạn cần làm là tạo một tài khoản AWS miễn phí. Với Bậc miễn phí của AWS, bạn sẽ có hai tháng dùng thử miễn phí SageMaker trước khi cần bắt đầu thanh toán.