Bắt đầu ngayBắt đầu miễn phí

Kiến trúc Q-Network

Bạn đã gần như sẵn sàng để huấn luyện agent Deep Reinforcement Learning đầu tiên! Trước khi chạy vòng lặp huấn luyện hoàn chỉnh, bạn cần một kiến trúc mạng nơ-ron để dẫn dắt quyết định của agent và khả năng học của nó.

Bạn sẽ chỉnh sửa kiến trúc tổng quát đã định nghĩa ở bài tập trước. torchtorch.nn đã được nhập sẵn trong bài tập này.

Bài tập này là một phần của khóa học

Deep Reinforcement Learning bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Khởi tạo tầng ẩn đầu tiên; đầu vào của nó sẽ là state của môi trường, có kích thước state_size.
  • Khởi tạo tầng đầu ra; nó cung cấp các Q-value cho mỗi hành động, với kích thước action_size.
  • Hoàn thiện phương thức forward(); dùng hàm kích hoạt torch.relu cho ví dụ này.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

class QNetwork(nn.Module):
    def __init__(self, state_size, action_size):
        super(QNetwork, self).__init__()
        # Instantiate the first hidden layer
        self.fc1 = nn.Linear(____, ____)
        self.fc2 = nn.Linear(64, 64)
        # Instantiate the output layer
        self.fc3 = nn.Linear(____, ____)
    def forward(self, state):
        # Ensure the ReLU activation function is used
        x = ____(self.fc1(torch.tensor(state)))
        x = ____(self.fc2(x))
        return self.fc3(x)
Chỉnh sửa và Chạy Mã