PowerPoint 프레젠테이션

Similar documents
Ch 8 딥강화학습

Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제

<4D F736F F D20C3D6BDC C0CCBDB4202D20BAB9BBE7BABB>

Artificial Intelligence: Assignment 3 Seung-Hoon Na November 30, Sarsa와 Q-learning Windy Gridworld Windy gridworld는 (Sutton 교재 연습문제 6.5) 다음


<4D F736F F D20B1E2C8B9BDC3B8AEC1EE2DC0E5C7F5>

<4D F736F F D20C3D6BDC C0CCBDB4202D20BAB9BBE7BABB>

Ch 1 머신러닝 개요.pptx


김기남_ATDC2016_160620_[키노트].key

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

methods.hwp

3 Gas Champion : MBB : IBM BCS PO : 2 BBc : : /45

Buy one get one with discount promotional strategy

사회통계포럼

PowerPoint 프레젠테이션

슬라이드 1

C# Programming Guide - Types

Introduction to Deep learning

<C7A5C1F620BEE7BDC4>

歯목차.PDF

산선생의 집입니다. 환영해요

<B4EBC7D0BCF6C7D02DBBEFB0A2C7D4BCF62E687770>

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000

장연립방정식을풀기위한반복법 12.1 선형시스템 : Gauss-Seidel 12.2 비선형시스템 12.1 선형시스템 : Gauss-Seidel (1/10) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정

Microsoft PowerPoint - ìž—ë²€ëflflëfiœ_ê°ŁíŽflíŁŽì−µ_엸미뇟_2ì°¨_ ppt [ퟸ펟 모ëfiœ]

chap 5: Trees

확률과통계 강의자료-1.hwp

= ``...(2011), , (.)''

PowerPoint 프레젠테이션

1-1-basic-43p

, ( ) 1) *.. I. (batch). (production planning). (downstream stage) (stockout).... (endangered). (utilization). *

164

Microsoft PowerPoint - 실습소개와 AI_ML_DL_배포용.pptx

Lecture12_Bayesian_Decision_Thoery

DIY 챗봇 - LangCon

Probabilistic graphical models: Assignment 3 Seung-Hoon Na June 7, Gibbs sampler for Beta-Binomial Binomial및 beta분포는 다음과 같이 정의된다. k Bin(n, θ):

_KrlGF발표자료_AI

설계란 무엇인가?

2002년 2학기 자료구조

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table

PowerPoint 프레젠테이션

OCW_C언어 기초

중간고사

슬라이드 1

融合先验信息到三维重建 组会报 告[2]

<4D F736F F F696E74202D2035BBF3C6F2C7FC5FBCF8BCF6B9B0C1FA2E BC8A3C8AF20B8F0B5E55D>

4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1

hwp

<313120C0AFC0FCC0DA5FBECBB0EDB8AEC1F2C0BB5FC0CCBFEBC7D15FB1E8C0BAC5C25FBCF6C1A42E687770>

PowerPoint 프레젠테이션

탐색적데이터분석 (Exploratory Data Analysis) 데이터가지닌주요특성 / 개괄을 ( 우선적으로 ) 탐구함으로써 데이터분석을시도하려는형태 모델링이나가설을세우고이를검증하기보다데이터자체 가우리에게말하려고하는것을알아내는것의중요성을강 조하며시각화플롯을많이활용 J

Artificial Intelligence: Assignment 5 Seung-Hoon Na December 15, Numpy: Tutorial 다음 자료를 참조하여 numpy기본을 공부하시오.

Chapter4.hwp

KAKAO AI REPORT Vol.01

PowerPoint 프레젠테이션

딥러닝 첫걸음

해양모델링 2장5~ :26 AM 페이지6 6 오픈소스 소프트웨어를 이용한 해양 모델링 물리적 해석 식 (2.1)의 좌변은 어떤 물질의 단위 시간당 변화율을 나타내며, 우변은 그 양을 나타낸 다. k 5 0이면 C는 처음 값 그대로 농

Probability Overview Naive Bayes Classifier Director of TEAMLAB Sungchul Choi

<B9CCB5F0BEEEB0E6C1A6BFCDB9AEC8AD5F31322D32C8A35FBABBB9AE5FC3CAC6C731BCE25F6F6B5F E687770>

슬라이드 1

The characteristic analysis of winners and losers in curling: Focused on shot type, shot accuracy, blank end and average score SungGeon Park 1 & Soowo

untitled

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

Data Industry White Paper

Microsoft PowerPoint - 27.pptx

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

DBPIA-NURIMEDIA

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

09구자용(489~500)

보고싶었던 Deep Learning과 OpenCV를이용한이미지처리과정에대해공부를해볼수있으며더나아가 Deep Learning기술을이용하여논문을작성하는데많은도움을받을수있으며아직배우는단계에있는저에게는기존의연구를따라해보는것만으로도큰발전이있다고생각했습니다. 그래서이번 DSP스마

