Những thách thức trong Deep RL so với Deep Learning

Một phần của tài liệu reinforcement learning (Trang 33 - 36)

Cho đến nay, tất cả điều này trông rất tuyệt. Chúng ta đã hiểu cách mạng nơ-ron có thể giúp Agent học các hành động tốt nhất. Tuy nhiên, có một thách thức khi chúng ta so sánh Deep RL với Deep learning (DL):

Mục tiêu không cố định hoặc không ổn định:

Chúng ta hãy quay lại mã giả cho Deep Q-learning:

Như có thể thấy trong đoạn mã trên, mục tiêu liên tục thay đổi với mỗi lần lặp. Trong deep learning, biến mục tiêu không thay đổi và do đó việc đào tạo ổn định, điều này không đúng với RL.

Tóm lại, chúng ta thường phụ thuộc vào chính sách hoặc chức năng giá trị trong học tập củng cố để lấy mẫu các hành động. Tuy nhiên, điều này thường xuyên thay đổi khi chúng ta liên tục tìm hiểu những điều cần khám phá. Khi chơi trò chơi, chúng ta hiểu thêm về các giá trị chân lý cơ bản của các trạng thái và hành động và do đó, kết quả đầu ra cũng thay đổi.

Vì vậy, chúng a phảicố gắng học cách lập bản đồ để có đầu vào và đầu ra thay đổi liên tục. Nhưng sau đó giải pháp là gì?

2.5.4.1 Mạng mục tiêu

Vì cùng một mạng đang tính toán giá trị dự đoán và giá trị mục tiêu, nên có thể có rất nhiều sự khác biệt giữa hai mạng này. Vì vậy, thay vì sử dụng một mạng nơ-ron để học, chúng ta có thể sử dụng hai mạng.

Chúng tôi có thể sử dụng một mạng riêng để ước tính mục tiêu. Mạng mục tiêu này có cùng kiến trúc với công cụ xấp xỉ hàm nhưng với các tham số cố định. Đối với mỗi lần lặp C (một siêu tham số), các tham số từ mạng dự đoán được sao chép sang mạng đích. Điều này dẫn đến việc đào tạo ổn định hơn vì nó giữ cho hàm mục tiêu cố định (trong một thời gian):

2.5.4.2. Phát lại trải nghiệm

Để thực hiện phát lại trải nghiệm, chúng tôi lưu trữ trải nghiệm của Agent . Thay vì chạy Q-learning trên các cặp trạng thái / hành động khi chúng xảy ra trong quá trình mô phỏng hoặc trải nghiệm thực tế, hệ thống lưu trữ dữ liệu được khám phá cho [state, action, reward, next_state] - trong một bảng lớn. Hãy hiểu điều này bằng cách sử dụng một ví dụ.

Giả sử chúng ta đang cố gắng xây dựng một bot trò chơi điện tử trong đó mỗi khung hình của trò chơi đại diện cho một trạng thái khác nhau. Trong quá trình đào tạo, chúng ta có thể lấy mẫu một loạt 64 khung hình ngẫu nhiên từ 100.000 khung hình cuối cùng để đào tạo mạng của ta. Điều này sẽ giúp chúng ta có được một tập hợp con trong đó mối tương quan giữa các mẫu thấp và cũng sẽ mang lại hiệu quả lấy mẫu tốt hơn.

Các khái niệm chúng ta đã học cho đến nay? Tất cả chúng kết hợp để tạo ra thuật toán Deep Q-learning được sử dụng để đạt được hiệu suất ở cấp độ con người trong các trò chơi Atari (chỉ sử dụng các khung hình video của trò chơi).

Tôi đã liệt kê các bước liên quan đến mạng Deep Q network (DQN) bên dưới:

1. Xử lý trước và cung cấp (các) màn hình trò chơi cho DQN, điều này sẽ trả về giá trị Q của tất cả các hành động có thể có trong trạng thái

2. Chọn một hành động bằng cách sử dụng epsilon-greedy policy. Với xác suất epsilon, chúng tôi chọn một hành động ngẫu nhiên A và với xác suất 1-epsilon, chúng tôi chọn một hành động có giá trị Q lớn nhất, chẳng hạn như a = argmax (Q (s, a, w))

3. Thực hiện hành động này ở một trạng thái và chuyển sang trạng thái mới để nhận phần thưởng. Trạng thái này là hình ảnh được xử lý trước của màn chơi tiếp theo. Chúng ta lưu trữ quá trình chuyển đổi này trong bộ đệm phát lại dưới dạng <s, a, r, s '>

4. Tiếp theo, lấy mẫu một số lô chuyển tiếp ngẫu nhiên từ bộ đệm phát lại và tính toán tổn thất.

5. Được biết rằng: chỉ là sự khác

biệt bình phương giữa Q target và Q dự đoán

6. Thực hiện giảm gradient đối với các thông số mạng thực tế để giảm thiểu sự mất mát này

7. Sau mỗi lần lặp lại C, hãy sao chép trọng số mạng thực tế sang trọng số mạng mục tiêu.

SO SÁNH CÁC THUẬT TOÁN REINFORCEMENT LEARNING

Một phần của tài liệu reinforcement learning (Trang 33 - 36)

Tải bản đầy đủ (DOCX)

(47 trang)
w