일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 유니티
- Hessian Matrix
- optimization
- pandas
- ML-Agent
- 딥러닝
- unity
- 판다스
- 리스트
- statistics
- neural network
- Linear algebra
- list
- Deep Learning
- machine learning
- rl
- Python Programming
- 데이터 분석
- 논문
- convex optimization
- David Silver
- Jacobian Matrix
- 강화학습
- Laplacian
- paper
- 김성훈 교수님
- Series
- 모두를 위한 RL
- reinforcement learning
- 사이킷런
RL Researcher
Lecture 3: Dummy Q-learning (table) 본문
전의 Lecture에서도 설명했듯이 이 게임은 우리가 보기에는 쉬워 보이지만 Agent는 Enviornment를 전혀 모르기 때문에 Action을 통해서 State와 Reward값을 통해서 환경이 어떠한지 알아내야 합니다.
어차피 Agent는 아무것도 모르기 때문에 Random하게 가보는 건 어떨까?
- 처음에는 Random하게 할 수 있지만 계속 그렇게 한다면 성공할 수 있는 확률이 매우 낮습니다.
어떤 State에 갔더니 Q가 있습니다.(Q는 상태 행동 가치함수(State-action value function))
이러한 Q-Learning의 핵심은 Q입니다. Q는 Agent의 State와 Action을 입력을 받으면 Q에서 보상의 기댓값(Return)을 반환해 줍니다.
다음은 정책을 이용한 Q함수에 대해서 설명하고 있습니다.(현재의 State에서 현재의 정책에 따라서 Action을 취하였을 때 받을 수 있는 보상의 기댓값)
- 왼쪽으로 갔을 때의 Q함수 : 0
- 오른쪽으로 갔을 때의 Q함수 : 0.5(max)
- 위로 갔을 때의 Q함수 : 0
- 아래로 갔을 때의 Q함수 : 0.3
우리는 State $s$에서 $a^{'}$의 행동을 했을때 $a^{'}$값이 최대가 되도록하는 것이 $Max Q$입니다.
Optimal Policy(s) = State $s$에서 $a$를 했을 때 $a$값이 최대가 되는 것이 Optimal Policy(s)입니다.
$s$에서 시작한다고 하면 Q함수를 통해 값을 최대화하는 Policy를 찾아 이동합니다.
위의 그림처럼 $argmax$값을 찾은 후 $s^{'}$으로 이동했을 때 다음부터 계속 Optimal Policy Q함수를 이용해 이동해 나갑니다.
우리는 이 Q라는 것을 어떻게 학습할까요??
- $s^{'}$에는 Q가 있다고 가정합니다.
- Action $a$를 했을 때 $s^{'}$으로 갑니다.
- Action $a$를 했을 때 $r$이라는 reward값을 받게 됩니다.
$s$에서 이동할 때 Q함수를 찾는 과정에 대해서 설명하고 있습니다.
time-step t에서 받은 Reward부터 그 이후 부터 받은 Reward의 총합입니다.
다음 State에서 Action을 했을 경우 Action값을 최대화하는 값에 Reward를 더하면 전 State와 Action이 나옵니다.
Q값을 모르기 때문에 0으로 전부 초기화를 시켜버립니다.
결과적으로 0으로 다 Initialize하였기 때문에 Q값은 계속 0을 받으며 아무곳으로 움직일 것입니다. 그러다 Goal의 부분앞에서 오른쪽으로 갈 Q에게 불어봅니다. 이렇게 수많은 시도를 통해 Q Table을 채워나갑니다.
마지막에 생겨난 Q값을 이용하여 앞의 State값을 업데이트 하게 되면 다음과 같은 Q Table이 나오게 됩니다.
Q 함수의 알고리즘에 대해서 보겠습니다.
- Q함수를 0으로 initialize합니다
- 현재의 State를 가져옵니다.
- 무한반복을 통해:
- Action을 취합니다.
- Reward를 받습니다.
- $s$에서 $s^{'}$으로 이동하게 됩니다.
- Q를 업데이트하게 됩니다.
'Reinfrocement Learning > 모두를 위한 RL' 카테고리의 다른 글
Lecture 6: Q-Network (0) | 2021.02.10 |
---|---|
Lecture 5: Windy Frozen Lake Nondeterministic world! (0) | 2021.02.10 |
Lecture 4: Q-Learning (table) (0) | 2021.02.09 |
Lecture 2: Playing OpenAI GYM Games (0) | 2021.02.09 |
Lecture 1: Introduction (0) | 2021.02.09 |