2 : (Seungsoo Lee et al.: Generating a Reflectance Image from a Low-Light Image Using Convolutional Neural Network) (Regular Paper) 24 4, (JBE

PowerPoint 프레젠테이션

Microsoft PowerPoint - ch07 - 포인터 pm0415

제1강 인공지능 개념과 역사

RVC Robot Vaccum Cleaner

Manufacturing6

DBPIA-NURIMEDIA

À±½Â¿í Ãâ·Â

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

Microsoft PowerPoint - chap06-2pointer.ppt

PowerPoint Presentation

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

(, sta*s*cal disclosure control) - (Risk) and (U*lity) (Synthe*c Data) 4. 5.

ÀλçÀÌÆ®3È£

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Dec.; 25(12),


G Power

untitled

레이아웃 1

제 3강 역함수의 미분과 로피탈의 정리

cha4_ocw.hwp

09권오설_ok.hwp

11이정민


슬라이드 1

untitled

Transcription:

가깝고도먼 DeepRL 이웅원 2018.02.07

강사소개 연세대학교기계공학과전공 모두의연구소 DCULab 랩장 제이마플선임연구원 파이썬과케라스로배우는강화학습 저자 패스트캠퍼스 Keras로시작하는강화학습 Camp 강사 페이스북그룹 Reinforcement Learning KR 운영진

Reinforcement Learning KR https://www.facebook.com/groups/reinforcementlearningkr/

커리큘럼 : 전체흐름 Part 1 강화학습의소개및개요 Part 2 강화학습의기초 Part 3 딥러닝과강화학습

강의제목 강의제목 : 가깝고도먼 DeepRL 1. 가까운 DeepRL 알파고 (AlphaGo) 로인한심리적거리감소 OpenAI gym과같은강화학습테스트환경의등장 Tensorflow, Keras, Pytorch와같은딥러닝프레임워크 학계에서의활발한연구 / 회사에서의활발한연구 (Google DeepMind, Microsoft, Facebook)

강의제목 강의제목 : 가깝고도먼 DeepRL 2. 먼 DeepRL 딥러닝에비해서상대적으로어려운이론 환경구축과디버깅의어려움 산업적가치발견의어려움 전략적 / 복잡한 Task 적용에의어려움

강의제목의의미 가깝고 : 현재까지의강화학습의발전과정을살펴보고 먼 : 강화학습의한계와도전과제를확인해보자

1. 강화학습의소개및개요 머신러닝이란 강화학습이란 2. 강화학습의기초 MDP, Bellman Equation Value Iteration, Q-Learning 3. 딥러닝과강화학습 Function Approximation DQN 강의의핵심 가깝고 : 현재까지의강화학습의발전과정을살펴보자

1. 강화학습소개및개요

최근 AI 의활용사례 1. AlphaGo 2. Robot arm manipulation 3. Walking & Running 공통기술 : Deep Reinforcement Learning

최신 AI 의활용사례 : AlphaGo 사용된알고리즘 : Policy Gradient with Monte-Carlo Tree Search https://www.youtube.com/watch?v=qa7p0gysslw

최신 AI 의활용사례 : Robotic Manipulation Collective Robot Reinforcement Learning with Distributed Asynchronous Guided Policy Search https://www.youtube.com/watch?v=zbfwe1gf0fu

최신 AI 의활용사례 : Walking & Running https://blog.openai.com/openai-baselines-ppo/ https://www.youtube.com/watch?v=gn4nrcc9twq

강화학습이란 강화학습 (Reinforcement Learning) 을이해하는순서 1. Reinforcement Learning = Reinforcement + Machine Learning 2. Reinforcement 은무엇인가? 3. Machine Learning 은무엇인가?

Machine Learning 은무엇인가 위키피디아정의 Machine learning is a field of computer science that gives computers the ability to learn without being explicitly programmed

Machine Learning 은무엇인가 Explicit Programming Machine Learning If 배가고프면, then 밥을먹어라 데이터기반 예측 + 학습 간단한문제 복잡한문제 Ex) 스팸필터, 추천시스템, 날씨와교통상황사이의상관관계

Machine Learning 은무엇인가 데이터로부터유용한지식을추출해새로운데이터에대한판단에적용 데이터 X 관계함수 f ( 지식 ) 현상 Y 새로운데이터 학습한지식 판단

Machine Learning 은무엇인가 Machine Learning의종류 1. Supervised Learning : 정답이있는데이터학습 2. Unsupervised Learning : 데이터자체의특성학습 3. Reinforcement Learning : 보상으로부터학습

Reinforcement 는무엇인가 1. 행동주의와 Skinner 눈으로관찰가능한행동을연구 2. Skinner 의문제상자 : 레버를누르면먹이가나오는상자안에굶긴쥐를넣고실험

Reinforcement 는무엇인가 https://namu.wiki/w/%ed%96%89%eb%8f%99%ec%a3%bc%ec%9d%98 Reinforcement : 배우지않았지만직접시도하면서행동과그결과로나타나는보상사이의상관관 계를학습하는것 보상을많이받는행동의확률을높이기

강화학습은무엇인가 1. Reinforcement Learning = Reinforcement + Machine Learning 데이터 X 관계함수 f 현상 Y 2. 데이터 X : 어떤상황에서어떤행동을했는지, 현상 Y: 보상을얼마나받았는지 어떤행동을해야보상을많이받는지를데이터로부터학습

