Skip to content

Latest commit

ย 

History

History
152 lines (121 loc) ยท 7.17 KB

File metadata and controls

152 lines (121 loc) ยท 7.17 KB

DFS_ER : ๋™์  ํ”„๋ ˆ์ž„์Šคํ‚คํ•‘์„ ํ†ตํ•œ ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ ๊ฐ•ํ™”ํ•™์Šต์—์„œ์˜ ์„ฑ๋Šฅํ–ฅ์ƒ ๊ธฐ๋ฒ•

1. Motivation


  • ๊ฒŒ์ž„ ํ™˜๊ฒฝ์—์„œ์˜ ๊ณ ํ’ˆ์งˆ์˜ ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„  ๋†’์€ ๋น„์šฉ์ด ํ•„์š”ํ•˜๋‹ค.
  • ์ผ๋ฐ˜์ ์œผ๋กœ Atari ๊ฒŒ์ž„์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐ•ํ™”ํ•™์Šต์— ๋Œ€ํ•œ ์—ฐ๊ตฌ๊ฐ€ ์ง„ํ–‰๋˜๋‚˜, ์ด๋“ค์ด ํ™œ์šฉํ•˜๋Š” ๊ณ ํ’ˆ์งˆ์˜ ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋Š” ๋ฒ•์ ์ธ ๋ฌธ์ œ๋กœ ์ธํ•ด ๊ณต์œ ๊ฐ€ ์–ด๋ ต๋‹ค.
  • ๋”ฐ๋ผ์„œ ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต์œ ๋˜์–ด์ง€๋Š” ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•ด์•ผํ•˜์ง€๋งŒ, ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋Š” ํ’ˆ์งˆ์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ํ•™์Šตํ•˜๊ณ ์žํ•˜๋Š” ๊ฒŒ์ž„์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค.
  • ์ฆ‰, ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ํšจ๊ณผ์ ์ธ ํ™œ์šฉ์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค.

2. Objective


  • ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ•ํ™”ํ•™์Šต์—์„œ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ์•ˆ์„ ์ œ์‹œํ•œ๋‹ค.
  • ๊ธฐ์กด ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฐ•ํ™”ํ•™์Šต์— ์ œ์•ˆ๊ธฐ๋ฒ•์„ ์ ์šฉํ•˜์—ฌ ๊ธฐ์กด ๋ฐฉ์‹ ๋Œ€๋น„ ๋‘ ๊ฐ€์ง€ ๋ชฉ์  ์ค‘ ํ•˜๋‚˜๋ฅผ ๋‹ฌ์„ฑํ•œ๋‹ค.
    • ๊ธฐ์กด ๋Œ€๋น„ ์ˆ˜๋ ด ์Šค์ฝ”์–ด์— ๋„๋‹ฌํ•˜๋Š” ์‹œ๊ฐ„์ด ๋” ๋นจ๋ผ์ง„๋‹ค.
    • ๊ธฐ์กด ๋Œ€๋น„ ๋” ๋†’์€ ์ˆ˜๋ ด ์Šค์ฝ”์–ด์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

