글

라벨이 reinforcement learning인 게시물 표시

강화학습 (reinforcement learning) 정책 학습과 가치 학습 비교 - Deep Q Network를 이용한 Atari Space Invaders 와 CartPole

이미지
정책 학습과 가치 학습  강화 학습(reinforcement learning)의 두가지 범주에 속하는 정책 학습과 가치 학습을 비교하기 위해 이전 포스트에서 정책 경사(policy gradient)를 이용한 Atari 게임 Space Invaders 학습 을 알아본 적이 있다.  본 포스트에서는 OpenAI gym의 CartPole과 Atari 게임 Space Invaders 환경에서 Deep Q-network을 이용한 Agent를 만들고 학습이 잘 이루어지는지 테스트하였다. 이전 정책 경사(policy gradient) 에이전트에서 Space Invaders학습이 잘 이루어지지 않아 학습 방법 비교를 위해 간단한 게임인 CartPole도 테스트에 사용하였다. DQN(Deep Q-Network)을 이용한 Atari 게임 Space Invaders 와 CartPole 학습 openai gym Atari 게임 Space Invaders / CartPole 환경  Space Invaders는 128바이트 형태의 상태 데이터를 반환하는 'SpaceInvaders-ram-v0'를 사용하였다. import gym env = gym.make("SpaceInvaders-ram-v0")  CartPole은 'CartPole-v0'을 사용하였으며, 테스트 목표에 맞게 _max_episode_steps도 설정 했다. import gym env = gym.make("CartPole-v0') env._max_episode_steps=MAX_EPISODE_STEP+1 Q-learning  Q-learning은 정책을 직접 학습하는 대신 상태(state)와 행동(action)의 가치 (Q-value)를 학습한다. 가치 Q-value는 어떤 상태(state)에서 어떤 행동(action)...

강화학습 (reinforcement learning) 정책 학습과 가치 학습 비교 - 정책 경사 (policy gradient)를 이용한 Atari Space Invaders

이미지
정책 학습과 가치 학습 강화학습 (reinforcement learning)에서는 Agent를 정책 학습과 가치 학습 두가지 범주의 방식으로 학습시킨다고 한다. 정책 학습은 보상(reward)를 최대화하는 정책(policy)를 직접 학습하고, 가치 학습은 상태(status)와 행동(action)의 모든 가치(value)를 학습한다. 본 포스트에서는 gym을 이용한 Atari 게임 Space Invaders 환경에서 정책 경사를 이용해 정책을 학습하는 Agent를 만들고 학습이 잘 이루어지는지 테스트하였다. 정책 경사 (policy gradient)를 이용한 Atari 게임 Space Invaders 학습 openai gym Atari 게임 Space Invaders openai gum 설치 후 여러 게임 환경을 불러올 수 있다. 그중 본 포스트에서는 Space Invaders 사용했다. import gym env = gym.make("SpaceInvaders-v0") or  env = gym.make("SpaceInvaders-ram-v0") 위의 코드를 사용해 Space Invaders 게임 환경을 불러올 수 있다. 'SpaceInvaders-v0'는 (210,160,3) 형태의 이미지 데이터를, 'SpaceInvaders-ram-v0'는 128바이트 형태의 데이터를 observation으로 반환한다. 본 포스트에서는 'SpaceInaders-ram-v0'를 사용하였다. ipdb> observation array([[[ 0,  0,  0],         [ 0,  0,  0],         [ 0,  0,  0],         ...,...