MDP(Markov Decision Process)

Published by onesixx on

MDPλ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ methodλ“€

https://blog.naver.com/gusals1620/222497438773
Model-based method

( λͺ¨λΈμ„ μ•ˆλ‹€ = Agentκ°€ μƒνƒœλ³€ν™˜ν™•λ₯ μ„ μ•Œκ³  μžˆλ‹€)
model을 μ•Œκ³  있기 λ•Œλ¬Έμ— 졜적의 수λ₯Ό planning(계산)κ°€λŠ₯ => 이리 저리 헀맬 ν•„μš” 없이 졜적의 수λ₯Ό 계산
– Dynamic Programming
(Value Iteration, Policy Iteraction)
– Heuristic search (MCTS: Monte Carlo tree search)

Model-free method

(Agenctκ°€ μƒνƒœλ³€ν™˜ν™•λ₯ μ„ λͺ¨λ₯Έλ‹€.)
model을 λͺ¨λ₯΄κΈ° λ•Œλ¬Έμ— 이리 저리 헀맀며learning(ν•™μŠ΅), 즉 κ°•ν™”ν•™μŠ΅μ„ 톡해 졜적의 수λ₯Ό μ°Ύμ•„κ°„λ‹€.
– MonteCarlo method (cf. Monte Carlo ν™•λ₯ κ³„μ‚°μ•Œκ³ λ¦¬μ¦˜ κ·Έ 자체)
– TD method
– SARSA, Q-learning…

MDP λ₯Ό ν’€κΈ°μœ„ν•œ κ°•ν™”ν•™μŠ΅

wikibook.co.kr/rlrev/
https://dana-study-log.tistory.com/category/κ°•ν™”ν•™μŠ΅

μƒνƒœ(S, State)

Agentκ°€ [κ΄€μ°°κ°€λŠ₯ν•œ μƒνƒœ]의 집합. λŒ€λ¬Έμž S둜 ν‘œκΈ°
μƒνƒœλ₯Ό ꡬ체적으둜 ν‘œν˜„ν•œλ‹€λ©΄ μžμ‹ μ˜ “상황에 λŒ€ν•œ κ΄€μ°°”이라고 ν•  수 μžˆλ‹€.
Agentκ°€ μ˜μ‚¬κ²°μ •μ„ ν•˜κΈ° μœ„ν•΄ ν™˜κ²½μ—μ„œ μ œκ³΅ν•΄μ£ΌλŠ” 정보λ₯Ό “κ°€κ³΅ν•œ” 정보이닀.
κ°€κ³΅ν•œ 정보라고 ν‘œν˜„ν•œ μ΄μœ λŠ” μƒνƒœλŠ” μ‚¬μš©μžκ°€ μ •μ˜ν•˜κΈ° λ‚˜λ¦„μ΄κΈ° λ•Œλ¬Έμ΄λ‹€. 

κ°•ν™”ν•™μŠ΅μ€ μˆœμ°¨μ μΈ ν–‰λ™κ²°μ • 문제λ₯Ό 닀루기 λ•Œλ¬Έμ—, μ‹œκ°„μ •λ³΄κ°€ μ€‘μš”ν•˜λ‹€.
κ·Έλž˜μ„œ, [t μ‹œκ°„μ—μ„œμ˜ νŠΉμ • μƒνƒœ]λ₯Ό S라고 ν‘œκΈ°ν•˜λ©°, μ†Œλ¬Έμž s λ‘œ ν‘œμ‹œν•˜κΈ°λ„ ν•œλ‹€.

이 [νŠΉμ • μ‹œκ°„ tμ—μ„œμ˜ μƒνƒœ]  StλŠ” ν™•λ₯ λ³€μˆ˜μ΄λ‹€. μ™œλƒλ©΄, μƒνƒœκ°€ μ‹œκ°„μ— 따라 ν™•λ₯ μ μœΌλ‘œ λ³€ν•˜λŠ” 값이기 λ•Œλ¬Έ
즉,  St λŠ” μ‹œκ°„ t에 전체 μƒνƒœ 쀑(μœ„μ˜ μ˜ˆμ‹œμ—μ„  36가지 μƒνƒœ 쀑) ν•˜λ‚˜μ˜ 값을 가지고 μžˆλ‹€λŠ” λœ»μ΄λ‹€.  

예) μ•„λž˜ ν™˜κ²½(Grid-World)μ—μ„œ
s[μƒνƒœ]λ₯Ό Gridμƒμ˜ 각 μœ„μΉ˜μ •λ³΄(xμ’Œν‘œ, yμ’Œν‘œ)라 μ •ν•œλ‹€λ©΄,
S(μƒνƒœμ˜ 집합)은 36가지(6*6)κ°€ 될 것이닀. 

Episode

처음 StateλΆ€ν„° λ§ˆμ§€λ§‰ StateκΉŒμ§€μ˜ sequence

행동(A, Action)

