ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Shinwoo Park
pshkhh@naver.com
1. 몬테카를로 예측
2. 시간차 예측
3. 살사
4. í러ë‹
ê°•í™”í•™ìŠµì€ í™˜ê²½ì˜ ëª¨ë¸ì„ 몰ë¼ë„
í™˜ê²½ê³¼ì˜ ìƒí˜¸ìž‘ìš©ì„ í†µí•´ ìµœì  ì •ì±…ì„ í•™ìŠµí•œë‹¤.
ì—ì´ì „트는 í™˜ê²½ê³¼ì˜ ìƒí˜¸ìž‘ìš©ì„ í†µí•´
주어진 ì •ì±…ì— ëŒ€í•œ 가치함수를 학습할 수 있는ë°,
ì´ë¥¼ 예측ì´ë¼ê³  한다.
ë˜í•œ 가치함수를 토대로 ì •ì±…ì„ ëŠìž„ì—†ì´ ë°œì „ì‹œì¼œ 나가서
ìµœì  ì •ì±…ì„ í•™ìŠµí•˜ëŠ” ê²ƒì´ ì œì–´ì´ë‹¤.
예측
몬테카를로 예측
시간차 예측
제어 살사 (시간차 제어)
ì‚´ì‚¬ì˜ í•œê³„ë¥¼ 극복
í러ë‹
(오프í´ë¦¬ì‹œ 제어)
ê°•í™”í•™ìŠµì€ í™˜ê²½ì˜ ëª¨ë¸ ì—†ì´ í™˜ê²½ì´ë¼ëŠ”
ì‹œìŠ¤í…œì˜ ìž…ë ¥ê³¼ 출력 사ì´ì˜ 관계를 학습한다.
ì´ë•Œ ìž…ë ¥ì€ ì—ì´ì „íŠ¸ì˜ ìƒíƒœì™€ í–‰ë™ì´ê³  ì¶œë ¥ì€ ë³´ìƒì´ë‹¤.
강화학습ì€
1. ì¼ë‹¨ í•´ë³´ê³ 
2. ìžì‹ ì„ í‰ê°€í•˜ë©°
3. í‰ê°€í•œ 대로 ìžì‹ ì„ ì—…ë°ì´íŠ¸í•˜ë©°
4. ì´ ê³¼ì •ì„ ë°˜ë³µí•œë‹¤.
강화학습ì—서는 ê³„ì‚°ì„ í†µí•´ì„œ 가치함수를 알아내는 ê²ƒì´ ì•„ë‹ˆë¼
ì—ì´ì „트가 ê²ªì€ ê²½í—˜ìœ¼ë¡œë¶€í„° 가치함수를 ì—…ë°ì´íЏ 한다.
ì •ì±… ì´í„°ë ˆì´ì…˜ì—서 ì •ì±… í‰ê°€ëŠ” 현재 ì •ì±…ì„ ë”°ëžì„ 때
ì°¸ 가치함수를 구하는 과정ì´ë‹¤.
강화학습ì—서는 ì´ ê³¼ì •ì„ "예측"ì´ë¼ê³  한다.
ë˜í•œ 다ì´ë‚´ë¯¹ 프로그래ë°ì—서는 ì •ì±… í‰ê°€ì™€ ì •ì±… ë°œì „ì„ í•©ì¹œ 것ì„
ì •ì±… ì´í„°ë ˆì´ì…˜ì´ë¼ê³  불렀지만
강화학습ì—서는 예측과 함께 ì •ì±…ì„ ë°œì „ì‹œí‚¤ëŠ” 것ì„
"제어"ë¼ê³  부른다.
몬테카를로 근사
몬테카를로ë¼ëŠ” ë§ì€ "무작위로 무엇ì¸ê°€ë¥¼ 해본다"는 ì˜ë¯¸ì´ë‹¤.
근사ë¼ëŠ” ê²ƒì€ ì›ëž˜ì˜ ê°’ì€ ëª¨ë¥´ì§€ë§Œ "샘플"ì„ í†µí•´
"ì›ëž˜ì˜ ê°’ì— ëŒ€í•´ ì´ëŸ´ 것ì´ë‹¤"ë¼ê³  추정하는 것ì´ë‹¤.
몬테카를로 ê·¼ì‚¬ì˜ íŠ¹ì„± 중 하나는 무한히 ë°˜ë³µí–ˆì„ ë•Œ
ì›ëž˜ì˜ ê°’ê³¼ ë™ì¼í•´ì§„다는 것ì´ë‹¤.
(종ì´ì˜ ë©´ì ì„ 안다고 í–ˆì„때 ê·¸ 종ì´ì— 그려진
ì›ì˜ ë„“ì´ë¥¼ 추정하는 문제를 ìƒê°í•´ë³´ìž.
종ì´ì— ì ì„ 무작위로 무수히 ë§Žì´ ì°ëŠ”ë‹¤.
ì „ì²´ ì°ì€ ì ë“¤ 중ì—서 ì› ì•ˆì— ë“¤ì–´ê°€ 있는 ì ì˜ ë¹„ìœ¨ì„ êµ¬í•˜ë©´
ì´ë¯¸ 알고 있는 종ì´ì˜ ë©´ì ì„ 통해 ì›ì˜ ë„“ì´ ê°’ì„ ì¶”ì •í•  수 있다.
즉 ì°ì€ ì ì˜ 비율로 ì›ì˜ ë„“ì´ë¥¼ 근사하는 것ì´ë‹¤.
ì›ì˜ ë„“ì´ë¥¼ 구하는 ë°©ì •ì‹ì„ 몰ë¼ë„ ì´ ë°©ì‹ì„ 통해
ì›ì˜ ë„“ì´ë¥¼ 구할 수 있다는 ì ì´ 장ì ì´ë‹¤.)
샘플ë§ê³¼ 몬테카를로 예측
ì •ì±… ì´í„°ë ˆì´ì…˜ì˜ ì •ì±… í‰ê°€ 과정ì—서
몬테카를로 근사를 ì´ìš©í•´ 가치함수를 추정해보ìž
ì›ì˜ ë„“ì´ë¥¼ 추정할 때는 ì ì´ í•˜ë‚˜ì˜ ìƒ˜í”Œì´ë©°
ì ì„ ì°ëŠ” ê²ƒì´ "샘플ë§"ì´ë‹¤.
가치함수를 추정할 때는 ì—ì´ì „트가 한 번 환경ì—서
ì—피소드를 진행하는 ê²ƒì´ ìƒ˜í”Œë§ì´ë‹¤.
ì´ ìƒ˜í”Œë§ì„ 통해 ì–»ì€ ìƒ˜í”Œì˜ í‰ê· ìœ¼ë¡œ ì°¸ ê°€ì¹˜í•¨ìˆ˜ì˜ ê°’ì„ ì¶”ì •í•œë‹¤.
ì´ë•Œ 몬테카를로 근사를 사용하는 ê²ƒì„ ëª¬í…Œì¹´ë¥¼ë¡œ 예측ì´ë¼ê³  한다.
몬테카를로 ì˜ˆì¸¡ì„ í†µí•œ 가치함수 ì¶”ì •ì˜ ê³¼ì •ì€ ë‹¤ìŒê³¼ 같다
ìƒ˜í”Œë§ ê°€ì¹˜í•¨ìˆ˜ 추정í‰ê· 
+ =
벨만 기대 ë°©ì •ì‹ì„ 계산하려면 ì¡°ê±´ì´ í•„ìš”í–ˆì—ˆë‹¤.
바로 í™˜ê²½ì˜ ëª¨ë¸ì¸ ë³´ìƒê³¼ ìƒíƒœ 변환 í™•ë¥ ì„ ì•Œì•„ì•¼ 하는 것ì´ë‹¤.
ì´ê²ƒì€ 마치 ì›ì˜ ë„“ì´ë¥¼ 구할 때 ì›ì˜ ë„“ì´ì˜ ë°©ì •ì‹ì„
알아야 하는 것과 마찬가지ì´ë‹¤.
몬테카를로 예측ì—서는 í™˜ê²½ì˜ ëª¨ë¸ì„ 몰ë¼ë„
여러 ì—피소드를 통해 구한 ë°˜í™˜ê°’ì˜ í‰ê· ì„ 통해 가치함수를 추정한다.
위 수ì‹ì€ 여러 ë²ˆì˜ ì—피소드ì—서 së¼ëŠ” ìƒíƒœë¥¼ 방문해서 ì–»ì€
ë°˜í™˜ê°’ë“¤ì˜ í‰ê· ì„ 통해 ì°¸ 가치함수를 추정하는 ì‹ì´ë‹¤.
N(s)는 싱태 s를 여러 ë²ˆì˜ ì—피소드 ë™ì•ˆ 방문한 횟수ì´ë‹¤.
G_i (s)는 ê·¸ ìƒíƒœë¥¼ 방문한 i번째 ì—피소드ì—서 sì˜ ë°˜í™˜ê°’ì´ë‹¤.
s를 ë°©ë¬¸í–ˆë˜ ì—í”¼ì†Œë“œì— ëŒ€í•´ 마침 ìƒíƒœê¹Œì§€ì˜
ë°˜í™˜ê°’ì„ í‰ê· ë‚´ëŠ” 것ì´ë‹¤.
현재 ì •ì±…ì— ë”°ë¼ ë¬´ìˆ˜ížˆ ë§Žì€ ì—피소드를 진행해 ë³´ë©´
현재 ì •ì±…ì„ ë”°ëžì„ 때 지날 수 있는
모든 ìƒíƒœì— 대해 충분한 ë°˜í™˜ê°’ë“¤ì„ ëª¨ì„ ìˆ˜ 있다.
ë”°ë¼ì„œ ê° ìƒíƒœì— 대해서 ëª¨ì¸ ë°˜í™˜ê°’ë“¤ì˜ í‰ê· ì„ ë‚´ë©´
ìƒë‹¹ížˆ 정확한 ê°€ì¹˜í•¨ìˆ˜ì˜ ê°’ì„ ì–»ì„ ìˆ˜ 있다.
nê°œì˜ ë°˜í™˜ê°’ì„ í†µí•´ í‰ê· ì„ 취한 가치함수를 V_(n+1)ì´ë¼ê³  í•´ë³´ìž.
ì¶”ì •ëœ ê°€ì¹˜í•¨ìˆ˜ V_(n+1)는 현재 ë°›ì€ ë°˜í™˜ê°’ G_nê³¼
ì´ì „ì— ë°›ì•˜ë˜ ë°˜í™˜ê°’ì˜ í•© 를 ë”한 ê°’ì˜ í‰ê· ì´ë‹¤.
ì•žì˜ ì‹ì—서 ì´ì „ ë°˜í™˜ê°’ë“¤ì˜ í•©ì— (n-1)ì„ ê³±í•˜ê³  나눠보ìž
는 ì´ì „ì˜ ê°€ì¹˜í•¨ìˆ˜ ì´ë‹¤.
ë”°ë¼ì„œ 수ì‹ì„ 정리해보면
)
위 ì‹ì„ 정리하면
)
ì–´ë–¤ ìƒíƒœì˜ 가치함수는 샘플ë§ì„ 통해
ì—ì´ì „트가 ê·¸ ìƒíƒœë¥¼ 방문할 때마다 ì—…ë°ì´íŠ¸í•˜ê²Œ ëœë‹¤.
ì›ëž˜ 가지고 ìžˆë˜ ê°€ì¹˜í•¨ìˆ˜ ê°’ V(s)ì— 1/n(G(s)-V(s))를 ë”함으로ì¨
ì—…ë°ì´íЏ 하는 것ì´ë‹¤.
다ìŒì€ 몬테카를로 예측ì—서 ê°€ì¹˜í•¨ìˆ˜ì˜ ì—…ë°ì´íЏ ì‹ì´ë‹¤.
G(s)-V(s)를 오차ë¼ê³  하며, 1/nì€ ìŠ¤í…사ì´ì¦ˆë¡œì„œ ì—…ë°ì´íŠ¸í• ë•Œ
ì˜¤ì°¨ì˜ ì–¼ë§ˆë¥¼ 가지고 ì—…ë°ì´íŠ¸í• ì§€ 정하는 것ì´ë‹¤.
ì´ë•Œ 스í…사ì´ì¦ˆê°€ 1ì´ë¼ë©´ G(s)ê°€ ê¸°ì¡´ì˜ V(s)를 대체하게 ëœë‹¤.
ì¼ë°˜ì ìœ¼ë¡œ 스í…사ì´ì¦ˆëŠ” α로 표현한다.
ì´ ê°’ì´ ë„ˆë¬´ í¬ë©´ 수렴하지 못하고 너무 작으면 ìˆ˜ë ´ì˜ ì†ë„ê°€ ëŠë¦¬ë‹¤.
모든 강화학습 방법ì—서 가치함수를 ì—…ë°ì´íŠ¸í•˜ëŠ” 것ì€
ëª¨ë‘ ìœ„ ì‹ì˜ ë³€í˜•ì¼ ë¿ì´ë¯€ë¡œ ì´ ì‹ì„ 정확히 ì´í•´í•´ì•¼ 한다.
가치함수 입장ì—서 ì—…ë°ì´íŠ¸ë¥¼ 통해 ë„달하려는 목표는 반환값ì´ë‹¤.
가치함수는 ì´ ëª©í‘œë¡œ ê°ìœ¼ë¡œì¨ ìžì‹ ì„ ì—…ë°ì´íŠ¸í•˜ëŠ”ë°
한 ë²ˆì— ëª©í‘œì ìœ¼ë¡œ 가는 ê²ƒì´ ì•„ë‹ˆê³ 
스í…사ì´ì¦ˆë¥¼ 곱한 ë§Œí¼ë§Œ 가는 것ì´ë‹¤.
몬테카를로 예측ì—서 ì—ì´ì „트는 ì´ ì—…ë°ì´íЏ ì‹ì„ 통해
ì—피소드 ë™ì•ˆ 경험했ë˜
모든 ìƒíƒœì— 대해 가치함수를 ì—…ë°ì´íŠ¸í•œë‹¤.
어떠한 ìƒíƒœì˜ 가치함수가 ì—…ë°ì´íЏë ìˆ˜ë¡
가치함수는 현재 ì •ì±…ì— ëŒ€í•œ ì°¸ ê°€ì¹˜í•¨ìˆ˜ì— ìˆ˜ë ´í•´ê°„ë‹¤.
ì—ì´ì „트는 마침 ìƒíƒœì— ê°ˆ 때까지 ì•„ë¬´ê²ƒë„ í•˜ì§€ 않는다.
마침 ìƒíƒœì— ë„착하면 ì—ì´ì „트는
지나온 모든 ìƒíƒœì˜ 가치함수를 ì—…ë°ì´íŠ¸í•œë‹¤.
ì—피소드 ë™ì•ˆ ë°©ë¬¸í–ˆë˜ ëª¨ë“  ìƒíƒœì˜ 가치함수를 ì—…ë°ì´íŠ¸í•˜ë©´
ì—ì´ì „트는 다시 시작 ìƒíƒœì—서부터 새로운 ì—피소드를 진행한다.
ì´ëŸ¬í•œ ê³¼ì •ì„ ê³„ì† ë°˜ë³µí•˜ëŠ” ê²ƒì´ ëª¬í…Œì¹´ë¥¼ë¡œ 예측ì´ë‹¤.
강화학습ì—서 가장 중요한 ì•„ì´ë””ì–´ 중 하나가 바로 시간차ì´ë‹¤.
몬테카를로 ì˜ˆì¸¡ì˜ ë‹¨ì ì€ ì‹¤ì‹œê°„ì´ ì•„ë‹ˆë¼ëŠ” ì ì´ë‹¤.
가치함수를 ì—…ë°ì´íŠ¸í•˜ê¸° 위해서는
ì—피소드가 ëë‚  때까지 기다려야 한다.
ë˜í•œ ì—í”¼ì†Œë“œì˜ ëì´ ì—†ê±°ë‚˜ ì—í”¼ì†Œë“œì˜ ê¸¸ì´ê°€ 긴 경우ì—는
몬테카를로 ì˜ˆì¸¡ì€ ì í•©í•˜ì§€ 않다.
몬테카를로 예측ì—서와 ê°™ì´ ì—피소드마다가 아니ë¼
타임스í…마다 가치함수를 ì—…ë°ì´íŠ¸í•˜ëŠ” ë°©ë²•ì´ ì‹œê°„ì°¨ 예측ì´ë‹¤.
몬테카를로 예측ì—서는 다ìŒê³¼ ê°™ì€ ê°€ì¹˜í•¨ìˆ˜ì˜ ì •ì˜ë¥¼ ì´ìš©í•˜ëŠ”ë°
ê¸°ëŒ“ê°’ì„ ê³„ì‚°í•˜ì§€ 않고 샘플ë§ì„ 통해 예측했었다.
시간차 예측ì—서는 다ìŒê³¼ ê°™ì€ ê°€ì¹˜í•¨ìˆ˜ì˜ ì •ì˜ë¥¼ ì´ìš©í•œë‹¤
ê¸°ëŒ“ê°’ì„ ê³„ì‚°í•˜ì§€ 않고 ê°’ì„ ìƒ˜í”Œë§í•´ì„œ
ê·¸ 값으로 í˜„ìž¬ì˜ ê°€ì¹˜í•¨ìˆ˜ë¥¼ ì—…ë°ì´íŠ¸í•œë‹¤.
ê°€ì¹˜í•¨ìˆ˜ì˜ ì—…ë°ì´íŠ¸ëŠ” 실시간으로 ì´ë¤„지며,
몬테카를로 예측과는 달리
한 ë²ˆì— í•˜ë‚˜ì˜ ê°€ì¹˜í•¨ìˆ˜ë§Œ ì—…ë°ì´íŠ¸í•œë‹¤.
ë‹¤ìŒ ì‹ì€ 시간차 예측ì—서 가치함수를 ì—…ë°ì´íŠ¸í•˜ëŠ” ì‹ì´ë‹¤.
) : ì—…ë°ì´íŠ¸ì˜ í¬ê¸°
: ì—…ë°ì´íŠ¸ì˜ ëª©í‘œ
: 시간차 ì—러
시간차 예측ì—서 ì—…ë°ì´íŠ¸ì˜ ëª©í‘œëŠ” ì‹¤ì œì˜ ê°’ì€ ì•„ë‹ˆë‹¤.
V(S_(t+1))ì€ í˜„ìž¬ ì—ì´ì „트가 가지고 있는 ê°’ì´ë‹¤.
ì—ì´ì „트는 ì´ ê°’ì„ S_(t+1)ì˜ ê°€ì¹˜ í•¨ìˆ˜ì¼ ê²ƒì´ë¼ê³  예측하고 있다.
다른 ìƒíƒœì˜ 가치함수 ì˜ˆì¸¡ê°’ì„ í†µí•´ 지금 ìƒíƒœì˜ 가치함수를 예측하는
ì´ëŸ¬í•œ ë°©ì‹ì„ 부트스트랩(Bootstrap)ì´ë¼ê³  한다.
즉, ì—…ë°ì´íЏ ëª©í‘œë„ ì •í™•í•˜ì§€ ì•Šì€ ìƒí™©ì—서 가치함수를 ì—…ë°ì´íЏ 하는 것ì´ë‹¤.
ì–´ë–¤ ìƒíƒœì—서 í–‰ë™ì„ 하면 ë³´ìƒì„ 받고 ë‹¤ìŒ ìƒíƒœë¥¼ 알게 ë˜ê³ 
ë‹¤ìŒ ìƒíƒœì˜ 가치함수와 ë°›ì€ ë³´ìƒì„ ë”í•´ ê·¸ ê°’ì„ ì—…ë°ì´íЏì˜
목표로 삼는다는 것ì´ë‹¤.
ë‹¤ìŒ ìƒíƒœì—서 ë˜ ë‹¤ì‹œ í–‰ë™ì„ ì„ íƒí•˜ê³  ì´ ê³¼ì •ì´ ë°˜ë³µëœë‹¤.
시간차 ì˜ˆì¸¡ì€ ì—피소드가 ëë‚  때까지 기다릴 í•„ìš” ì—†ì´
바로 가치함수를 ì—…ë°ì´íЏ í•  수 있다.
시간차 ì˜ˆì¸¡ì€ ì¶©ë¶„ížˆ ë§Žì€ ìƒ˜í”Œë§ì„ 통해
ì—…ë°ì´íŠ¸í•˜ë©´ ì°¸ ê°€ì¹˜í•¨ìˆ˜ì— ìˆ˜ë ´í•˜ë©°
ë§Žì€ ê²½ìš°ì— ëª¬í…Œì¹´ë¥¼ë¡œ 예측보다 ë” íš¨ìœ¨ì ìœ¼ë¡œ
빠른 시간 ì•ˆì— ì°¸ ê°€ì¹˜í•¨ìˆ˜ì— ê·¼ì ‘í•œë‹¤.
[파ì´ì¬ê³¼ ì¼€ë¼ìŠ¤ë¡œ 배우는 강화학습] p.128 그림 4.14
강화학습 알고리즘 íë¦„ì„ ì‚´íŽ´ë³´ë©´
ì •ì±… ì´í„°ë ˆì´ì…˜ê³¼ 가치 ì´í„°ë ˆì´ì…˜
ì€ ì‚´ì‚¬ë¡œ 발전한다.
살사부터 강화학습ì´ë¼ê³  부른다.
ì •ì±… ì´í„°ë ˆì´ì…˜ì€ "ì •ì±… í‰ê°€"와 "ì •ì±… 발전"ì„ ë²ˆê°ˆì•„ 가며 실행하는 과정ì´ë‹¤.
í˜„ìž¬ì˜ ì •ì±…ì— ëŒ€í•´ ì •ì±… í‰ê°€ë¥¼ 통해 가치함수를 구하고,
ê·¸ 가치함수를 통해 ì •ì±…ì„ ë°œì „í•˜ëŠ” ê²ƒì˜ ë°˜ë³µì´ë‹¤.
벨만 기대 ë°©ì •ì‹ì„ ì´ìš©í•´ í˜„ìž¬ì˜ ì •ì±…ì— ëŒ€í•œ
ì°¸ 가치함수를 구하는 ê²ƒì´ ì •ì±… í‰ê°€ì´ë©°,
구한 ê°€ì¹˜í•¨ìˆ˜ì— ë”°ë¼ ì •ì±…ì„ ì—…ë°ì´íŠ¸í•˜ëŠ” ê²ƒì´ ì •ì±… 발전ì´ë‹¤.
ì •ì±… í‰ê°€ 과정ì—서 ì°¸ ê°€ì¹˜í•¨ìˆ˜ì— ìˆ˜ë ´í•  때까지
계산하지 ì•Šì•„ë„ ì •ì±… í‰ê°€ì™€
ì •ì±… ë°œì „ì„ í•œ 번씩 번갈아 가면서 실행하면
ì°¸ ê°€ì¹˜í•¨ìˆ˜ì— ìˆ˜ë ´í•  때까지 ê³„ì‚°í–ˆì„ ë•Œì™€ 마찬가지로
ìµœì  ê°€ì¹˜í•¨ìˆ˜ì— ê°€ì¹˜í•¨ìˆ˜ê°€ 수렴한다.
ì´ëŸ¬í•œ ì •ì±… ì´í„°ë ˆì´ì…˜ì„ GPI(Generalized Policy Iteration)ë¼ê³  한다.
GPI는 단 한 번만 ì •ì±…ì„ í‰ê°€í•´ì„œ 가치함수를 ì—…ë°ì´íŠ¸í•˜ê³ 
바로 ì •ì±…ì„ ë°œì „í•˜ëŠ” ê³¼ì •ì„ ë°˜ë³µí•œë‹¤.
GPIì˜ ì •ì±… í‰ê°€ ê³¼ì •ì„ ìˆ˜í–‰í•˜ëŠ” ê²ƒì´ ëª¬í…Œì¹´ë¥¼ë¡œ 예측, 시간차 예측ì´ë‹¤.
시간차 ì˜ˆì¸¡ì— ëŒ€í•´ì„œë§Œ 살펴보ìž
GPIì˜ íƒìš• ì •ì±… ë°œì „ì€ ì£¼ì–´ì§„ ê°€ì¹˜í•¨ìˆ˜ì— ëŒ€í•´
새로운 ì •ì±…ì„ ì–»ëŠ” 과정ì´ë‹¤.
시간차 방법ì—서는 타임스í…마다 가치함수를 현재 ìƒíƒœì— 대해서만
ì—…ë°ì´íŠ¸í•œë‹¤.
ë”°ë¼ì„œ GPIì—서처럼 모든 ìƒíƒœì˜ ì •ì±…ì„ ë°œì „ì‹œí‚¬ 수 없다.
하지만 시간차 방법ì—서 ì´ë¥¼ 가능케 í•  수 있는ë°,
바로 가치 ì´í„°ë ˆì´ì…˜ì˜ ë°©ë²•ì„ ì‚¬ìš©í•˜ëŠ” 것ì´ë‹¤.
가치 ì´í„°ë ˆì´ì…˜ì—서는 ì •ì±… ì´í„°ë ˆì´ì…˜ì—서와 달리
별ë„ì˜ ì •ì±… ì—†ì´ ê°€ì¹˜í•¨ìˆ˜ì— ëŒ€í•´ íƒìš•ì ìœ¼ë¡œ 움ì§ì¼ ë¿ì´ì—ˆë‹¤.
시간차 방법ì—ì„œë„ ë§ˆì°¬ê°€ì§€ì¸ë° 별ë„ì˜ ì •ì±…ì„ ë‘ì§€ 않고
ì—ì´ì „트는 현재 ìƒíƒœì—서 가장 í° ê°€ì¹˜ë¥¼ 지니는 í–‰ë™ì„ ì„ íƒí•˜ëŠ”
íƒìš• ì •ì±…ì„ ì‚¬ìš©í•˜ë©´ ëœë‹¤.
시간차 예측과 íƒìš• ì •ì±…ì´ í•©ì³ì§„ ê²ƒì„ ì‹œê°„ì°¨ 제어ë¼ê³  한다.
GPIì—서 ì •ì±… ë°œì „ì˜ ì‹ì€ 다ìŒê³¼ 같다.
현재 ìƒíƒœì˜ ì •ì±…ì„ ë°œì „ì‹œí‚¤ë ¤ë©´ ê²°êµ­ ì˜ ìµœëŒ“
ê°’ì„ ì•Œì•„ì•¼ 하는ë°
그러려면 í™˜ê²½ì˜ ëª¨ë¸ì¸ 를 알아야 한다.
íƒìš• ì •ì±…ì—서 ë‹¤ìŒ ìƒíƒœì˜ 가치함수를 ë³´ê³ 
íŒë‹¨í•˜ëŠ” ê²ƒì´ ì•„ë‹ˆê³ 
현재 ìƒíƒœì˜ í함수를 ë³´ê³  íŒë‹¨í•œë‹¤ë©´
í™˜ê²½ì˜ ëª¨ë¸ì„ 몰ë¼ë„ ëœë‹¤.
í함수를 사용한 íƒìš• ì •ì±…ì˜ ì‹ì€ 다ìŒê³¼ 같다.
시간차 제어ì—서는 위 수ì‹ìœ¼ë¡œ 표현ë˜ëŠ”
íƒìš• ì •ì±…ì„ í†µí•´ í–‰ë™ì„ ì„ íƒí•œë‹¤.
íí•¨ìˆ˜ì— ë”°ë¼ í–‰ë™ì„ ì„ íƒí•˜ë ¤ë©´ ì—ì´ì „트는
가치함수가 아닌 íí•¨ìˆ˜ì˜ ì •ë³´ë¥¼ 알아야 한다.
ë”°ë¼ì„œ 시간차 제어ì—서 ì—…ë°ì´íŠ¸í•˜ëŠ” 대ìƒì´
가치함수가 아닌 í함수가 ë¼ì•¼ 한다.
시간차 ì œì–´ì˜ ì‹ì€ 다ìŒê³¼ 같다.
위 수ì‹ì—서 ë‹¤ìŒ ìƒíƒœì˜ íí•¨ìˆ˜ì¸ ë¥¼
알기 위해서는
ë‹¤ìŒ ìƒíƒœ S_(t+1)ì—서 ë‹¤ìŒ í–‰ë™ ê¹Œì§€ A_(t+1)ì„ íƒí•´ì•¼ 한다.
시간차 제어ì—서 í함수를 ì—…ë°ì´íŠ¸í•˜ë ¤ë©´ ìƒ˜í”Œì´ ìžˆì–´ì•¼ 한다.
시간차 제어ì—서는 [ ]ì„ ìƒ˜í”Œë¡œ 사용한다.
ì—ì´ì „트는 ìƒ˜í”Œì¸ ìƒíƒœ S_tì—서 íƒìš• ì •ì±…ì— ë”°ë¼ í–‰ë™ A_t를 ì„ íƒí•˜ê³ 
ê·¸ í–‰ë™ì„ 환경ì—서 한 타임스í…ì„ ì§„í–‰í•œë‹¤.
그러면 í™˜ê²½ì€ ì—ì´ì „트ì—게 ë³´ìƒ R_(t+1)ì„ ì£¼ê³ 
ë‹¤ìŒ ìƒíƒœ S_(t+1)를 알려준다.
여기서 한 번 ë” ì—ì´ì „트는 íƒìš• ì •ì±…ì— ë”°ë¼ í–‰ë™ A_(t+1)ì„ ì„ íƒí•˜ê³ 
í•˜ë‚˜ì˜ ìƒ˜í”Œì´ ìƒì„±ë˜ë©´ ê·¸ 샘플로 í함수를 ì—…ë°ì´íŠ¸í•œë‹¤.
ì´ê²ƒì´ 시간차 ì œì–´ì˜ ê³¼ì •ì´ë‹¤.
[ ]ì„ í•˜ë‚˜ì˜ ìƒ˜í”Œë¡œ 사용하기 때문ì—
시간차 제어를 다른 ë§ë¡œ 살사(SARSA)ë¼ê³  부른다.
살사는 현재 가지고 있는 í함수를 토대로 ìƒ˜í”Œì„ íƒìš• 정책으로 모으고
ê·¸ 샘플로 방문한 í함수를 ì—…ë°ì´íŠ¸í•˜ëŠ” ê³¼ì •ì„ ë°˜ë³µí•˜ëŠ” 것ì´ë‹¤.
하지만 ì´ë¯¸ 충분히 ë§Žì€ ê²½í—˜ì„ í•œ ì—ì´ì „íŠ¸ì˜ ê²½ìš°ì—는
íƒìš• ì •ì±…ì´ ì¢‹ì€ ì„ íƒì´ê² ì§€ë§Œ
ì´ˆê¸°ì˜ ì—ì´ì „트ì—게 íƒìš• ì •ì±…ì€ ìž˜ëª»ëœ í•™ìŠµìœ¼ë¡œ 가게 í•  ê°€ëŠ¥ì„±ì´ í¬ë‹¤.
즉, 충분한 ê²½í—˜ì„ í†µí•´ ì—ì´ì „트가 보유하고 있는
íí•¨ìˆ˜ë“¤ì´ ìµœì ì— 가까워지게 하는 ê²ƒì´ í•„ìš”í•˜ë‹¤.
ì´ ë¬¸ì œëŠ” ê°•í™”í•™ìŠµì˜ ì¤‘ìš”í•œ 문제로서 íƒí—˜(Exploration)ì˜ ë¬¸ì œì´ë‹¤.
ë”°ë¼ì„œ íƒìš• ì •ì±…ì„ ëŒ€ì²´í•  수 있는 새로운 ì •ì±…ì´ í•„ìš”í•˜ë‹¤.
ì—ì´ì „트로 하여금 ë” íƒí—˜í•˜ê²Œ í•  ë°©ë²•ì´ í•„ìš”í•œ 것ì´ë‹¤.
ê·¸ ëŒ€ì•ˆì´ Îµ-íƒìš• ì •ì±…ì´ë‹¤.
ε만í¼ì˜ 확률로 íƒìš•ì ì´ì§€ ì•Šì€ í–‰ë™ì„ ì„ íƒí•˜ê²Œ 하는 것ì´ë‹¤.
[파ì´ì¬ê³¼ ì¼€ë¼ìŠ¤ë¡œ 배우는 강화학습] p.132 그림 4.21
1-Îµì¸ í™•ë¥ ë¡œëŠ” 현재 ìƒíƒœì—서 가장 í° íí•¨ìˆ˜ì˜ ê°’ì„ ê°€ì§€ëŠ”
í–‰ë™ì„ ì„ íƒí•œë‹¤.
즉, íƒìš• ì •ì±…ì„ ë”°ë¥´ëŠ” 것ì´ë‹¤.
하지만 현재 가지고 있는 í함수는 수렴하기 전까지는 íŽ¸í–¥ë¼ ìžˆëŠ”,
정확하지 ì•Šì€ ê°’ì´ë‹¤.
ë”°ë¼ì„œ ì—ì´ì „트는 정확하지 ì•Šì€ í함수를 토대로
íƒìš•ì ìœ¼ë¡œ í–‰ë™í•˜ê¸° 보다는
ì¼ì •한 Îµì¸ í™•ë¥ ë¡œ 엉뚱한 í–‰ë™ì„ 한다.
ε-íƒìš• ì •ì±…ì€ íƒìš• ì •ì±„ì˜ ëŒ€ì•ˆìœ¼ë¡œì„œ ì—ì´ì „트가
ì§€ì†ì ìœ¼ë¡œ íƒí—˜í•˜ê²Œ 한다.
물론 ε-íƒìš• ì •ì±…ì€ ìµœì  í함수를 찾았다 하ë”ë¼ë„
Îµì˜ í™•ë¥ ë¡œ ê³„ì† íƒí—˜í•œë‹¤ëŠ” 한계가 있다.
ë”°ë¼ì„œ í•™ìŠµì„ ì§„í–‰í•¨ì— ë”°ë¼ Îµì˜ ê°’ì„ ê°ì†Œì‹œí‚¤ëŠ” ë°©ë²•ë„ ìžˆë‹¤.
ë” ë§Žì€ í•™ìŠµ ë°©ë²•ì´ ìžˆëŠ”ë° ê·¸ê±´ ë‚˜ì¤‘ì— ë‹¤ë£° 것ì´ë‹¤.
ì´ì²˜ëŸ¼ 살사는 GPIì˜ ì •ì±… í‰ê°€ë¥¼ í함수를 ì´ìš©í•œ 시간차 예측으로,
íƒìš• ì •ì±… ë°œì „ì„ Îµ-íƒìš• 정책으로 변화시킨 강화학습 알고리즘ì´ë‹¤.
ë˜í•œ ì •ì±… ì´í„°ë ˆì´ì…˜ê³¼ëŠ” 달리 별ë„ì˜ ì •ì±… ì—†ì´
ε-íƒìš• ì •ì±…ì„ ì‚¬ìš©í•˜ëŠ” ê²ƒì€ ê°€ì¹˜ ì´í„°ë ˆì´ì…˜ì—서 ê·¸ ê°œë…ì„ ê°€ì ¸ì˜¨ 것ì´ë‹¤.
살사는 간단히 ë‘ ë‹¨ê³„ë¡œ ìƒê°í•˜ë©´ ëœë‹¤.
1. ε-íƒìš• ì •ì±…ì„ í†µí•´ 샘플 [ ]ì„ íšë“
2. íšë“한 샘플로 ë‹¤ìŒ ì‹ì„ 통해 í함수 Q(S_t,A_t)를 ì—…ë°ì´íЏ
í함수는 ì—ì´ì „트가 가진 정보로서
íí•¨ìˆ˜ì˜ ì—…ë°ì´íŠ¸ëŠ” ì—ì´ì „트 ìžì‹ ì„ ì—…ë°ì´íŠ¸í•˜ëŠ” 것과 같다.
살사는 온í´ë¦¬ì‹œ(On-Policy) 시간차 제어,
즉 ìžì‹ ì´ í–‰ë™í•˜ëŠ” 대로 학습하는 시간차 제어ì´ë‹¤.
íƒí—˜ì„ 위해 ì„ íƒí•œ ε-íƒìš• ì •ì±…ì„ ì‹œí–‰í•˜ëŠ” 과정ì—서
ëžœë¤í•œ ì•¡ì…˜ì„ ì·¨í•œ ê²ƒì˜ ê²°ê³¼ë¡œ
ì—ì´ì „트가 최ì ì˜ ì •ì±…ì´ ì•„ë‹ˆë¼
ìž˜ëª»ëœ ì •ì±…ì„ í•™ìŠµí•˜ê²Œ ë˜ëŠ” 경우가 ë°œìƒí•  수 있다.
하지만 강화학습ì—서 íƒí—˜ì€ 절대ì ìœ¼ë¡œ 필요한 요소ì´ê¸°ë„ 하다.
충분한 íƒí—˜ì„ 하지 않으면 ìµœì  ì •ì±…ì„ í•™ìŠµí•˜ì§€ 못하기 때문ì´ë‹¤.
ì´ëŸ¬í•œ 딜레마를 해결하기 위해 사용하는 것ì´
바로 오프í´ë¦¬ì‹œ(Off-Policy) 시간차 제어ì´ë‹¤.
다른 ë§ë¡œëŠ” í러ë‹ì´ë¼ê³  한다.
오프í´ë¦¬ì‹œì˜ ë§ê·¸ëŒ€ë¡œ
현재 í–‰ë™í•˜ëŠ” 정책과는 ë…립ì ìœ¼ë¡œ 학습한다는 ê²ƒì´ í러ë‹ì˜ ì•„ì´ë””ì–´ì´ë‹¤.
즉 í–‰ë™í•˜ëŠ” ì •ì±…ê³¼ 학습하는 ì •ì±…ì„ ë”°ë¡œ 분리한다.
ì—ì´ì „트는 í–‰ë™í•˜ëŠ” 정책으로 ì§€ì†ì ì¸ íƒí—˜ì„ 하면서
따로 목표 ì •ì±…ì„ ë‘¬ì„œ í•™ìŠµì€ ëª©í‘œ ì •ì±…ì— ë”°ë¼ì„œ 한다.
반면 살사ì—서는 따로 ì •ì±…ì´ ì¡´ìž¬í•˜ì§€ 않으며
단지 현재 íí•¨ìˆ˜ì— ë”°ë¼ í–‰ë™ì„ ì„ íƒí–ˆì„ ë¿ì´ì—ˆë‹¤.
살사ì—서 ì—ì´ì „트는 현재 ìƒíƒœ sì—서 í–‰ë™ a를 ε-íƒìš• ì •ì±…ì— ë”°ë¼ ì„ íƒí•œë‹¤.
그리고 ì—ì´ì „트는 환경으로부터 ë³´ìƒ rì„ ë°›ê³  ë‹¤ìŒ ìƒíƒœ s Ì ì„ ë°›ëŠ”ë‹¤.
그리고 ë‹¤ìŒ ìƒíƒœì¸ s Ì ì—서 ë˜ë‹¤ì‹œ ε-íƒìš• ì •ì±…ì— ë”°ë¼
ë‹¤ìŒ í–‰ë™ì„ ì„ íƒí•œ í›„ì— ê·¸ê²ƒì„ í•™ìŠµì— ìƒ˜í”Œë¡œ 사용한다.
하지만 í러ë‹ì—서는 ì—ì´ì „트가 ë‹¤ìŒ ìƒíƒœ s Ì ë¥¼ 알게 ë˜ë©´
s Ì ì—서 가장 í° í함수를
현재 ìƒíƒœ sì—ì„œì˜ íí•¨ìˆ˜ì˜ ì—…ë°ì´íŠ¸ì— ì‚¬ìš©í•œë‹¤.
ì—ì´ì „트는 실제로 s Ì ì—서 ì–´ë–¤ í–‰ë™ì„ 했는지와 ìƒê´€ì—†ì´
현재 ìƒíƒœ sì˜ í함수를 ì—…ë°ì´íŠ¸í•  때는 s Ì ì˜ ìµœëŒ€ í함수를 ì´ìš©í•œë‹¤.
ë”°ë¼ì„œ 현재 ìƒíƒœì˜ í함수를 ì—…ë°ì´íŠ¸í•˜ê¸° 위해 필요한 ìƒ˜í”Œì€ <s,a,r,s Ì>ì´ë‹¤.
í러ë‹ì˜ ì—…ë°ì´íЏ 수ì‹ì€ 다ìŒê³¼ 같다.
ë‹¤ìŒ ì‹ì´ ë” ìµìˆ™í•œ ì‚¬ëžŒì´ ìžˆì„ ìˆ˜ë„ ìžˆë‹¤.
살사와 í러ë‹ì˜ ì—…ë°ì´íЏ ì‹ê³¼ 벨만 기대 ë°©ì •ì‹, 벨만 ìµœì  ë°©ì •ì‹ì„ 다시 살펴보ìž
벨만 기대 ë°©ì •ì‹
살사
벨만 ìµœì  ë°©ì •ì‹
í러ë‹
ì´ë¥¼ 통해 알 수 있는 ì ì€ 살사ì—서는 í함수를 ì—…ë°ì´íŠ¸í•˜ê¸° 위해
벨만 기대 ë°©ì •ì‹ì„ 사용하고,
í러ë‹ì—서는 í함수를 ì—…ë°ì´íŠ¸í•˜ê¸° 위해
벨만 ìµœì  ë°©ì •ì‹ì„ 사용한다는 것ì´ë‹¤.
í러ë‹ì„ 통해 학습하면 ë‹¤ìŒ ìƒíƒœ s Ì ì—서
실제 ì„ íƒí•œ í–‰ë™ì´ 안 ì¢‹ì€ í–‰ë™ì´ë¼ë„
ê·¸ ì •ë³´ê°€ 현재 ìƒíƒœ sì˜ í함수를 ì—…ë°ì´íŠ¸í•  때 í¬í•¨ë˜ì§€ 않는다.
왜ëƒí•˜ë©´ í러ë‹ì—서 í•™ìŠµì— ì‚¬ìš©í–ˆë˜ ë‹¤ìŒ ìƒíƒœì—ì„œì˜ í–‰ë™ê³¼
실제로 ë‹¤ìŒ ìƒíƒœë¡œ 가서 한 í–‰ë™ì´ 다르기 때문ì´ë‹¤.
ì´ì²˜ëŸ¼ 실제 환경ì—서 í–‰ë™ì„ 하는 ì •ì±…ê³¼
í함수를 ì—…ë°ì´íŠ¸í•  때 사용하는 ì •ì±…ì´
다르기 ë•Œë¬¸ì— í러ë‹ì„ 오프í´ë¦¬ì‹œë¼ê³  한다.
í러ë‹ì€ 살사ì—서 ë”œë ˆë§ˆì˜€ë˜ "íƒí—˜ vs ìµœì  ì •ì±… 학습"ì˜ ë¬¸ì œë¥¼
ì •ì±…ì€ ë¶„ë¦¬ì‹œí‚¤ê³  í–‰ë™ ì„ íƒì€ ε-íƒìš• 정책으로,
ì—…ë°ì´íŠ¸ëŠ” 벨만 ìµœì  ë°©ì •ì‹ì„
ì´ìš©í•¨ìœ¼ë¡œì¨ 해결했다.
딥살사
í´ë¦¬ì‹œ 그레디언트
Rl from scratch part3
Ad