3. Dynamic Frame Skipping - Experience Replay (DFS-ER)


  • ์ผ๋ฐ˜์ ์ธ ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋Š” ์ƒ˜ํ”Œ๋ง ์‹œ, ๊ณ ์ •๋œ frame skipping ์„ ์„ค์ •ํ•˜๊ณ  state๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค. ์ด๋•Œ, frame ๊ณผ state๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋œ๋‹ค.

    • frame : ์บก์ณ๋œ ๊ฒŒ์ž„์˜ ํ•œ ์žฅ๋ฉด
    • state : ๋‹ค์ˆ˜์˜ frame์„ ์ ์ถฉํ•˜์—ฌ ๊ตฌ์„ฑํ•œ ์‹ค์ œ ์‹ ๊ฒฝ๋ง์„ ์œ„ํ•œ ์ž…๋ ฅ๋ฐ์ดํ„ฐ
  • ๊ทธ๋Ÿฌ๋‚˜, ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์€ ํŠน์ • ํ–‰์œ„์— ๋Œ€ํ•˜์—ฌ ์–ผ๋งˆ๋‚˜ ๊ธธ๊ฒŒ ํ–‰์œ„๋ฅผ ์ง€์†ํ•˜๋Š”์ง€์— ๋Œ€ํ•˜์—ฌ ํ•™์Šตํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ํ•œ๋‹ค.

  • ๋งŒ์•ฝ frame skipping rate๋ฅผ human demonstration data๋กœ ๋ถ€ํ„ฐ ํ•™์Šตํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์ด ์ƒ๊ธด๋‹ค.

    • ์‚ฌ๋žŒ์ด ํŠน์ • ํ–‰์œ„๋ฅผ ํŠน์ • ์ƒํ™ฉ์—์„œ ์–ผ๋งˆ๋‚˜ ๊ธธ๊ฒŒ ์œ ์ง€ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ฐ•ํ™”ํ•™์Šต ์—์ด์ „ํŠธ๊ฐ€ ์ด๊ฒƒ์„ ํ•™์Šตํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด, ํ•ด๋‹น ์ƒํ™ฉ์—์„œ ํ–‰์œ„๋ฅผ ๊ธธ๊ฒŒ ์œ ์ง€ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์—ํ”ผ์†Œ๋“œ ๋ณ„ ํ–‰์œ„๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋นˆ๋„๊ฐ€ ๊ฐ์†Œํ•œ๋‹ค.
    • ๊ฐ•ํ™”ํ•™์Šต ์—์ด์ „ํŠธ๊ฐ€ ์ƒ์„ฑ๋œ ๊ฒฝํ—˜์€ ํ–‰์œ„์˜ ์ง€์†์„ฑ์„ ๊ณ ๋ คํ•œ ๊ฒฝํ—˜์ด ๋˜๋ฏ€๋กœ ๊ธฐ์กด ๋Œ€๋น„ ๋” ๊ฐ€์น˜์žˆ๋Š” ๊ฒฝํ—˜์ด ๋˜๋ฉฐ, ํ•™์Šต์˜ ํšจ์œจ์„ฑ์ด ์ฆ๊ฐ€ํ•œ๋‹ค.
  • ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด ํ–‰์œ„์˜ ์ง€์†์„ฑ์„ ํ™•์ธํ•˜๊ณ , ํ–‰์œ„๊ฐ€ ๊ธธ๊ฒŒ ์ง€์†๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ฐ•ํ™”ํ•™์Šต ์—์ด์ „ํŠธ๋„ ํ–‰์œ„๋ฅผ ๊ธธ๊ฒŒ ์ง€์†ํ•˜๋„๋ก ํ–‰์œ„๊ณต๊ฐ„์„ ๋ณ€๊ฒฝ์‹œํ‚จ๋‹ค.

4. Experiment Results


4.1 Atari grand challenge dataset๋ฅผ ํ™œ์šฉํ•œ ์‹คํ—˜.

  • ์ด ์‹คํ—˜์—์„œ ํ™œ์šฉํ•œ Atari grand challenge dataset์˜ ๊ฒฝ์šฐ, ๋น„๊ต์  ๋†’์€ ์ ์ˆ˜์˜ ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์Œ

    • ์—ฌ๊ธฐ์„œ ๋น„๊ต์ ์ด๋ž€, ๊ตฌ๊ธ€์˜ DQfD ์‹คํ—˜์˜ ์ตœ๊ณ ์Šค์ฝ”์–ด ๋ฐ์ดํ„ฐ์™€ ๋น„๊ต
  • ์‹คํ—˜์€ ์„ธ๊ฐ€์ง€ ๊ทธ๋ฃน์„ ์ •์˜ํ•˜์—ฌ ๋น„๊ตํ•จ.

    • Single : ์ผ๋ฐ˜์ ์ธ frame skipping์„ ์ ์šฉํ•œ ๊ฒฝ์šฐ
    • FS-ER : 60Hz์˜ human demonstration data๋ฅผ ์ „๋ถ€ ํ™œ์šฉํ•œ ๊ฒฝ์šฐ.
    • DFS-ER : ์ œ์•ˆ ๊ธฐ๋ฒ•
  • ์ œ์•ˆ ๊ธฐ๋ฒ•์€ DQfD ์— ์ ์šฉ๋จ.

  • ์ด ์‹คํ—˜์—์„œ๋Š” ๋น„๊ต์  ํ•™์Šต์ด ์‰ฌ์šด ๊ฒŒ์ž„(Dense-reward environment) ์—์„œ ๋น„๊ตํ•จ.

  • ์‹คํ—˜ ๊ฒฐ๊ณผ : ์ตœ๋Œ€ 60.3 % ์˜ ์Šค์ฝ”์–ด ์ƒ์Šน์ด ํ™•์ธ๋จ.