Agentκ°€ μ˜μ‚¬κ²°μ •μ„ 톡해 μ·¨ν•  수 μžˆλŠ” ν–‰λ™μ˜ 집합, λŒ€λ¬Έμž  A둜 ν‘œκΈ°
μœ„μ˜ ν™˜κ²½μΈ Grid-worldμ—μ„œλŠ” 상/ν•˜/쒌/우둜 μ΄λ™ν•˜λŠ” 것을 λ§ν•œλ‹€.
(λŒ€κ°μ„ μœΌλ‘œ μ΄λ™ν•˜λŠ” κ²ƒκΉŒμ§€ ν¬ν•¨ν•œλ‹€κ³  μ •μ˜ν•˜λ©΄ 8κ°€μ§€μ˜ 행동이 μžˆλŠ” 것이닀.)

μƒνƒœμ™€ λ§ˆμ°¬κ°€μ§€λ‘œ, μ‹œκ°„ tμ—μ„œμ˜ νŠΉμ • 행동은  At = a μ΄λΌκ³  ν‘œκΈ°ν•œλ‹€.  
At λ˜ν•œ μ‹œκ°„ tμ—μ„œ μ–΄λ–€ 행동을 할지 μ •ν•΄μ Έ μžˆλŠ” 것이 μ•„λ‹ˆλ―€λ‘œ, ν™•λ₯ λ³€μˆ˜μ΄λ‹€. 
μ‹œκ°„ tμ—μ„œ μ·¨ν•œ Action의 집합이 Policy

μƒνƒœ λ³€ν™˜(변이) ν™•λ₯ 

[μƒνƒœ s]μ—μ„œ [행동 a]λ₯Ό ν–ˆμ„ λ•Œ, [λ‹€μŒ μƒνƒœ s’]이 될 ν™•λ₯ 
Environmentκ°€ μ•Œλ €μ£ΌλŠ” λ³€ν™˜ ν™•λ₯ μ€ “ν™˜κ²½μ˜ λͺ¨λΈ”이라고도 ν•˜λ©° μ•„λž˜ 그림처럼 ν‘œκΈ°ν•œλ‹€.

  • μƒνƒœλ³€ν™˜ν™•λ₯ μ„ μ•ˆλ‹€λ©΄ : model-based -> Dynamic Programming
  • μƒνƒœλ³€ν™˜ν™•λ₯ μ„ λͺ¨λ₯Έλ‹€λ©΄: model-free -> Reinforcement Learning

μ—¬κΈ°μ„œ, s’  = St+1 이닀.

즉 s’은
[μ‹œκ°„ t]μ—μ„œμ˜ [νŠΉμ • μƒνƒœ s]μ—μ„œ [μ–΄λ–€ 행동]을 ν–ˆμ„ λ•Œ, [λ‹€μŒμ‹œκ°„ t+1μ‹œμ ]μ—μ„œμ˜ [νŠΉμ •μƒνƒœ]λ₯Ό ν‘œν˜„ν•œ 것이닀.  

[λ‹€μŒ μƒνƒœ s’]이 될 ν™•λ₯ μ΄λΌλŠ” ν‘œν˜„μ΄ μ˜μ•„ν•˜κ²Œ 듀릴 μˆ˜λ„ μžˆμ„ 것이닀.
μ΄λŠ” νŠΉμ • 행동을 ν•˜λ©΄ μ˜ˆμƒν•œ λ‹€μŒ μƒνƒœκ°€ λ˜λŠ” 것이 λ‹Ήμ—°ν•˜λ‹€κ³  μƒκ°ν•΄μ„œ 그런 것이닀. ν•˜μ§€λ§Œ νŠΉμ • μƒνƒœμ—μ„œ μ–΄λ–€ 행동을 μ·¨ν–ˆλ‹€κ³  κΌ­ μ„ νƒν•œ μƒνƒœμ— λ„λ‹¬ν•˜λŠ” 것은 μ•„λ‹ˆλ‹€.

예λ₯Όλ“€μ–΄, Grid-worldμ—μ„œ, Agent(λ‘œλ΄‡)κ°€ ν˜„μž¬ μœ„μΉ˜μ—μ„œ μ™Όμͺ½μœΌλ‘œ κ°€λŠ” 행동을 μ·¨ν–ˆλ‹€κ³  κ°€μ •ν•˜μž.
이 λ•Œ λ‘œλ΄‡μ€ ν•œμΉΈ μ˜†μœΌλ‘œ μ΄λ™ν•˜κ³ μž ν–ˆκ² μ§€λ§Œ ν•˜ν•„ λΉ™νŒκΈΈμ΄ μžˆμ–΄μ„œ μ™Όμͺ½μœΌλ‘œ 두칸 μ΄λ™ν•˜κ²Œ λ˜μ—ˆλ‹€.
μ΄λŸ¬ν•œ 상황이 μžˆμ„ 수 있기 λ•Œλ¬Έμ— μƒνƒœ λ³€ν™˜ ν™•λ₯ λ„ κ³ λ €ν•΄μ•Όν•˜λŠ” 것이닀.
μœ„ μ˜ˆμ‹œλ₯Ό μˆ˜μΉ˜ν™”ν•΄λ³΄μžλ©΄ λΉ™νŒκΈΈμ— μ˜ν•΄ μ›ν•˜λŠ” 곳으둜 λͺ»κ°ˆ ν™•λ₯ μ΄ 20%라고 ν–ˆμ„ λ•Œ,
λ‘œλ΄‡μ΄ μ™Όμͺ½μœΌλ‘œ κ°€λŠ” 행동을 선택해 μ›ν•˜λŠ” μƒνƒœλ‘œ 이동할 μƒνƒœλ³€ν™˜ν™•λ₯ μ€ 0.8인 것이닀. 