강화학습은무엇인가 1. 에이전트와환경의상호작용 데이터생성 ( 미리모아놓을수없다 ) 2. 특정상태에서특정행동을선택 보상 학습

강화학습개요 1. 강화학습이풀고자하는문제 : Sequential Decision Problem 2. 문제에대한수학적정의 : Markov Decision Process 3. MDP를계산으로푸는방법 : Dynamic Programming 4. MDP를학습으로푸는방법 : Reinforcement Learning 5. 상태공간이크고차원이높을때쓰는방법 : Function Approximation 6. 바둑과같은복잡하고어려운문제를푸는방법 : Deep Reinforcement Learning

2. 강화학습의기초

2-1. Sequential Decision Problem

강화학습개요 1. 강화학습이풀고자하는문제 : Sequential Decision Problem 2. 문제에대한수학적정의 : Markov Decision Process 3. MDP를계산으로푸는방법 : Dynamic Programming 4. MDP를학습으로푸는방법 : Reinforcement Learning 5. 상태공간이크고차원이높을때쓰는방법 : Function Approximation 6. 바둑과같은복잡하고어려운문제를푸는방법 : Deep Reinforcement Learning

강화학습접근방식 1. 문제접근방식 문제자체에대한이해 그문제에적용되었던초기방식들 초기방식의문제와해결하기위한아이디어 아이디어를구체화한방법

강화학습접근방식 2. 강화학습문제접근방식 Sequential Decision Problem 과 MDP 이해 MDP 문제를풀기위한 DP(Dynamic Programming) DP 의문제와이를해결하기위한아이디어 (Planning Learning) 아이디어의알고리즘화 : Q-Learning

Sequential Decision Problem 여러번의연속적선택을하는문제 : Sequential Decision Problem 집에서직장까지차를운전하는경우 http://www.chevrolet.co.in/vehicles/cars.html

Sequential Decision Problem 상태에영향 핸들의각도 차속도 앞차와의거리 차가있는차선 신호등의신호 etc 브레이크 액셀 기어 행동을결정

Sequential Decision Problem 에이전트 : 상태를관찰, 행동을선택, 목표지향, Decision Maker! an autonomous, goal-directed entity which observes and acts upon an environment 위키피디아 환경을관찰하고행동하는자율적이고목표지향적인주체 - 구글번역기

Sequential Decision Problem 환경 : 에이전트를제외한나머지 판단하는아이라는주체를빼고길과자전거와아이의몸또한환경이된다

Markov Decision Process 1. Sequential Decision Problem 을수학적으로정의 2. MDP(Markov Decision Process) 의목표는 reward 를최대화 3. Markov Process MRP(Markov Reward Process) MDP(Markov Decision Process) Andrei Andreyevich Markov

2-2. Markov Decision Process

강화학습개요 1. 강화학습이풀고자하는문제 : Sequential Decision Problem 2. 문제에대한수학적정의 : Markov Decision Process 3. MDP를계산으로푸는방법 : Dynamic Programming 4. MDP를학습으로푸는방법 : Reinforcement Learning 5. 상태공간이크고차원이높을때쓰는방법 : Function Approximation 6. 바둑과같은복잡하고어려운문제를푸는방법 : Deep Reinforcement Learning

Markov Decision Process 시간에따라변하는 상태 가있으며상태공간안에서움직이는 에이전트 가있다 에이전트는행동을선택할수있다 확률적 에이전트의행동에따라다음상태와보상이결정된다 확률적 확률적모델링 : Markov Decision Process https://en.wikipedia.org/wiki/markov_decision_process

Markov Decision Process 1. MDP = {S, A, R, P a ss, γ} 로정의되는 tuple 2. MDP 의구성요소 S : 상태 (state) A : 행동 (action) R : 보상 (reward) P a ss : 상태변환확률 (state transition probability) γ : 할인율 (discount factor)

Grid World 예제 1. 격자를기반으로한예제 : 5 X 5 = 25 개의격자를가짐 2. 고전강화학습의가장기본적인예제 : 에이전트가학습하는과정을눈으로보기쉬움 3. 목표 : 세모를피해서파란색동그라미로가기

MDP 1 : 상태 상태 : 현재상황을나타내는정보 (observation 과의관계 ) 에이전트가탁구를치려면탁구공의위치, 속도, 가속도와같은정보가필요

MDP 1 : 상태 상태 : 에이전트가관찰가능한상태의집합 그리드월드의상태 : S = 1, 1, 2, 1, 1, 2,, 5, 5

MDP 1 : 상태 1. 에이전트는시간에따라환경을탐험 상태도시간에따라변한다 2. 시간 t일때상태 : S t = s or S t = (1, 3) 확률변수 (random variable) 은대문자, 특정상태는소문자 3. Episode : 처음상태부터마지막상태까지 s 0 τ = s 0, s 1, s 2,, s T 1, s T s t s T

MDP 2 : 행동 에이전트가할수있는행동의집합 : A = 위, 아래, 좌, 우 시간 t에취한행동 A t = a 만약 A t = 우라면항상 (3, 1) 에서 (4, 1) 로갈까? 상태변환확률에따라다르다

