강화학습 8

MC(Monte Carlo)/TD(temporal difference) Control 구현

MC(Monte Carlo)/TD(temporal difference) Control 구현¶ 간략화된 정책 이터레이션 사용함 얕은 정책 평가 1번, 정책 개선 1번 번갈아 진행 순서 한 에피소드의 경험을 쌓음 경험한 데이터로 q(s, a) 테이블의 값을 업데이트 하고(정책 평가) 업데이트된 q(s, a) 테이블을 이용하여 $\epsilon-greedy$ 정책을 만들기(정책 개선) In [1]: import random import numpy as np In [2]: class GridWorld(): def __init__(self): self.x=0 self.y=0 def step(self, a): # 0번 액션: 왼쪽, 1번 액션: 위, 2번 액션: 오른쪽, 3번 액션: 아래쪽 if a==0: self..

강화학습 2023.01.19

MC(Monte Carlo)/TD(temporal difference) Prediction 구현

MC(Monte Carlo)/TD(temporal difference) Prediction 구현¶ 4가지 요소를 구현하여야 함 환경: 에이전트의 액션을 받아 상태변이를 일으키고, 보상을 줌 에이전트: 4방향 랜덤 정책을 이용해 움직임 경험 쌓는 부분: 에이전트가 환경과 상호작용하며 데이터를 축적 학습하는 부분: 쌓인 경험을 통해 테이블을 업데이트 In [1]: import random import numpy as np class GridWorld(): def __init__(self): self.x=0 self.y=0 def step(self, a): # 0번 액션: 왼쪽, 1번 액션: 위, 2번 액션: 오른쪽, 3번 액션: 아래쪽 if a==0: self.move_left() elif a==1: sel..

강화학습 2023.01.19

손으로 쓰는 강화학습(Reinforcement Learning) - (3) DP(Dynamic Programming)

DP(Dynamic Programming: 동적 계획법) - 복잡한 (큰)문제를 작은 문제로 나눈 후, 작은 문제ㅢ 해법을 조합해 큰 문제의 해답을 구하는 기법의 총칭. 동적 계획법으로 해결할 수 있는 문제는 다음과 같은 특징을 가짐 1. 최적 하위구조(Optimal substructrue) - 큰 문제를 분할한 작은 문제의 최적 값이 큰 문제에서도 최적 값. - Principle of optimality라고도 불림. 2. 중복 하위문제(Overlapping problems) - 큰 문제의 해를 구하기 위해서, 작은 문제의 최적 해를 재사용. - 여러 번의 재사용을 하기 때문에 일반적으로 테이블에 저장해 둠. MDP에서 정의한 bellman 기대/최적 방정식은 두 가지 특성을 만족시킴. 즉, 우리는 DP..

강화학습 2020.08.31

손으로 쓰는 강화학습(Reinforcement Learning) - (1)

강화학습 정리 이해를 돕고자하는 예쁜 글을 쓰기보단, 스스로 공부한 내용들을 메모하는데 초점을 맞춘다. (뒤죽박죽일 수 있다) 에이전트(Agent)와 환경(Environment) 매 시점 t마다, - 에이전트는 (1) 현재 상태 $s_t$를 관측한다. (2) $s_t$를 활용하여 적합한 행동 $a_t$를 구한 후 그를 환경에 가한다. - 환경은 (3) 행동 $a_t$를 반영한다. 그로 인한 다음 상태 $s_{t+1}$ 및 보상 $r_{t+1}$를 에이전트에게 준다. 보상은 하나의 숫자로 표현된 행동에 대한 평가지표 - (예) 길 찾기 문제에서 각 도시 사이의 거리 상태는 문제의 현재 상황을 잘 기술하는 정보 - 길 찾기 문제의 경우에 에이전트의 현재 위치 에이전트(Agent) 구성요소 - 정책(정책함수,..

강화학습 2020.08.27