분류 전체보기 44

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..

Reinforcement Learning 책 읽고 공부하기(3, Exercise2)

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 Exercise 3.11 현재 state가 \( {S}_{t} \), action이 확률적 policy \( \pi \)에 의해 선택될 때 4개의 아규먼트를 가지는 함수 p(3.2)와 \( \pi \)를 사용해 \( {R}_{t+1} \)의 기대값을 표현해라. p(3.2)를 다시 가져와보기 여기서 \( \pi \)를 사용해 다시 나타내보기 $$ {R}_{t+1} = p \left( s^{'}, r | {s}_{t}, {a}_{t} \right) \times \pi \left( {a}_{t} | {s}_{t} \right) $$ 다음과 같이 않을까 라고 예상함 Exercise 3.12 \( {q}_{\..

Reinforcement Learning 책 읽고 공부하기(3-3)

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 3.5 Policies and Value Functions 거의 모든 강화학습 알고리즘들은 에이전트가 해당 state에 있는게 얼마나 좋은지 계산하는 value function(state의 function 또는 state-action쌍)을 포함한다.(또는 주어진 state에서 주어진 action을 하는게 얼마나 좋은지). "얼마나 좋은지"는 미래 reward의 기대값, 즉 expected return으로 정의한다. 당연하게도 미래에 받을 것이라 기대하는 reward는 에이전트가 어떤 action을 할지에 달려있다. 따라서 value function은 어떻게 policy라 부르는 어떻게 acting해야..

Reinforcement Learning 책 읽고 공부하기(3-2)

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 3.2 Goals and Rewards 강화학습에서 에이전트의 목적(목표)는 reward라는 환경을 거쳐 에이전트에게 가는 특별한 신호로 공식화한다. 각 타임스텝에서 reward는 실수범위 내의 간단한 숫자이다. 비공식적으로 에이전트의 목표는 이 reward들의 총합을 최대화하는 것이다. 즉각적인 reward가 아닌 긴 시간에 걸쳐 쌓인 reward를 최대화하겠다는 의미다. 이 아이디어를 reward hypothesis라 한다: 목표와 목적에 의해 reward라 불리는 스칼라 신호의 누적 합의 기대값(expected value)의 최대화 목표의 아이디어를 공식화하기 위해 reward signal의 사..

Reinforcement Learning 책 읽고 공부하기(3, Exercise)

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 Exercise 3.1 MDP 프레임워크에 맞는 자신만의 세가지 예제를 생각해보자. states, actions, rewards들을 확인하자. 가능한 각각 다른 예제로 세개 만들어보자. MDP 프레임워크는 추상적이고 유연하며 다양한 방법으로 적용할 수 있다. 첫번째로 자전거 문제를 생각해 볼 수 있을듯. action = 핸들을 꺾는 각도, 좌/우. state = 자전거의 속력, 좌/우로 기울어진 각도. reward = 속력이 증가하면 +1, 속력이 0이되면 negative reward 두번째: 온도 자동 조절 에어컨. action = 온도를 올리거나 내리거나. state = 현재 온도, 습도, 밖의 ..

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..

Reinforcement Learning 책 읽고 공부하기(3)

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 Chapter 3 Finite Markov Decision Processes 이번 챕터에서는 finite Markov decision processes(finite MDPs)의 문제를 소개한다. 이 문제는 bandit문제와 마찬가지로 evaluative feedback을 포함할 뿐만 아니라 associative aspect(다른 상황에서는 다른 action들을 선택) 또한 포함한다. MDPs는 연속적인 decision making을 공식화한 것이다. 연속적인 decision making이란 지금 선택한 action이 즉각적인 reward뿐만 아니라 그 후에 상황, state, 미래의 reward에 까..