๐ŸŽ“ RL3 - Q-Learning

MinSeok_CSEยท2025๋…„ 2์›” 1์ผ

Reinforcement Learning

๋ชฉ๋ก ๋ณด๊ธฐ
3/5
post-thumbnail

๐ŸŽ“ Q-Learning ๊ฐœ์š”

Q-Learning์„ ๋ฐฐ์šฐ๊ธฐ์— ์•ž์„œ, ๋จผ์ € DQN(Deep Q-Network)์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด๋ณด์ž.

2013๋…„, ๊ตฌ๊ธ€ ๋”ฅ๋งˆ์ธ๋“œ๋Š” "Playing Atari with Deep Reinforcement Learning"์ด๋ผ๋Š” ๋…ผ๋ฌธ์„ ๋ฐœํ‘œํ–ˆ๋‹ค. ์ด ๋…ผ๋ฌธ์€ Atari 2600์˜ 7๊ฐ€์ง€ ๊ฒŒ์ž„ ์ค‘ 6๊ฐ€์ง€์—์„œ ์‹ ๊ธฐ๋ก์„ ๋‹ฌ์„ฑํ•  ์ •๋„๋กœ ๊ธฐ์กด ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ๋ฒ•์— ํ˜์‹ ์„ ๊ฐ€์ ธ์˜จ ๊ธฐ์ˆ ์„ ์†Œ๊ฐœํ–ˆ๋‹ค. ๊ธฐ์กด์˜ ๊ฐ•ํ™”ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ™˜๊ฒฝ์˜ ๋™์ž‘์„ ๋ถ„์„ํ•˜์—ฌ ํ•™์Šตํ•˜๋Š” ๋ฐฉ์‹์ด์—ˆ์ง€๋งŒ, ๋”ฅ๋งˆ์ธ๋“œ๋Š” ๊ฒŒ์ž„์˜ ์›๋ณธ ํ”ฝ์…€์„ ์ง์ ‘ ์ž…๋ ฅ๋ฐ›์•„ ํ•™์Šตํ•˜๋Š” ๋ฐฉ์‹์„ ๋„์ž…ํ–ˆ๋‹ค. ์ด๋ฅผ DQN(Deep Q-Network, ์‹ฌ์ธต Q-๋„คํŠธ์›Œํฌ)๋ผ๊ณ  ํ•˜๋ฉฐ, ์ด ๋…ผ๋ฌธ์ด DQN์˜ ์ถœ๋ฐœ์ ์ด๋ผ๊ณ  ํ•  ๋งŒํผ ํฐ ์˜ํ–ฅ์„ ๋ฏธ์ณค๋‹ค.

๊ทธ๋Ÿฐ๋ฐ, DQN์˜ ํ•ต์‹ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ฐ”๋กœ Q-Learning์ด๋‹ค.
DQN์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € Q-Learning์ด ๋ฌด์—‡์ธ์ง€, ๊ทธ๋ฆฌ๊ณ  ๊ธฐ์กด Q-Learning์ด ์–ด๋–ค ํ•œ๊ณ„๋ฅผ ๊ฐ€์กŒ๊ธฐ์— DQN์ด ํ•„์š”ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”์ง€๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.

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

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

์ด์ฒ˜๋Ÿผ DQN์€ ๊ธฐ์กด Q-Learning์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ํƒ„์ƒํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.
๋”ฐ๋ผ์„œ Q-Learning์„ ๋ฐฐ์šฐ๊ธฐ ์ „์—, ๋จผ์ € Q-Learning์ด ๊ฐ€์ง„ ํ•œ๊ณ„๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ์ด์ œ Q-Learning์˜ ์›๋ฆฌ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž.

๐ŸŽ“ Q-Learning์ด๋ž€?

๋ณดํ†ต Q๋ผ๋ฉด ์•ž์—์„œ ์„ค๋ช…ํ•œ ํ–‰๋™-๊ฐ€์น˜ ํ•จ์ˆ˜ Qฯ€(s,a)Q_\pi(s,a)์„ ๋– ์˜ฌ๋ฆด ๊ฒƒ์ด๋‹ค. ์ค‘์š”ํ•œ ์ ์€ ์ด ํ•จ์ˆ˜ ์ž์ฒด๊ฐ€ Q-Learning์„ ๊ณ ์œ ํ•˜๊ฒŒ ํŠน์ง•ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. Q-Learning์€ ์ตœ์ ์˜ ๋™์ž‘ ๊ฐ€์น˜๋“ค์„ ํ•™์Šตํ•˜๋Š” ํ•œ ๋ฐฉ๋ฒ• ์ค‘์— ํ•˜๋‚˜๋กœ Q-Learning ์™ธ์—๋„ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋กœ ์กด์žฌํ•œ๋‹ค.

