공부 정리 블로그

2. 강화학습의 키워드들 본문

대학원 수업/강화학습

2. 강화학습의 키워드들

따옹 2022. 9. 18. 08:44

(요약)강화학습이란?

환경이 주어지고 주어진 환경을 state로 정의 

state 정의가 어렵다.

action 사람이 오른쪽/아래/밑/아래 action 단순

 

transition probability

P(s'|s,a) : 어떤 state에서 어떤 action 을 취했을 때그 다음 state가 무엇인가

reward

우리가 학습 시키고자 하는 목표

높아지는 쪽으로 움직임. agent학습 시 하나의 episode가 어떤 경로를 통해서 가는데,

reward들의 합을 최대화 하는 방향으로 학습

Expectation

X = random variable 결과가 항상 그 때그때 다르지만

확률적으로 얘기할 수 있다.

주사위를 한 번 굴렸을 때 기대값 E(X)가 있다. ex) 3.5

Action space

(right down...) action 집합

discrete action space(이산적) - 왼쪽 아래 위

continuous action space(연속적) - 자율주행 차량에서 핸들을 몇 도 꺾을 것인가 

 

Policy

어떤 state에서 어떤 action을 취할 것인가를 table로 정리한 것

9개의 state에 대해 나의 action을 정리해 놓은 것(=정책)

state actions
A right
B right
C down
F down
A B(x) C(x)
D E F
G(x) H(x) I

 

RL의 목적 = 좋은 policy를 고르자(optimal policy)

다른 policy보다 reward가 높게 만들자

 

Policy 의 종류

deterministic policy 정해져있는 policy / st -> at로 딱 정해짐

stochastic policy 확률적으로 정해지는 policy

어떤 state t에서 (st ) at를 취할 확률은 다음과 같은 분포를 따른다

Categorical policy 

  • action space is discrete
  • –  E.g.) actions: up, down, left, right

Gaussian Policy - 핸들을 30, 28.4, 92.3  도 꺾을 수 있는 경우 /  특별한 경우가 없다면 대부분 사용 

 

Episode

( 시작 -> 끝 ) 한판 끝

Trajectory 어떤 시작 state로부터 Terminal 까지 가는 경로

  • An episode is often called a trajectory, and is denoted by .

trajectory

강화학습은 episode를 여러번 해보며 다른 action으로 reward를 따져보고

여러 알고리즘 중 reward가 높은쪽으로 행동을 가져감

 

나에게 2가지 action이 있고 reward가 높은 쪽으로 갈 수 있겠지만, 상식적으로 그 뒤에 갈 수 있는 경로가 많을 때 좋은 쪽으로만 가지고 판단할 수는 없다 강화학습은 iterative한 학습 많이 해봐야함

완전히 좋은 쪽으로 치우치는 게 아니라 조금씩 치우쳐야함

=>reinforcement (강화학습) 가장 reward가 높은 길을 찾아나간다

 

episodic task 한 판이 있는 것 / 블록깨는 게임 (=finite horizon)

continuous task 강화학습으로 비서나 로봇을 강화시키는 것은 다른 방식으로 진행이 필요하다 (=infinite horizon)

return( 중요한 개념)

어떤 state에서 action을 취하면 reward가 주어지지만 끝까지 갔을 때, reward의 총 합이 나의 목적

R(s, a, s') 이때 주어지는 것이 Reward

R(t)가 강화학습의 목적 an optimal policy that maximizes return.

 

continuous, 너무 긴 task 는 Discount Factor 사용

Return이 높아지는 쪽으로 택해야 한다 ( action을 취했을 때 끝까지 갔을 때 받을 reward의 합)

끝나지 않는 continuous task - reward가 양수일 때, 무한대가 되므로 어떤 게 좋은 지 알 수 없다 (계산이 불가능)

r를 붙여서 r의 지수를 하나씩 올려서 뒤로 갈 수록 점점 0에 수렴하도록 만든느 것

끝도 없이 이어지는 episode 속에서 action을 고르고 return값을 보면서 골라야하므로

r를 넣어서 미래로 갈 수록 reward의 가치를 떨어뜨려서 언젠간 0에 가까워지는 값을 설정하여 비교해서 결정

 

r를 1로 했을 때, 사용 discount vector 사용 안함 / 0< r <1 사용

ex 1) r=0.9일 때, 미래가 중요(future reward) / r=0.2 일때, 현재가 중요(immediate reward)

 

Value Function

policy 어떤 state마다 어떤 action을 취할지 정해진 것

파이가 달라지면 policy가 달라지는 것

 

 

 

S상태에서 policy의 가치는 (=) 초기 상태가 s0라고 했을 때, Returen V(s)

 

policy가 stochastic한 경우

trajectory가 파이의 분포를 따른다.
기댓값 계산 A에서만 stochastic, 나머지 state는 determistatic

이 stochasitic 하에서 V(A)의 가치 계산

여러가지 policy중 최대로 만드는 policy -> V*(s)

V와 Q는 쌍으로 구성

 

Q Funtion

Q function (state, action pair)

어떤 state에서 어떤 action를 취했을 때의 가치

 

V(s) , Q(s, a)차이

s에서 취하는  a1, a2

Vπ(s)는 action a1, a2의 평균값

if stochastic이라면 각 Q들의 평균

Q의 경우, 수치가 따로따로 존재

V(s) s->a1이면, Qπ(s,a1)

V(s) s->a2이면, Qπ(s, a2)

수 많은 policy 중 Q값을 최대로 만들어주는 것 Q*(s,a)

s0 -> 1번이 낫구나, s1-> 1이 낫구나, 를 토대로 optimal 을 정한다.

(중간 과정에서는 value가 높은 것이 더 낮을 수도 있다.?)

 

model-based learging

environmnet dynamics - 어떤 state에서 action을 취했을 때, 어떤 state로 이동하는지 알려져있는 경우ex) 체스, 바둑

model-free learning

trasitional probability가 있지만 해보기 전까지는 모른다.추정해야함.

10번 가보고 3,4,3 이동하면 각 확률을 추정함. if 틀리면 또 하고 반복..

 

Determinisitic environment - when an agent performs action a in state s, its next state is always the same.

Stochastic environment - when an agent performs action a in state s, its next state is determined probabilistically.

 

discret environment - action space is discrete. E.g.) [up, down, left, right]

continous environmnet - action space is continuous. E.g.) car's speed, rotating the wheel

 

episodic environmnet - 현재의 action이 미래의 action에 상관이 없다

non-episodic environmnet - 똑같은 state에서 옛날 action에 따라 가치가 달라짐 ex)체스

 

single-agent environmnet - agent 1개 / 각각의 agent가 한 공에 모두 달라붙음(모두가 같은 포지션)

multi-agent environmnet - 한 명은 골대쪽, 한 명은 공뺏으러 ~(각 각 다른 포지션)

 

fully observation -  전체 보임 / partially observation environmnet -스타크래프트

static  environmnet - 고정 ex) 로봇 청소기가 집 청소할 때 환경 변화 없을 무

dynaminc - 환경이 바뀜 ex)애들이 축구할 때 환경이 계속 변함

 

 

*강화학습 keyword 정리

 

1. agent

 

2. environment

3. state

4. action

5. reward

6. action space

7. policy

8. episode

9. episodic and continuous task

10. horizon

11. return

12. discount factor

13. value function

14. Q function

15. Model-based and model-free learning

16. det

FrozenLake

도착지에 도착해야 +1

if 도착지에 가까운 구간마다 점수를 높게 주는 건 강화학습이 아님(hint를 주는 것!)