시작하기무료로 시작하기

Q-네트워크 아키텍처

이제 곧 첫 번째 Deep Reinforcement Learning 에이전트를 학습시킬 준비가 거의 끝났어요! 전체 학습 루프를 실행하기 전에, 에이전트의 의사결정과 학습을 이끌 신경망 아키텍처가 필요합니다.

이전 연습 문제에서 정의한 일반적인 아키텍처를 수정해 보세요. torchtorch.nn은 이미 가져와져 있어요.

이 연습은 강의의 일부입니다

Python으로 배우는 Deep Reinforcement Learning

강의 보기

연습 안내

  • 첫 번째 은닉층을 인스턴스화하세요. 이 층의 입력은 차원이 state_size인 환경 상태입니다.
  • 출력층을 인스턴스화하세요. 이 층은 각 행동에 대한 Q-value를 제공하며 차원은 action_size입니다.
  • forward() 메서드를 완성하세요. 이 예제에서는 활성화 함수로 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)
코드 편집 및 실행