RL Researcher

Lecture 3: Dummy Q-learning (table) 본문

Reinfrocement Learning/모두를 위한 RL

Lecture 3: Dummy Q-learning (table)

Lass_os 2021. 2. 9. 16:40

전의 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를 업데이트하게 됩니다.
Comments