보상(R, Reward) => sparse , delayed

Agentκ°€ ν•™μŠ΅ν•  수 μžˆλŠ” 정보, λŒ€λ¬Έμž  R둜 ν‘œμ‹œ.
Agnetκ°€ ν•œ Action에 λŒ€ν•œ Environment의 ν”Όλ“œλ°±μ„ λ§ν•œλ‹€.

μ‹œκ°„ tμ—μ„œ 받은 보상은 Rt μ΄λΌκ³  ν‘œν˜„ν•˜λ©°, μ—­μ‹œ νŠΉμ • 값이 정해지지 μ•Šμ•˜κΈ° λ•Œλ¬Έμ— ν™•λ₯ λ³€μˆ˜μ΄λ‹€.
μ£Όμ˜ν•΄μ•Όν•  점은 보상은 λ‹€μŒ μ‹œμ μ—μ„œ λ°›λŠ”λ‹€.
μ‹œκ°„ tμ—μ„œ μ–΄λ– ν•œ 행동을 μ„ νƒν–ˆλ‹€λ©΄ μƒνƒœλŠ” St+1κ°€ 되고 St+1μƒνƒœμ—μ„œ 보상 Rt+1이 주어진닀. 

*λ³΄μƒν•¨μˆ˜

ν˜„μž¬μƒνƒœ sμ—μ„œ 행동 aλ₯Ό 톡해 얻을 수 μžˆλŠ” 보상 Rt+1의 κΈ°λŒ“κ°’μ„ λ§ν•œλ‹€. 
(μ—¬κΈ°μ„œ μƒνƒœμ™€ 행동을 “νŠΉμ •”μƒνƒœμ™€ “νŠΉμ •”행동을 λ§ν•˜λŠ” κ²ƒμ΄λ―€λ‘œ, μ†Œλ¬Έμž s, a라고 ν‘œκΈ°ν–ˆμŒμ„ μ£Όμ˜ν•΄μ•Όν•œλ‹€.)

λ³΄μƒν•¨μˆ˜λŠ” R에 μ•„λž˜μ²¨μž s, μœ—μ²¨μž aλ₯Ό μ“°κ±°λ‚˜ r(s,a) λΌκ³  ν‘œν˜„ν•œλ‹€.
λ³΄μƒν•¨μˆ˜λŠ” 보상에 λŒ€ν•œ κΈ°λŒ“κ°’μ΄λΌκ³  ν–ˆλŠ”λ°,κΈ°λŒ“κ°’μ΄λž€ μ–΄λ–€ ν™•λ₯ μ  사건에 λŒ€ν•œ ν‰κ· μ˜ 의미둜 μƒκ°ν•˜λ©΄ λœλ‹€.
μˆ˜μ‹μœΌλ‘œ ν‘œν˜„ν•˜λ©΄ μ•„λž˜μ™€ 같이 ν‘œν˜„ν•  수 μžˆλ‹€.

μœ„μ˜ μˆ˜μ‹μ€ 이산적일 λ•Œ, μ•„λž˜λŠ” 연속적일 λ•Œ

μ˜ˆμ‹œλ‘œ μ£Όμ‚¬μœ„ 눈의 μˆ˜μ— λŒ€ν•œ κΈ°λŒ“κ°’μ„ κ΅¬ν•΄λ³΄μžλ©΄ (1/6) + (2/6) + (3/6) + (4/6) + (5/6) + (6/6) = 3.5이닀.
이 κΈ°λŒ€κ°’μ˜ 의미λ₯Ό 생각해보면 μ£Όμ‚¬μœ„λ₯Ό λ˜μ‘Œμ„ λ•Œ λ‚˜μ˜€λŠ” 눈의 값은 ν‰κ· μ μœΌλ‘œ 3.5 λΌλŠ” λœ»μ΄λ‹€.
즉, κΈ°λŒ“κ°’μ€ ‘λ‚˜μ˜€κ²Œ 될 μˆ«μžμ— λŒ€ν•œ μ˜ˆμƒ’이라고 ν•  수 μžˆλ‹€. 

λ°˜ν™˜κ°’ (G) with κ°κ°€μœ¨(?)

각 μƒνƒœμ—μ„œμ˜ κ°€μΉ˜λ₯Ό νŒλ‹¨ν•˜κΈ° μœ„ν•΄μ„œ κ°€μΉ˜ν•¨μˆ˜λ‚΄μ˜ λ°˜ν™˜κ°’μ„ μ‚¬μš©ν•œλ‹€.
λ°˜ν™˜κ°’μ€ (λ‹¨μˆœνžˆ 각 μƒνƒœμ—μ„œ 보상듀을 합이 μ•„λ‹Œ) [μ‹œκ°„ t 이후 μƒνƒœλ“€]μ—μ„œ κ°κ°€μœ¨μ„ μ μš©ν•œ [보상]λ“€μ˜ 합을 λ§ν•œλ‹€.