MDP 2 : 행동 행동 (1) discrete action (2) continuous action discrete action continuous action

MDP 3 : 보상 에이전트가한행동에대한환경의피드백 : 보상 ( + or - ) 시간이 t 이고상태 S t = s 에서 A t = a 를선택했을때받는보상 R s a = E R t+1 S t = s, A t = a 보상은 R a s 으로표현되거나 R a ss 으로표현된다 보상은현재시간 t 가아닌 t + 1 에환경으로부터받는다 같은상태 s 에서같은행동 a 를했더라도그때그때마다보상이다를수있음 기댓값 (expectation) 으로표현

MDP 3 : 보상 1. 보상은에이전트의목표에대한정보를담고있어야함 2. 그리드월드의보상 : 초록색세모 (-1), 파란색동그라미 (+1) 초록색세모를피해파란색동그라미로가라!

MDP 3 : 보상 기댓값이란 : 확률을포함한평균 주사위를던졌을때나올숫자에대한기댓값은?

MDP 4 : 상태변환확률 상태변환확률 : 상태 s 에서행동 a 를했을때상태 s 으로갈확률 P a ss = P S t+1 = s S t = s, A t = a model or dynamics of environment 상태변환확률을안다면 : model-based Dynamic Programming 상태변환확률을모른다면 : model-free Reinforcement Learning 상태변환확률을학습한다면 : model-based RL Dyna-Q

MDP 4 : 상태변환확률 P a ss = P S t+1 = s S t = s, A t = a 상태 (1, 1) 에서행동 우 를했을경우 1. 상태 (2, 1) 에갈확률은 0.8 2. 상태 (1, 2) 에갈확률은 0.2

MDP 5 : 할인율 할인율 : 미래에받은보상을현재의시점에서고려할때할인하는비율 만약복권에당첨되었다면당첨금 1억원을당장받을지 10년뒤에받을지? 가까운보상이미래의보상보다더가치가있다 할인 보상에서시간의개념을포함하는방법

MDP 5 : 할인율 할인율은 0 에서 1 사이의값 γ [0, 1] 현재의시간 t 로부터 k 만큼지난후받은보상의현재가치 γ k 1 R t+k 할인율을통해보상을얻는최적의경로를찾을수있다 γ 5 γ 4 γ 3 γ 2 γ 1 γ 0

정리 상태 보상 행동 상태변환확률 할인율 1 1*γ 6 그리드월드문제에서의 MDP

정책 1. 에이전트는각상태마다행동을선택 2. 각상태에서어떻게행동할지에대한정보 : 정책 (Policy) 상태 s 에서행동 a 를선택할확률 π(a s) 3. 두가지형태의정책 행동 = 정책 ( 상태 ) 명시적 (explicit) 정책 행동 = 선택 ( 가치함수 ( 상태 )) 내재적 (implicit) 정책

정리 1. 강화학습이풀고자하는문제 Sequential Decision Problem 2. Sequential Decision Problem 의수학적정의 MDP 3. MDP 의구성요소 상태, 행동, 보상, 상태변환확률, 할인율 4. 각상태에서에이전트가행동을선택할확률 정책

2-3. Bellman Equation

MDP 문제풀이방법 1. 강화학습이풀고자하는문제 : Sequential Decision Problem 2. MDP : Sequential Decision Problem의수학적정의 3. MDP의목표는최대의보상을받는것 매타임스텝마다행동선택의기준 : 보상 더큰보상을얻을수있는행동을선택 4. MDP 문제풀이방법 1) Dynamic Programming : 환경에대한모든정보를알고가장좋은정책을 계산 2) Reinforcement Learning : 환경과의상호작용을통해가장좋은정책을 학습

MDP 에이전트의행동선택 1. 에이전트와환경의상호작용 (Value-based) (1) 에이전트가상태를관찰 (2) 어떠한기준에따라행동을선택 (3) 환경으로부터보상을받음 * 어떠한기준 : 가치함수, 행동선택 : greedy action selection 2. 에이전트행동선택의기준 (1) 에이전트는매타임스텝마다보상을더많이받으려함 (2) 단기적보상만고려한다면최적의정책에도달할수있을까? Problem 1: sparse reward Problem 2: delayed reward

Sparse Reward 매타임스텝마다보상이나오지않는다면? Ex) 바둑 대부분의경우보상이 sparse 하게주어짐 http://www.ibtimes.co.uk/alphago-defeats-worlds-best-go-player-ke-jie-humans-prove-no-match-ai-again-1622960

Delayed Reward 보통선택한행동에대한보상은 delay 되어서에이전트에게주어진다 즉각적보상만고려해서선택하면어떤행동이좋은행동이었는지판단어려움 credit assignment problem 이행동만이좋은행동이고나머지는아니다?

장기적보상 단기적보상만고려했을때의문제 (1) Sparse reward (2) delayed reward 단기적보상이아닌지금선택한행동에대한장기적인결과 ( 보상 ) 를보자! 장기적보상을어떻게알아낼수있을까? (1) 반환값 (Return) (2) 가치함수 (Value function)

