Thuật toán tăng cường trong máy học là gì?

Thuật toán tăng cường là một phương pháp được sử dụng trong máy học để giảm lỗi trong quá trình phân tích dữ liệu dự đoán. Các nhà khoa học dữ liệu đào tạo phần mềm máy học, hay còn gọi là các mô hình máy học, trên dữ liệu được gắn nhãn để dự đoán về dữ liệu chưa được gắn nhãn. Một mô hình máy học có thể dự đoán lỗi dựa trên độ chính xác của tập dữ liệu đào tạo. Ví dụ: nếu một mô hình xác định cá thể mèo chỉ được đào tạo dựa trên hình ảnh cá thể mèo trắng thì mô hình này thi thoảng có thể nhầm lẫn với một cá thể mèo đen. Thuật toán tăng cường cố gắng vượt qua vấn đề này bằng cách đào tạo nhiều mô hình theo trình tự để cải thiện độ chính xác của toàn bộ hệ thống.

Tại sao thuật toán tăng cường lại quan trọng?

Thuật toán nâng cao độ chính xác trong việc dự đoán và hiệu suất của các mô hình máy bằng cách chuyển đổi các máy học yếu thành một mô hình máy học mạnh. Các mô hình máy học có thể là máy học yếu hoặc máy học mạnh:

Máy học yếu

Máy học yếu có độ chính xác thấp trong việc dự đoán, tương tự đoán ngẫu nhiên. Các máy này dễ mắc vào tình trạng quá khớp—cụ thể, các máy này không thể phân loại dữ liệu có quá nhiều khác biệt so với tập dữ liệu gốc. Ví dụ: nếu bạn đào tạo một mô hình để xác định các cá thể mèo là động vật tai nhọn, mô hình này có khả năng không thể nhận dạng cá thể mèo tai xoắn.

Máy học mạnh

Máy học mạnh có độ chính xác cao hơn trong việc dự đoán. Thuật toán tăng cường chuyển đổi hệ thống các máy học yếu thành một hệ thống máy học mạnh. Ví dụ: để xác định hình ảnh mèo, hệ thống kết hợp máy học yếu dự đoán đôi tai nhọn với một máy học khác dự đoán đôi mắt mèo. Sau khi phân tích hình ảnh động vật để tìm kiếm đôi tai nhọn, hệ thống sẽ phân tích một lần nữa để tìm kiếm đôi mắt mèo. Quá trình này cải thiện độ chính xác của toàn bộ hệ thống.

Thuật toán tăng cường hoạt động như thế nào?

Để giúp bạn nắm được cách hoạt động của thuật toán tăng cường, chúng tôi sẽ mô tả cách thức mô hình máy học đưa ra quyết định. Dù có nhiều sai số trong quá trình triển khai, các nhà khoa học dữ liệu vẫn thường sử dụng thuật toán tăng cường với các thuật toán cây quyết định:

Cây quyết định

Cây quyết định là cấu trúc dữ liệu trong máy học, hoạt động bằng cách chia tập dữ liệu thành các tập con nhỏ hơn dựa trên tính năng của chúng. Về cơ bản, cây quyết định sẽ chia dữ liệu liên tục đến khi chỉ còn lại một lớp. Ví dụ: cây có thể đặt ra một chuỗi các câu hỏi có hoặc không và chia dữ liệu thành các danh mục theo từng bước.

Phương pháp tập hợp thuật toán tăng cường

Thuật toán tăng cường tạo một mô hình tập hợp bằng cách kết hợp một số cây quyết định yếu theo trình tự. Thuật toán này chỉ định trọng số cho đầu ra của từng cây. Sau đó, thuật toán này sẽ áp dụng một trọng số cao hơn cho các phân loại sai từ cây quyết định đầu tiên và đầu vào cho cây tiếp theo. Sau nhiều chu kỳ, phương pháp thuật toán tăng cường kết hợp những quy tắc yếu này thành một quy tắc dự đoán mạnh.

Thuật toán tăng cường so với thuật toán đóng bao

Thuật toán tăng cường và thuật toán đóng bao là 2 phương pháp tập hợp phổ biến, giúp cải thiện độ chính xác trong việc dự đoán. Điểm khác biệt chính giữa các phương pháp học này là phương pháp đào tạo. Với thuật toán đóng bao, các nhà khoa học dữ liệu cải thiện độ chính xác của máy học yếu bằng cách đào tạo một số máy học này cùng một lúc trên nhiều tập dữ liệu. Ngược lại, thuật toán tăng cường đào tạo lần lượt các máy học yếu.

 