Q-Learning์˜ ํ•ต์‹ฌ์€ ์ƒํƒœ-๋™์ž‘ ์Œ์˜ ๊ฐ€์น˜๋ฅผ ์˜ˆ์ธตํ•˜๊ณ , ๊ทธ ์˜ˆ์ธก๊ฐ€์น˜๋ฅผ ๋ช‡ ์‹œ์  ์ดํ›„์— ๊ทธ๋•Œ๊นŒ์ง€ ๊ด€์ฐฐ๋œ ๋ˆ„์  ๋ณด์ƒ๊ณผ ๋น„๊ตํ•˜์—ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค์„ ๊ฐฑ์‹ ํ•จ์œผ๋กœ์จ ๋” ๋‚˜์€ ๊ฐ€์น˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

Q-Learning์˜ ํ•ต์‹ฌ ๊ฐœ๋…

  • Q-function Q(s,a)Q(s, a)
    ํŠน์ • ์ƒํƒœ ss์—์„œ ํ–‰๋™ aa๋ฅผ ํ–ˆ์„ ๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ฏธ๋ž˜ ๊ธฐ๋Œ€ ๋ณด์ƒ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
    ์ตœ์  Q-ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋œ๋‹ค.

    Qโˆ—(St,At)=E[Rt+1+ฮณmaxโกAโ€ฒQโˆ—(St+1,Aโ€ฒ)โˆฃSt,At]Q^*(S_t, A_t) = \mathbb{E} \left[ R_{t+1} + \gamma \max_{A'} Q^*(S_{t+1}, A') \mid S_t, A_t \right]
    • ์ด ์ˆ˜์‹์€ ๋‹ค์Œ์„ ์˜๋ฏธํ•œ๋‹ค.
      • Qโˆ—(St,At)Q^*(S_t, A_t) :
        ํ˜„์žฌ ์ƒํƒœ StS_t์—์„œ ํ–‰๋™ AtA_t๋ฅผ ์„ ํƒํ–ˆ์„ ๋•Œ์˜ ์ตœ์  ๊ธฐ๋Œ€ ๋ณด์ƒ
      • ์šฐ๋ณ€ (๊ธฐ๋Œ€๊ฐ’ E[โ‹…]\mathbb{E}[\cdot] ๋ถ€๋ถ„) :
        ํ˜„์žฌ ์ƒํƒœ StS_t์—์„œ ํ–‰๋™ AtA_t๋ฅผ ์„ ํƒํ–ˆ์„ ๋•Œ, ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฒฐ๊ณผ์˜ ํ‰๊ท (๊ธฐ๋Œ€๊ฐ’)
        Rt+1R_{t+1} : ์‹œ๊ฐ„ tt์—์„œ ํ–‰๋™ AtA_t๋ฅผ ํ–ˆ์„ ๋•Œ ๋ฐ›์€ ๋ณด์ƒ
        ฮณ\gamma : ํ• ์ธ์œจ
        St+1S_{t+1} : ํ–‰๋™ ํ›„ ๋„๋‹ฌํ•œ ๋‹ค์Œ ์ƒํƒœ
        Aโ€ฒA' : ๋‹ค์Œ ์ƒํƒœ St+1S_{t+1}์—์„œ ์ทจํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ํ–‰๋™ ์ค‘ ์ตœ์  ํ–‰๋™
  • Q-Learning์˜ ๊ฐฑ์‹  ๊ทœ์น™

    Qโ€ฒ(St,At)โ†Q(St,At)+ฮฑ[Rt+1+ฮณmaxโกaQ(St+1,a)โˆ’Q(St,At)]Q'(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha \left[ R_{t+1} + \gamma \max_{a} Q(S_{t+1}, a) - Q(S_t, A_t) \right]
    • ์—ฌ๊ธฐ์„œ,
      • Qโ€ฒ(St,At)Q'(S_t, A_t) : ๊ฐฑ์‹ ๋œ Q ๊ฐ€์น˜
      • Q(St,At)Q(S_t, A_t) : ํ˜„์žฌ Q ๊ฐ€์น˜
      • ฮฑ\alpha : ๋‹จ๊ณ„ ํฌ๊ธฐ(ํ•™์Šต ์†๋„, Learning rate)๋กœ ํ”ํžˆ Hyperparameter(์ดˆ๋งค๊ฐœ๋ณ€์ˆ˜)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
      • Rt+1R_{t+1} : ๊ด€์ธก๋œ ๋ณด์ƒ
      • ฮณ\gamma : ํ• ์ธ์œจ
      • maxโกQ(St+1,a)\max Q(S_{t+1},a) : ๋ชจ๋“  ๋™์ž‘์˜ ์ตœ๋Œ€ Q ๊ฐ€์น˜
  • Q-ํ…Œ์ด๋ธ” (Q-table)
    Q-table ์„ค๋ช…

    • Q(s,a)Q(s, a) ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ํ…Œ์ด๋ธ” ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ
    • ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์™€ ํ–‰๋™์˜ ์กฐํ•ฉ์„ ํ…Œ์ด๋ธ”๋กœ ๋งŒ๋“ค์–ด ํ•™์Šต ์ง„ํ–‰
    • ์ƒํƒœ์™€ ํ–‰๋™์˜ ์ˆ˜๊ฐ€ ๋งŽ์•„์ง€๋ฉด ์ €์žฅ ๊ณต๊ฐ„ ํ•œ๊ณ„๋กœ ์ธํ•ด Deep Q-Network(DQN) ๊ฐ™์€ ์‹ ๊ฒฝ๋ง ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•์ด ํ•„์š”