장기적보상 1 : 단순합 단기적보상이아닌장기적보상 앞으로받을보상을고려 현재시간 t로부터앞으로받을보상을다더한다 R t+1 + R t+2 + R t+3 + + R T 현재시간 t 로부터앞으로받을보상을다더한다 0.1 + 0.1 + = 1 + 1 + =

장기적보상 2 : 반환값 현재시간 t 로부터에피소드끝까지받은보상을할인해서현재가치로 반환값 (Return) : 현재가치로변환한보상들을다더한값 G t = R t+1 + γr t+2 + + γ T t 1 R T 실제에이전트와환경의상호작용을통해받은보상을이용 Unbiased estimator : 실제환경으로부터받은값 High variance : 시간 t 이후에행동을어떻게하는지에따라값이크게달라짐

장기적보상 3 : 가치함수 가치함수 (Value function) : 반환값에대한기댓값 어떠한상태 s에갈경우그이후로받을것이라예상되는보상에대한기대 반환값은에이전트의정책에영향을받음 v π s = E π G t S t = s 반환값은상태 s에서어떤행동을선택하는지에따라다름 가치함수는상태 s로만정해지는값 가능한반환값들의평균 기댓값을계산하기위해서는환경의모델을알아야함 DP는가치함수를계산 강화학습은가치함수를계산하지않고 sampling을통한 approximation

가치함수식의변형 벨만기대방정식 (Bellman expectation equation) 의유도 v π s = E π G t S t = s v π s = E π R t+1 + γr t+2 + S t = s v π s = E π R t+1 + γ(r t+2 + ) S t = s v π s = E π R t+1 + γe π (R t+2 + ) S t = s v π s = E π R t+1 + γe π (G t+1 ) S t = s v π s = E π R t+1 + γv π (S t+1 ) S t = s

큐함수에대한정의 큐함수 (Q-function) 상태 s 에서행동 a 를했을경우받을것이라예상되는반환값에대한기댓값 q π s, a = E π G t S t = s, A t = a 가치함수는큐함수에대한기댓값 v π s = E a~π q π (s, a) S t = s v π s = π(a s)q π (s, a) a A

정책을고려한벨만기대방정식 정책 π 에따라행동을선택할때의벨만기대방정식 1. 가치함수에대한벨만기대방정식 v π s = E π R t+1 + γv π (S t+1 ) S t = s 2. 큐함수에대한벨만기대방정식 q π s, a = E π R t+1 + γq π (S t+1, A t+1 ) S t = s, A t = a 벨만방정식은현재상태 s 와다음상태 S t+1 의가치함수 ( 큐함수 ) 사이의관계식

벨만기대방정식과최적의정책 벨만기대방정식 정책 π 를따라갔을때의가치함수 v π s = E π R t+1 + γv π (S t+1 ) S t = s 에이전트가알고자하는것 : π 가장높은보상을얻게하는최적의정책 π 최적의정책 π 는 deterministic policy 상태 s 에서가장큰큐함수를가지는행동 a 를반환 이때, 큐함수또한최적의큐함수

벨만기대방정식과최적의정책 최적의큐함수 정책이최적일때그에따르는큐함수도최적 q s, a = max π q π (s) 최적의정책 (optimal policy) π s = argmax a A q s, a Greedy policy : 가능한행동중에서최고의큐함수를가지는행동을선택하는정책

벨만최적방정식 일반정책일때가치함수와큐함수사이의관계 v π s = E π q π (s, A t ) S t = s 최적의정책일때가치함수와큐함수사이의관계 v s = max a q (s, a) S t = s v s = max a E R t+1 + γv (S t+1 ) S t = s

벨만최적방정식 벨만최적방정식 : 행동을선택할때는 max, 가치함수 or 큐함수도최적 가치함수에대한벨만최적방정식 v s = max a E R t+1 + γv (S t+1 ) S t = s, A t = a 큐함수에대한벨만최적방정식 q s, a = E R t+1 + γ max a q (S t+1, a ) S t = s, A t = a

정리 1. 단기적보상 장기적보상 Sparse reward & delayed reward 가치함수 & 큐함수 2. 벨만기대방정식 (Bellman Expectation Eqn.) v π s = E π R t+1 + γv π (S t+1 ) S t = s q π s, a = E π R t+1 + γq π (S t+1, A t+1 ) S t = s, A t = a 3. 벨만최적방정식 (Bellman Optimality Eqn.) v s = max a E R t+1 + γv (S t+1 ) S t = s, A t = a q s, a = E R t+1 + γ max a q (S t+1, a ) S t = s, A t = a

2-4. Value Iteration

강화학습개요 1. 강화학습이풀고자하는문제 : Sequential Decision Problem 2. 문제에대한수학적정의 : Markov Decision Process 3. MDP를계산으로푸는방법 : Dynamic Programming 4. MDP를학습으로푸는방법 : Reinforcement Learning 5. 상태공간이크고차원이높을때쓰는방법 : Function Approximation 6. 바둑과같은복잡하고어려운문제를푸는방법 : Deep Reinforcement Learning

Dynamic Programming 알고리즘강의에서접하는 DP(Dynamic Programming) 분할정복기법 : 큰문제를해결하기위해작은여러문제로나누기 작은문제들이사실은같은문제를푸는것 매번재계산하지않고값을저장하고재사용하는것 MDP 에서의 DP 큰문제는무엇이고작은문제는무엇인가? 반복되는작은문제는어떻게푸는지? 저장되는값이무엇인지?