λ―Έλž˜μ— 받을 R을 ν˜„μž¬μ˜ μ‹œμ μ—μ„œ κ³ λ €ν•  λ•Œ κ°κ°€ν•˜λŠ” λΉ„μœ¨.
κ°κ°€μœ¨μ€ 0μ—μ„œ 1μ‚¬μ΄μ˜ 값이며, 반영의 비쀑을 μ‘°μ ˆν•˜κΈ° μœ„ν•΄ κ°κ°€μœ¨μ„ μ‘°μ •ν•  수 있고,
초기 μƒνƒœμ—μ„œ 효율적인 행동을 μ„ νƒν•˜κΈ° μœ„ν•΄μ„œ, 미래의 정보λ₯Ό λ°˜μ˜ν•˜λŠ” 것이닀.

λ°˜ν™˜κ°’μ„ κ΅¬ν• λ•Œ, κ°κ°€μœ¨μ„ μ μš©ν•˜λŠ” 이유

  • ν˜„μž¬ λ°›λŠ” 보상과 λ―Έλž˜μ— λ°›λŠ” 보상을 κ΅¬λΆ„ν•˜μ§€ λͺ»ν•œλ‹€. 
    t μ‹œμ μ—μ„œ 100의 보상을 λ°›λŠ” κ²ƒμ΄λ‚˜, 후에 100의 보상을 λ°›λŠ” κ²ƒμ΄λ‚˜ λ‹¨μˆœ λ³΄μƒμ˜ ν•©μœΌλ‘œλŠ” λ˜‘κ°™μ΄ 100이기 λ•Œλ¬Έμ— μ‹œμ μ„ ꡬ뢄할 수 μ—†κ²Œ λœλ‹€. κ·Έλ ‡κ²Œ 되면 ν˜„μž¬ 이읡이 큰 μƒνƒœλ‘œ κ°€λŠ” 행동을 μ·¨ν•  수 μ—†κ²Œ λœλ‹€. 
  • ν•œ λ²ˆμ— λ°›λŠ” 보상과 μ—¬λŸ¬ 번 λ‚˜λˆ μ„œ λ°›λŠ” 보상을 κ΅¬λΆ„ν•˜μ§€ λͺ»ν•œλ‹€. 
    20의 보상을 5번 λ‚˜λˆ„μ–΄ λ°›λŠ” 것과 ν•œλ²ˆμ— 100을 λ°›λŠ” 것을 κ΅¬λΆ„ν•˜μ§€ λͺ»ν•  것이닀. 
  • μ‹œκ°„μ΄ λ¬΄ν•œλŒ€μΌ 경우 λ³΄μƒμ˜ 합을 수치적으둜 ꡬ뢄할 수 μ—†λ‹€. 
    0.1의 보상씩 λ°›λŠ” κ²½μš°μ™€ 10μ”© 보상을 λ°›λŠ” κ²½μš°λŠ” μ‹œκ°„μ΄ λ¬΄ν•œλŒ€κ°€ 되면 ꡬ뢄할 수 μ—†λ‹€. 

λ°˜ν™˜κ°’μ„ μ΄μš©ν•΄μ„œ, μƒνƒœμ˜ κ°€μΉ˜λ₯Ό νŒλ‹¨ν•˜λŠ”μ§€ 방법은 κ°€μΉ˜ν•¨μˆ˜ 뢀뢄을 κ³΅λΆ€ν•˜λ©΄ μ•Œκ²Œ 될 것이닀.

λ°˜ν™˜κ°’μ€ Gt  λΌκ³  ν‘œκΈ°ν•˜λ©°, ν™•λ₯ λ³€μˆ˜μ˜ λ³΄μƒλ“€μ˜ 합이 λ°˜ν™˜κ°’μ΄λ―€λ‘œ λ°˜ν™˜κ°’λ„ ν™•λ₯ λ³€μˆ˜μ΄λ‹€.
즉, Episodeλ§ˆλ‹€ 행동과 μƒνƒœλ„ ν™•λ₯ μ μœΌλ‘œ 달라지고 λ”°λΌμ„œ 보상도 달라지기 λ•Œλ¬Έμ— λ°˜ν™˜κ°’ μ—­μ‹œ λ³€ν•  수 μžˆλ‹€. 

λ³΄μƒν…Œμ΄λΈ”μ„ 기반으둜, κ°κ°€μœ¨μ„ μ μš©ν•˜μ—¬ λ°˜ν™˜κ°’μ„ 각 μƒνƒœμ—μ„œ κ΅¬ν•œ 것이닀.
보상은 사과에 λ„μ°©ν–ˆμ„ λ•Œλ§Œ 1이 주어지고 λ‚˜λ¨Έμ§€ μƒνƒœμ—μ„  0이닀.
μœ„μ˜ λ°˜ν™˜κ°’μ„ κ΅¬ν•˜λŠ” 과정은 빨간색 κ²½λ‘œμ— λŒ€ν•΄μ„œλ§Œ λ‚˜νƒ€λ‚Έ 것이닀.

