건조젤리의 저장소

3-1. Dummy Q-learning 본문

공부 기록/모두를 위한 딥러닝 (RL)

3-1. Dummy Q-learning

건조젤리 2019. 11. 18. 14:50

김성훈 교수님의 강의내용을 정리한 내용입니다.

출처 : http://hunkim.github.io/ml/

 

모두를 위한 머신러닝/딥러닝 강의

 

hunkim.github.io


Agent가 a 방향으로 이동하게 되면 현재 상태가 바뀌게 된다. (S1, S2)

그리고 이 행동에 대한 보상을 받게되는데 목표지점에 갔을 경우에만 1점을 얻게된다. (그 외: 0점)

 

하나의 행동이 아닌 전체적인 결과로 보상을 받기 때문에 Agent가 목표를 찾아가기 어려울 수 있다.

 

Agent의 움직임을 결정할 때 랜덤하게 결정하는 방법보다 더 나은 방법은 무엇일까?

 

진행 방향을 선택했을 경우 얻을 수 있는 점수를 알려주는 함수가 있으면?

 

 

Q에게 상태와 행동을 입력으로 주게되면 받을 수 있는 보상을 알려준다.

위의 경우, RIGHT방향으로 진행하는 것이 좋은 방법일 것이다. (최대값 선택)

Q가 가진 최대값(max), 최대값일 때의 a(argmax)

매 상태에서 Q가 가질수 있는 최대값의 방향으로 움직인다면 좋은 방법! -> Optimal Policy (pi)

 

Q가 알려주는 방향으로 진행하면 된다!

그렇다면 Q는 어떻게 학습할까?

 

먼저 s' 에서 Q가 존재한다고 가정한다.

 

Q(s,a) 는 r + max Q(s',a')로 표현이 가능하다.

이를 계속 반복하면 학습이 된다고 한다.

s의 위치에서 a 행동을 취하면  r + max Q(s',a') 값을 얻는다.

얻을 수 있는 정보는 위와 같은 연속된 정보이다.

보상의 총 합은?

위와같은 식으로 나타낼 수 있다.

 

현재 Q값은 현재의 보상값과 그 다음 단계의 최대 Q값의 합이다.

Table을 이용하여 구현해보자.

모든 Q값을 0으로 초기화한다.

흰 지역에서는 0값을 계속 얻게된다.

 

녹색지역으로 가게되면 1을 보상받게 된다. (업데이트 된다)

그 다음 반복에서 이전 블럭으로 오게 된다면 1이 전파되게 된다.

학습을 통해 1이 업데이트 되었다.

위 그림의 순서를 나타내면 위와 같다.

'공부 기록 > 모두를 위한 딥러닝 (RL)' 카테고리의 다른 글

4-1. Q-learning  (0) 2019.11.19
3-2. Dummy Q-learning 구현  (0) 2019.11.18
2-2. Playing OpenAI GYM Games  (0) 2019.11.18
2-1. Playing OpenAI GYM Games  (0) 2019.11.18
1. Reinforcement learning  (0) 2019.11.18
Comments