시작하기무료로 시작하기

감쇠된 epsilon-greedy 전략으로 CliffWalking 해결하기

epsilon-greedy 전략을 강화하기 위해 감쇠 계수(decay factor)를 도입해, 에이전트가 환경을 더 잘 알게 될수록 탐색률 epsilon을 점진적으로 낮춥니다. 이 방식은 학습 초기에 탐색을 장려하고, 환경에 익숙해질수록 학습한 지식을 활용하도록 돕습니다. 이제 이 전략을 CliffWalking 환경에 적용해 보세요.

환경은 이미 초기화되어 있으며 변수 env로 접근할 수 있어요. 변수 epsilon, min_epsilon, epsilon_decay는 미리 정의되어 있습니다. 또한 epsilon_greedy()update_q_table() 함수가 임포트되어 있어요.

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

Python으로 배우는 Gymnasium 기반 Reinforcement Learning

강의 보기

연습 안내

  • action을 선택하고 실행한 뒤, 받은 rewardepisode_reward에 누적하고, Q-테이블을 업데이트하여 전체 학습 루프를 구현하세요.
  • epsilon_decay 비율을 사용해 epsilon을 감소시키되, min_epsilon보다 작아지지 않도록 하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

rewards_decay_eps_greedy = []
for episode in range(total_episodes):
    state, info = env.reset()
    episode_reward = 0
    for i in range(max_steps):
      	# Implement the training loop
        action = ____
        new_state, reward, terminated, truncated, info = ____
        episode_reward += ____       
        ____      
        state = new_state
    rewards_decay_eps_greedy.append(episode_reward)
    # Update epsilon
    epsilon = ____
print("Average reward per episode: ", np.mean(rewards_decay_eps_greedy))
코드 편집 및 실행