κ°κ°€μœ¨ 0.9
[ {round((0.9)**i, 2), i} for i in range(7) ]

[{0, 1.0}, {0.9, 1}, {0.81, 2}, {0.729, 3}, {0.656, 4}, {0.59, 5}, {0.531, 6}]

결둠적으둜 제일 λ§ˆμ§€λ§‰ [κ°κ°€μœ¨μ„ μ μš©ν•œ λ³΄μƒμ˜ ν•©]을 보면,
빨간색 κ²½λ‘œμ™€ νŒŒλž€μƒ‰ κ²½λ‘œμ— λŒ€ν•΄μ„œ μ§€λ‚˜κ°„ λͺ¨λ“  μƒνƒœμ—μ„œ λ°˜ν™˜κ°’μ„ κ°κ°€μœ¨μ„ μ μš©ν•΄ κ΅¬ν•œ 것이 ν‘œμ‹œλ˜μ–΄ μžˆλŠ”λ°,
λ‹¨μˆœ λ³΄μƒμ˜ ν•©μ˜ ν‘œμ™€ λΉ„κ΅ν–ˆμ„ λ•Œ λ‹Ήμž₯ λ‘œλ΄‡μ˜ μœ„μΉ˜μ—μ„œ μœ„λ‘œ(νŒŒλž€μƒ‰ 경둜) κ°€λŠ” 행동을 μ·¨ν•˜λŠ” 것이 λ”μš± 효율적인 경둜λ₯Ό μ„ νƒν•œ κ²ƒμž„μ„ 확인할 수 μžˆλ‹€. 
μœ„μ˜ (방법은 κ°€μΉ˜ν•¨μˆ˜κ°€ μ•„λ‹Œ) λ‹¨μˆœνžˆ λ°˜ν™˜κ°’μœΌλ‘œλ§Œ 경둜λ₯Ό μ„ νƒν•œ 것이닀. (κ°κ°€μœ¨μ˜ 효λŠ₯을 보이기 μœ„ν•¨)

Policy μ •μ±…

AgentλŠ” 각 Stateλ§ˆλ‹€ (단 ν•˜λ‚˜μ˜) Action을 μ„ νƒν•˜κ²Œ λ˜λŠ”λ°… 이것을 ν™•λ₯ λ‘œ λ‚˜νƒ€λ‚Έκ²ƒ

각 Stateμ—μ„œ μ–΄λ–€Action을 할지에 λŒ€ν•œ 정보 => Policy
κ·Έ 쀑 “졜적 Policy”λŠ” Agentκ°€ κ°•ν™”ν•™μŠ΅μ„ 톡해 ν•™μŠ΅ν•΄μ•Ό ν•  λͺ©ν‘œ, Stochatic Policy -> Deterministic Policy

(μƒνƒœ) κ°€μΉ˜ν•¨μˆ˜ : value of state function

RLμ—μ„œ RewardλŠ” ν•™μŠ΅μ˜ 기쀀이 되고, Reward의 합이 큰μͺ½μœΌλ‘œ Action을 μ„ νƒν•˜κ²Œ λœλ‹€.

ν•˜μ§€λ§Œ νŠΉμ • μ‹œμ μ—μ„œ 아직 받지 μ•Šμ€ Reward(보상은 행동을 μ·¨ν•œ λ’€ λ‹€μŒ μƒνƒœμ—μ„œ λ°›μŒ) 듀을 μ–΄λ–»κ²Œ κ³ λ €ν•΄μ•Ό ν• κΉŒ?
이에 λŒ€ν•œ κ°œλ…μ΄ κ°€μΉ˜ν•¨μˆ˜μ΄λ‹€. MDP => Value Function => Action선택
즉, κ°€μΉ˜ν•¨μˆ˜κ°€ νŠΉμ • μƒνƒœμ— λŒ€ν•œ ‘κ°€μΉ˜’λ₯Ό 계산해주어, Agentκ°€ Action을 선택할 수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ” 것이닀. 

κ°€μΉ˜ν•¨μˆ˜λž€?
νŠΉμ • Stateμ„œμ˜ Returnλ°˜ν™˜κ°’λ“€, μƒνƒœμ˜ κ°€μΉ˜λ₯Ό νŒλ‹¨ν•œλ‹€κ³  ν•΄μ„œ ‘μƒνƒœ κ°€μΉ˜ν•¨μˆ˜’라 ν•œλ‹€.
[μ‹œκ°„ t 이후 μƒνƒœλ“€]μ—μ„œ (κ°κ°€μœ¨μ„ 톡해 할인을 μ μš©ν•œ) λ°˜ν™˜κ°’ G의 “κΈ°λŒ“κ°’

ν˜„μž¬ μƒνƒœμ˜ κ°€μΉ˜λŠ” [ν˜„μž¬ νŠΉμ • μƒνƒœ]μ—μ„œ, ν•œ μ—ν”Όμ†Œλ“œκ°€ 끝날 λ•ŒκΉŒμ§€(ν–‰λ™μ˜ 선택듀이 λλ‚˜ λ§ˆμ§€λ§‰ 지점에 이λ₯Ό λ•ŒκΉŒμ§€) 받은 λ³΄μƒλ“€μ˜ 합을 톡해 νŒλ‹¨ν•  수 μžˆλ‹€.

