공부 정리 블로그
2. 강화학습의 키워드들 본문
(요약)강화학습이란?
환경이 주어지고 주어진 환경을 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 .
강화학습은 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한 경우
이 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를 주는 것!)
'대학원 수업 > 강화학습' 카테고리의 다른 글
4. The Bellman Equation and Dynamic Programming(2/3) - Dynamic Programming - Value Iteration 계산 (0) | 2022.10.22 |
---|---|
3. Bellman equation and Dynamic Programming(1/3) - The Bellman Equation (0) | 2022.10.22 |
11. The multi-Armed Bandit Problem (0) | 2022.10.19 |
9. Temporal Difference Learning(1/2) (0) | 2022.10.12 |
1. 강화학습의 개념 (0) | 2022.09.13 |