Dynamic Programming 1. MDP의목표는보상을최대로받는정책을구하기 : π 2. 큰문제 : π π ( 처음 π로부터시작해서 π 을구하기 ) 내재적 π : Value Iteration 명시적 π : Policy Iteration 3. 작은문제 : π k π k+1 (1 Iteration) 4. 반복되는작은문제를푸는방법 : Bellman Eq. ( 기대 or 최적 ) 5. 저장되는값 : 가치함수 MDP 의해결방법

Dynamic Programming 1. 저장되는값이가치함수이므로결국가치함수의업데이트 2. 가치함수업데이트의반복적계산 v 0 v 1 v 2 v 3 v

Value Iteration 1. MDP 를풀었다면 π 와 v 를구한것 벨만최적방정식 v s = max a E R t+1 + γv (S t+1 ) S t = s, A t = a 2. 처음부터벨만최적방정식을만족한다고가정 (iteration k) v k s max a E R t+1 + γv k (S t+1 ) S t = s, A t = a 3. 벨만최적방정식을통해가치함수를업데이트 가치함수가수렴하면 greedy policy 로선택 v k+1 s max a R s a + γ aεa P a ss v k (s )

Value Iteration Iteration 1 번 : 모든상태에대해서벨만최적방정식을통한업데이트 1 번 for s S, v k+1 s max a R s a + γ aεa P a ss v k (s )

Value Iteration 벨만최적방정식을통해가치함수를업데이트하려면 R a s 와 P a ss 를알아야함 DP 가 model-based 인이유 : learning 이아닌 Planning v k+1 s max a R s a + γ aεa P a ss v k (s ) P a ss 를그행동이가려는상태에대해서 1, 나머지 0이라고가정 s 은 a 가 right 면현재상태에서오른쪽에있는상태 v k+1 s max a R s a + γv k (s )

Grid world 에서 Value Iteration v k+1 s max a R s a + γv k (s ) 상 : 0 + 0.9 0 = 0 하 : 0 + 0.9 0.5 = 0.45 좌 : 0 + 0.9 1 = 0.9 우 : 1 + 0.9 0 = 1 v k+1 s = max 0, 0.45, 0.9, 1 = 1

Grid world 에서 Value Iteration v k+1 s max a R s a + γv k (s ) 상 : 0 + 0.9 0 = 0 하 : 0 + 0.9 1.0 = 0.9 좌 : 1 + 0.9 1.0 = 0.1 우 : 0 + 0.9 0 = 0 v k+1 s = max 0, 0.9, 0.1, 0 = 0.9 K=1 K=2

Grid world 에서 Value Iteration v k+1 s max a R s a + γv k (s ) K=1 K=2 K=3

Grid world 에서 Value Iteration v k+1 s max a R s a + γv k (s ) K=4 K=5 K=6

Grid world 에서 Value Iteration 최적의정책과최적의가치함수 π s = argmax a A E R s a + γv (s )

Grid world 에서 Value Iteration

정리 1. Dynamic Programming 큰문제를작은문제로, 반복되는문제를값을저장하면서해결 큰문제 : 최적가치함수계산 v 0 v 1 v 2 v 3 v 작은문제 : 현재의가치함수를더좋은가치함수로업데이트 v k v k+1 Bellman Eq. 를이용해서 1-step 계산으로 optimal을계산하기 2. Value Iteration 가치함수가최적이라고가정하고그사이의관계식인벨만최적방정식이용 v k+1 s max a 수렴한가치함수에대해 greedy policy R s a + γv k (s ) Q-Learning 으로연결

2-5. Q-Learning

강화학습개요 1. 강화학습이풀고자하는문제 : Sequential Decision Problem 2. 문제에대한수학적정의 : Markov Decision Process 3. MDP를계산으로푸는방법 : Dynamic Programming 4. MDP를학습으로푸는방법 : Reinforcement Learning 5. 상태공간이크고차원이높을때쓰는방법 : Function Approximation 6. 바둑과같은복잡하고어려운문제를푸는방법 : Deep Reinforcement Learning

DP 와 Reinforcement Learning Dynamic Programming 벨만방정식을통한가치함수및정책의업데이트 기댓값을계산하기위해환경의모델을알아야함 에이전트라는개념이없음 환경의모델을알아야하기때문에전문적인지식이필요 일정이상복잡한문제에적용하기힘듬

Walking, Running Dynamics???? Reinforcement Learning : 모델없이배우자! https://blog.openai.com/openai-baselines-ppo/

Model-free RL Reinforcement Learning : 에이전트가환경과직접상호작용 1. 일단행동을선택후환경에서진행 2. 선택한행동을평가 ( 보상을받음 ) 3. 평가한대로자신을업데이트 Model-free Learning : sampling을통해학습

Sampling 에이전트와환경의상호작용 : 에피소드 시간의흐름 s 0, a 0, r 1, s 1, a 1, r 2, s 2, a 2, r 3, s 3, a 3, r 4, s 4,, s T 샘플 1 샘플 2 전체에피소드를부분부분 sampling Q-Learning Value Iteration에 sampling을적용 Sample : [s, a, r, s ]