κ°€μΉ˜ν•¨μˆ˜ μœ λ„κ³Όμ •

예) grid worldμ—μ„œ ν˜„μž¬ μƒνƒœμ—μ„œ 였λ₯Έμͺ½μœΌλ‘œ κ°€λŠ” 경둜(ex. β†’→↑)와 μ™Όμͺ½μœΌλ‘œ κ°€λŠ” 경둜(ex. β†β†‘β†’β†’β†’) μ€‘에 고민을 ν•˜κ³  μžˆλ‹€κ³  κ°€μ •ν•˜μž.
두 경둜둜 κ°€λŠ” 행동듀을 끝내고(μ—ν”Όμ†Œλ“œκ°€ λλ‚˜κ³ ) 받은 λ³΄μƒλ“€μ˜ 값이 λ”μš± 큰 μͺ½μœΌλ‘œ κ°€λŠ”κ²Œ 효율적인 선택이라고 νŒλ‹¨ν•  수 μžˆλ‹€. κ·Έλž˜μ„œ κ°€μΉ˜ν•¨μˆ˜μ˜ κ°œλ…μ— λ³΄μƒμ˜ 합을 μ΄μš©ν•˜λŠ” 것이닀. ν•˜μ§€λ§Œ λ³΄μƒλ“€μ˜ λ‹¨μˆœ ν•©μœΌλ‘œ μƒνƒœμ˜ κ°€μΉ˜λ₯Ό νŒλ‹¨ν•˜κΈ°μ—” μ‹œκ°„ κ°œλ…μ„ μ μš©ν•  수 μ—†λ‹€. λ”°λΌμ„œ λ³΄μƒμ˜ λ‹¨μˆœ 합에 κ°κ°€μœ¨μ„ μ μš©ν•œ λ°˜ν™˜κ°’을 μ΄μš©ν•œλ‹€!

λ˜ν•œ, λ°˜ν™˜κ°’μ€ 보상 μžμ²΄κ°€ ν™•λ₯ λ³€μˆ˜μ΄κΈ° λ•Œλ¬Έμ— (μƒνƒœμ™€ 행동에 따라 λ³€ν•˜λ―€λ‘œ) λ°˜ν™˜κ°’ λ˜ν•œ ν™•λ₯ λ³€μˆ˜μ΄λ‹€.
λ”°λΌμ„œ ν‰κ· μ˜ 의미인 κΈ°λŒ“값을 λ°˜ν™˜κ°’μ— μ μš©ν•˜λŠ” 것이닀.

Agentκ°€ 갈수 μžˆλŠ” Stateλ“€μ˜ κ°€μΉ˜λ₯Ό μ•ˆλ‹€λ©΄, κ·Έ 쀑 κ°€μΉ˜κ°€ κ°€μž₯ 높은 Stateλ₯Ό μ„ νƒν• μˆ˜ 있음.
즉 κΈ°λŒ€κ°’μ„ κ³„μ‚°ν•˜κΈ° μœ„ν•΄μ„œλŠ” ν™˜κ²½μ˜ λͺ¨λΈμ„ μ•Œμ•„μ•Όν•¨.
– Dynamic Programming으둜 κ°€μΉ˜ν•¨μˆ˜ 계산
– κ°€μΉ˜ν•¨μˆ˜λ₯Ό κ³„μ‚°ν•˜μ§€ μ•Šκ³ , RL은 sampling을 톡해 μΆ”μ •

행동 κ°€μΉ˜ν•¨μˆ˜ : Qν•¨μˆ˜ : Quality of action function

μƒνƒœ κ°€μΉ˜ν•¨μˆ˜λ₯Ό 톡해 λ‹€μŒ μƒνƒœλ“€μ˜ κ°€μΉ˜λ₯Ό νŒλ‹¨ν•  수 있고,
이λ₯Ό λ°”νƒ•μœΌλ‘œ, 더 높은 κ°€μΉ˜λ₯Ό 가지고 μžˆλŠ” λ‹€μŒ μƒνƒœλ‘œ κ°€κΈ° μœ„ν•œ Action을 μ„ νƒν•˜μ—¬ μƒνƒœλ₯Ό μ΄λ™μ‹œν‚¬ 것이닀.  