Recommended

Rl from scratch part1
Rl from scratch part1
Shinwoo Park
Ìý
Rl from scratch part7
Rl from scratch part7
Shinwoo Park
Ìý
Rl from scratch part4
Rl from scratch part4
Shinwoo Park
Ìý
Rl from scratch part2
Rl from scratch part2
Shinwoo Park
Ìý
Rl from scratch part6
Rl from scratch part6
Shinwoo Park
Ìý
Rl from scratch part5
Rl from scratch part5
Shinwoo Park
Ìý
강화학습 ì•Œê³ ë¦¬ì¦˜ì˜ íë¦„ë„ Part 2
강화학습 ì•Œê³ ë¦¬ì¦˜ì˜ íë¦„ë„ Part 2
Dongmin Lee
Ìý
Reinforcement learning
Reinforcement learning
Tae Young Lee
Ìý
Rl
Rl
wonseok jung
Ìý
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
Taehoon Kim
Ìý
CS294-112 Lecture 06
CS294-112 Lecture 06
Gyubin Son
Ìý
파ì´ì¬ê³¼ ì¼€ë¼ìŠ¤ë¡œ 배우는 강화학습 ì €ìžíŠ¹ê°•
파ì´ì¬ê³¼ ì¼€ë¼ìŠ¤ë¡œ 배우는 강화학습 ì €ìžíŠ¹ê°•
Woong won Lee
Ìý
RLCode와 A3C 쉽고 깊게 ì´í•´í•˜ê¸°
RLCode와 A3C 쉽고 깊게 ì´í•´í•˜ê¸°
Woong won Lee
Ìý
ê°•í™”í•™ìŠµì˜ íë¦„ë„ Part 1
ê°•í™”í•™ìŠµì˜ íë¦„ë„ Part 1
Dongmin Lee
Ìý
Reinforcement learning basic
Reinforcement learning basic
Jicheol Woo
Ìý
Guided policy search
Guided policy search
Jaehyeon Park
Ìý
Control as Inference.pptx
Control as Inference.pptx
ssuserbd1647
Ìý
강화학습 살사 알고리즘
강화학습 살사 알고리즘
유연수 oracleyu23
Ìý
ê°€ê¹ê³ ë„ 먼 Trpo
ê°€ê¹ê³ ë„ 먼 Trpo
Woong won Lee
Ìý
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
Curt Park
Ìý
강화학습 & Unity ML Agents
강화학습 & Unity ML Agents
Hyunjong Lee
Ìý
강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1
강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1
Euijin Jeong
Ìý
Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)
Suhyun Cho
Ìý
[RLkorea] ê°ìž¡ê³  로봇팔 발표
[RLkorea] ê°ìž¡ê³  로봇팔 발표
ashley ryu
Ìý
Mu zero review by nomoreid
Mu zero review by nomoreid
Kyoungman Lee
Ìý
파ì´ì¬ìœ¼ë¡œ ë‚˜ë§Œì˜ ê°•í™”í•™ìŠµ 환경 만들기
파ì´ì¬ìœ¼ë¡œ ë‚˜ë§Œì˜ ê°•í™”í•™ìŠµ 환경 만들기
정주 김
Ìý
분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현
정주 김
Ìý
55minute rl
55minute rl
SEMINARGROOT
Ìý

