기본 DQN 행동 선택
select_action() 함수는 각 단계에서 Q-value가 가장 큰 행동을 선택하도록 에이전트를 도와줘요.
이 함수는 Q-네트워크와 현재 상태를 인자로 받아, Q-value가 가장 큰 행동의 인덱스를 반환합니다.
Q-네트워크는 q_network로 인스턴스화되어 있고, 예제 데이터를 제공하기 위해 환경에는 state = torch.rand(8)로 무작위 상태가 로드되어 있어요.
이 연습은 강의의 일부입니다
Python으로 배우는 Deep Reinforcement Learning
연습 안내
- 인자로 제공된 상태에서 각 행동에 해당하는 Q-value를 계산하세요.
- Q-value가 가장 큰 행동에 해당하는 인덱스를 구하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
def select_action(q_network, state):
# Calculate the Q-values
q_values = ____
print("Q-values:", [round(x, 2) for x in q_values.tolist()])
# Obtain the action index with highest Q-value
action = torch.____.item()
print(f"Action selected: {action}, with q-value {q_values[action]:.2f}")
return action
select_action(q_network, state)