Lập trình một dòng theo robot với học tăng cường


15

Tôi đang xem xét lập trình một dòng theo robot sử dụng thuật toán học tăng cường. Câu hỏi tôi đang suy nghĩ là làm thế nào tôi có thể có được thuật toán để học điều hướng qua bất kỳ con đường tùy ý nào?

Đã theo cuốn sách Sutton & Barto để học tăng cường, tôi đã giải quyết một vấn đề tập thể dục liên quan đến đường đua trong đó các nhân viên xe hơi học cách không đi ra khỏi đường đua và điều chỉnh tốc độ của nó. Tuy nhiên, vấn đề tập thể dục đó đã khiến tác nhân học cách điều hướng theo dõi nó được đào tạo.

Có phải trong phạm vi của việc học tăng cường để có được một robot để điều hướng các con đường tùy ý? Là đại lý hoàn toàn phải có một bản đồ của mạch đua hoặc đường dẫn? Những thông số nào tôi có thể có thể sử dụng cho không gian trạng thái của tôi?


1
Tôi không biết làm thế nào, nhưng tôi chắc chắn rằng có thể dạy nó giữ chính nó trong một con đường, bất kể hình dạng của nó. Mục tiêu của việc giảng dạy trong trường hợp này phải là quyết định cục bộ mà robot đưa ra dựa trên các đầu vào trực tiếp của nó (hoặc có thể là một số lịch sử). Theo cách này, nó không quan trọng hình dạng của đường dẫn là gì, vì tất cả các quyết định là cục bộ.
Shahbaz

@Shahbaz - Bạn muốn đề nghị tôi sử dụng gì cho không gian trạng thái?
Chúa ơi.

Tôi thực sự không chắc chắn. Mặc dù tôi đã học AI ở trường đại học, đó chưa bao giờ là lĩnh vực công việc / nghiên cứu của tôi. Câu trả lời bạn đã chấp nhận có vẻ hợp lý!
Shahbaz

Bạn đang sử dụng một câu trả lời để kiểm tra Markdown? Bạn chỉ có thể viết những gì bạn muốn và xem kết xuất ngay bên dưới nó, và sau đó không đăng nó.
Shahbaz

Câu trả lời:


8

Một trong những biện pháp chính của bất kỳ thuật toán học máy nào là khả năng khái quát hóa (nghĩa là áp dụng những gì nó đã học vào các tình huống chưa phát hiện trước đó). Người học tăng cường (RL) có thể khái quát tốt nhưng khả năng này là một phần chức năng của công thức không gian nhà nước theo kinh nghiệm của tôi. Điều này có nghĩa là nếu bạn có thể tìm thấy thiết lập phù hợp thì người học RL sẽ không cần bản đồ của mạch đua.

Điều này để lại câu hỏi về việc sử dụng tham số nào. Không biết thêm về các cảm biến có sẵn trên robot của bạn, tôi chỉ có thể suy đoán. Định hướng đầu tiên của tôi là cố gắng mã hóa hướng tương đối của đường và robot (tức là robot có xu hướng sang phải, trái hoặc đơn giản là di chuyển song song với đường thẳng). Làm như vậy sẽ dẫn đến một không gian nhà nước nhỏ đẹp. Mặc dù không thực sự cần thiết nhưng nó sẽ giúp cho việc thực hiện nhanh chóng và đơn giản. Hơn nữa, nếu robot không di chuyển với tốc độ không đổi thì có thể giúp mã hóa vận tốc của robot vì robot sẽ cần phải phản ứng nhanh hơn khi di chuyển ở tốc độ cao hơn.


Không có bản đồ, không gian trạng thái chỉ là những gì robot có thể cảm nhận được từ vị trí trước mắt của nó. Vì vậy, ở một mức độ nhất định, bản đồ chỉ là một cách để "nhìn về phía trước". Hành vi đã học trong kịch bản không có bản đồ về cơ bản sẽ là "làm điều tương tự như trước nhưng chậm hơn vì chúng ta không biết lần lượt là nơi nào". (Có lẽ, bạn sẽ có thể biết vị trí của các cạnh của bản nhạc.)
Ian

Một chính sách cho chúng ta biết những kiểm soát nào được áp dụng cho một nhà nước. Nếu không gian trạng thái được xây dựng tốt cho tác nhân RL thì các kịch bản khác nhau có thể trông giống nhau trong không gian trạng thái và mang lại hành vi tương tự. Điều này được gọi là khái quát hóa và là mong muốn khi được thực hiện chính xác. Robot sẽ có tốc độ tối đa dựa trên tốc độ của vòng điều khiển. Các hành vi học được sẽ không nhất thiết phải chậm lại. Nếu phần thưởng có liên quan nghịch với thời gian chạy thì tác nhân sẽ có xu hướng tối đa hóa tốc độ của nó so với tốc độ của vòng điều khiển.
DaemonMaker

0

Tôi không chắc bạn có loại robot nào nhưng tôi đã thực hiện đường dây cứu hộ robocup được vài năm rồi. Tôi đã nhận ra rằng nếu bạn muốn theo dõi tốt một dòng bằng cách sử dụng PID là một lựa chọn tốt. Hãy để tôi mở rộng về điều này. Nếu bạn tưởng tượng hai cảm biến ánh sáng ở hai bên của dòng bạn sẽ muốn chúng có giá trị bằng nhau để dòng nằm ở giữa. Sau đó, bạn có thể sử dụng chênh lệch giữa giá trị của hai cảm biến để thay đổi tỷ lệ phần trăm quay của robot. Với kỹ thuật này, có thể khiến một robot đi theo một đường với tốc độ phi thường. Tôi giống như bạn đang suy nghĩ về việc làm cho robot học cách cải thiện khả năng theo dõi dòng của nó. Những gì tôi nghĩ ra là bắt đầu với các giá trị PID ban đầu của bạn cao hơn mức bạn muốn và sử dụng cảm biến con quay để đo tần số dao động của robot khi nó theo dõi đường. Từ đó, bạn có thể tạo chức năng của riêng mình để xác định mức giảm giá trị của mình bằng cách nào để có được một hệ thống ổn định, đây không hẳn là trí thông minh nhân tạo giống như thuật toán tối ưu hóa tự động, nhưng hey 18 và tôi đã học cách mã hóa từ Internet. Tôi hi vọng cái này giúp được. Nếu bạn có bất kỳ câu hỏi nào gửi email cho tôi thì đây không phải là địa chỉ email chính của tôi vì vậy tôi sẽ không kiểm tra nó thường xuyên. 69darkeagle@sigaint.org

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.