๐ŸŽ“ Q-Learning์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

  1. ์žฅ์ 
    • ์ด๋ก ์ ์œผ๋กœ ์ตœ์  ์ •์ฑ…์„ ๋ณด์žฅ: ์ถฉ๋ถ„ํ•œ ํ•™์Šต ์‹œ๊ฐ„๊ณผ ๋ชจ๋“  ์ƒํƒœ๋ฅผ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ตœ์  ์ •์ฑ…์„ ์ˆ˜๋ ดํ•  ์ˆ˜ ์žˆ์Œ.
    • ์ง๊ด€์ ์ธ ํ…Œ์ด๋ธ” ๋ฐฉ์‹: ์ž‘์€ ์ƒํƒœ ๊ณต๊ฐ„์—์„œ๋Š” ์‰ฝ๊ฒŒ ๊ตฌํ˜„ ๊ฐ€๋Šฅ.
    • ๋ชจ๋ธ ํ”„๋ฆฌ(Model-Free): ํ™˜๊ฒฝ์˜ ๋™์  ๋ชจ๋ธ(์ „์ด ํ™•๋ฅ , ๋ณด์ƒ ํ•จ์ˆ˜ ๋“ฑ)์„ ๋ชฐ๋ผ๋„ ํ•™์Šต ๊ฐ€๋Šฅ.
  2. ๋‹จ์ 
    • Q-ํ…Œ์ด๋ธ” ํฌ๊ธฐ ๋ฌธ์ œ: ์ƒํƒœ์™€ ํ–‰๋™ ๊ณต๊ฐ„์ด ์ปค์ง€๋ฉด ํ…Œ์ด๋ธ” ๋ฐฉ์‹์ด ๋น„ํšจ์œจ์ (์ฐจ์›์˜ ์ €์ฃผ).
    • ํ•™์Šต ์†๋„ ๋ฌธ์ œ: ๋งŽ์€ ์—ํ”ผ์†Œ๋“œ๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ํ•™์Šต๋ฅ  ์กฐ์ •์ด ์ค‘์š”ํ•จ.
    • ์—ฐ์†์ ์ธ ์ƒํƒœ ๊ณต๊ฐ„์—์„œ๋Š” ์ ์šฉ ์–ด๋ ค์›€: ํ•ด๊ฒฐ์ฑ…์œผ๋กœ DQN(Deep Q-Network) ๊ฐ™์€ ์‹ ๊ฒฝ๋ง ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•์ด ๋“ฑ์žฅ.

0๊ฐœ์˜ ๋Œ“๊ธ€