Eligibility Traces
n-step TD๋ TD($$\lambda$$), eligibility trace๋ ์ต๊ทผ ๊ฐํํ์ต์์ ๋ง์ด ๋ค๋ฃจ๋ ์๊ณ ๋ฆฌ์ฆ๋ค์ ์๋๋๋ค. ํ์ง๋ง ์ต๊ทผ Asynchronous methods for deep reinforcement learning ๋ ผ๋ฌธ์์ n-step์ ์ฌ์ฉํ ์ผ์ ์์์ต๋๋ค. ํ์ง๋ง ์ ๊ฐ ์๊ฐํ๊ธฐ์ ํฌ๊ฒ ์ค์ํ ๋ถ๋ถ์ ์๋๊ณ "์ด๋ ํ ๋ฌธ์ ์ ์ด ์์ด์ ๊ฐ์ ์ํค๋ ค๊ณ ํ๋ ๊ณผ์ ๋ค์ด๊ตฌ๋"๋ผ๊ณ ์๊ฐํ๋ฉด ํธํ ๊ฒ ๊ฐ์ต๋๋ค.
1. n-step TD
TD learning์ Monte-Carlo learning์ ๋นํด์ ๋งค time-step๋ง๋ค ํ์ต์ ํ ์ ์๋ค๋ ์ฅ์ ์ด ์์์ต๋๋ค. ๋ค์ ํ ๋ฒ TD Control์ธ Sarsa๋ฅผ ๋ด๋ณด๊ฒ ์ต๋๋ค. ์๋์ update์์ ๋ณด๋ฉด ๊ฒฐ๊ตญ updateํ ๋ฒ ํ ๋ Rํ๋์ ์ ๋ณด๋ฐ์ ์ ์ ์์ด์ ํ์ตํ๋๋ฐ ์ค๋๊ฑธ๋ฆฌ๊ธฐ๋ ํ๊ณ bias๊ฐ ๋๊ธฐ ๋๋ฌธ์ ์ฌ์ค์ TD์ MC์ ๋์ ์ฅ์ ์ ๋ค ์ด๋ฆด ์ ์๋ค๋ฉด ์ข์ต๋๋ค.

๋ฐ๋ผ์ update๋ฅผ ํ ๋ one step๋ง ๋ณด๊ณ ์ update๋ฅผ ํ๋ ๊ฒ์ด ์๋๊ณ n-step์ ์์ง์ธ ๋ค์์ update๋ฅผ ํ์๋ผ๊ณ ์๊ฐํ๊ฒ ๋ฉ๋๋ค. ๋ง์ฝ ์ง๊ธ์ด t๋ผ๊ณ ํ๋ฉด t+n์ด ๋๋ฉด ๊ทธ ๋๊น์ง ๋ชจ์๋ reward๋ค๋ก์ n-step return์ ๊ณ์ฐํ๊ณ ๊ทธ ์ฌ์ด์ ๋ฐฉ๋ฌธํ๋ state๋ค์ value function์ updateํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ด ๋ฐ๋ก n-step TD์ ๋๋ค. ๋ช ๊ฐ์ time-step๋ง๋ค update๋ฅผ ํ ๊ฑด์ง๋ ์์ ์ด ๊ฒฐ์ ํ๋ฉด ๋ฉ๋๋ค. ์ด n-step์ด terminal state๊น์ง ๊ฐ๋ค๋ฉด ๊ทธ๊ฒ ๋ฐ๋ก Monte-Carlo์ด ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋์ ์ฅ์ ์ ๋ค ์ทจํ๊ธฐ ์ํด์ ๊ทธ ์ฌ์ด์ ์ ๋นํ n-step์ ์ ํํด์ฃผ๋ ๊ฒ์ด ์ข์ต๋๋ค.


ํ์ง๋ง ์ด๋ป๊ฒ ์ ๋นํ n-step์ด๋ผ๋ ๊ฒ์ ์ ์ ์๊ณ ๊ทธ ๊ธฐ์ค์ด ๋ฌด์์ผ๊น์??
2. Forward-View of TD($$\lambda$$)
Random walker๋ผ๋ prediction example์ ๋๋ค. C state์์ ์์ํด์ ์ผ์ชฝ ์ค๋ฅธ์ชฝ์ผ๋ก randomํ๊ฒ ์์ง์ด๋ policy๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด ๋ฌธ์ ์ ๋ํ true value function ์๋ ๊ทธ๋ํ์ ๊ทธ๋ ค์ง ๊ฒ์ฒ๋ผ ๋์ด์๊ณ ์ value function์ experience๋ฅผ ํตํด์ ์ฐพ์๋ด์ผํฉ๋๋ค.

