강화학습/Reinforcement Learning An Introduction

Reinforcement Learning 책 읽고 공부하기(3, Exercise2)

APinCan 2020. 3. 12. 22:59

sutton 교수의 Reinforcement Learning An Introduction을 읽고 공부하기

Exercise 3.11 현재 state가 \( {S}_{t} \), action이 확률적 policy \( \pi \)에 의해 선택될 때 4개의 아규먼트를 가지는 함수 p(3.2)와 \( \pi \)를 사용해 \( {R}_{t+1} \)의 기대값을 표현해라.

p(3.2)를 다시 가져와보기

여기서 \( \pi \)를 사용해 다시 나타내보기

$$ {R}_{t+1} = p \left( s^{'}, r | {s}_{t}, {a}_{t} \right) \times \pi \left( {a}_{t} | {s}_{t} \right) $$

다음과 같이 않을까 라고 예상함

Exercise 3.12 \( {q}_{\pi} \)와 \( \pi \)로 \( {v}_{\pi} \)를 표현해라

\( {q}_{\pi} \)는 action에 대한 가치함수이고 \( {v}_{\pi} \)는 상태에 대한 가치함수라는 것을 기억하고 시작. \( {q}_{\pi} \)에 대해 각 action을 할 확률과 그 때의 action value를 곱해주면 그 상태에 맞는 상태 가치함수가 나올 것임.

그래서 식으로 표현하자면 다음과 같을 것

$$ {v}_{\pi} = \pi \left( a|s \right) \times {q}_{\pi} $$

Exercise 3.13 \( {v}_{\pi} \)와 4개의 아규먼트 p를 이용해 \( {q}_{\pi} \)를 나타내자.

4개의 아규먼트 p는 위쪽에 써놨으니 저걸 참고하자.

여기서 p는 state가 s, action이 a일때 다음 state로 갈 확률이라고 할 수 있음. 근데 어떻게 p와 value function만을 이용해 q함수를 나타낼 수 있다는 건지 잘 모르겠음.

패스하자.

Exercise 3.14 벨만방정식(3.14)은 Example 3.5의 그림 3.2(오른쪽)과 같이 각 state마다 value function을 반드시 유지해야 한다. 이 방정식이 주변 state의 value들이 +2.3, +0.4, -0.4, +0.7이고 가운데 state의 value가 +0.7임을 수학적으로 보여라.

(3.14)의 벨만방정식으로 이 문제를 풀어보자.

deterministic한 환경이기 때문에 확률 p의 경우 1이므로 이 식은 다음과 같이 다시 쓸 수 있음.

$$ \sum_{a}^{} \pi \left( a|s \right) \left\{ r + \gamma {v}_{\pi} \left( s' \right) \right\}, \textrm{for all}\,\,\, s \in S $$

이걸 계산하면 다음과 같이 나옴

Exercise 3.15 그리드월드 예제에서 목표(goal)에 가면 reward는 +이고 그리드의 가장자리에 가면 reward는 -이며, 나머지 시간동안 reward는 0이다. 이러한 reward의 표시가 중요할까 아니면 그 사이의 간격만 중요할까? (3.8)을 사용해 증명한다. 모든 reward에 상수 c를 추가하면 모든 state의 value에 상수 \( {v}_{c} \)를 추가하는 것으로 어떤 policy에서도 어떤 state에 영향을 미치지 않는다. c와 \(  \gamma \)를 사용해 어떻게 \( {v}_{c} \)를 나타낼까?

다시 가져온 (3.8)

근데 이부분도 번역을 잘못한건지 무슨 소리인지 잘 모르겠음... 패스

Exercise 3.16 미로탐색같은 episodic task에서 모든 reward에 상수 c를 더한다고 생각해보자. 어떤 효과가 있는가? 아니면 위의 continuing task와 차이가 없는가? 왜 그런가? 예를 들어라.

위의 문제를 이해를 못하겠으니 이것도 모르겠네

Exercise 3.17 \( {q}_{\pi} \) 즉, action valued의 벨만방정식은 무엇인가? action value의 쌍 \( {q}_{\pi} \left( s',a' \right) \)로 action value \( {q}_{\pi} \left( s,a \right) \)를 나타내라. Hint: 아래의 backup 다이어그램은 이 방정식에 대응한다. 식(3.14)와 비슷한 부등식을 aciton value로 나타내라.

다음 state s', action a'으로 현재 state s와 action a의 큐함수를 표현하면 되는 듯 함.

그래서 다음과 같이 쓸 수 있음. state value function을 action value function으로 표현하기 위해 policy에 큐함수를 곱함.

Exercise 3.18 state value는 그 state에서 가능한 action들의 value와 현재 policy에 따라 어떻게 각 action을 선택할지에 달려있다. 우리는 state가 루트에 있고 각 가능한 action이 나온 작은 backup 다이어그램으로 생각해 볼 수 있다.

\( {S}_{t}=s \)이고 expected leaf node의 value가 \( {q}_{\pi} \left(s,a \right) \)일 때, 이를 이용해 루트 노드가 \( {v}_{\pi} \left(s \right) \)인 다이어그램에 일치하는 방정식을 주어라. 이 방정식은 policy \( \pi \)를 따르는 expectation 조건을 포함해야한다. 그다음 두번째 방정식은 expected value를 \( \pi \left( a|s \right) \)를 사용해 expected value 표기법이 이 방정식에 없게 쓴다.

그러니까 이 그림은 현재 state가 루트 노드이고 그 하위 노드들이 정책의 확률을 따르는 action들이라는 뜻. 그리고 그 action은 검은색 노드로 표현하는데 바로 상태 s에서 action a를 선택했을 때의 state-action value임.

이런 조건들이 있을때 state s의 가치함수를 두가지로 표현하라는 말임. 하나는 기대값이 나와있는 형태이고 하나는 없는 형태로. 자 이제 문제를 풀어보자

첫번째는 기대값을 포함하게 해서 식을 세우는 건데 그 때의 state value는 다음과 같음.

\( {G}_{t} \) 대신 큐함수로 쓸수가 있을까?라고 생각해봤는데 그러면 기대값이 벗겨져야하니 그건 아닌 것 같음.

$$ {v}_{\pi} \left(s \right) = {E}_{\pi}\left[ {G}_{t} | {S}_{t}=s \right] $$

두번째는 policy \( \pi \)가 explicit하게 나와있는 경우로 그때의 state value는 다음과 같이 쓸 수 있음.

$$ {v}_{\pi} \left( s \right) = \sum_{a}^{} \pi \left( a|s \right) {q}_{\pi} \left( s,a \right) $$

 

Exercise 3.19 action value \( {q}_{\pi} \left( s,a \right) \)는 expected next reward와 remaing reward의 expected sum에 의존한다. 이거를 작은 backup 다이어그램으로 생각해보면 action(state-action pair)이 루트에 있고 가능한 다음 state가 뻗어있는 형태다.

주어진 state와 action이 \( {S}_{t}=s, {A}_{t}=a \)일때, expected next reward \( {R}_{t+1} \)과 expected next state value \( {v}_{\pi} \left( {S}_{t+1} \right) \)을 사용해 action value \( {q}_{\pi} \left(s,a \right) \)로 이 다이어그램에 대응하는 방정식을 주어라. 이 방정식은 expectation을 포함해야 하지만 policy를 따라야하는 조건은 포함되지 않아야 한다. 두번째 방정식은 (3.2)에서 정의된 \( p \left( s', r | s, a \right) \)를 사용해 expected value를 써야한다. expected value 표기법은 이 방정식에 나타나지 않는다.

이번에는 state-action value를 표현해보자. 첫번째는 policy가 없는 expectation으로만 표현하고 두번째 방정식은 확률 p가 있고 기대값이 없는 형태로 방정식을 나타내보자.

첫번째는 state s와 action a를 가지고 기대값으로 표현해보자

$$ {q}_{\pi} \left( s,a \right) = {E}_{\pi} \left[ {G}_{t} | {S}_{t}=s, {A}_{t}=a \right] $$

두번째 state s와 action a가 주어졌고 확률 p로 다른 상태 s'을 고려해서 계산

$$ {q}_{\pi} \left(s,a \right) = \sum_{s', r}^{} p \left( s',r | s, a \right) \left[ r+\gamma {v}_{\pi} \left( s' \right) \right]  $$

Exercise 3.20 golf example에서 optimal state-value function을 그리거나 설명해보자

 

 

 

 

 

 

 

 

수정중

 

 

Reference : Reinforcement Learning : An Introduction