Tại sao DQN yêu cầu hai mạng khác nhau?


12

Tôi đã trải qua quá trình triển khai DQN này và tôi thấy rằng trên dòng 124 và 125 hai mạng Q khác nhau đã được khởi tạo. Từ hiểu biết của tôi, tôi nghĩ rằng một mạng dự đoán hành động phù hợp và mạng thứ hai dự đoán các giá trị Q mục tiêu để tìm lỗi Bellman.

Tại sao chúng ta không thể chỉ tạo một mạng mà chỉ dự đoán giá trị Q và sử dụng nó cho cả hai trường hợp? Tôi đoán tốt nhất là nó đã được thực hiện để giảm thời gian tính toán, nếu không chúng ta sẽ phải tìm ra giá trị q cho mỗi hành động và sau đó chọn cái tốt nhất. Đây có phải là lý do duy nhất? Tui bỏ lỡ điều gì vậy?

Câu trả lời:


9

Tôi đoán tốt nhất là nó đã được thực hiện để giảm thời gian tính toán, nếu không chúng ta sẽ phải tìm ra giá trị q cho mỗi hành động và sau đó chọn cái tốt nhất.

Nó không có tác động thực sự đến thời gian tính toán, ngoài việc tăng nhẹ (do bộ nhớ thêm được sử dụng bởi hai mạng). Bạn có thể lưu trữ kết quả của mạng đích mà tôi cho là, nhưng có lẽ nó sẽ không có giá trị đối với hầu hết các môi trường và tôi chưa thấy một triển khai nào thực hiện điều đó.

Tui bỏ lỡ điều gì vậy?

Đó là để làm với sự ổn định của thuật toán Q-learning khi sử dụng xấp xỉ hàm (tức là mạng nơ ron). Sử dụng một mạng đích riêng biệt, được cập nhật mỗi bước rất nhiều với một bản sao của các tham số đã học mới nhất, giúp giữ cho xu hướng chạy trốn khỏi bootstrapping khỏi việc thống trị số lượng hệ thống, khiến các giá trị Q ước tính bị phân kỳ.

Hãy tưởng tượng một trong những điểm dữ liệu (at S, A, R, S') khiến ước tính quá kém hiện tại Q(S', A')trở nên tồi tệ hơn. Có S', A'thể thậm chí chưa được truy cập, hoặc giá trị Rnhìn thấy cho đến nay cao hơn mức trung bình, chỉ là tình cờ. Nếu một mẫu (S,A)bị cắt xén nhiều lần trong trải nghiệm phát lại, nó sẽ trở nên tồi tệ hơn mỗi lần, bởi vì việc cập nhật Q(S,A)được dựa trên R + max_a Q(S',a). Việc sửa mạng đích sẽ hạn chế thiệt hại mà các ước tính quá mức đó có thể gây ra, khiến mạng học tập có thời gian hội tụ và mất nhiều hơn độ lệch ban đầu.

Về mặt này, sử dụng một mạng đích riêng biệt có mục đích rất giống nhau để trải nghiệm phát lại. Nó ổn định một thuật toán mà nếu không có vấn đề hội tụ.

Cũng có thể có DQN với "học đôi" để giải quyết một vấn đề riêng: Tối đa hóa sai lệch. Trong trường hợp đó, bạn có thể thấy việc triển khai DQN với 4 mạng thần kinh.


Để đọc thêm, người ta có thể tham khảo aaai.org/ocs/index.php/AAAI/AAAI16/apers/doad/12389/11847
sửa đổi
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.