RubberDuck


4.2 ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ์˜ ํ’ˆ์งˆ ๋ณ„ ๋น„๊ต


  • Atari ๊ฒŒ์ž„ ์ค‘, Spare-reward ํ™˜๊ฒฝ์˜ ๊ฒŒ์ž„ ์ค‘ ํ•˜๋‚˜์ธ Montezuma's Revenge๋ฅผ ํ•™์Šตํ•˜์—ฌ ํ’ˆ์งˆ์— ๋”ฐ๋ฅธ ํ•™์Šต ์„ฑ๋Šฅ ์ฐจ์ด๋ฅผ ๋น„๊ตํ•จ.
  • ์‹คํ—˜ ๊ฒฐ๊ณผ
    • ์ €ํ’ˆ์งˆ ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ ๊ฒฝ์šฐ DFS-ER์ด ๋” ๋†’์€ ์ˆ˜๋ ด ์ ์ˆ˜์— ๋„๋‹ฌํ•˜์˜€์œผ๋‚˜, ๊ณ ํ’ˆ์งˆ ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์‹คํ—˜ ์Šคํ… ๋‚ด์— ๋ชจ๋“  ๋ฐฉ์‹์ด ๋™์ผํ•œ ์ˆ˜๋ ด ์ ์ˆ˜์— ๋„๋‹ฌํ•จ.
    • DFS-ER์€ ๋‹ค๋ฅธ ๊ธฐ๋ฒ• ๋Œ€๋น„ ๋™์ผํ•œ ํƒ€์ž„์Šคํ… ๋‚ด์— 179.8%~230% ๋” ๋งŽ์€ ์—ํ”ผ์†Œ๋“œ๋ฅผ ํƒ์ƒ‰ํ•จ.

RubberDuck


4.3 ์ตœ์‹  ๋ชจ๋ธ๋กœ์˜ ์ ์šฉ


  • ์ œ์•ˆ ๊ธฐ๋ฒ•์„ ๊ทธ ๋‹น์‹œ(2019) ์ตœ์‹  ๋ชจ๋ธ ์ค‘ ํ•˜๋‚˜์ธ EA-ACKTR์— ์ ์šฉํ•จ.
  • ์‹คํ—˜ ๊ทธ๋ฃน
    • EA-ACKTR : ๊ธฐ๋ณธ EA-ACKTR ๋ฐฉ์‹
    • EA-ACKTR with DFS-ER : ๊ธฐ๋ณธ EA-ACKTR์— DFS-ER์„ ์ ์šฉ
  • ์‹คํ—˜๊ฒฐ๊ณผ
    • ์ตœ์ข… ์ˆ˜๋ ด ์ •ํ™•๋„ ์ƒ์Šน
      • EA-ACKTR (29,285), EA-ACKTR with DFS-ER (33,034)
      • DQfD์— ์ ์šฉํ–ˆ์„๋•Œ์™€ ๋‹ฌ๋ฆฌ ์†Œํญ์˜ ์—ํ”ผ์†Œ๋“œ ์ˆ˜ ์ฆ๊ฐ€(3.3%)
        • ์ด๊ฒƒ์€ ์ œ์•ˆ๊ธฐ๋ฒ• ์ ์šฉ ์‹œ ์—์ด์ „ํŠธ๊ฐ€ ์ฃฝ์ง€ ์•Š๊ณ  ์˜ค๋ž˜์‚ด์•„๋‚จ์•„ ์—ํ”ผ์†Œ๋“œ ์ˆ˜๊ฐ€ ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•˜์ง€ ์•Š์€๊ฒƒ์œผ๋กœ ๊ฐ€์ •.

RubberDuck

5. ์‹คํ–‰๋ฐฉ๋ฒ•.