ν•˜μ§€λ§Œ 그러기 μœ„ν•΄μ„  [λ‹€μŒ μƒνƒœ]듀에 λŒ€ν•œ 정보λ₯Ό λͺ¨λ‘ μ•Œμ•„μ•Ό ν•˜κ³ , κ·Έ μƒνƒœλ‘œ κ°€κΈ° μœ„ν•œ 행동을 μ„ νƒν•˜λ”λΌλ„ “μƒνƒœ λ³€ν™˜ν™•λ₯ ”도 κ³ λ €ν•΄μ•Ό ν•œλ‹€. (AgentλŠ” κ°€μΉ˜κ°€ 더 높은 νŠΉμ • λ‹€μŒ μƒνƒœλ‘œ μ΄λ™ν•˜λ € ν–ˆλŠ”λ°, μ–΄λ– ν•œ ν™•λ₯ λ‘œ κ·Έ μƒνƒœλ‘œ μ΄λ™ν•˜μ§€ λͺ»ν•  μˆ˜λ„ μžˆμœΌλ‹ˆ)  
λ”°λΌμ„œ (μƒνƒœ)κ°€μΉ˜ν•¨μˆ˜λ§κ³ , 행동에 λŒ€ν•œ κ°€μΉ˜ν•¨μˆ˜λ₯Ό ꡬ할 수 μžˆμ–΄μ•Ό ν•˜λŠ”λ°, μ΄λŸ¬ν•œ κ°œλ…μ΄ Qν•¨μˆ˜μ΄λ‹€.

Qν•¨μˆ˜λ₯Ό μ΄μš©ν•˜λ©΄ ν–‰λ™μ— λŒ€ν•œ κ°€μΉ˜ν•¨μˆ˜ 값을 보고 μ–΄λ–€ 행동을 할지 νŒλ‹¨ν•˜λ©΄ 되기 λ•Œλ¬Έμ—, μƒνƒœλ“€μ˜ κ°€μΉ˜λ₯Ό νŒλ‹¨ν•˜κ³  μ–΄λ–€ 행동을 ν–ˆμ„ λ•Œ νŠΉμ • λ‹€μŒ μƒνƒœλ‘œ κ°€κ²Œ 될 ν™•λ₯ λ„ κ³ λ €ν•΄μ•Ό ν•˜λŠ” λ²ˆκ±°λ‘œμ›€μ΄ 없어진닀.  즉, Qν•¨μˆ˜λŠ” νŠΉμ • μƒνƒœ sμ—μ„œ νŠΉμ • 행동 aλ₯Ό μ·¨ν–ˆμ„ λ•Œ 받을 λ°˜ν™˜κ°’μ— λŒ€ν•œ κΈ°λŒ“κ°’μœΌλ‘œ νŠΉμ • 행동 aλ₯Ό ν–ˆμ„ λ•Œ μ–Όλ§ˆλ‚˜ 쒋을 것인지에 λŒ€ν•œ 값이닀. 

Actionκ°€μΉ˜ν•¨μˆ˜, Qν•¨μˆ˜
cf. Stateκ°€μΉ˜ν•¨μˆ˜

μœ„μ˜ 그림으둜 μƒνƒœ κ°€μΉ˜ν•¨μˆ˜μ™€ 행동 κ°€μΉ˜ν•¨μˆ˜λ₯Ό λΉ„κ΅ν•΄λ³΄μž.
μƒνƒœ sμ—μ„œ ν•  수 μžˆλŠ” 행동이 a1κ³Ό a2둜 두 가지 μžˆλ‹€κ³  κ°€μ •ν•œλ‹€. λ˜ν•œ μƒνƒœ sμ—μ„œ 행동을 μ·¨ν–ˆμ„ λ•Œ 갈 수 μžˆλŠ” λ‹€μŒ μƒνƒœ s’이 s’1κ³Ό s’2κ°€ μžˆλ‹€.

μƒνƒœs의 μƒνƒœ κ°€μΉ˜ν•¨μˆ˜λŠ” ν–‰λ™ a1을 μ·¨ν•œ 이후에 λ°›λŠ” λ°˜ν™˜κ°’λ“€κ³Ό ν–‰λ™ a2λ₯Ό μ·¨ν•œ 이후에 λ°›λŠ” λ°˜ν™˜κ°’λ“€μ„ λͺ¨λ‘ κ³ λ €ν•΄μ„œ κΈ°λŒ“κ°’μ„ κ΅¬ν•œ 것이닀.  

행동 κ°€μΉ˜ν•¨μˆ˜λŠ” μƒνƒœ sμ—μ„œμ˜ 행동 κ°€μΉ˜ν•¨μˆ˜λŠ” 2가지가 λ‚˜μ˜¬ 것이닀. (μ·¨ν•  수 μžˆλŠ” 행동이 2개이기 λ•Œλ¬Έμ—) ν•œ 가지 Qν•¨μˆ˜λŠ” 행동 a1을 μ·¨ν•œ 이후에 λ°›λŠ” λ°˜ν™˜κ°’λ“€μ— λŒ€ν•΄μ„œλ§Œ κΈ°λŒ“κ°’μ„ κ΅¬ν•œ 것이고, λ‚˜λ¨Έμ§€ Qν•¨μˆ˜λŠ” 행동 a2λ₯Ό μ·¨ν•œ 이후에 λ°›λŠ” λ°˜ν™˜κ°’λ“€μ— λŒ€ν•΄μ„œλ§Œ κΈ°λŒ“κ°’μ„ κ΅¬ν•œ 것이닀. 

