실험실/RL
-
Value Function실험실/RL 2018. 7. 30. 16:24
agent의 state 또는 취하는 action에 대해 평가하는 작업이 필요하다. (how good ?)이것을 value function이라 하고 미래의 reward, 더 정확하게는 expected reutrn을 의미한다. 이 expected return은 agent가 어떤 action을 취하느냐에 따라 달라지므로 value function은 필연적으로 특정 policy와 관련지어 생각해야 한다.사실 agent가 하는 행동에 대한 평가는 지금 당장 내릴 수 없는 경우가 많다. 장기나 바둑을 둘때 지금 둔 착석의 최종 평가는 게임의 승리 여부이다. 그러므로 value function을 정의하는 것이 매우 중요하다. state-value function state에서 state로의 상태 변화에 따른 stat..
-
03-2. Monte Carlo (MC) 코드실험실/RL 2018. 7. 29. 11:54
에이전트는 에피소드가 마침(완료) 상태에 갈 때까지 아무것도 하지 않는다. 마침 상태가 되면 에이전트는 지나온 모든 상태의 value function을 업데이트한다. 에피소드 동안 방문했던 모든 상태의 value function을 업데이트하면 에이전트는 다시 시작 상태에서부터 새로운 에피소드를 진행한다. 이러한 과정을 반복하는 것이 Monte Carlo prediction이다. if __name__ == "__main__": env = Env() agent = MCAgent(actions=list(range(env.n_actions))) # [0, 1, 2, 3] # generate an episodes for episode in range(10): # 1000 state = env.reset() # 입..
-
02. Value Iteration실험실/RL 2018. 7. 29. 08:53
Value IterationPolicy iteration algorithm을 보면 policy evaluation을 위한 iteration이 내부에 존재한다는 것을 알 수 있다. 과연 이단계에서 수렴이 될때 까지 기다리는것이 효율적인지 생각해 보아야 한다. 사실은 그렇지 않다. 위의 방법은 심리적으로 수렴될것이라는 안정감을 주지만, policy를 개선하는데, 반드시 policy evaluation단계의 수렴이 필요하지 않기 때문이다. 사실, policy evaluation단계의 수렴절차를 거치지 않고도 policy iteration의 수렴을 보장할 수 있다. 이 방법의 특별한 case라고 한다면, 모든 state에대해 한번만 value function을 backup sweeping하는 것일 것이다. 이 ..
-
01. Policy Iteration실험실/RL 2018. 7. 29. 07:59
Policy Evaluation먼저 policy 에 대한 state-value function을 계산하는것을 policy evaluation이라고 하며, 이것을 prediction problem 라고도 한다. iterative solution 방법을 쓰게 될 것이므로 Bellman equation을 update rule로 사용하면 초기치 부터 시작하는 아래의 update rule을 생각해 볼 수 있다. Policy Improvement우리가 value function을 계산하는 이유는 사용한 policy를 평가하여 보다 나은 policy를 찾아내기 위함이다. 주어진 policy 의 value function을 구해냈다면, 어떤 state s에서 기존의 policy가 선택한 action이 아닌 다른 act..