3. Reinforcement Learning - RL이란?
- How intelligent agents ought to take actions in an environment
in order to maximize the notion of cumulative reward. (By Wikipedia)
- 강화학습을 푼다는 것은 최적의 정책 함수를 찾는 것과 같다.
그리고 이 최적의 정책함수는 불확실한 미래에 얻을 수 있는
보상함수의 기댓값을 최대로 하는 행동을 매번 고른다. (By KAKAO AI REPORT)
Reinforcement Learning은 무엇인가?
INDEX
▤ RL
▤ Learning
▤ Project
4. Reinforcement Learning - RL이란?
식당 선택의 비유와 Reinforcement Learning의 예
INDEX
▤ RL
▤ Learning
▤ Project
생전 처음 도착한 곳, 식당 A와 B중 선택해야 한다.
앞으로 이사한 동네에서 항상 최고의 식사를 하려고 한다면 당신은 어떻게 해야 하나?
5. Reinforcement Learning - RL이란?
식당 선택의 비유와 Reinforcement Learning의 예
INDEX
▤ RL
▤ Learning
▤ Project
생전 처음 도착한 곳, 식당 A와 B중 선택해야 한다.
앞으로 이사한 동네에서 항상 최고의 식사를 하려고 한다면 당신은 어떻게 해야 하나?
- 일단 아무 곳이나 가서 시도해본다.
- 가서 먹을때마다 식사를 하고 만족도를 매김.
- 가끔 다른 식당도 방문해서 만족도를 매김.
- 이 작업을 반복
- 각 식당별로 만족도의 분포가 생성됨
- 축적된 정보를 바탕으로 각 식당에 대한 평균 만족도(기댓값)을 계산할 수 있음!
이처럼 아무것도 모르는 기계가 주어진 환경과 상호작용하며 최고의 선택을 배워가는 것이 강화학습!
6. Reinforcement Learning - MDP
INDEX
▤ RL
▤ Learning
▤ Project
● MDP 구성요소
- State
- Environment
- Action
- State-transition Probabilities
- Pr{St+1=s’ | St=s, At = a}
- Reward
● 특징
- S, A, R, S, A, R ……...
- State-transition Probabilities의 식을 보면,
다음 state가 어떠할지는 지금의 state와
행할 action에 의해서만 정해진다.
MDP (Finite Markov Decision Process)
앞선 예시의 방법론으로 실제 세계의 문제를 풀기에는 한계가 있음.
실제 세계에서는 어떤 상황에서 내려진 action은 다음 상황을
변화시키고, 다음 상황에 따라 보상이 달라지기 때문임.
이러한 한계를 극복하기 위해 실제 세계에 맞게 만들어진 강화학습
모델이 바로 Markov Decision Process.
7. Reinforcement Learning - MDP
INDEX
▤ RL
▤ Learning
▤ Project
● MDP 구성요소
- State
- Agent
- Action
- State-transition Probabilities
- Pr{St+1=s’ | St=s, At = a}
- Reward
● 특징
- S, A, R, S, A, R ……...
- State-transition Probabilities의 식을 보면, 다음 state가 어떠할지는 지금의
state와 행할 action에 의해서만 정해진다.
MDP (Finite Markov Decision Process)
8. Reinforcement Learning - RL
INDEX
▤ RL
▤ Learning
▤ Project
● 강화학습 구성요소
- Agent: The learner and decision maker
- Environment: Everything outside the agent
- Exploration: Explore actions that it has not selected before
- Exploitation: Exploit actions that it has tried in the past
- Policy: mapping from states to probabilities of selecting each possible action
- (in stochastic system
Reinforcement Learning
9. Reinforcement Learning - RL
INDEX
▤ RL
▤ Learning
▤ Project
Policy: mapping from states to probabilities of selecting each possible action (in stochastic system)
해당 state와 해당 state에서 실행할수 있는 행동들의 확률과 연결시킨것.
최상의 보상이 기대되는 policy를 알아내는 것이 강화학습의 목표.
Reinforcement Learning : Policy
Policy를 경로라고 생각하면 쉽습니다.
최단경로를 찾으면 보상의 기댓값이 크다고
합시다.
미로찾는 과정에서 Goal에 도달하는 경로는
(policy) 굉장히 많습니다.
그러나 그중 최고의 경로는
S3 - S4 - S5 - S8로 이동하는 경로입니다.
이 S3-S4-S5-S8이 최적의 policy,
강화학습에서 우리가 찾고자 하는 policy입니다.
10. Reinforcement Learning - RL
INDEX
▤ RL
▤ Learning
▤ Project
Policy: mapping from states to probabilities of selecting each possible action (in stochastic system)
해당 state와 해당 state에서 실행할수 있는 행동들의 확률과 연결시킨것.
최상의 보상이 기대되는 policy를 알아내는 것이 강화학습의 목표.
Reinforcement Learning : Policy
최상의 Policy를 구하려면 결국 매 해당 state의
가치를 구해야 합니다. 그래야 어느 방향으로
나갈지 결정할 수 있기 때문입니다.
그래서 필요한 개념이 value function입니다.
11. Reinforcement Learning - Value Function
INDEX
▤ RL
▤ Learning
▤ Project
Value Function : 해당 상황(State)의 가치를 알려주는 함수
Expected discounted return that is sum of future reward
- 강화학습에서 maximize 해야하는 것
- 매번 똑같은 state를 맞닥뜨리게 될때마다 받을 수 있는 reward는 상수가 아닌 확률변수. 매번 달라지는 값,
- 그래서, 해당 state에 맞닥뜨렸을때 평균적으로 reward를 많이 받을 수 있는 지 생각해야 함.
- 그것이 Value function. 해당 state의 가치를 표현하는 함수. 가치 함수라고 함.
12. Reinforcement Learning - Value Function
INDEX
▤ RL
▤ Learning
▤ Project
Value Function : 해당 상황(State)의 가치를 알려주는 함수
- Expected discounted return that is sum of future reward
- 강화학습에서 maximize 해야하는 것
- 매번 똑같은 state를 맞닥뜨리게 될때마다 받을 수 있는 reward는 상수가 아닌 확률변수. 매번 달라지는 값,
- 그래서, 해당 state에 맞닥뜨렸을때 평균적으로 reward를 많이 받을 수 있는 지 생각해야 함.
- 그것이 Value function. 해당 state의 가치를 표현하는 함수. 가치 함수라고 함.
- 어떠한 policy에 따라서 state만을 고려하느냐 혹은
action까지 고려하느냐에 따라서 두 가지로 사용
- value function vs state-value function
13. Reinforcement Learning - RL이란?
- How intelligent agents ought to take actions in an environment
in order to maximize the notion of cumulative reward. (By Wikipedia)
- 강화학습을 푼다는 것은 최적의 정책 함수를 찾는 것과 같다.
그리고 이 최적의 정책함수는 불확실한 미래에 얻을 수 있는
보상함수의 기댓값을 최대로 하는 행동을 매번 고른다. (By KAKAO AI REPORT)
Reinforcement Learning은 무엇인가?
INDEX
▤ RL
▤ Learning
▤ Project
14. Learning Methods - GPI
INDEX
▤ RL
▤ Learning
▤ Project
GPI(Generalized Policy Iteration)
● Policy Evaluation
- 가치함수 V 를 개선하는 작업
- v𝝅 : 현재 policy 𝝅 에서의 가치함수
- V ← v𝝅
● Policy Improvement
- policy 𝝅 를 개선하는 작업.
- 가치가 큰 state로 움직이게끔.
- 𝝅 ← greedy(V)
15. Learning Methods - Sample-Based Reinforcement Learning
INDEX
▤ RL
▤ Learning
▤ Project
Sample을 이용한 강화학습
● 학습 방법론
- Monte-Carlo
- Temporal Difference Learning
● 학습 프로세스
1. 경험(environment의 탐색)을 통해 sample을 얻는다.
2. 얻은 sample을 바탕으로 가치함수 v𝝅 를 학습한다. (policy evaluation)
3. v𝝅 를 이용해 𝝅 를 개선한다. (policy improvement)
16. Learning Methods - Monte Carlo
INDEX
▤ RL
▤ Learning
▤ Project
Monte-Carlo
17. Learning Methods - Monte Carlo
INDEX
▤ RL
▤ Learning
▤ Project
Monte-Carlo
● 강화학습에 적용하면….
- 우리가 배우고 싶은 것: 가치함수 v𝝅
- St 의 진짜 가치는: v𝝅(St )
- 엄청나게 많은 에피소드를 통해 St 의 리턴값들 G0 G1 … Gn 을 관측하고 평균을 냄(G는 미래
얻을 수 있는 보상의 총합)
- St 의 근사된 가치: (G0 +G1 +…+ Gn )/n 는 진짜 가치와 비슷할것!!
● 수학에서의 Monte-Carlo란?
- 엄청나게 많은 랜덤 샘플을 통해 확률적으로 진짜 값과 가깝게 근사하는 것.
- 큰 수의 법칙
18. Learning Methods - Monte Carlo
INDEX
▤ RL
▤ Learning
▤ Project
Monte-Carlo
← 엄청나게 많은 episode를 탐색
← St, St-1, St-2, … 에 대하여
← 𝛾만큼 discount하며 St의 보상 G를 계산한다.
← St의 리턴값 목록에 G를 추가한다. [G0, G1, G2, … , G]
← v𝝅(St )를 근사한다. Avg([G0, G1, G2, … , G])
21. Learning Methods - Monte Carlo
INDEX
▤ RL
▤ Learning
▤ Project
Monte-Carlo를 이용한 policy update
Step 1.
state value인 v𝝅(s) 대신 state-action value인 q𝝅(s, a) 를 사용한다.
Step 2.
exploring start 스텝을 추가한다. (또는 epsilon-soft 등으로 대체 가능)
⭗ exploring start:
특정 state를 영원히 거치지 않는 것을 방지하기 위해
초기 (s0, a0)을 랜덤한 값으로 설정하는 것.
22. Learning Methods - Monte Carlo
INDEX
▤ RL
▤ Learning
▤ Project
Monte-Carlo를 이용한 policy update
Step 3.
St 에서 q 값을 가장 높게 하는 action을 policy로 채택
- 𝝅(St) ← argmax a q(St, a)
23. Learning Methods - Monte Carlo
INDEX
▤ RL
▤ Learning
▤ Project
Monte-Carlo를 이용한 policy update
exploring start
V(S) 대신 Q(S, A) 사용
policy update
24. Learning Methods - Monte Carlo
INDEX
▤ RL
▤ Learning
▤ Project
Monte-Carlo GPI
26. Learning Methods - Temporal Difference Learning
INDEX
▤ RL
▤ Learning
▤ Project
Temporal Difference Learning
● 현재 value를 next value에 관한 식으로 정의
- V(St) = f (V(St+1))
● Idea: “순간적인 차이”를 이용해 매 순간 value를 계산하자!
-> 전체 에피소드를 관측할 필요 없다.
32. Project-Explanation
A
+
MINE
State 정의
한 칸이 표시할 수 있는 경우의 수
블럭의 수만큼 표시
Policy 정의
Q learning을 활용
Greedy하게 max(q)의 A를 선택
Value Function 정의
지뢰 밟을 시 -100
밟지 않고 차례가 지나갈 때 1
게임 클리어 시 100
Action 정의
현재 state에서 열려있지 않은
map을 여는 action들을 정의
INDEX
▤ RL
▤ Learning
▤ Project