์ด ๋ฌธ์ ์ n-step TD prediction์ ์ ์ฉ์์ผ๋ณผ ๊ฒฝ์ฐ์ n์ผ๋ก ์ ๋นํ ์ซ์๊ฐ ์ผ๋ง์ธ์ง ํ๋ณํ๊ธฐ ์ฝ์ง ์์ต๋๋ค. ์๋ ๊ทธ๋ํ๋ x์ถ์ $$\alpha$$, y์ถ์ true value function๊ณผ์ error์ ๋๋ค. ์๋ ๊ทธ๋ํ์ ๊ฐ์ด $$\alpha$$์ ๊ฐ์ ๋ฐ๋ผ์ ์ด๋ค n-step์ด ํ์ต์ ์ข์์ง๋ ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ์ฌ์ค์ ์ฌ๋ฌ n-step TD๋ฅผ ํฉํ ์ ์๋ค๋ฉด ๊ฐ n์ ์ฅ์ ์ ๋ค ์ทจํ ์ ์์ ๊ฒ์ ๋๋ค.

๋ฐ๋ผ์ ์ด ๋ชจ๋ n-step return์ ๋ชจ๋ ๋ํด์ ์ฌ์ฉํ๊ธฐ๋ก ํ์์ต๋๋ค. ํ์ง๋ง ๋จ์ํ ๋ํด์ ํ๊ท ์ ๊ตฌํ๋ ๋ฐฉ์์ด ์๋๊ณ ์๋์ ๊ฐ์ด $$\lambda$$๋ผ๋ weight๋ฅผ ์ฌ์ฉํด์ geometrically weighted sum์ ์ด์ฉํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ชจ๋ n-step์ ๋ค ํฌํจํ๋ฉด์ ๋ค ๋ํ๋ฉด 1์ด ๋์ต๋๋ค. ์ด๊ฒ์ ํตํด์ ๊ตฌํ $$\lambda$$-return์ ์๋ MC์ return์๋ฆฌ์ ๋ฃ์ด์ฃผ๋ฉด forward-view TD($$\lambda$$)๊ฐ ๋ฉ๋๋ค.

์ด๊ฒ์ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด์๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.

๋ค์ ์ ๋ฆฌ๋ฅผ ํด๋ณด์๋ฉด TD๋ time-step๋ง๋ค ํ์ตํ ์ ์๋ ์ฅ์ ์ ์์์ง๋ง ๋ํ bias๊ฐ ๋๊ณ ํ์ต์ ๋ณด๊ฐ ๋ณ๋ก ์๊ธฐ ๋๋ฌธ์ TD์ MC์ ์ฅ์ ์ ๋ ๋ค ์ด๋ฆฌ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก n-step TD๊ฐ ์์์ต๋๋ค. ํ์ง๋ง ๊ฐ n-step์ด ์ํฉ๋ง๋ค ๋ค๋ฅธ ์ฅ์ ์ด ์์ด์ ์ด ๋ชจ๋ ์ฅ์ ์ ํฌํจํ๊ธฐ ์ํด์ $$\lambda$$๋ผ๋ weight๋ฅผ ๋์ ํด์ $$\lambda$$-return์ ๊ณ์ฐํด์ ์ฌ์ฉํ๋ ๊ฒ์ด forward-view TD($$\lambda$$)์ ๋๋ค. ํ์ง๋ง ์ด ๋ฐฉ๋ฒ์๋ ๋จ์ ์ด ์์ต๋๋ค. ๋ฐ๋ก MC์ ๋๊ฐ์ด episode๊น ๋๋์ผ update๋ฅผ ํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.(๋ชจ๋ n-step์ ํฌํจํ๋๊น)

