เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

สถาปัตยกรรมของ Q-Network

ใกล้จะถึงเวลาฝึก Deep Reinforcement Learning agent ตัวแรกแล้ว! ก่อนจะเริ่ม training loop แบบสมบูรณ์ได้ คุณต้องมีสถาปัตยกรรมโครงข่ายประสาทเทียมเพื่อขับเคลื่อนการตัดสินใจและความสามารถในการเรียนรู้ของ agent

ในแบบฝึกหัดนี้จะนำสถาปัตยกรรมทั่วไปที่กำหนดไว้ในแบบฝึกหัดก่อนหน้ามาปรับใช้ torch และ torch.nn ถูก import ไว้ในแบบฝึกหัดนี้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Reinforcement Learning ด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง instance ของเลเยอร์ซ่อนแรก โดยรับข้อมูลนำเข้าเป็น state ของสภาพแวดล้อม ซึ่งมีมิติเท่ากับ state_size
  • สร้าง instance ของเลเยอร์เอาต์พุต ซึ่งให้ค่า Q-value สำหรับแต่ละ action โดยมีมิติเท่ากับ action_size
  • เติมส่วนของเมธอด forward() ให้สมบูรณ์ โดยใช้ฟังก์ชัน activation torch.relu ในตัวอย่างนี้

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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)
แก้ไขและรันโค้ด