Q-Learning 1. Value Iteration 가치함수가최적이라고가정하고그사이의관계식인벨만최적방정식이용 v k+1 s max a 수렴한가치함수에대해 greedy policy R s a + γv k (s ) 2. Q-Learning 행동선택 : ε 탐욕정책 큐함수업데이트 : 벨만최적방정식이용 π s = ቊ a = argmax a A q s, a, 1 ε a a, ε q s, a = q s, a + α r + γ max a q s, a q s, a

ε 탐욕정책 1. 탐욕정책 가치함수를사용할경우 P a ss 를알아야함 π s = argmax aεa R s a + γ s S P a ss v k+1 s 큐함수를이용한탐욕정책발전 : model-freeπ s argmax aεa q s, a 2. ε 탐욕정책 ε 의확률로랜덤한행동을선택 : π s = ቊ a = argmax a A q s, a, 1 ε random action, ε

큐함수업데이트 샘플 [s, a, r, s ] 모으기 1. 상태 s 에서행동 a 는행동정책 (ε 탐욕정책 ) 으로선택 2. 환경으로부터다음상태 s 과보상 r 을받음 샘플로 q s, a 를업데이트 벨만최적방정식을이용 q s, a = q s, a + α r + γ max a q s, a q s, a

Grid world 에서의 Q-Learning

Maze 에서의 Q-Learning

3. 딥러닝과강화학습

3-1. Function Approximation

고전강화학습의한계 Tabular Solution Methods 모든상태의 Q-function을 table의형태로저장 모든상태의 Q-function을방문할때마다하나씩업데이트 모든상태를충분히방문해야 optimal Q-function에수렴 비효율적인업데이트방식 적용할수있는문제의제한 환경이변하지않는문제 간단한문제

고전강화학습알고리즘의한계 1. 환경이변하지않는 Grid world 2. 환경이변하는 Grid world 상태 : 15차원, 18,225,000개 (1) 에이전트에대한장애물의상대위치 x, y (2) 장애물의속도 ( 방향 ) (3) 에이전트에대한도착지점의상대위치 x, y (4) 에이전트, 장애물, 도착점레이블 상태 : 2 차원, 25 개 에이전트의위치 x, y

고전강화학습알고리즘의한계 1. TD-gammon 이학습했던 Backgammon 의가능한 state 수 10 20 개 2. AlphaGo 가학습했던바둑의가능한 state 수 10 270 개 3. Possible Camera image? 4. Robot, Drone Continuous state space https://www.cyberoro.com/news/new s_view.oro?div_no=13&num=521047

우리가하고싶은것

Function approximation 을통한 generalization 1. 대부분강화학습을적용하고싶은문제 Large state space 2. Large state space : 많은양의메모리, 계산량, 데이터필요 3. 한정된양의자원 Good approximate solution 4. 비슷한 state는비슷한 function의 output을가질것 Generalization!! 어떻게지금까지방문한 state 들에대한경험으로전체문제에대해 generalize 할수있을까? 5. Generalization 을하기위해 Supervised Learning 의기법을가져다쓰자! Function Approximation : Target function 이있고그 target function을 approximate 하는 function을찾기

강화학습과 Function approximation Q-Learning에서 1. Target function : 큐함수 2. 방문한상태들에대한경험 다른상태들의큐함수를 generalize 3. Approximate하는함수의 parameter : θ q θ s, a ~ q π (s, a)

강화학습과 Function approximation 1. Table 형태의큐함수 A S s 0 s 1 s 2 s 3 s 4 a 0 q(s 0, a 0 ) q(s 1, a 0 ) q(s 2, a 0 ) q(s 3, a 0 ) q(s 4, a 0 ) a 1 q(s 0, a 1 ) q(s 1, a 1 ) q(s 2, a 1 ) q(s 3, a 1 ) q(s 4, a 1 ) a 2 q(s 0, a 2 ) q(s 1, a 2 ) q(s 2, a 2 ) q(s 3, a 2 ) q(s 4, a 2 ) a 3 q(s 0, a 3 ) q(s 1, a 3 ) q(s 2, a 3 ) q(s 3, a 3 ) q(s 4, a 3 )

강화학습과 Function approximation 2. 함수형태로근사한큐함수 Q( 왼쪽 ) Function approximator Q( 오른쪽 ) Q( 제자리 ) Q( 위쪽 ) Q( 아래쪽 ) 상태 s q θ s, a 각행동별큐함수값

Mean square error 1. 업데이트대상 : 각큐함수의값 큐함수의 parameter 값 q θ s, a 의 θ 2. Function approximation을사용하므로지도학습의기법들을가져올수있음 3. 지도학습 : 정답과예측의오차를최소화하도록모델을학습 정답과예측의오차정의 : Mean square error 오차를최소화할방법을결정 : gradient descent

Mean square error 1. 큐함수의값은 continuous regression 2. 큐함수의값은 0 에서 1 사이가아님 MSE(Mean square error) 3. 큐함수를업데이트 loss function Bellman Equation 에서의 TD error 를이용 gradient descent 상태 s θ a a q θ s, a r + γ max a q θ s, a MSE r + γ max q a θ s, a q θ s, a 2

