Câu hỏi về Q-Learning sử dụng Mạng thần kinh


14

Tôi đã triển khai Q-Learning như được mô tả trong,

http://web.cs.swarthmore.edu/~meeden/cs81/s12/ con / MarkStevePaper.pdf

Để khoảng. Q (S, A) Tôi sử dụng cấu trúc mạng thần kinh như sau,

  • Kích hoạt sigmoid
  • Đầu vào, số lượng đầu vào + 1 cho các nơ ron hành động (Tất cả các đầu vào được chia tỷ lệ 0-1)
  • Đầu ra, đầu ra đơn. Giá trị Q
  • N số lớp M ẩn.
  • Phương pháp thăm dò ngẫu nhiên 0 <rand () <propExplore

Tại mỗi lần lặp học tập sử dụng công thức sau đây,

nhập mô tả hình ảnh ở đây

Tôi tính giá trị Q-Target sau đó tính toán lỗi bằng cách sử dụng,

error = QTarget - LastQValueReturnedFromNN

và trở lại tuyên truyền lỗi thông qua mạng lưới thần kinh.

Q1, tôi có đang đi đúng hướng không? Tôi đã thấy một số bài báo thực hiện NN với một nơ ron đầu ra cho mỗi hành động.

Câu hỏi 2, Hàm phần thưởng của tôi trả về một số trong khoảng từ -1 đến 1. Có thể trả lại một số từ -1 đến 1 khi chức năng kích hoạt là sigmoid (0 1)

Câu 3, Từ sự hiểu biết của tôi về phương pháp này đã đưa ra đủ các trường hợp đào tạo, nó có nên được cách ly để tìm ra một chính sách tối ưu không? Khi đào tạo cho XOR đôi khi nó học nó sau 2k lần lặp đôi khi nó không học được ngay cả sau 40k 50k lần lặp.


Vì tò mò, làm thế nào bạn kết hợp đầu vào trạng thái với đầu vào hành động, để cung cấp cả hai cùng một lúc cho mạng? Bạn có đoạn mã này có sẵn công khai không? Cảm ơn bạn!
Pedro Lopes

Câu trả lời:


9

Q1. Bạn chắc chắn đang đi đúng hướng, nhưng một vài thay đổi có thể giúp ích rất nhiều. Một số người sử dụng một đơn vị đầu ra cho mỗi hành động để họ chỉ phải chạy mạng của họ một lần để chọn hành động (bạn phải chạy mạng của mình một lần cho mỗi hành động có thể). Nhưng điều này không tạo ra sự khác biệt liên quan đến việc học và chỉ đáng để thực hiện nếu bạn dự định nhân rộng mô hình của mình lên đáng kể.

Quý 2 Nói chung, mọi người sử dụng chức năng kích hoạt tuyến tính cho lớp cuối cùng của mạng lưới thần kinh của họ, đặc biệt là cho việc học tăng cường. Có nhiều lý do cho việc này, nhưng thích hợp nhất là chức năng kích hoạt tuyến tính cho phép bạn biểu diễn toàn bộ phạm vi số thực làm đầu ra của mình. Do đó, ngay cả khi bạn không biết giới hạn về phần thưởng cho nhiệm vụ của mình, bạn vẫn được đảm bảo có thể đại diện cho phạm vi đó.

H3. Thật không may, các đảm bảo về mặt lý thuyết cho việc kết hợp các mạng thần kinh (và xấp xỉ hàm phi tuyến tính nói chung) với việc học tăng cường là khá nhiều không tồn tại. Có một vài phiên bản lạ hơn của việc học tăng cường (chủ yếu là từ phòng thí nghiệm Sutton) có thể đưa ra các loại yêu cầu hội tụ mà bạn đề cập, nhưng tôi chưa bao giờ thực sự thấy các thuật toán đó được áp dụng 'trong tự nhiên'. Lý do cho điều này là vì hiệu suất tuyệt vời không thể được hứa hẹn, nhưng nó thường có được trong thực tế, với sự quan tâm đúng mức đến các thông số siêu và các điều kiện ban đầu.

Một điểm cuối cùng mà gấu đề cập đến cho các mạng thần kinh nói chung: không sử dụng các chức năng kích hoạt sigmoid cho các mạng có nhiều lớp ẩn! Họ bị nguyền rủa với vấn đề 'biến mất độ dốc'; tín hiệu lỗi hầu như không đến được các lớp trước đó (nhìn vào đạo hàm của hàm sẽ làm rõ lý do tại sao lại như vậy). Thay vào đó, hãy thử sử dụng các đơn vị tuyến tính đã được chỉnh lưu (RELU) hoặc đơn vị 'mềm cộng', vì chúng thường thể hiện hiệu suất tốt hơn nhiều trong các mạng sâu.

Xem bài viết này để thực hiện tuyệt vời các mạng lưới thần kinh được đào tạo với học tập củng cố:

Mnih, Volodymyr, et al. "Chơi Atari với học tập củng cố sâu." bản in sẵn arXiv arXiv: 1312.5602 (2013).


0

Đối với chức năng kích hoạt, maxout cũng hoạt động tốt. Sử dụng huấn luyện viên phù hợp là rất quan trọng đối với các mạng lưới sâu, tôi đã thử các giảng viên khác nhau nhưng quyết định gắn bó với RMSprop và nó trông thật tuyệt!


1
Chào mừng đến với trang web, @ user3355911. Điều này có lẽ là quá thưa thớt để là một câu trả lời ở đây. Bạn có thể mở rộng nó & thịt nó ra nhiều hơn?
gung - Tái lập Monica
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.