Quá trình đào tạo trong thuật toán tăng cường được thực hiện như thế nào?

Phương pháp đào tạo có sự khác nhau dựa trên loại quy trình tăng cường, được gọi là thuật toán tăng cường. Tuy nhiên, để đào tạo mô hình thuật toán tăng cường, một thuật toán cần trải qua những bước tổng quát sau:

Bước 1

Thuật toán tăng cường chỉ định trọng số như nhau cho mỗi mẫu dữ liệu. Quá trình này cung cấp dữ liệu cho mô hình máy đầu tiên, được gọi là thuật toán cơ sở. Thuật toán cơ sở đưa ra dự đoán cho mỗi mẫu dữ liệu.

Bước 2

Thuật toán tăng cường đánh giá các dự đoán mô hình và tăng trọng số của các mẫu với một lỗi nghiêm trọng hơn. Quá trình này cũng chỉ định một trọng số dựa trên hiệu suất của mô hình. Mô hình cho ra các dự đoán xuất sắc sẽ có ảnh hưởng lớn đến quyết định cuối cùng.

Bước 3

Thuật toán chuyển dữ liệu được chỉ định trọng số sang cây quyết định tiếp theo.

Bước 4

Thuật toán lặp lại bước 2 và 3 đến khi các trường hợp lỗi đào tạo xảy ra thấp hơn ngưỡng nhất định.

Thuật toán tăng cường có những loại nào?

Sau đây là 3 loại thuật toán tăng cường chính:

Thuật toán tăng cường thích ứng

Thuật toán tăng cường thích ứng (AdaBoost) là một trong những mô hình thuật toán tăng cường đầu tiên được phát triển. Thuật toán này thích ứng và cố gắng tự sửa lỗi trong mọi lần lặp lại quy trình tăng cường. 

Đầu tiên, AdaBoost đưa ra một trọng số như nhau cho mọi tập dữ liệu. Sau đó, thuật toán này sẽ tự động điều chỉnh trọng số của các điểm dữ liệu sau mỗi cây quyết định. Thuật toán này đưa ra trọng số lớn hơn cho các mục được phân loại sai để khắc phục những mục này cho vòng tiếp theo. Thuật toán lặp lại quy trình đến khi lỗi sót lại hoặc sự sai khác giữa giá trị thực tế và giá trị dự đoán thấp hơn ngưỡng chấp nhận.

Bạn có thể sử dụng AdaBoost với nhiều công cụ dự đoán, và thuật toán này thường không nhạy cảm như các thuật toán tăng cường khác. Cách tiếp cận này không hiệu quả khi có sự tương quan giữa các tính năng hoặc chiều dữ liệu lớn. Nhìn chung, AdaBoost là loại thuật toán tăng cường phù hợp cho các vấn đề phân loại.

Thuật toán tăng cường độ dốc

Thuật toán tăng cường độ dốc (GB) cũng là một kỹ thuật đào tạo theo trình tự tương tự như AdaBoost. Sự khác biệt giữa AdaBoost và GB là GB không đưa ra trọng số lớn hơn cho các mục phân loại sai. Thay vào đó, phần mềm GB tối ưu hóa hàm mất mát bằng cách tạo các máy học cơ sở theo trình tự, do đó máy học cơ sở hiện tại luôn có hiệu quả cao hơn máy học trước đó. Tương tự như AdaBoost, phương pháp này cố gắng tạo các kết quả chính xác ngay từ đầu thay vì khắc phục lỗi xuyên suốt quy trình. Vì lý do này, phần mềm GB có thể cho ra các kết quả chính xác hơn. Thuật toán tăng cường độ dốc có thể hỗ trợ đối với các vấn đề cả về phân loại lẫn dựa trên hồi quy.

Thuật toán tăng cường độ dốc cực đại

Thuật toán tăng cường độ dốc cực đại (XGBoost) cải thiện thuật toán tăng cường độ dốc về mặt tốc độ và quy mô điện toán theo một số cách. XGBoost sử dụng nhiều nhân CPU để quá trình học có thể diễn ra song song trong lúc đào tạo. Đây là một thuật toán tăng cường có thể xử lý các tập dữ liệu mở rộng, khiến nó trở nên hấp dẫn đối với những ứng dụng dữ liệu lớn. Các tính năng chính của XGBoost là xử lý song song, điện toán phân tán, tối ưu hóa bộ nhớ đệm và xử lý ngoài nhân.

Thuật toán tăng cường mang lại những lợi ích gì?

Thuật toán tăng cường mang lại những lợi ích sau:

Dễ triển khai

Thuật toán tăng cường có các thuật toán dễ hiểu và dễ diễn giải, được đúc kết từ sai lầm. Các thuật toán này không yêu cầu bất cứ quá trình tiền xử lý dữ liệu nào, đồng thời còn có các quy trình tích hợp sẵn để xử lý dữ liệu còn thiếu. Ngoài ra, phần lớn ngôn ngữ đều có thư viện tích hợp sẵn để triển khai các thuật toán tăng cường với nhiều tham số có thể tinh chỉnh hiệu suất.

Giảm thiên kiến

Thiên kiến là sự tồn tại của tính không chắc chắn hoặc không chính xác trong kết quả của máy học. Các thuật toán tăng cường kết hợp nhiều máy học yếu theo phương pháp có trình tự liên tục cải thiện các dự đoán. Hướng tiếp cận này giúp giảm mức độ thiên kiến cao thường gặp ở các mô hình máy học.

Hiệu quả điện toán

Các thuật toán tăng cường ưu tiên những tính năng làm tăng độ chính xác của dự đoán trong quá trình đào tạo. Các thuật toán này giúp giảm thuộc tính dữ liệu và xử lý tập dữ liệu lớn một cách hiệu quả.

Thuật toán tăng cường có những thách thức nào?

Sau đây là những giới hạn phổ biến của chế độ thuật toán tăng cường:

Dễ bị ảnh hưởng bởi dữ liệu ngoại lai

Các mô hình thuật toán tăng cường dễ bị ảnh hưởng bởi dữ liệu ngoại lai hoặc giá trị dữ liệu khác với phần còn lại của tập dữ liệu. Vì mỗi mô hình đều cố gắng khắc phục các lỗi của phiên bản tiền nhiệm, nên dữ liệu ngoại lai có thể làm kết quả bị sai lệch đáng kể.

Triển khai theo thời gian thực

Bạn cũng có thể cảm thấy khó khăn khi sử dụng thuật toán tăng cường cho quá trình triển khai theo thời gian thực vì thuật toán này phức tạp hơn các quy trình khác. Phương pháp thuật toán tăng cường có tính thích ứng cao nên bạn có thể sử dụng một loạt các tham số mô hình đa dạng có ảnh hưởng ngay lập tức đến hiệu suất của mô hình.

AWS có thể hỗ trợ bạn như thế nào với thuật toán tăng cường?

Dịch vụ kết nối mạng AWS được thiết kế nhằm mục đích cung cấp cho các doanh nghiệp:

Amazon SageMaker

Amazon SageMaker tập hợp bộ tính năng đa dạng được xây dựng cho mục đích nhất định dành cho máy học. Bạn có thể sử dụng dịch vụ này để chuẩn bị, xây dựng, đào tạo và triển khai các mô hình máy học chất lượng cao một cách nhanh chóng.

Amazon SageMaker Autopilot

Tính năng tự động của Amazon SageMaker loại bỏ công việc xây dựng mô hình máy học nặng nhọc và giúp tự động xây dựng cũng như đào tạo các mô hình dựa trên dữ liệu của bạn. Với SageMaker Autopilot, bạn có thể đưa ra tập dữ liệu dạng bảng và lựa chọn cột mục tiêu để dự đoán, có thể là một số hoặc một danh mục. SageMaker Autopilot tự động khám phá các giải pháp khác nhau để tìm ra mô hình phù hợp nhất. Sau đó, bạn có thể trực tiếp triển khai mô hình vào sản xuất chỉ với một cú nhấp chuột, hoặc lặp lại các giải pháp khuyến nghị với Amazon SageMaker Studio để cải thiện hơn nữa chất lượng mô hình.

Amazon SageMaker Debugger

Trình gỡ lỗi của Amazon SageMaker giúp quá trình tối ưu hóa các mô hình máy học trở nên dễ dàng bằng cách thu thập chỉ số đào tạo trong thời gian thực và gửi cảnh báo khi phát hiện lỗi. Tính năng này giúp bạn sửa chữa ngay các dự đoán sai của mô hình, chẳng hạn như việc xác định hình ảnh sai.

Amazon SageMaker cung cấp các phương pháp đào tạo mô hình và tập dữ liệu học sâu lớn dễ dàng và nhanh chóng. Các thư viện đào tạo phân tán trên SageMaker đào tạo các tập dữ liệu lớn nhanh hơn.

Bắt đầu sử dụng Amazon SageMaker bằng cách tạo tài khoản AWS ngay hôm nay.

Các bước tiếp theo để sử dụng máy học AWS