Q-Learning with function approximation Q-Learning with function approximator 학습하는과정 1. 상태관찰, 행동선택 2. 행동하고다음상태와보상을받음 3. TD error 의 gradient 를따라큐함수의 parameter 를업데이트 r + γ max a q θ s, a q θ s, a 2

강화학습과 Neural Network 1. Nonlinear function approximation Neural Network Neural Network 의 activation function 이 nonlinear 2. Neural Network 를이용한큐함수근사 q θ s, a 의 θ 가 Neural Network 의 parameter 3. 큐함수의업데이트 MSE error 에대한 gradient : θ r + γ max a q θ s, a q θ s, a 2 계산한 gradient 를 backpropagation

Cartpole 과 Neural Network 1. Neural network 구조 2. 학습결과

3-2. Deep Q-Network

Deep Q-Learning 1. Deep Reinforcement Learning = Reinforcement Learning + Deep Learning 2. DQN(2013년 ) Playing Atari with Deep Reinforcement Learning -Mnih, 2013 DeepMind의초창기논문 Atari game을화면으로부터학습 3. 화면은 high-dimension Deep Learning 을사용

DQN 의네가지 Key point Function approximator로 neural network를사용할경우에이전트가수렴하지못하고발산 이문제를해결하기위해지도학습의방법을가져옴 DQN DQN의네가지특징 1. CNN 2. Experience replay 3. Online learning with Stochastic gradient descent 4. Target Q-network

DQN 의네가지 Key point 1. CNN 화면으로부터 direct 로학습할수있음 2. Experience replay Sample 들의상관관계를깸 Neural Network의안정적인학습 일정한크기를가지는 memory (FIFO) 3. Online update with stochastic gradient descent 매스텝마다 replay memory에서추출한 mini-batch로 Q-function 업데이트 점진적으로변하는 Q-function에대해 ε greedy policy로행동선택

DQN 의네가지 Key point Q-Learning update q s, a = q s, a + α r + γ max a q s, a q s, a DQN update : MSE error 를 backpropagation MSE error r + γ max a q θ s, a q θ s, a 2 4. Target Q-network Target network θ 의사용 : update 의 target 이계속변하는문제를개선 일정주기마다현재의 network θ 를 θ 로업데이트

DQN 의다이어그램

DQN 의학습과정 1. exploration 2. append sample to replay memory 3. random sampling, training 4. target Q-network update

DQN 의학습과정 1. exploration 정책은큐함수에대한 ε greedy policy ε은 time-step에따라서 decay 점점수렴 ε은 1에서시작해서 0.1까지 decay, 0.1을계속유지 지속적탐험

DQN 의학습과정 2. append sample to replay memory 에이전트는 ε greedy policy에따라샘플 [s, a, r, s ] 을생성 샘플을 replay memory에 append Replay_memory.append(sample) Replay memory 가다차면오래된 sample 부터하나씩빼고새로운 sample 을 memory 에넣기

DQN 의학습과정 3. random sampling, training Mini-batch (32 개 ) 샘플을추출 샘플로부터 target 값과 prediction 값을구하기 (32 개 ) MSE error target prediction 2 Target : r + γ max a q θ s, a Prediction : q θ s, a MSE error 에대한 gradient backpropagation 4. target Q-network update : 일정주기마다 target Q-network 를현재 Q-network 로업데이트

DQN 의학습과정 1. 상태에따른행동선택 2. 선택한행동으로환경에서 1 time-step을진행 3. 환경으로부터다음상태와보상을받음 4. Sampling[s, a, r, s ] 을 replay memory에저장 5. Replay memory에서 random sampling mini-batch update 6. 일정주기마다 Target network 업데이트

DQN 의세부사항 1. CNN network 2. 4 images 1 history 3. 30 no-op 4. Huber loss

DQN 의세부사항 1. CNN network Image 를 input 으로받음 3 개의 convolution layer(no pooling layer)

DQN 의세부사항 2. 4 images 1 history Image 한장은공의속도등의정보를표현하지못함 현재로부터이전까지 4 개의연속된화면을 input 으로

DQN 의세부사항 3. 30 no-op 항상같은상태에서시작 초반에 local optimum으로수렴할확률이높다 조금은다른상태에서시작 : 0에서 30 time-step 중에랜덤으로선택한후그동안아무것도안하기 (no-op)

DQN 의세부사항 4. Huber loss MSE error 가 -1 과 1 사이일때는 quadratic, 다른곳은 linear

DQN 의세부사항 1. 환경초기화및 30 no-op 2. History에따라행동을선택 (ε greedy), ε 값 decay 3. 선택한행동으로 1 time-step 환경에서진행, 다음상태, 보상을받음 4. 샘플을형성 (h, a, r, h ), replay memory에 append 5. 50000 스텝이상일경우 replay memory에서 mini-batch 추출후학습 MSE error r + γ max a q θ s, a q θ s, a 2 6. 10000 스텝마다 target network 업데이트

DQN on Atari

Thank you