OpenAI 6

OpenAI gym을 이용해 Q-Learning 구현해보기

큐러닝의 경우 살사와 너무 유사해서 이번에는 다른 예제를 가지고 큐러닝을 해보자. 이번의 예제는 OpenAI gym의 Taxi-v1. 일단 Taxi-v1의 깃허브 코드를 보며 state와 action 등에 대해서 파악. Description 에피소드가 시작하면 택시는 랜덤한 위치에서 시작하고 승객은 랜덤한 location(위치, R,G,B,Y)에서 시작한다. 택시 드라이버는 승객의 위치로 가서 승객을 태우고 승객의 목적지로 간다. 여기서 목적지는 승객이 출발하는 위치를 제외한 나머지 위치 중 하나이다. 승객이 목적지에서 내리면 에피소드는 끝난다. observations 500개의 이산적인 states들이 있는데 25개의 taxi 위치, 승객의 위치(택시 안에 있는것도 포함) 5개 그리고 4개의 목적지를 ..

OpenAI gym을 이용해 TD prediction 구현하기

이번에는 OpenAI의 FrozenLake-v0를 이용해 temporal difference, 시간차 예측을 구현해보자 몬테카를로 예측의 경우 하나의 에피소드를 끝내야지 return값을 얻고 그걸 이용해서 value function을 업데이트하는데 시간차 예측의 경우 그렇지 않고 몬테카를로와 비슷하지만 각 타임스텝마다 value function을 업데이트함. 몬테카를로의 공식을 거의 그대로 사용하다보니 사실 구현도 그렇게 크게 다르진 않음 import gym import numpy as np import random GAMMA=0.9 POLICY = [0.25, 0.25, 0.25, 0.25] TIMES = 5000000 ALPHA = 0.1 언제나 먼저 나오는 선언부 이번에는 에피소드를 사용하지 않고 ..

OpenAI gym을 이용해 MonteCarlo prediction 구현하기

이번 구현에도 역시 OpenAI의 FrozenLake-v0를 이용해서 구현해보자 몬테카를로 예측의 경우 에이전트가 환경에서 실제로 받은 reward들의 각 state에서 return을 계산해 그것들의 평균으로 참 가치함수를 예측하는 것임. 이제 이 이론을 가지고 코드를 짜보자 import gym import numpy as np import random GAMMA=0.9 EPISODES=1000 POLICY = [0.25, 0.25, 0.25, 0.25] THRESHOLD = 1e-20 얼음호수 예제의 경우 action이 4개이고 각 action을 할 확률 그러니까 policy는 모든 action이 동일하다고 가정. 그리고 이 policy에 대한 예측을 시작. env = gym.make('FrozenLa..

OpenAI gym을 이용해 ValueIteration 구현하기

이번에는 OpenAI의 FrozenLake-v0를 이용해서 valueIteration을 구현해보자 import gym import numpy as np GAMMA=0.9 INIT_POLICY=[0.25,0.25,0.25,0.25] THRESHOLD = 1e-20 선언부는 별 차이가 없음 env = gym.make('FrozenLake-v0') FrozenLake 환경을 만들어주고 def value_iteration(env, policy): value_func = np.zeros(env.observation_space.n) after_value_func = np.copy(value_func) for t in range(1000): for state in range(env.observation_space.n..

OpenAI gym을 이용해 PolicyIteration 구현하기

OpenAI gym의 FrozenLake-v0를 이용해 PolicyIteration을 구현해보자 import gym import numpy as np GAMMA=0.9 THRESHOLD = 1e-10 INIT_POLICY=[0.25,0.25,0.25,0.25] EPSIODE = 100 일단 다음과 같이 선언함 감가율인 감마는 0.9로 업데이트하기 전의 가치함수와 업데이트 후의 가치함수를 비교해 임계값보다 같거나 낮으면 반복 중단 각 상태의 초기 정책은 모두 동일하게 설정 env = gym.make('FrozenLake-v0') 다음으로 환경을 만들자 # 현재 정책에 대한 참 가치함수를 리턴 def policy_evaluation(env, value_func, policy): after_value_func..

윈도우 10에서 OpenAI gym 설치 및 에러 해결

gym을 설치하는 방법은 매우 간단함. 일단 아나콘다를 준비하고 0. pip install gym==0.7.0 이렇게 설치 근데 책을 보며 연습하는데 CarRacing 예제가 실행이 안됨 import gym env = gym.make('CarRacing-v0') 오류 내용은 ModuleNotFoundError: No module named 'Box2D' 모듈이 없다고 해서 pip install box2d로 설치하려고했는데 이것도 안됨 그래서 스택오버플로우 다음 글을 참고 https://stackoverflow.com/questions/51811263/problems-pip-installing-box2d/52572657 Problems pip installing Box2D I'm learning Reinf..