More Related Content

Similar to Rl from scratch part3 (20)

Rl
Rl
wonseok jung
Ìý
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
Taehoon Kim
Ìý
CS294-112 Lecture 06
CS294-112 Lecture 06
Gyubin Son
Ìý
파ì´ì¬ê³¼ ì¼€ë¼ìŠ¤ë¡œ 배우는 강화학습 ì €ìžíŠ¹ê°•
파ì´ì¬ê³¼ ì¼€ë¼ìŠ¤ë¡œ 배우는 강화학습 ì €ìžíŠ¹ê°•
Woong won Lee
Ìý
RLCode와 A3C 쉽고 깊게 ì´í•´í•˜ê¸°
RLCode와 A3C 쉽고 깊게 ì´í•´í•˜ê¸°
Woong won Lee
Ìý
ê°•í™”í•™ìŠµì˜ íë¦„ë„ Part 1
ê°•í™”í•™ìŠµì˜ íë¦„ë„ Part 1
Dongmin Lee
Ìý
Reinforcement learning basic
Reinforcement learning basic
Jicheol Woo
Ìý
Guided policy search
Guided policy search
Jaehyeon Park
Ìý
Control as Inference.pptx
Control as Inference.pptx
ssuserbd1647
Ìý
강화학습 살사 알고리즘
강화학습 살사 알고리즘
유연수 oracleyu23
Ìý
ê°€ê¹ê³ ë„ 먼 Trpo
ê°€ê¹ê³ ë„ 먼 Trpo
Woong won Lee
Ìý
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
Curt Park
Ìý
강화학습 & Unity ML Agents
강화학습 & Unity ML Agents
Hyunjong Lee
Ìý
강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1
강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1
Euijin Jeong
Ìý
Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)
Suhyun Cho
Ìý
[RLkorea] ê°ìž¡ê³  로봇팔 발표
[RLkorea] ê°ìž¡ê³  로봇팔 발표
ashley ryu
Ìý
Mu zero review by nomoreid
Mu zero review by nomoreid
Kyoungman Lee
Ìý
파ì´ì¬ìœ¼ë¡œ ë‚˜ë§Œì˜ ê°•í™”í•™ìŠµ 환경 만들기
파ì´ì¬ìœ¼ë¡œ ë‚˜ë§Œì˜ ê°•í™”í•™ìŠµ 환경 만들기
정주 김
Ìý
분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현
정주 김
Ìý
55minute rl
55minute rl
SEMINARGROOT
Ìý
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
Taehoon Kim
Ìý
CS294-112 Lecture 06
CS294-112 Lecture 06
Gyubin Son
Ìý
파ì´ì¬ê³¼ ì¼€ë¼ìŠ¤ë¡œ 배우는 강화학습 ì €ìžíŠ¹ê°•
파ì´ì¬ê³¼ ì¼€ë¼ìŠ¤ë¡œ 배우는 강화학습 ì €ìžíŠ¹ê°•
Woong won Lee
Ìý
RLCode와 A3C 쉽고 깊게 ì´í•´í•˜ê¸°
RLCode와 A3C 쉽고 깊게 ì´í•´í•˜ê¸°
Woong won Lee
Ìý
ê°•í™”í•™ìŠµì˜ íë¦„ë„ Part 1
ê°•í™”í•™ìŠµì˜ íë¦„ë„ Part 1
Dongmin Lee
Ìý
Reinforcement learning basic
Reinforcement learning basic
Jicheol Woo
Ìý
Guided policy search
Guided policy search
Jaehyeon Park
Ìý
Control as Inference.pptx
Control as Inference.pptx
ssuserbd1647
Ìý
강화학습 살사 알고리즘
강화학습 살사 알고리즘
유연수 oracleyu23
Ìý
ê°€ê¹ê³ ë„ 먼 Trpo
ê°€ê¹ê³ ë„ 먼 Trpo
Woong won Lee
Ìý
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
Curt Park
Ìý
강화학습 & Unity ML Agents
강화학습 & Unity ML Agents
Hyunjong Lee
Ìý
강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1
강화학습기초(MDP, Monte-Carlo, Time-difference, sarsa, q-learning) 파트1
Euijin Jeong
Ìý
Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)
Suhyun Cho
Ìý
[RLkorea] ê°ìž¡ê³  로봇팔 발표
[RLkorea] ê°ìž¡ê³  로봇팔 발표
ashley ryu
Ìý
Mu zero review by nomoreid
Mu zero review by nomoreid
Kyoungman Lee
Ìý
파ì´ì¬ìœ¼ë¡œ ë‚˜ë§Œì˜ ê°•í™”í•™ìŠµ 환경 만들기
파ì´ì¬ìœ¼ë¡œ ë‚˜ë§Œì˜ ê°•í™”í•™ìŠµ 환경 만들기
정주 김
Ìý
분산 강화학습 논문(DeepMind IMPALA) 구현
분산 강화학습 논문(DeepMind IMPALA) 구현
정주 김
Ìý