5.1 Dependency


  • ์‹คํ—˜ ์ž์ฒด๊ฐ€ 2019๋…„์— ์ง„ํ–‰๋˜์–ด dependency๊ฐ€ ํ™•์‹คํ•˜์ง€ ์•Š์Œ.
  • Tensorflow 1.8
  • OpenAI gym
  • Low quality demonstration data : Atari Grand Challenge Dataset (version 1)
  • High quality demonstration data : EA-ACKTR ๊นƒํ—™์—์„œ ์ œ๊ณต๋˜๋Š” Montezuma's revenge ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•จ.

5.2 ์‹คํ–‰


  • ํด๋” ๋ณ„๋กœ DQfD์— ๋Œ€ํ•œ ์‹คํ—˜, EA-ACKTR์— ์ œ์•ˆ๊ธฐ๋ฒ•์„ ์ ์šฉํ•œ ๊ฒฝ์šฐ๋กœ ๋‚˜๋‰˜์–ด์ง.
  • ํœด๋จผ ๋ฐ๋ชฌ์ŠคํŠธ๋ ˆ์ด์…˜ ๋ฐ์ดํ„ฐ๋Š” ์Šค์ฝ”์–ด์ˆœ์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ ํ›„, ๋ฒ„ํผ๊ฐ€ ๋‹ค ์ฑ„์›Œ์งˆ๋•Œ๊นŒ์ง€ Replay buffer์— ์ถ”๊ฐ€ํ•จ.
  • 4.1 ์‹คํ—˜
    • learning rate์™€ $\lambda_1$, $\lambda_2$, $\lambda_3$, $\lambda_4$ ๊ฐ’์€ Config.py๋ฅผ ํ†ตํ•ด ์„ค์ •.
ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’
human replay buffer ํฌ๊ธฐ 50,000
actor replay buffer ํฌ๊ธฐ 12,500
๋ฏธ๋‹ˆ๋ฐฐ์น˜ ํฌ๊ธฐ 32
์ „์ฒด pretraining step 500,000
์ „์ฒด ๊ฐ•ํ™”ํ•™์Šต ์Šคํ… 1,000,000
learning rate 0.0001
$fs_1$ and $fs_2$ 4, 12
$fs_{2condition}$ 70
$\lambda_1$, $\lambda_2$, $\lambda_3$, $\lambda_4$ 1.0, 1.0, 1.0, 0.0001
์ตœ๋Œ€ ์—ํ”ผ์†Œ๋“œ ๊ธธ์ด 50,000
 cd dfs_er_dqfd
 python Trainer.py [setting hyper pameters..]
  • 4.2 ์‹คํ—˜
ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ(4.1์‹คํ—˜ ๋Œ€๋น„ ๋ณ€๊ฒฝ ๋ถ€๋ถ„) ๊ฐ’
human replay buffer ํฌ๊ธฐ(DFS-ER) 174,000
actor replay buffer ํฌ๊ธฐ 500,-00
๋ฏธ๋‹ˆ๋ฐฐ์น˜ ์ค‘ ํœด๋จผ ๋ฐ์ดํ„ฐ ์ˆ˜ 8(25%)
์ „์ฒด pretraining step 750,000
์ „์ฒด ๊ฐ•ํ™”ํ•™์Šต ์Šคํ… 9,250,000
 cd dfs_er_dqfd
 python Trainer.py [setting hyper pameters..]
  • 4.3 ์‹คํ—˜
ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’
human replay buffer ํฌ๊ธฐ 172,548 (14 ์—ํ”ผ์†Œ๋“œ)
ํ™˜๊ฒฝ์˜ ์ˆ˜ 32
1 ํ•™์Šต ์Šคํ… ๋‹น ํ™˜๊ฒฝ ์Šคํ…์˜ ์ˆ˜ 20
ํœด๋จผ ๋ฏธ๋‹ˆ๋ฐฐ์น˜์˜ ์ˆ˜ 256
๊ฐ•ํ™”ํ•™์Šต ์Šคํ… ์ˆ˜ 90,000,000
learning rate 0.125
$fs_1$ and $fs_2$ 4, 12
$fs_{2condition}$ 110
 cd dfs_er_eacktr/baselines/acktr
 #train ํ•จ์ˆ˜์˜ r2_cond, r2_skip ์˜ต์…˜์ด 
 #๊ฐ๊ฐ fs_2condition, fs_2 ์— ๋งค์นญ๋˜๋Š” ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ์ž„. 
 python run_atari_training.py