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.
torch và torch.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
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ạttorch.relucho 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)