μ—¬κΈ°μ„œ 단일 μ—ν”Όμ†Œλ“œλ§Œ κ³ λ €ν•œλ‹€κ³  ν–ˆμ„ λ•Œ, νŠΉμ • μƒνƒœμ—μ„œ νŠΉμ • 행동을 μ„ νƒν•˜μ—¬ μ—ν”Όμ†Œλ“œλ₯Ό μ§„ν–‰ν–ˆλŠ”λ° λ°˜ν™˜κ°’λ“€μ΄λΌκ³  볡수둜 ν‘œν˜„ν•œ μ΄μœ λŠ” 두 가지가 μžˆλ‹€.
– 첫 λ²ˆμ§ΈλŠ” κ·Έλ¦Όμ—μ„œλ„ ν‘œν˜„λ˜μ–΄μžˆλ“―μ΄ 행동 a1을 μ„ νƒν•˜λ©΄ μƒνƒœ s’1으둜 갈 것이라고 μ˜ˆμƒν•˜μ—¬λ„
μƒνƒœ λ³€ν™˜ ν™•λ₯ λ‘œ 인해 μƒνƒœ s’2둜 갈 ν™•λ₯ μ΄ 있기 λ•Œλ¬Έμ—, 두 경우의 λ°˜ν™˜κ°’μ˜ κΈ°λŒ“κ°’μ„ ꡬ해야 ν•œλ‹€.
– 두 λ²ˆμ§ΈλŠ” μƒνƒœ λ³€ν™˜ ν™•λ₯ μ΄ 1μ΄μ–΄μ„œ 행동 a1을 μ·¨ν•˜λ©΄ 무쑰건 μƒνƒœ s’1으둜 μ΄λ™ν•œλ‹€κ³  가정해도,
μƒνƒœ sμ—μ„œμ˜ λ°˜ν™˜κ°’μ€ μƒνƒœ s’1μ—μ„œ μ¦‰μ‹œ λ°›λŠ” 보상과 s’1μ—μ„œμ˜ κ°€μΉ˜ν•¨μˆ˜μ— κ°κ°€μœ¨μ„ μ μš©ν•œ κ²ƒμ˜ 합이기 λ•Œλ¬Έμ— κΈ°λŒ“κ°’ κ°œλ…μ΄ ν¬ν•¨λœλ‹€. (s’1μ—μ„œμ˜ κ°€μΉ˜ν•¨μˆ˜μ— κΈ°λŒ“κ°’ κ°œλ… 포함) <== 벨만 κΈ°λŒ€ 방정식을 μ°Έκ³ 

μƒνƒœ κ°€μΉ˜ν•¨μˆ˜μ™€ 행동 κ°€μΉ˜ν•¨μˆ˜μ˜ 관계

각 행동을 ν–ˆμ„ λ•Œμ˜ κ°€μΉ˜μΈ “Qν•¨μˆ˜”에 κ·Έ 행동이 일어날 ν™•λ₯ μ„ κ³±ν•΄μ„œ
λͺ¨λ“  행동에 λŒ€ν•΄ κ·Έ 값을 더해주면 “μƒνƒœ κ°€μΉ˜ν•¨μˆ˜”κ°€ λœλ‹€.

μœ„μ˜ μ˜ˆμ—μ„œ, 였λ₯Έμͺ½μ€ 각 행동에 λŒ€ν•œ Qν•¨μˆ˜(ν–‰λ™κ°€μΉ˜ν•¨μˆ˜)λ₯Ό ν‘œν˜„ν–ˆλŠ”λ°, μƒνƒœ sμ—μ„œ ν•  수 μžˆλŠ” 행동은 a1~a4둜 μƒμš°ν•˜μ’Œλ‘œ μ΄λ™ν•˜λ €λŠ” 행동이닀. κ·Έλ¦Όμ—μ„œ μ§„ν•œ νšŒμƒ‰μ€ μƒνƒœ sμ—μ„œ 각 행동을 ν–ˆμ„ λ•Œ μ œλŒ€λ‘œ μ΄λ™ν•œ λ‹€μŒ μƒνƒœμ΄κ³  μ—°ν•œ νšŒμƒ‰μ€ μƒνƒœ λ³€ν™˜ ν™•λ₯ λ‘œ 인해 적은 ν™•λ₯ λ‘œ λ‹€λ₯Έ μƒνƒœλ‘œ 이동할 κ°€λŠ₯성을 λ‚˜νƒ€λ‚Έ 것이닀.
μœ„μ˜ ν™˜κ²½μ—μ„œ λ§Œμ•½ μƒν•˜μ’Œμš°λ‘œ μ΄λ™ν•˜λŠ” ν–‰λ™μ˜ ν™•λ₯ μ΄ λ™μΌν•˜λ‹€λ©΄ 각 행동이 일어날 ν™•λ₯ μ€ 1/4이닀. 4가지 경우의 행동 λͺ¨λ‘μ— λŒ€ν•΄ 1/4 ν™•λ₯ κ³Ό 각 행동에 λŒ€ν•œ Qν•¨μˆ˜λ₯Ό κ³±ν•œ ν›„ 이 값을 λͺ¨λ‘ 더해지면 μƒνƒœ sμ—μ„œμ˜ μƒνƒœ κ°€μΉ˜ν•¨μˆ˜μ™€ 같은 값이 λ‚˜μ˜¨λ‹€.  

Categories: RL

onesixx

Blog Owner

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x