Reinforcement Learning 14

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

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 Dynamic Programming Dynamic programming(DP)는 MDP로 환경의 완벽한 모델이 주어졌을 때 optimal policy를 계산하기 위한 알고리즘들의 collection이다. 전통적인 DP 알고리즘들은 완벽한 모델의 대한 가정과 엄청난 계산량 때문에 강화학습에서의 활용성은 제한되었다. 하지만 이론적으로는 여전히 중요하다. DP는 이 책에 나머지 부분에 설명되는 방법들을 이해하기 위한 필수적인 기초를 제공해준다. 사실 이러한 모든 방법들은 계산을 덜하고 환경에 대한 완벽한 정보없이, DP와 동일한 효과를 달성하기 위한 시도들이라고 볼 수도 있다. 우리는 보통 환경을 fini..

강화학습이란 무엇인가(Chapter 1)

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 Chapter 1 요약(?) 강화학습이란? 강화학습은 에이전트가 받는 보상을 최대화하면서 학습하는 방법으로 에이전트는 어떤 action을 해야하는지가 아니라 어떤 action을 해야 가장 많은 보상을 받을 수 있는지를 학습한다. 그리고 에이전트가 선택하는 action은 바로 눈앞의 reward뿐만 아니라 한참 나중에 받을 reward에도 영향을 미친다. 이런 두가지 특성 trial and error search(보상을 많이 주는 action 탐색)와 delayed reward(즉각적인 보상뿐만 아니라 나중에 받을 보상)는 강화학습의 중요한 특징이다. 강화학습은 지도학습, 비지도학습과는 다른 머신러닝의..

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

윈도우 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에 까..

Reinforcement Learning 책 읽고 공부하기(2-4, Exercise)

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기 챕터 2에서 본 연습문제들 풀어보기 Exercise 2.1 \( \epsilon \)-greedy action 선택에서 두 개의 action을 선택해야 하는데 \( \epsilon \)=0.5인 경우 greedy action을 선택할 확률은 얼마인가? 일단 \( \epsilon \)-greedy action의 경우 \( \epsilon \)만큼의 확률로 greedy하지 않은 action을 선택하는 것임. 그리고 \( \epsilon \)-greedy에서는 optimal action을 선택할 확률이 1-\( \epsilon \)보다 큰 수렴, 즉 거의 확실하게 수렴함을 의미함. 그래서 여기서 greed..