3. Backward-View of TD($$\lambda$$)
๋ฐ๋ผ์ ๋ณธ๋ TD์ ์ฅ์ ์ด์๋ time-step๋ง๋ค updateํ ์ ์๋ค๋ ์ฅ์ ์ด ์ฌ๋ผ์ก์ต๋๋ค. MC์ ์ฅ์ ์ ์ด๋ฆฌ๋ฉด์๋ ๋ฐ๋ก ๋ฐ๋ก updateํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์๊น์? ์ฌ๊ธฐ์ ๋ฐ๋ก eligibility trace๋ผ๋ ๊ฐ๋ ์ด ๋์ต๋๋ค. ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ณผ๊ฑฐ์ ์์๋ ์ผ๋ค ์ค์์ ํ์ฌ ๋ด๊ฐ ๋ฐ์ reward์ ๊ธฐ์ฌํ ๊ฒ์ด ๋ฌด์์ผ๊น?๋ผ๋ credit assignment๋ฌธ์ ์์ "์ผ๋ง๋ ์ต๊ทผ์ ์ผ์ด๋ฌ๋ ์ผ์ด์๋"์ "์ผ๋ง๋ ์์ฃผ ๋ฐ์ํ์๋"๋ผ๋ ๊ฒ์ ๊ธฐ์ค์ผ๋ก ๊ณผ๊ฑฐ์ ์ผ๋ค์ ๊ธฐ์ตํด๋๊ณ ํ์ฌ ๋ฐ์ reward๋ฅผ ๊ณผ๊ฑฐ์ state๋ค๋ก ๋ถ๋ฐฐํด์ฃผ๊ฒ ๋ฉ๋๋ค.

์ฆ TD(0)์ฒ๋ผ ํ์ฌ updaateํ $$\delta$$๋ฅผ ๊ณ์ฐํ๋ฉด ํ์ฌ์ value function๋ง updateํ๋ ๊ฒ์ด ์๋๋ผ ๊ณผ๊ฑฐ์ ์ง๋์๋ ๋ชจ๋ state์ eligibility trace๋ฅผ ๊ธฐ์ตํด๋์๋ค๊ฐ ๊ทธ ๋งํผ ์์ ์ updateํ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํ์ฌ์ ๊ฒฝํ์ ํตํด ํ ๋ฒ์ ๊ณผ๊ฑฐ์ ๋ชจ๋ state๋ค์ value function์ updateํ๊ฒ ๋๋ ๊ฒ์ ๋๋ค. ํ์ฌ์ ๊ฒฝํ์ด ๊ณผ๊ฑฐ์ value function์ ์ผ๋ง๋ ์ํฅ์ ์ฃผ๊ณ ์ถ์๊ฐ๋ $$\lambda$$๋ฅผ ํตํด ์กฐ์ ํ ์ ์์ต๋๋ค. ์ด๋ฌํ update ๋ฐฉ์์ backward-view TD($$\lambda$$)๋ผ๊ณ ํฉ๋๋ค.

4. Sarsa($$\lambda$$)
์์์๋ TD prediction๋ง ๋ค๋ฃจ์์ต๋๋ค. ์ฌ๊ธฐ์๋ TD Control์ ๋ํด์ ๋ค๋ฃจ๋๋ก ํ๊ฒ ์ต๋๋ค. Sarsa์๋ n-step Sarsa๊ฐ ์๊ณ forward-view Sarsa($$\lambda$$)๊ฐ ์๊ณ backward-view Sarsa($$\lambda$$)๊ฐ ์์ต๋๋ค. ๊ฐ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ค๋ช ์ ์๋ตํ๊ฒ ์ต๋๋ค.



backward-view Sarsa($$\lambda$$)๋ฅผ algorithm์ผ๋ก ํํํ์๋ฉด ์๋๊ณผ ๊ฐ์ต๋๋ค.

๋ํ Eligibility trace๋ฅผ ์ด๋ก ์ผ๋ก๋ง ๋ด์ ์ดํด๊ฐ ์๊ฐ๋ ๋ถ๋ค์ด ๊ณ์คํ ๋ฐ ์๋ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ์ดํด๊ฐ ์ฝ์ต๋๋ค. Path taken์ ๋ณด๋ฉด ์ง๊ธ๊น์ง ์ง๋์๋ ๊ณณ์ ๋ํด์ ๊ฐ ๊ฐ์ eligibility trace๋ฅผ ๊ธฐ์ตํด๋จ๋ค๊ฐ ์ด๋ ์ง๊ธ์ ์ด๋ฅด๋ฌ์ reward๋ฅผ ์ป์ด์ update๋ฅผ ํ๋ คํ๋ฉด ์๋์ผ๋ก ๊ณผ๊ฑฐ์ ์ง๋์๋ ๋ชจ๋ state์ value function์ด ํจ๊ป update๊ฐ ๋ฉ๋๋ค.

Last updated