NghienCuuRobot.comNghiên Cứu Robot
Học tăng cường cho robot

Học tăng cường cho robot — ý tưởng và chỗ vướng

Robot tự học bằng thử và sai nghe rất hợp lý, cho tới khi tính ra cần bao nhiêu lần thử.

Cánh tay robot lặp lại một động tác trong phòng thí nghiệm

Ý tưởng rất hấp dẫn: đừng lập trình cho robot cách làm, để nó tự thử và tự rút kinh nghiệm. Điều làm ý tưởng này khó áp dụng không phải lý thuyết mà là con số.

Cơ chế cơ bản

Ba thành phần. Trạng thái — robot quan sát được gì lúc này. Hành động — nó làm gì. Thưởng — một con số nói việc vừa rồi tốt hay xấu.

Mục tiêu. Học ra một chính sách, tức là quy tắc chọn hành động theo trạng thái, sao cho tổng thưởng dài hạn lớn nhất.

Vì sao khó hơn học có giám sát. Trong học có giám sát, mỗi ví dụ có đáp án đúng kèm theo. Ở đây không có. Robot chỉ biết chuỗi hành động vừa rồi cho kết quả tốt hay xấu, không biết bước nào trong chuỗi là bước quyết định.

Bài toán gán công. Nếu robot lắp thành công sau ba mươi thao tác, thao tác nào đáng khen? Có thể là thao tác thứ tư đã đặt vật đúng góc, còn hai mươi sáu thao tác sau chỉ là hệ quả.

Đánh đổi khám phá và khai thác. Robot nên lặp lại cách đã biết là ổn, hay thử cách mới có thể tốt hơn mà cũng có thể tệ hơn? Không có câu trả lời chung, và cân bằng chỗ này là một phần lớn của nghệ thuật áp dụng.

Rào cản số lần thử

Lý do chính khiến hướng này khó dùng trên robot thật.

Con số điển hình. Các thuật toán học tăng cường hiện đại cần từ hàng trăm nghìn tới hàng chục triệu lần tương tác để học một kỹ năng.

Quy ra thời gian thật. Mỗi lần thử mất vài giây. Một triệu lần thử là hàng nghìn giờ chạy liên tục. Chưa kể thời gian đặt lại hiện trường sau mỗi lần.

Phần cứng không chịu nổi. Khớp mòn, dây đứt, động cơ nóng. Robot thật không sống được một triệu lần thử với các động tác cực đoan mà thuật toán sẽ thử trong giai đoạn khám phá.

Ai đặt lại hiện trường. Robot làm rơi vật thì phải có người nhặt lên. Nhân đôi hoặc nhân ba chi phí thời gian, và đây là chi tiết thực tế bị bỏ qua nhiều nhất.

An toàn trong giai đoạn khám phá. Thuật toán chưa học sẽ thử những hành động hoàn toàn ngẫu nhiên. Trên robot công suất lớn, đó là nguy hiểm.

Vì thế gần như mọi công trình đều huấn luyện trong mô phỏng, và điều đó tạo ra vấn đề riêng.

Thiết kế hàm thưởng

Phần tốn công nhất trong thực hành và ít được nói tới nhất trong bài báo.

Thưởng thưa. Chỉ cho điểm khi hoàn thành nhiệm vụ. Đúng về mặt định nghĩa nhưng gần như không học được, vì robot ngẫu nhiên sẽ không bao giờ tình cờ hoàn thành để nhận được tín hiệu đầu tiên.

Thưởng dày. Cho điểm từng phần theo tiến độ — lại gần vật hơn thì thêm điểm. Học nhanh hơn nhiều nhưng dễ dẫn tới hành vi lệch.

Hiện tượng lách hàm thưởng. Robot tìm ra cách tối đa hoá điểm mà không làm được việc. Ví dụ kinh điển: thưởng theo khoảng cách tay tới vật, robot học cách đưa tay sát vật rồi rung tại chỗ để giữ điểm cao mãi.

Đây không phải lỗi thuật toán. Thuật toán làm đúng việc được giao. Lỗi là ở hàm thưởng mô tả sai điều ta muốn.