Rl from scratch part3

  • 2. 1. 몬테카를로 예측 2. 시간차 예측 3. 살사 4. í러ë‹
  • 3. ê°•í™”í•™ìŠµì€ í™˜ê²½ì˜ ëª¨ë¸ì„ 몰ë¼ë„ í™˜ê²½ê³¼ì˜ ìƒí˜¸ìž‘ìš©ì„ í†µí•´ ìµœì  ì •ì±…ì„ í•™ìŠµí•œë‹¤. ì—ì´ì „트는 í™˜ê²½ê³¼ì˜ ìƒí˜¸ìž‘ìš©ì„ í†µí•´ 주어진 ì •ì±…ì— ëŒ€í•œ 가치함수를 학습할 수 있는ë°, ì´ë¥¼ 예측ì´ë¼ê³  한다. ë˜í•œ 가치함수를 토대로 ì •ì±…ì„ ëŠìž„ì—†ì´ ë°œì „ì‹œì¼œ 나가서 ìµœì  ì •ì±…ì„ í•™ìŠµí•˜ëŠ” ê²ƒì´ ì œì–´ì´ë‹¤.
  • 4. 예측 몬테카를로 예측 시간차 예측 제어 살사 (시간차 제어) ì‚´ì‚¬ì˜ í•œê³„ë¥¼ 극복 íëŸ¬ë‹ (오프í´ë¦¬ì‹œ 제어)
  • 5. ê°•í™”í•™ìŠµì€ í™˜ê²½ì˜ ëª¨ë¸ ì—†ì´ í™˜ê²½ì´ë¼ëŠ” ì‹œìŠ¤í…œì˜ ìž…ë ¥ê³¼ 출력 사ì´ì˜ 관계를 학습한다. ì´ë•Œ ìž…ë ¥ì€ ì—ì´ì „íŠ¸ì˜ ìƒíƒœì™€ í–‰ë™ì´ê³  ì¶œë ¥ì€ ë³´ìƒì´ë‹¤. ê°•í™”í•™ìŠµì€ 1. ì¼ë‹¨ í•´ë³´ê³  2. ìžì‹ ì„ í‰ê°€í•˜ë©° 3. í‰ê°€í•œ 대로 ìžì‹ ì„ ì—…ë°ì´íŠ¸í•˜ë©° 4. ì´ ê³¼ì •ì„ ë°˜ë³µí•œë‹¤. 강화학습ì—서는 ê³„ì‚°ì„ í†µí•´ì„œ 가치함수를 알아내는 ê²ƒì´ ì•„ë‹ˆë¼ ì—ì´ì „트가 ê²ªì€ ê²½í—˜ìœ¼ë¡œë¶€í„° 가치함수를 ì—…ë°ì´íЏ 한다.
  • 6. ì •ì±… ì´í„°ë ˆì´ì…˜ì—서 ì •ì±… í‰ê°€ëŠ” 현재 ì •ì±…ì„ ë”°ëžì„ 때 ì°¸ 가치함수를 구하는 과정ì´ë‹¤. 강화학습ì—서는 ì´ ê³¼ì •ì„ "예측"ì´ë¼ê³  한다. ë˜í•œ 다ì´ë‚´ë¯¹ 프로그래ë°ì—서는 ì •ì±… í‰ê°€ì™€ ì •ì±… ë°œì „ì„ í•©ì¹œ ê²ƒì„ ì •ì±… ì´í„°ë ˆì´ì…˜ì´ë¼ê³  불렀지만 강화학습ì—서는 예측과 함께 ì •ì±…ì„ ë°œì „ì‹œí‚¤ëŠ” ê²ƒì„ "제어"ë¼ê³  부른다.
  • 7. 몬테카를로 근사 몬테카를로ë¼ëŠ” ë§ì€ "무작위로 무엇ì¸ê°€ë¥¼ 해본다"는 ì˜ë¯¸ì´ë‹¤. 근사ë¼ëŠ” ê²ƒì€ ì›ëž˜ì˜ ê°’ì€ ëª¨ë¥´ì§€ë§Œ "샘플"ì„ í†µí•´ "ì›ëž˜ì˜ ê°’ì— ëŒ€í•´ ì´ëŸ´ 것ì´ë‹¤"ë¼ê³  추정하는 것ì´ë‹¤. 몬테카를로 ê·¼ì‚¬ì˜ íŠ¹ì„± 중 하나는 무한히 ë°˜ë³µí–ˆì„ ë•Œ ì›ëž˜ì˜ ê°’ê³¼ ë™ì¼í•´ì§„다는 것ì´ë‹¤. (종ì´ì˜ ë©´ì ì„ 안다고 í–ˆì„때 ê·¸ 종ì´ì— 그려진 ì›ì˜ ë„“ì´ë¥¼ 추정하는 문제를 ìƒê°í•´ë³´ìž. 종ì´ì— ì ì„ 무작위로 무수히 ë§Žì´ ì°ëŠ”ë‹¤. ì „ì²´ ì°ì€ ì ë“¤ 중ì—서 ì› ì•ˆì— ë“¤ì–´ê°€ 있는 ì ì˜ ë¹„ìœ¨ì„ êµ¬í•˜ë©´ ì´ë¯¸ 알고 있는 종ì´ì˜ ë©´ì ì„ 통해 ì›ì˜ ë„“ì´ ê°’ì„ ì¶”ì •í•  수 있다. 즉 ì°ì€ ì ì˜ 비율로 ì›ì˜ ë„“ì´ë¥¼ 근사하는 것ì´ë‹¤. ì›ì˜ ë„“ì´ë¥¼ 구하는 ë°©ì •ì‹ì„ 몰ë¼ë„ ì´ ë°©ì‹ì„ 통해 ì›ì˜ ë„“ì´ë¥¼ 구할 수 있다는 ì ì´ 장ì ì´ë‹¤.)
  • 8. 샘플ë§ê³¼ 몬테카를로 예측 ì •ì±… ì´í„°ë ˆì´ì…˜ì˜ ì •ì±… í‰ê°€ 과정ì—서 몬테카를로 근사를 ì´ìš©í•´ 가치함수를 ì¶”ì •í•´ë³´ìž ì›ì˜ ë„“ì´ë¥¼ 추정할 때는 ì ì´ í•˜ë‚˜ì˜ ìƒ˜í”Œì´ë©° ì ì„ ì°ëŠ” ê²ƒì´ "샘플ë§"ì´ë‹¤. 가치함수를 추정할 때는 ì—ì´ì „트가 한 번 환경ì—서 ì—피소드를 진행하는 ê²ƒì´ ìƒ˜í”Œë§ì´ë‹¤. ì´ ìƒ˜í”Œë§ì„ 통해 ì–»ì€ ìƒ˜í”Œì˜ í‰ê· ìœ¼ë¡œ ì°¸ ê°€ì¹˜í•¨ìˆ˜ì˜ ê°’ì„ ì¶”ì •í•œë‹¤. ì´ë•Œ 몬테카를로 근사를 사용하는 ê²ƒì„ ëª¬í…Œì¹´ë¥¼ë¡œ 예측ì´ë¼ê³  한다.
  • 9. 몬테카를로 ì˜ˆì¸¡ì„ í†µí•œ 가치함수 ì¶”ì •ì˜ ê³¼ì •ì€ ë‹¤ìŒê³¼ 같다 ìƒ˜í”Œë§ ê°€ì¹˜í•¨ìˆ˜ 추정í‰ê·  + =
  • 10. 벨만 기대 ë°©ì •ì‹ì„ 계산하려면 ì¡°ê±´ì´ í•„ìš”í–ˆì—ˆë‹¤. 바로 í™˜ê²½ì˜ ëª¨ë¸ì¸ ë³´ìƒê³¼ ìƒíƒœ 변환 í™•ë¥ ì„ ì•Œì•„ì•¼ 하는 것ì´ë‹¤. ì´ê²ƒì€ 마치 ì›ì˜ ë„“ì´ë¥¼ 구할 때 ì›ì˜ ë„“ì´ì˜ ë°©ì •ì‹ì„ 알아야 하는 것과 마찬가지ì´ë‹¤. 몬테카를로 예측ì—서는 í™˜ê²½ì˜ ëª¨ë¸ì„ 몰ë¼ë„ 여러 ì—피소드를 통해 구한 ë°˜í™˜ê°’ì˜ í‰ê· ì„ 통해 가치함수를 추정한다. 위 수ì‹ì€ 여러 ë²ˆì˜ ì—피소드ì—서 së¼ëŠ” ìƒíƒœë¥¼ 방문해서 ì–»ì€ ë°˜í™˜ê°’ë“¤ì˜ í‰ê· ì„ 통해 ì°¸ 가치함수를 추정하는 ì‹ì´ë‹¤. N(s)는 싱태 s를 여러 ë²ˆì˜ ì—피소드 ë™ì•ˆ 방문한 횟수ì´ë‹¤. G_i (s)는 ê·¸ ìƒíƒœë¥¼ 방문한 i번째 ì—피소드ì—서 sì˜ ë°˜í™˜ê°’ì´ë‹¤. s를 ë°©ë¬¸í–ˆë˜ ì—í”¼ì†Œë“œì— ëŒ€í•´ 마침 ìƒíƒœê¹Œì§€ì˜ ë°˜í™˜ê°’ì„ í‰ê· ë‚´ëŠ” 것ì´ë‹¤.
  • 11. 현재 ì •ì±…ì— ë”°ë¼ ë¬´ìˆ˜ížˆ ë§Žì€ ì—피소드를 진행해 ë³´ë©´ 현재 ì •ì±…ì„ ë”°ëžì„ 때 지날 수 있는 모든 ìƒíƒœì— 대해 충분한 ë°˜í™˜ê°’ë“¤ì„ ëª¨ì„ ìˆ˜ 있다. ë”°ë¼ì„œ ê° ìƒíƒœì— 대해서 ëª¨ì¸ ë°˜í™˜ê°’ë“¤ì˜ í‰ê· ì„ ë‚´ë©´ ìƒë‹¹ížˆ 정확한 ê°€ì¹˜í•¨ìˆ˜ì˜ ê°’ì„ ì–»ì„ ìˆ˜ 있다.
  • 12. nê°œì˜ ë°˜í™˜ê°’ì„ í†µí•´ í‰ê· ì„ 취한 가치함수를 V_(n+1)ì´ë¼ê³  í•´ë³´ìž. ì¶”ì •ëœ ê°€ì¹˜í•¨ìˆ˜ V_(n+1)는 현재 ë°›ì€ ë°˜í™˜ê°’ G_nê³¼ ì´ì „ì— ë°›ì•˜ë˜ ë°˜í™˜ê°’ì˜ í•© 를 ë”한 ê°’ì˜ í‰ê· ì´ë‹¤.
  • 13. ì•žì˜ ì‹ì—서 ì´ì „ ë°˜í™˜ê°’ë“¤ì˜ í•©ì— (n-1)ì„ ê³±í•˜ê³  ë‚˜ëˆ ë³´ìž ëŠ” ì´ì „ì˜ ê°€ì¹˜í•¨ìˆ˜ ì´ë‹¤. ë”°ë¼ì„œ 수ì‹ì„ 정리해보면 ) 위 ì‹ì„ 정리하면 )
  • 14. ì–´ë–¤ ìƒíƒœì˜ 가치함수는 샘플ë§ì„ 통해 ì—ì´ì „트가 ê·¸ ìƒíƒœë¥¼ 방문할 때마다 ì—…ë°ì´íŠ¸í•˜ê²Œ ëœë‹¤. ì›ëž˜ 가지고 ìžˆë˜ ê°€ì¹˜í•¨ìˆ˜ ê°’ V(s)ì— 1/n(G(s)-V(s))를 ë”í•¨ìœ¼ë¡œì¨ ì—…ë°ì´íЏ 하는 것ì´ë‹¤. 다ìŒì€ 몬테카를로 예측ì—서 ê°€ì¹˜í•¨ìˆ˜ì˜ ì—…ë°ì´íЏ ì‹ì´ë‹¤. G(s)-V(s)를 오차ë¼ê³  하며, 1/nì€ ìŠ¤í…사ì´ì¦ˆë¡œì„œ ì—…ë°ì´íŠ¸í• ë•Œ ì˜¤ì°¨ì˜ ì–¼ë§ˆë¥¼ 가지고 ì—…ë°ì´íŠ¸í• ì§€ 정하는 것ì´ë‹¤. ì´ë•Œ 스í…사ì´ì¦ˆê°€ 1ì´ë¼ë©´ G(s)ê°€ ê¸°ì¡´ì˜ V(s)를 대체하게 ëœë‹¤. ì¼ë°˜ì ìœ¼ë¡œ 스í…사ì´ì¦ˆëŠ” α로 표현한다. ì´ ê°’ì´ ë„ˆë¬´ í¬ë©´ 수렴하지 못하고 너무 작으면 ìˆ˜ë ´ì˜ ì†ë„ê°€ ëŠë¦¬ë‹¤. 모든 강화학습 방법ì—서 가치함수를 ì—…ë°ì´íŠ¸í•˜ëŠ” ê²ƒì€ ëª¨ë‘ ìœ„ ì‹ì˜ ë³€í˜•ì¼ ë¿ì´ë¯€ë¡œ ì´ ì‹ì„ 정확히 ì´í•´í•´ì•¼ 한다.
  • 15. 가치함수 입장ì—서 ì—…ë°ì´íŠ¸ë¥¼ 통해 ë„달하려는 목표는 반환값ì´ë‹¤. 가치함수는 ì´ ëª©í‘œë¡œ ê°ìœ¼ë¡œì¨ ìžì‹ ì„ ì—…ë°ì´íŠ¸í•˜ëŠ”ë° í•œ ë²ˆì— ëª©í‘œì ìœ¼ë¡œ 가는 ê²ƒì´ ì•„ë‹ˆê³  스í…사ì´ì¦ˆë¥¼ 곱한 ë§Œí¼ë§Œ 가는 것ì´ë‹¤. 몬테카를로 예측ì—서 ì—ì´ì „트는 ì´ ì—…ë°ì´íЏ ì‹ì„ 통해 ì—피소드 ë™ì•ˆ ê²½í—˜í–ˆë˜ ëª¨ë“  ìƒíƒœì— 대해 가치함수를 ì—…ë°ì´íŠ¸í•œë‹¤. 어떠한 ìƒíƒœì˜ 가치함수가 ì—…ë°ì´íЏë ìˆ˜ë¡ 가치함수는 현재 ì •ì±…ì— ëŒ€í•œ ì°¸ ê°€ì¹˜í•¨ìˆ˜ì— ìˆ˜ë ´í•´ê°„ë‹¤. ì—ì´ì „트는 마침 ìƒíƒœì— ê°ˆ 때까지 ì•„ë¬´ê²ƒë„ í•˜ì§€ 않는다. 마침 ìƒíƒœì— ë„착하면 ì—ì´ì „트는 지나온 모든 ìƒíƒœì˜ 가치함수를 ì—…ë°ì´íŠ¸í•œë‹¤. ì—피소드 ë™ì•ˆ ë°©ë¬¸í–ˆë˜ ëª¨ë“  ìƒíƒœì˜ 가치함수를 ì—…ë°ì´íŠ¸í•˜ë©´ ì—ì´ì „트는 다시 시작 ìƒíƒœì—서부터 새로운 ì—피소드를 진행한다. ì´ëŸ¬í•œ ê³¼ì •ì„ ê³„ì† ë°˜ë³µí•˜ëŠ” ê²ƒì´ ëª¬í…Œì¹´ë¥¼ë¡œ 예측ì´ë‹¤.
  • 16. 강화학습ì—서 가장 중요한 ì•„ì´ë””ì–´ 중 하나가 바로 시간차ì´ë‹¤. 몬테카를로 ì˜ˆì¸¡ì˜ ë‹¨ì ì€ ì‹¤ì‹œê°„ì´ ì•„ë‹ˆë¼ëŠ” ì ì´ë‹¤. 가치함수를 ì—…ë°ì´íŠ¸í•˜ê¸° 위해서는 ì—피소드가 ëë‚  때까지 기다려야 한다. ë˜í•œ ì—í”¼ì†Œë“œì˜ ëì´ ì—†ê±°ë‚˜ ì—í”¼ì†Œë“œì˜ ê¸¸ì´ê°€ 긴 경우ì—는 몬테카를로 ì˜ˆì¸¡ì€ ì í•©í•˜ì§€ 않다. 몬테카를로 예측ì—서와 ê°™ì´ ì—피소드마다가 ì•„ë‹ˆë¼ íƒ€ìž„ìŠ¤í…마다 가치함수를 ì—…ë°ì´íŠ¸í•˜ëŠ” ë°©ë²•ì´ ì‹œê°„ì°¨ 예측ì´ë‹¤.
  • 17. 몬테카를로 예측ì—서는 다ìŒê³¼ ê°™ì€ ê°€ì¹˜í•¨ìˆ˜ì˜ ì •ì˜ë¥¼ ì´ìš©í•˜ëŠ”ë° ê¸°ëŒ“ê°’ì„ ê³„ì‚°í•˜ì§€ 않고 샘플ë§ì„ 통해 예측했었다. 시간차 예측ì—서는 다ìŒê³¼ ê°™ì€ ê°€ì¹˜í•¨ìˆ˜ì˜ ì •ì˜ë¥¼ ì´ìš©í•œë‹¤ ê¸°ëŒ“ê°’ì„ ê³„ì‚°í•˜ì§€ 않고 ê°’ì„ ìƒ˜í”Œë§í•´ì„œ ê·¸ 값으로 í˜„ìž¬ì˜ ê°€ì¹˜í•¨ìˆ˜ë¥¼ ì—…ë°ì´íŠ¸í•œë‹¤. ê°€ì¹˜í•¨ìˆ˜ì˜ ì—…ë°ì´íŠ¸ëŠ” 실시간으로 ì´ë¤„지며, 몬테카를로 예측과는 달리 한 ë²ˆì— í•˜ë‚˜ì˜ ê°€ì¹˜í•¨ìˆ˜ë§Œ ì—…ë°ì´íŠ¸í•œë‹¤.
  • 18. ë‹¤ìŒ ì‹ì€ 시간차 예측ì—서 가치함수를 ì—…ë°ì´íŠ¸í•˜ëŠ” ì‹ì´ë‹¤. ) : ì—…ë°ì´íŠ¸ì˜ í¬ê¸° : ì—…ë°ì´íŠ¸ì˜ ëª©í‘œ : 시간차 ì—러
  • 19. 시간차 예측ì—서 ì—…ë°ì´íŠ¸ì˜ ëª©í‘œëŠ” ì‹¤ì œì˜ ê°’ì€ ì•„ë‹ˆë‹¤. V(S_(t+1))ì€ í˜„ìž¬ ì—ì´ì „트가 가지고 있는 ê°’ì´ë‹¤. ì—ì´ì „트는 ì´ ê°’ì„ S_(t+1)ì˜ ê°€ì¹˜ í•¨ìˆ˜ì¼ ê²ƒì´ë¼ê³  예측하고 있다. 다른 ìƒíƒœì˜ 가치함수 ì˜ˆì¸¡ê°’ì„ í†µí•´ 지금 ìƒíƒœì˜ 가치함수를 예측하는 ì´ëŸ¬í•œ ë°©ì‹ì„ 부트스트랩(Bootstrap)ì´ë¼ê³  한다. 즉, ì—…ë°ì´íЏ ëª©í‘œë„ ì •í™•í•˜ì§€ ì•Šì€ ìƒí™©ì—서 가치함수를 ì—…ë°ì´íЏ 하는 것ì´ë‹¤. ì–´ë–¤ ìƒíƒœì—서 í–‰ë™ì„ 하면 ë³´ìƒì„ 받고 ë‹¤ìŒ ìƒíƒœë¥¼ 알게 ë˜ê³  ë‹¤ìŒ ìƒíƒœì˜ 가치함수와 ë°›ì€ ë³´ìƒì„ ë”í•´ ê·¸ ê°’ì„ ì—…ë°ì´íŠ¸ì˜ ëª©í‘œë¡œ 삼는다는 것ì´ë‹¤. ë‹¤ìŒ ìƒíƒœì—서 ë˜ ë‹¤ì‹œ í–‰ë™ì„ ì„ íƒí•˜ê³  ì´ ê³¼ì •ì´ ë°˜ë³µëœë‹¤. 시간차 ì˜ˆì¸¡ì€ ì—피소드가 ëë‚  때까지 기다릴 í•„ìš” ì—†ì´ ë°”ë¡œ 가치함수를 ì—…ë°ì´íЏ í•  수 있다. 시간차 ì˜ˆì¸¡ì€ ì¶©ë¶„ížˆ ë§Žì€ ìƒ˜í”Œë§ì„ 통해 ì—…ë°ì´íŠ¸í•˜ë©´ ì°¸ ê°€ì¹˜í•¨ìˆ˜ì— ìˆ˜ë ´í•˜ë©° ë§Žì€ ê²½ìš°ì— ëª¬í…Œì¹´ë¥¼ë¡œ 예측보다 ë” íš¨ìœ¨ì ìœ¼ë¡œ 빠른 시간 ì•ˆì— ì°¸ ê°€ì¹˜í•¨ìˆ˜ì— ê·¼ì ‘í•œë‹¤.
  • 20. [파ì´ì¬ê³¼ ì¼€ë¼ìŠ¤ë¡œ 배우는 강화학습] p.128 그림 4.14 강화학습 알고리즘 íë¦„ì„ ì‚´íŽ´ë³´ë©´ ì •ì±… ì´í„°ë ˆì´ì…˜ê³¼ 가치 ì´í„°ë ˆì´ì…˜ ì€ ì‚´ì‚¬ë¡œ 발전한다. 살사부터 강화학습ì´ë¼ê³  부른다.
  • 21. ì •ì±… ì´í„°ë ˆì´ì…˜ì€ "ì •ì±… í‰ê°€"와 "ì •ì±… 발전"ì„ ë²ˆê°ˆì•„ 가며 실행하는 과정ì´ë‹¤. í˜„ìž¬ì˜ ì •ì±…ì— ëŒ€í•´ ì •ì±… í‰ê°€ë¥¼ 통해 가치함수를 구하고, ê·¸ 가치함수를 통해 ì •ì±…ì„ ë°œì „í•˜ëŠ” ê²ƒì˜ ë°˜ë³µì´ë‹¤. 벨만 기대 ë°©ì •ì‹ì„ ì´ìš©í•´ í˜„ìž¬ì˜ ì •ì±…ì— ëŒ€í•œ ì°¸ 가치함수를 구하는 ê²ƒì´ ì •ì±… í‰ê°€ì´ë©°, 구한 ê°€ì¹˜í•¨ìˆ˜ì— ë”°ë¼ ì •ì±…ì„ ì—…ë°ì´íŠ¸í•˜ëŠ” ê²ƒì´ ì •ì±… 발전ì´ë‹¤.
  • 22. ì •ì±… í‰ê°€ 과정ì—서 ì°¸ ê°€ì¹˜í•¨ìˆ˜ì— ìˆ˜ë ´í•  때까지 계산하지 ì•Šì•„ë„ ì •ì±… í‰ê°€ì™€ ì •ì±… ë°œì „ì„ í•œ 번씩 번갈아 가면서 실행하면 ì°¸ ê°€ì¹˜í•¨ìˆ˜ì— ìˆ˜ë ´í•  때까지 ê³„ì‚°í–ˆì„ ë•Œì™€ 마찬가지로 ìµœì  ê°€ì¹˜í•¨ìˆ˜ì— ê°€ì¹˜í•¨ìˆ˜ê°€ 수렴한다. ì´ëŸ¬í•œ ì •ì±… ì´í„°ë ˆì´ì…˜ì„ GPI(Generalized Policy Iteration)ë¼ê³  한다. GPI는 단 한 번만 ì •ì±…ì„ í‰ê°€í•´ì„œ 가치함수를 ì—…ë°ì´íŠ¸í•˜ê³  바로 ì •ì±…ì„ ë°œì „í•˜ëŠ” ê³¼ì •ì„ ë°˜ë³µí•œë‹¤. GPIì˜ ì •ì±… í‰ê°€ ê³¼ì •ì„ ìˆ˜í–‰í•˜ëŠ” ê²ƒì´ ëª¬í…Œì¹´ë¥¼ë¡œ 예측, 시간차 예측ì´ë‹¤. 시간차 ì˜ˆì¸¡ì— ëŒ€í•´ì„œë§Œ ì‚´íŽ´ë³´ìž GPIì˜ íƒìš• ì •ì±… ë°œì „ì€ ì£¼ì–´ì§„ ê°€ì¹˜í•¨ìˆ˜ì— ëŒ€í•´ 새로운 ì •ì±…ì„ ì–»ëŠ” 과정ì´ë‹¤. 시간차 방법ì—서는 타임스í…마다 가치함수를 현재 ìƒíƒœì— 대해서만 ì—…ë°ì´íŠ¸í•œë‹¤. ë”°ë¼ì„œ GPIì—서처럼 모든 ìƒíƒœì˜ ì •ì±…ì„ ë°œì „ì‹œí‚¬ 수 없다. 하지만 시간차 방법ì—서 ì´ë¥¼ 가능케 í•  수 있는ë°, 바로 가치 ì´í„°ë ˆì´ì…˜ì˜ ë°©ë²•ì„ ì‚¬ìš©í•˜ëŠ” 것ì´ë‹¤. 가치 ì´í„°ë ˆì´ì…˜ì—서는 ì •ì±… ì´í„°ë ˆì´ì…˜ì—서와 달리 별ë„ì˜ ì •ì±… ì—†ì´ ê°€ì¹˜í•¨ìˆ˜ì— ëŒ€í•´ íƒìš•ì ìœ¼ë¡œ 움ì§ì¼ ë¿ì´ì—ˆë‹¤. 시간차 방법ì—ì„œë„ ë§ˆì°¬ê°€ì§€ì¸ë° 별ë„ì˜ ì •ì±…ì„ ë‘ì§€ 않고 ì—ì´ì „트는 현재 ìƒíƒœì—서 가장 í° ê°€ì¹˜ë¥¼ 지니는 í–‰ë™ì„ ì„ íƒí•˜ëŠ” íƒìš• ì •ì±…ì„ ì‚¬ìš©í•˜ë©´ ëœë‹¤. 시간차 예측과 íƒìš• ì •ì±…ì´ í•©ì³ì§„ ê²ƒì„ ì‹œê°„ì°¨ 제어ë¼ê³  한다.
  • 23. GPIì—서 ì •ì±… ë°œì „ì˜ ì‹ì€ 다ìŒê³¼ 같다. 현재 ìƒíƒœì˜ ì •ì±…ì„ ë°œì „ì‹œí‚¤ë ¤ë©´ ê²°êµ­ ì˜ ìµœëŒ“ ê°’ì„ ì•Œì•„ì•¼ í•˜ëŠ”ë° ê·¸ëŸ¬ë ¤ë©´ í™˜ê²½ì˜ ëª¨ë¸ì¸ 를 알아야 한다.
  • 24. íƒìš• ì •ì±…ì—서 ë‹¤ìŒ ìƒíƒœì˜ 가치함수를 ë³´ê³  íŒë‹¨í•˜ëŠ” ê²ƒì´ ì•„ë‹ˆê³  현재 ìƒíƒœì˜ í함수를 ë³´ê³  íŒë‹¨í•œë‹¤ë©´ í™˜ê²½ì˜ ëª¨ë¸ì„ 몰ë¼ë„ ëœë‹¤. í함수를 사용한 íƒìš• ì •ì±…ì˜ ì‹ì€ 다ìŒê³¼ 같다.
  • 25. 시간차 제어ì—서는 위 수ì‹ìœ¼ë¡œ 표현ë˜ëŠ” íƒìš• ì •ì±…ì„ í†µí•´ í–‰ë™ì„ ì„ íƒí•œë‹¤. íí•¨ìˆ˜ì— ë”°ë¼ í–‰ë™ì„ ì„ íƒí•˜ë ¤ë©´ ì—ì´ì „트는 가치함수가 아닌 íí•¨ìˆ˜ì˜ ì •ë³´ë¥¼ 알아야 한다. ë”°ë¼ì„œ 시간차 제어ì—서 ì—…ë°ì´íŠ¸í•˜ëŠ” 대ìƒì´ 가치함수가 아닌 í함수가 ë¼ì•¼ 한다. 시간차 ì œì–´ì˜ ì‹ì€ 다ìŒê³¼ 같다. 위 수ì‹ì—서 ë‹¤ìŒ ìƒíƒœì˜ íí•¨ìˆ˜ì¸ ë¥¼ 알기 위해서는 ë‹¤ìŒ ìƒíƒœ S_(t+1)ì—서 ë‹¤ìŒ í–‰ë™ ê¹Œì§€ A_(t+1)ì„ íƒí•´ì•¼ 한다.
  • 26. 시간차 제어ì—서 í함수를 ì—…ë°ì´íŠ¸í•˜ë ¤ë©´ ìƒ˜í”Œì´ ìžˆì–´ì•¼ 한다. 시간차 제어ì—서는 [ ]ì„ ìƒ˜í”Œë¡œ 사용한다. ì—ì´ì „트는 ìƒ˜í”Œì¸ ìƒíƒœ S_tì—서 íƒìš• ì •ì±…ì— ë”°ë¼ í–‰ë™ A_t를 ì„ íƒí•˜ê³  ê·¸ í–‰ë™ì„ 환경ì—서 한 타임스í…ì„ ì§„í–‰í•œë‹¤. 그러면 í™˜ê²½ì€ ì—ì´ì „트ì—게 ë³´ìƒ R_(t+1)ì„ ì£¼ê³  ë‹¤ìŒ ìƒíƒœ S_(t+1)를 알려준다. 여기서 한 번 ë” ì—ì´ì „트는 íƒìš• ì •ì±…ì— ë”°ë¼ í–‰ë™ A_(t+1)ì„ ì„ íƒí•˜ê³  í•˜ë‚˜ì˜ ìƒ˜í”Œì´ ìƒì„±ë˜ë©´ ê·¸ 샘플로 í함수를 ì—…ë°ì´íŠ¸í•œë‹¤. ì´ê²ƒì´ 시간차 ì œì–´ì˜ ê³¼ì •ì´ë‹¤. [ ]ì„ í•˜ë‚˜ì˜ ìƒ˜í”Œë¡œ 사용하기 ë•Œë¬¸ì— ì‹œê°„ì°¨ 제어를 다른 ë§ë¡œ 살사(SARSA)ë¼ê³  부른다. 살사는 현재 가지고 있는 í함수를 토대로 ìƒ˜í”Œì„ íƒìš• 정책으로 모으고 ê·¸ 샘플로 방문한 í함수를 ì—…ë°ì´íŠ¸í•˜ëŠ” ê³¼ì •ì„ ë°˜ë³µí•˜ëŠ” 것ì´ë‹¤.
  • 27. 하지만 ì´ë¯¸ 충분히 ë§Žì€ ê²½í—˜ì„ í•œ ì—ì´ì „íŠ¸ì˜ ê²½ìš°ì—는 íƒìš• ì •ì±…ì´ ì¢‹ì€ ì„ íƒì´ê² ì§€ë§Œ ì´ˆê¸°ì˜ ì—ì´ì „트ì—게 íƒìš• ì •ì±…ì€ ìž˜ëª»ëœ í•™ìŠµìœ¼ë¡œ 가게 í•  ê°€ëŠ¥ì„±ì´ í¬ë‹¤. 즉, 충분한 ê²½í—˜ì„ í†µí•´ ì—ì´ì „트가 보유하고 있는 íí•¨ìˆ˜ë“¤ì´ ìµœì ì— 가까워지게 하는 ê²ƒì´ í•„ìš”í•˜ë‹¤. ì´ ë¬¸ì œëŠ” ê°•í™”í•™ìŠµì˜ ì¤‘ìš”í•œ 문제로서 íƒí—˜(Exploration)ì˜ ë¬¸ì œì´ë‹¤. ë”°ë¼ì„œ íƒìš• ì •ì±…ì„ ëŒ€ì²´í•  수 있는 새로운 ì •ì±…ì´ í•„ìš”í•˜ë‹¤. ì—ì´ì „트로 하여금 ë” íƒí—˜í•˜ê²Œ í•  ë°©ë²•ì´ í•„ìš”í•œ 것ì´ë‹¤. ê·¸ ëŒ€ì•ˆì´ Îµ-íƒìš• ì •ì±…ì´ë‹¤. ε만í¼ì˜ 확률로 íƒìš•ì ì´ì§€ ì•Šì€ í–‰ë™ì„ ì„ íƒí•˜ê²Œ 하는 것ì´ë‹¤.
  • 28. [파ì´ì¬ê³¼ ì¼€ë¼ìŠ¤ë¡œ 배우는 강화학습] p.132 그림 4.21 1-Îµì¸ í™•ë¥ ë¡œëŠ” 현재 ìƒíƒœì—서 가장 í° íí•¨ìˆ˜ì˜ ê°’ì„ ê°€ì§€ëŠ” í–‰ë™ì„ ì„ íƒí•œë‹¤. 즉, íƒìš• ì •ì±…ì„ ë”°ë¥´ëŠ” 것ì´ë‹¤. 하지만 현재 가지고 있는 í함수는 수렴하기 전까지는 íŽ¸í–¥ë¼ ìžˆëŠ”, 정확하지 ì•Šì€ ê°’ì´ë‹¤. ë”°ë¼ì„œ ì—ì´ì „트는 정확하지 ì•Šì€ í함수를 토대로 íƒìš•ì ìœ¼ë¡œ í–‰ë™í•˜ê¸° 보다는 ì¼ì •한 Îµì¸ í™•ë¥ ë¡œ 엉뚱한 í–‰ë™ì„ 한다.
  • 29. ε-íƒìš• ì •ì±…ì€ íƒìš• ì •ì±„ì˜ ëŒ€ì•ˆìœ¼ë¡œì„œ ì—ì´ì „트가 ì§€ì†ì ìœ¼ë¡œ íƒí—˜í•˜ê²Œ 한다. 물론 ε-íƒìš• ì •ì±…ì€ ìµœì  í함수를 찾았다 하ë”ë¼ë„ Îµì˜ í™•ë¥ ë¡œ ê³„ì† íƒí—˜í•œë‹¤ëŠ” 한계가 있다. ë”°ë¼ì„œ í•™ìŠµì„ ì§„í–‰í•¨ì— ë”°ë¼ Îµì˜ ê°’ì„ ê°ì†Œì‹œí‚¤ëŠ” ë°©ë²•ë„ ìžˆë‹¤. ë” ë§Žì€ í•™ìŠµ ë°©ë²•ì´ ìžˆëŠ”ë° ê·¸ê±´ ë‚˜ì¤‘ì— ë‹¤ë£° 것ì´ë‹¤.
  • 30. ì´ì²˜ëŸ¼ 살사는 GPIì˜ ì •ì±… í‰ê°€ë¥¼ í함수를 ì´ìš©í•œ 시간차 예측으로, íƒìš• ì •ì±… ë°œì „ì„ Îµ-íƒìš• 정책으로 변화시킨 강화학습 알고리즘ì´ë‹¤. ë˜í•œ ì •ì±… ì´í„°ë ˆì´ì…˜ê³¼ëŠ” 달리 별ë„ì˜ ì •ì±… ì—†ì´ Îµ-íƒìš• ì •ì±…ì„ ì‚¬ìš©í•˜ëŠ” ê²ƒì€ ê°€ì¹˜ ì´í„°ë ˆì´ì…˜ì—서 ê·¸ ê°œë…ì„ ê°€ì ¸ì˜¨ 것ì´ë‹¤. 살사는 간단히 ë‘ ë‹¨ê³„ë¡œ ìƒê°í•˜ë©´ ëœë‹¤. 1. ε-íƒìš• ì •ì±…ì„ í†µí•´ 샘플 [ ]ì„ íšë“ 2. íšë“한 샘플로 ë‹¤ìŒ ì‹ì„ 통해 í함수 Q(S_t,A_t)를 ì—…ë°ì´íЏ í함수는 ì—ì´ì „트가 가진 정보로서 íí•¨ìˆ˜ì˜ ì—…ë°ì´íŠ¸ëŠ” ì—ì´ì „트 ìžì‹ ì„ ì—…ë°ì´íŠ¸í•˜ëŠ” 것과 같다.
  • 31. 살사는 온í´ë¦¬ì‹œ(On-Policy) 시간차 제어, 즉 ìžì‹ ì´ í–‰ë™í•˜ëŠ” 대로 학습하는 시간차 제어ì´ë‹¤. íƒí—˜ì„ 위해 ì„ íƒí•œ ε-íƒìš• ì •ì±…ì„ ì‹œí–‰í•˜ëŠ” 과정ì—서 ëžœë¤í•œ ì•¡ì…˜ì„ ì·¨í•œ ê²ƒì˜ ê²°ê³¼ë¡œ ì—ì´ì „트가 최ì ì˜ ì •ì±…ì´ ì•„ë‹ˆë¼ ìž˜ëª»ëœ ì •ì±…ì„ í•™ìŠµí•˜ê²Œ ë˜ëŠ” 경우가 ë°œìƒí•  수 있다. 하지만 강화학습ì—서 íƒí—˜ì€ 절대ì ìœ¼ë¡œ 필요한 요소ì´ê¸°ë„ 하다. 충분한 íƒí—˜ì„ 하지 않으면 ìµœì  ì •ì±…ì„ í•™ìŠµí•˜ì§€ 못하기 때문ì´ë‹¤. ì´ëŸ¬í•œ 딜레마를 해결하기 위해 사용하는 ê²ƒì´ ë°”ë¡œ 오프í´ë¦¬ì‹œ(Off-Policy) 시간차 제어ì´ë‹¤. 다른 ë§ë¡œëŠ” í러ë‹ì´ë¼ê³  한다.
  • 32. 오프í´ë¦¬ì‹œì˜ ë§ê·¸ëŒ€ë¡œ 현재 í–‰ë™í•˜ëŠ” 정책과는 ë…립ì ìœ¼ë¡œ 학습한다는 ê²ƒì´ í러ë‹ì˜ ì•„ì´ë””ì–´ì´ë‹¤. 즉 í–‰ë™í•˜ëŠ” ì •ì±…ê³¼ 학습하는 ì •ì±…ì„ ë”°ë¡œ 분리한다. ì—ì´ì „트는 í–‰ë™í•˜ëŠ” 정책으로 ì§€ì†ì ì¸ íƒí—˜ì„ 하면서 따로 목표 ì •ì±…ì„ ë‘¬ì„œ í•™ìŠµì€ ëª©í‘œ ì •ì±…ì— ë”°ë¼ì„œ 한다. 반면 살사ì—서는 따로 ì •ì±…ì´ ì¡´ìž¬í•˜ì§€ 않으며 단지 현재 íí•¨ìˆ˜ì— ë”°ë¼ í–‰ë™ì„ ì„ íƒí–ˆì„ ë¿ì´ì—ˆë‹¤. 살사ì—서 ì—ì´ì „트는 현재 ìƒíƒœ sì—서 í–‰ë™ a를 ε-íƒìš• ì •ì±…ì— ë”°ë¼ ì„ íƒí•œë‹¤. 그리고 ì—ì´ì „트는 환경으로부터 ë³´ìƒ rì„ ë°›ê³  ë‹¤ìŒ ìƒíƒœ s Ì ì„ ë°›ëŠ”ë‹¤. 그리고 ë‹¤ìŒ ìƒíƒœì¸ s Ì ì—서 ë˜ë‹¤ì‹œ ε-íƒìš• ì •ì±…ì— ë”°ë¼ ë‹¤ìŒ í–‰ë™ì„ ì„ íƒí•œ í›„ì— ê·¸ê²ƒì„ í•™ìŠµì— ìƒ˜í”Œë¡œ 사용한다. 하지만 í러ë‹ì—서는 ì—ì´ì „트가 ë‹¤ìŒ ìƒíƒœ s Ì ë¥¼ 알게 ë˜ë©´ s Ì ì—서 가장 í° í함수를 현재 ìƒíƒœ sì—ì„œì˜ íí•¨ìˆ˜ì˜ ì—…ë°ì´íŠ¸ì— ì‚¬ìš©í•œë‹¤. ì—ì´ì „트는 실제로 s Ì ì—서 ì–´ë–¤ í–‰ë™ì„ 했는지와 ìƒê´€ì—†ì´ 현재 ìƒíƒœ sì˜ í함수를 ì—…ë°ì´íŠ¸í•  때는 s Ì ì˜ ìµœëŒ€ í함수를 ì´ìš©í•œë‹¤. ë”°ë¼ì„œ 현재 ìƒíƒœì˜ í함수를 ì—…ë°ì´íŠ¸í•˜ê¸° 위해 필요한 ìƒ˜í”Œì€ <s,a,r,s Ì>ì´ë‹¤.
  • 33. í러ë‹ì˜ ì—…ë°ì´íЏ 수ì‹ì€ 다ìŒê³¼ 같다. ë‹¤ìŒ ì‹ì´ ë” ìµìˆ™í•œ ì‚¬ëžŒì´ ìžˆì„ ìˆ˜ë„ ìžˆë‹¤.
  • 34. 살사와 í러ë‹ì˜ ì—…ë°ì´íЏ ì‹ê³¼ 벨만 기대 ë°©ì •ì‹, 벨만 ìµœì  ë°©ì •ì‹ì„ 다시 ì‚´íŽ´ë³´ìž ë²¨ë§Œ 기대 ë°©ì •ì‹ ì‚´ì‚¬ 벨만 ìµœì  ë°©ì •ì‹ íëŸ¬ë‹ ì´ë¥¼ 통해 알 수 있는 ì ì€ 살사ì—서는 í함수를 ì—…ë°ì´íŠ¸í•˜ê¸° 위해 벨만 기대 ë°©ì •ì‹ì„ 사용하고, í러ë‹ì—서는 í함수를 ì—…ë°ì´íŠ¸í•˜ê¸° 위해 벨만 ìµœì  ë°©ì •ì‹ì„ 사용한다는 것ì´ë‹¤.
  • 35. í러ë‹ì„ 통해 학습하면 ë‹¤ìŒ ìƒíƒœ s Ì ì—서 실제 ì„ íƒí•œ í–‰ë™ì´ 안 ì¢‹ì€ í–‰ë™ì´ë¼ë„ ê·¸ ì •ë³´ê°€ 현재 ìƒíƒœ sì˜ í함수를 ì—…ë°ì´íŠ¸í•  때 í¬í•¨ë˜ì§€ 않는다. 왜ëƒí•˜ë©´ í러ë‹ì—서 í•™ìŠµì— ì‚¬ìš©í–ˆë˜ ë‹¤ìŒ ìƒíƒœì—ì„œì˜ í–‰ë™ê³¼ 실제로 ë‹¤ìŒ ìƒíƒœë¡œ 가서 한 í–‰ë™ì´ 다르기 때문ì´ë‹¤. ì´ì²˜ëŸ¼ 실제 환경ì—서 í–‰ë™ì„ 하는 ì •ì±…ê³¼ í함수를 ì—…ë°ì´íŠ¸í•  때 사용하는 ì •ì±…ì´ ë‹¤ë¥´ê¸° ë•Œë¬¸ì— í러ë‹ì„ 오프í´ë¦¬ì‹œë¼ê³  한다. í러ë‹ì€ 살사ì—서 ë”œë ˆë§ˆì˜€ë˜ "íƒí—˜ vs ìµœì  ì •ì±… 학습"ì˜ ë¬¸ì œë¥¼ ì •ì±…ì€ ë¶„ë¦¬ì‹œí‚¤ê³  í–‰ë™ ì„ íƒì€ ε-íƒìš• 정책으로, ì—…ë°ì´íŠ¸ëŠ” 벨만 ìµœì  ë°©ì •ì‹ì„ ì´ìš©í•¨ìœ¼ë¡œì¨ 해결했다.