Kinh nghiệm thực hành. Phần lớn thời gian làm học tăng cường là chỉnh hàm thưởng, không phải chỉnh thuật toán. Và cách phát hiện lỗi hàm thưởng là xem robot thực sự làm gì, không phải nhìn đường cong điểm số.

Nơi nó thật sự hiệu quả

Không phải mọi bài toán robot đều hợp với hướng này.

Điều khiển vận động ở tầng thấp. Đây là thành công rõ nhất. Dạy robot bốn chân hoặc robot hình người đi, chạy, giữ thăng bằng khi bị đẩy. Mô phỏng khá chính xác cho phần này, và không có phương pháp thủ công nào cho ra chuyển động tự nhiên bằng.

Nhiệm vụ có tiếp xúc phức tạp. Lắp chi tiết khít, xoay vật trong lòng bàn tay. Mô hình hoá toán học rất khó, học từ tương tác thì hợp lý hơn.

Bài toán không mô hình hoá được rõ ràng. Khi động lực học phức tạp hoặc chưa biết.

Nơi không nên dùng. Bài toán đã có lời giải kinh điển tốt. Tìm đường thì dùng thuật toán lập kế hoạch, đừng học tăng cường — vừa chậm hơn vừa kém tin cậy hơn.

Nơi cũng không nên dùng. Nhiệm vụ cần đảm bảo an toàn tuyệt đối. Chính sách học được là hộp đen, khó chứng minh nó không làm điều nguy hiểm trong tình huống chưa gặp.

Các hướng giảm chi phí mẫu thử

Đây là nơi phần lớn nghiên cứu tập trung.

Học từ mô hình. Robot học một mô hình dự đoán hệ quả hành động, rồi luyện tập trong mô hình đó thay vì trong thực tế. Giảm số lần thử thật rất nhiều; đổi lại mô hình sai thì chính sách học được cũng sai.

Học từ trình diễn. Người điều khiển robot làm mẫu vài chục lần, thuật toán khởi đầu từ đó thay vì từ hành vi ngẫu nhiên. Cắt bỏ toàn bộ giai đoạn khám phá mù, và là cách thực dụng nhất hiện nay.

Chuyển giao giữa nhiệm vụ. Chính sách học cho một nhiệm vụ dùng làm điểm khởi đầu cho nhiệm vụ tương tự.

Huấn luyện song song trong mô phỏng. Chạy hàng nghìn phiên bản robot ảo cùng lúc trên card đồ hoạ. Không giảm số mẫu cần nhưng giảm thời gian thực tế xuống rất mạnh, và đây là thay đổi kỹ thuật quan trọng nhất mấy năm qua.

Học ngoại tuyến từ dữ liệu có sẵn. Học từ nhật ký vận hành đã thu thập thay vì tương tác mới. Hấp dẫn vì nhiều nơi đã có dữ liệu, nhưng khó vì dữ liệu chỉ phủ những gì hệ thống cũ từng làm.

Câu hỏi thường gặp

Vì sao học tăng cường khó áp dụng trên robot thật?

Vì cần hàng trăm nghìn tới hàng chục triệu lần tương tác. Quy ra thời gian thật là hàng nghìn giờ, phần cứng không chịu nổi, và phải có người đặt lại hiện trường sau mỗi lần thất bại.

Lách hàm thưởng là gì?

Robot tìm ra cách tối đa hoá điểm mà không làm được việc — ví dụ đưa tay sát vật rồi rung tại chỗ để giữ điểm cao. Đây là lỗi của hàm thưởng chứ không phải của thuật toán.

Học tăng cường hiệu quả nhất ở đâu?

Điều khiển vận động tầng thấp — dạy robot đi, chạy, giữ thăng bằng khi bị đẩy — và các nhiệm vụ có tiếp xúc phức tạp khó mô hình hoá bằng toán.

Cách thực dụng nhất để giảm số lần thử là gì?

Học từ trình diễn — người điều khiển robot làm mẫu vài chục lần để thuật toán khởi đầu từ đó, cắt bỏ toàn bộ giai đoạn khám phá ngẫu nhiên.

Đọc thêm trong Thị giác máy cho robotTừ lab ra thực tế.

Need specific advice for your case?

We will contact you within 24 hours.

Request consultation now

Need advice? Talk to us

Leave your details and our team will contact you within 24 hours. The first consultation is completely free.

or
Call now +84 926 138 138