SlideShare a Scribd company logo
1 of 48
Download to read offline
강화학습 스터디 1주차
2018.08.21
Jicheol Woo
우리가 학습이라는 것에 대해 생각할 때 처음 생각해 내는 것이 환경과의
상호작용(Interaction). 

이 개념은 모든 인공지능 이론의 기본 바탕이 되었고, 이러한 학습을
computational 하게 접근하는 것을 machine learning.
학습 (Learning)
Process 

환경을 탐색하는 에이전트가 현재의 상태를 인식하여 어떤 행동을 취한다. 

그러면 그 에이전트는 환경으로부터 보상(reward)를 받는다. 

보상은 양수/음수 모두 가능.

결론적으로 강화학습 알고리즘은 그 에이전트가 앞으로 누적될 보상을 최대화
하는 행동으로 정의되는 정책을 찾는 방법론이다.
강화학습 (Reinforcement Learning)
Trial & Error
환경과의 상호작용

해보지 않고 예측하고 움직이는 것이 아니라 해보면서 자신을 조정해 나가는 것

어떻게 하면 Reward를 더 많이 받을 것인가가 중요
시간이라는 개념 포함

시간의 순서가 있는 문제를 풀기 때문에 지금 한 행동으로 인한 환경의 반응이 늦어질
수 있는데 (다른 일련의 행동들과 합쳐져서 더 좋은 결과를 내기도), 이럴 때 어떤 행
동이 좋은 행동이었는지 판단하기 어려운 점 존재.
RL Essential things
Delayed Reward
동물을 통한 행동심리학으로부터 강화라는 개념이 등장 (스키너 상자실험)

Trial & Error 기반 => 보상을 얻게 해주는 행동의 빈도 증가

결국, 행동과 행동의 결과를 보상을 통해 연결한다는 개념.

따라서 강화학습이라는 학문은 행동심리학과 머신러닝이 합쳐진 것이라 할 수 있다.
Trial & Error
1950년대부터 사용되었고, 어떤 비용함수의 비용을 최소화하도록 컨트롤러를 디자
인 하는 것을 뜻함.

Bellman이 Bellman equation을 통해서 optimal control 문제를 풀었고, 이러한
방법을 DP라고 부름. 

또한, Bellman은 MDP라는 수학적 모델을 만들어서 강화학습의 기초를 만듬.
Optimal Control
최근에는 강화학습 + 딥러닝으로 나아가고 있음.
Reinforcement Learning is defined
not by characterizing learning methods,
but by characterizing a learning problem.
학습하는 “방식”으로 정의되는 것이 아니라 강화학습 “문제”인가로 정의되어진다.
강화학습 (Reinforcement Learning) 정의
Sutton
1. Fly stunt manoeuvres in a helicopter

2. Defeat the world champion at Backgammon

3. Manage an investment portfolio

4. Control a power station

5. Make a humanoid robot walk

6. Play many different Atari games better than humans
강화학습 (Reinforcement Learning) 문제
순차적 행동 결정 문제
강화학습의 대상은 agent
강화학습 (Reinforcement Learning) 대상
Agent는 처음에 랜덤하게 움직이다가, 게임점수가 올라가게 되면 agent는 “이 행
동을 하면 점수가 올라가는 구나”라는 것을 배움.

단순히 즉각적인 점수만을 높이려는 것이 아니고 시간이 지날수록 한 episode 동안
받는 점수를 최대화시키려고 함.

이 때문에 Agent의 일련의 연속된 행동을 결정해줄 Policy가 필요. 

사실 높은 점수라는 것은 어떠한 한 행동의 결과라기 보다는 각 상황에 맞는 적절한
행동들의 좋은 조합 => Policy

Trial & Error
1. CNN과 연결

2. 같은 agent로 여러 개의 아타리 게임들에 적용할 수 있다는 점

3. Deep Neural Net을 function approximator로 사용

4. Experience Relay

5. Target networks
Deep Reinforcement Learning
= Deep Learning + Reinforcement Learning
오늘의 예제에서 다룰 것처럼 처음에는 gridworld와 같은 작은 환경에서 강화학습
을 공부해 나가기 시작하는데, 실제 게임을 학습할 때에는 데이터의 숫자가 너무 많
기 때문에 제대로 학습되지 않음.

데이터의 숫자를 다 일일이 저장해서 그것을 바탕으로 행동하는 것이 아니라 함수의
형태로 만들어서 정확하지 않더라도 효율적으로 학습을 할 수 있도록 함 

=> approximation.

그 approximation 툴 중에서 Deep NN은 성능이 좋아서 이렇게 두개가 결합된 것.
첫 식처럼 처음 어떠한 상태로부터 시작해서 현재 상태까지 올 확률이 바로 전 상태에
서 현재 상태까지 올 확률과 같을 때, 두 번째 식처럼 표현이 될 수 있고, 이 때의
state(상태)를 Markov하다고 말한다.
=
강화학습에서는 value라는 어떤 가치가 현재의 state에 대한 함수로 표현되고 이
state가 Markov 하다고 가정한다.
Markov Decision Process (MDP)
로봇이 세상을 바라보고 이해하는 방식이 MDP.

MDP (Markov Decision Process) 

: state, action, state transition probability matrix, reward, discount factor

로봇이 있는 위치 : state

앞뒤좌우로 이동하는 것 : action

보석 : reward

MDP는 결국 문제의 정의
Markov Decision Process (MDP)
Agent가 인식하는 자신의 상태. 사람의 경우에는 눈을 이용해서 현재 상태를 인식

상태라고 하면 사실 모호한 부분이 많아서 관찰이라는 표현이 좀 더 확실

정적/동적인 관찰 사항을 모두 포함함.

e.g. 탁구치는 Agent의 경우에 탁구공의 위치, 속도, 가속도 등이 상태.
문제는 정의하기 나름. 

실제로 어떤 문제는 강화학습으로 또는 머신러닝으로 풀수 있기 때문에 왜 강화학습을 이 문
제에 적용시키는 지에 대한 근거가 중요.
State
Agent는 환경에서 특정 상태에 갔을 때 action을 지시하는 행위를 함. 

사람의 경우에는 뇌. 로봇에서는 controller.

Agent가 각 상태에서 취할 수 있는 행동의 옵션들
State -> state에 대한 확률

어떤 action을 취했을 경우 state가 deterministic하지 않고 확률적으로 정해지는 경우
일종의 noise.
Action
State Transition Probability
MDP에서 action과 reward가 없다고 생각
해본다면 State-state 사이의 transition
matrix를 생각해볼 수 있음.

Markov chain은 state-state 그리고 각
state 끼리의 transition probability 를 정의
하는 것.

이 Markov chain에서 시간이 무한대로 흐르
면 모두 sleep으로 수렴할 것이고 더 이상 변
화가 없기 때문에 stationary distribution.

이와 다르게 MDP에서는 action을 할 확률과
action을 해서 어떤 state로 갈 확률이 주어
짐.
Markov Chain
s라는 state에 있을 때, a라는 action을 취했을 때 얻을 수 있는 reward. 

Agent 가 학습할 수 있는 정보.

Agent는 Reward를 극대화 하는 방향으로 학습을 진행.
이 reward는 immediate reward인데 agent는 단순히 즉각적으로 나
오는 Reward만 보는 것이 아니라 이후로 얻는 Reward들도 고려.
Reward
어떠한 agent는 각 time-step마다 0.1씩 리워드를 받고 다른 agent는 1씩 받았을 경
우, 무한대로 시간이 흐른다면 비교 불가능

시작부터 1을 받았을 때랑 끝날 때 1을 받을 경우를 구분 불가능
0 으로 갈수록 근시안적 / 1으로 갈수록 미래지향적
Discount Factor
agent는 어떤 state에 도달하면 action을 결정하는데 어떤 state에서 어떤 action을 취
할지 정해놓은 것을 정책이라고 함.

결국 강화학습의 목적은 이 optimal policy를 찾는 것.
Policy
MDP graph는 앞서 본 Markov chain에서 state 사이의 transition을 보여
준 것과는 달리 action을 통한 state의 transition과 reward로 표현
MDP graph
State value Function
Agent가 state1에 있고, 계속해서 action을 취해가며 이동하고, 그에 따
른 Reward들을 기억하며 진행해 나감. 그리고 에피소드가 끝난 다음 받은
Reward들을 전부 더하는 것이 return 의 정의.
Value Function
Return의 expectation이 state-value function.

Value function은 특정 state s의 장기적인 가치를 뜻함.
State-Value Function
Value function을 통해서 agent는 다음 state들의 가치를 평가하고 그에
따라 이동하기 때문에 state 들의 value function이 중요하고, 어떻게 효
율적이고 정확한 value function을 구하는지가 중요.
Value function은 return(실제 경험을 통해서 받은 reward의 discounted
amount)의 기댓값이기 때문에 마치 직접 주사위를 던져보는 것처럼 던져보면서 기
댓값을 구할 수 있음.

계속 그 state로부터 시작되거나 그 상태를 지나가는 에피소드들을 시도해보면서 얻
어진 보상들에 대한 데이터들을 이용해 그 value-function을 근사하는데 주사위의
경우에도 무한번 던져야되듯이 이 경우에도 무한히 시도해야 true value function
을 얻을 수 있음.
State-Value Function
Value Function 구하는 법
그렇다면 언제 이정도는 true값라고 해야하나 하는 결정이 필요
State-Value Function
Policy를 고려한다면.
만약 agent가 어떤 행동정책(어떤 경향성을 띄는 행동 방식)을 한다고 가정했을 때, 랜덤으로
움직일때와는 agent가 바라보는 state들은 서로 완전 다른 경험을 하게 되었을 것. (과학 좋아
하는 아이와 음악을 좋아하는 아이는 완전 다른인생을 사는 것과 비슷)

그렇기 때문에 value function을 계산하는 데에 있어서 (아이가 인생의 가치를 어떻게 판단하
는가) agent의 일련의 행동 방식을 고려해줘야 함.

사실 앞의 공식에 저절로 그 경험 안에 Policy가 녹아들어가게 가게 되고, 각 policy마다
value-function이 달라질 수 있으므로 그 value-function을 최대로 하는 policy를 찾을 수
있게 되는 것.
State-Value Function
대부분의 강화학습 알고리즘에서는 value-function을 얼마나 잘 계산하느냐가
중요한 역할을 하고 있음. 

“잘” 한다는 것은 bias 되지 않고, varience가 낮으며 true값에 가까우며 효율적
으로 빠른 시간 안에 수렴하는 것.
State-Value Function
action이란 어떤 상태에서 할 수 있는 행동들. 보통 모든 상태에서 가능한 행동은 같음.

앞선 state-value function에서 그 state의 가치라는 것은 그 state에서 어떤 액션을
했는지에 따라 달라지는 보상들에 대한 정보를 포함.

agent의 입장에서 다음 행동을 다음으로 가능한 state들의 value-function으로 판
단하는데 그러려면 다음 state들에 대한 정보를 모두 알아야하고, 그 상태로 가려면 어
떻게 해야하는지도 알아야 한다.

따라서 앞선 방법의 state에 대한 value function말고 action에 대한 value
function을 구할 수 있는데 이를 action-value function.
Action-Value Function
Action value function을 사용하면 value function과는 달리 단지 어떤 행동을
할지 action value function의 값을 판단하면 되기 때문에 다음 상태들의 가치함
수를 알고 어떤 행동을 했을 때 거기에 가게 될 확률을 알 필요도 없음.
Action-Value Function
어떤 state s에서 action a를 취할 경우 받을 return에 대한 기댓값으로서 어떤 행
동을 했을 때, 얼마나 좋을 것인지.

앞으로 이어지는 내용에서는 state-value function이 아니라 action-value
function을 사용할 것. 

=> action-value function은 다른 말로 Q-value로서 q-learning이나 deep
q-network 같은 곳에 사용되는 q이다.
앞서 나온 value function들 사이에

어떠한 연관성이 있는데 그것을 식으로 나타내는 것이
Bellman equation.
Bellman Equation
Agent는 value function을 가지고 자신의 행동을 선택하는데 두 가지의 경우가 있음.
Bellman Expectation Equation
State-value function은 다음과 같이 두 부분으로 나뉘어 질 수 있음.
Bellman (Expectation) Equation for value function
Policy 포함한 경우와 action-value function도 다음과 같이 나타낼 수 있음.
그러나, 위와 같이 기댓값으로 표현하는 것은 조금 추상적이며 직관적이지 않을 수 있
음. 그래서 같은 식을 다른 방법으로 표현하는 것을 생각. (state-action pair)
Bellman (Expectation) Equation for value function
흰 점은 state, 검은 점은 state에서 action을 선택한 상황. 

state에서 뻗어나가는 가지는 action의 개수만큼.

결국 v와 q의 관계는 아래의 식처럼 표현 가능.

각 액션을 할 확률과 그 액션을 해서 받는 expected return을 곱한 것의
총 sum은 현재 state의 value function이 됨.
Bellman (Expectation) Equation for value function
이 부분에서는 reward가 추가. 보상의 정의에 상태와 액션이 모두 조건으로 들어가기
때문에 검은 과 흰 점의 위치가 바뀜.

액션에서 퍼져나가는 가지는 deterministic하다면 가지가 하나이지만, 외부적 요인에
의해서 transition probability가 존재한다면 가지가 여러개.

Action-value function은 immediate reward에다가 액션을 취해 각 state로 갈 확
률 곱하기 그 위치에서의 state-value function(한 스탭을 지났으니 discounted 됨)
의 총합으로 나타낼 수 있음.
Bellman (Expectation) Equation for value function
두 도표와 식을 합치면 다음과 같이 됨.
Bellman (Expectation) Equation for value function
실제 강화학습으로 무언가를 학습시킬 때, reward와 state transition
probability는 미리 알 수 없고, trial & error을 통해 배워가는 것.

만약 이런 정보들을 모두 안다고 하면 MDP를 모두 안다고 표현하고 이 정
보들이 MDP의 모델이 됨.

강화학습의 특징은 이 MDP 모델을 몰라도 학습할 수 있다는 것.

따라서 reward function과 state transition probability를 모르고 학습
하는 강화학습에서는 Bellman equation으로 가치함수를 구할 수 없음.
Bellman (Expectation) Equation for value function
앞의 도표와 식을 action-value function에 대해서 작성하면 위와 같음.
Bellman (Expectation) Equation for Q-function
보통 Bellman equation은 DP와 같이 discrete한 시간에서의 최적화 문제에 적용
되는 식을 뜻함.

대신 시간이 연속적인 문제에서는 Hamilton-Jacobi-Bellman equation을 사용.
Bellman (Expectation) Equation for Q-function
앞서 본 두 식은 기댓값 형태로 나타나져 있기 때문에 Bellman
expectation equation이라고 부름. 

보통은 줄여서 Bellman equation이라고 부름. 그렇지만 이는 등호라기
보다는 코딩에서 처럼 대입 뜻의 등호에 가까움.
Bellman Optimality Equation
오른쪽 식을 왼쪽에 대입한다는 개념. 

미래의 값들(next state-value function)으로 현재의 value function을 구한다는 것이
backup.

One step backup / multi-step backup.

Full-width backup(가능한 모든 다음 state의 value function을 사용하여 백업) => DP /
sample backup(실제 경험을 통해서 backup) => RL
Backup
Bellman optimality equation 전에 optimal value function을 먼저 알아야함.

강화학습의 목적 : accumulative future reward을 최대로 하는 정책 찾기.

Optimal state-value function이란 현재 state에서 정책에 따라서 앞으로 받을 보상들
이 달라지는데 그 중에서 앞으로 가장 많은 보상을 받을 정책을 따랐을 때의 value
function.

Optimal action-value function도 마찬가지로 현재 (s,a)에서 얻을 수 있는 최대의
value function.
Optimal Value Function
즉, 현재 환경에서 취할 수 있는 가장 높은 값의 보상의 총합.

아래의 식의 경우에 optimal action-value function의 값을 안다면 단순히
q값이 높은 액션을 선택해주면되므로 이 최적화 문제는 풀린 것.
Optimal Value Function
Optimal policy는 (s,a)에서 action-value function이 가장 높은 action
만을 고르기 때문에 deterministic.
Optimal Policy
Optimal Policy
Optimal value function 사이의 관계를 나타내 주는 식.

이전 backup diagram과 다른 점은 아래에는 호 모양으로 표시된 max.
Bellman Optimality Equation
이러한 Bellman equation을 통해서 iterative하게 MDP 문제를 푸는 것을 DP라고 함.
Bellman Optimality Equation
The
End

More Related Content

What's hot

Intro to Deep Reinforcement Learning
Intro to Deep Reinforcement LearningIntro to Deep Reinforcement Learning
Intro to Deep Reinforcement LearningKhaled Saleh
 
An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)pauldix
 
Multi armed bandit
Multi armed banditMulti armed bandit
Multi armed banditJie-Han Chen
 
An introduction to reinforcement learning
An introduction to  reinforcement learningAn introduction to  reinforcement learning
An introduction to reinforcement learningJie-Han Chen
 
Reinforcement Learning : A Beginners Tutorial
Reinforcement Learning : A Beginners TutorialReinforcement Learning : A Beginners Tutorial
Reinforcement Learning : A Beginners TutorialOmar Enayet
 
25 introduction reinforcement_learning
25 introduction reinforcement_learning25 introduction reinforcement_learning
25 introduction reinforcement_learningAndres Mendez-Vazquez
 
Apprentissage par renforcement
Apprentissage par renforcementApprentissage par renforcement
Apprentissage par renforcementNSim Technology
 
Sample Lesson Plan for College Algebra
Sample Lesson Plan for College Algebra Sample Lesson Plan for College Algebra
Sample Lesson Plan for College Algebra Tariqul Islam
 
Reinforcement Learning 3. Finite Markov Decision Processes
Reinforcement Learning 3. Finite Markov Decision ProcessesReinforcement Learning 3. Finite Markov Decision Processes
Reinforcement Learning 3. Finite Markov Decision ProcessesSeung Jae Lee
 
Rl chapter 1 introduction
Rl chapter 1 introductionRl chapter 1 introduction
Rl chapter 1 introductionConnorShorten2
 
Reinforcement Learning 4. Dynamic Programming
Reinforcement Learning 4. Dynamic ProgrammingReinforcement Learning 4. Dynamic Programming
Reinforcement Learning 4. Dynamic ProgrammingSeung Jae Lee
 

What's hot (14)

Intro to Deep Reinforcement Learning
Intro to Deep Reinforcement LearningIntro to Deep Reinforcement Learning
Intro to Deep Reinforcement Learning
 
An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)
 
Roles of a teacher
Roles of a teacherRoles of a teacher
Roles of a teacher
 
Multi armed bandit
Multi armed banditMulti armed bandit
Multi armed bandit
 
Deep Reinforcement Learning
Deep Reinforcement LearningDeep Reinforcement Learning
Deep Reinforcement Learning
 
An introduction to reinforcement learning
An introduction to  reinforcement learningAn introduction to  reinforcement learning
An introduction to reinforcement learning
 
Reinforcement Learning : A Beginners Tutorial
Reinforcement Learning : A Beginners TutorialReinforcement Learning : A Beginners Tutorial
Reinforcement Learning : A Beginners Tutorial
 
25 introduction reinforcement_learning
25 introduction reinforcement_learning25 introduction reinforcement_learning
25 introduction reinforcement_learning
 
Apprentissage par renforcement
Apprentissage par renforcementApprentissage par renforcement
Apprentissage par renforcement
 
Sample Lesson Plan for College Algebra
Sample Lesson Plan for College Algebra Sample Lesson Plan for College Algebra
Sample Lesson Plan for College Algebra
 
Reinforcement Learning 3. Finite Markov Decision Processes
Reinforcement Learning 3. Finite Markov Decision ProcessesReinforcement Learning 3. Finite Markov Decision Processes
Reinforcement Learning 3. Finite Markov Decision Processes
 
Rl chapter 1 introduction
Rl chapter 1 introductionRl chapter 1 introduction
Rl chapter 1 introduction
 
Reinforcement Learning 4. Dynamic Programming
Reinforcement Learning 4. Dynamic ProgrammingReinforcement Learning 4. Dynamic Programming
Reinforcement Learning 4. Dynamic Programming
 
9. surds & indices
9. surds & indices9. surds & indices
9. surds & indices
 

Similar to Reinforcement learning basic

Reinforcement learning
Reinforcement learningReinforcement learning
Reinforcement learningTae Young Lee
 
Rl from scratch part1
Rl from scratch part1Rl from scratch part1
Rl from scratch part1Shinwoo Park
 
Rl from scratch part4
Rl from scratch part4Rl from scratch part4
Rl from scratch part4Shinwoo Park
 
Rl from scratch part7
Rl from scratch part7Rl from scratch part7
Rl from scratch part7Shinwoo Park
 
Rl from scratch part3
Rl from scratch part3Rl from scratch part3
Rl from scratch part3Shinwoo Park
 
Rl from scratch part2
Rl from scratch part2Rl from scratch part2
Rl from scratch part2Shinwoo Park
 
Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰태영 정
 
ML + 주식 phase 2
ML + 주식  phase 2ML + 주식  phase 2
ML + 주식 phase 2HoChul Shin
 
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)Curt Park
 
CS294-112 Lecture 13
CS294-112 Lecture 13CS294-112 Lecture 13
CS294-112 Lecture 13Gyubin Son
 
Multi armed bandit
Multi armed banditMulti armed bandit
Multi armed bandit민석 김
 
Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Suhyun Cho
 
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트혜승 이
 
Policy gradient
Policy gradientPolicy gradient
Policy gradient태영 정
 
강화학습 & Unity ML Agents
강화학습 & Unity ML Agents강화학습 & Unity ML Agents
강화학습 & Unity ML AgentsHyunjong Lee
 
안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!Dongmin Lee
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsseungwoo kim
 
Rl from scratch part6
Rl from scratch part6Rl from scratch part6
Rl from scratch part6Shinwoo Park
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 

Similar to Reinforcement learning basic (20)

Reinforcement learning
Reinforcement learningReinforcement learning
Reinforcement learning
 
Rl from scratch part1
Rl from scratch part1Rl from scratch part1
Rl from scratch part1
 
Rl from scratch part4
Rl from scratch part4Rl from scratch part4
Rl from scratch part4
 
Rl from scratch part7
Rl from scratch part7Rl from scratch part7
Rl from scratch part7
 
Rl from scratch part3
Rl from scratch part3Rl from scratch part3
Rl from scratch part3
 
Rl from scratch part2
Rl from scratch part2Rl from scratch part2
Rl from scratch part2
 
Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰
 
Rl
RlRl
Rl
 
ML + 주식 phase 2
ML + 주식  phase 2ML + 주식  phase 2
ML + 주식 phase 2
 
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
 
CS294-112 Lecture 13
CS294-112 Lecture 13CS294-112 Lecture 13
CS294-112 Lecture 13
 
Multi armed bandit
Multi armed banditMulti armed bandit
Multi armed bandit
 
Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)
 
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
밑바닥부터 시작하는 딥러닝 - 학습관련기술들 스크립트
 
Policy gradient
Policy gradientPolicy gradient
Policy gradient
 
강화학습 & Unity ML Agents
강화학습 & Unity ML Agents강화학습 & Unity ML Agents
강화학습 & Unity ML Agents
 
안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!
 
Deep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendationsDeep neural networks for You-Tube recommendations
Deep neural networks for You-Tube recommendations
 
Rl from scratch part6
Rl from scratch part6Rl from scratch part6
Rl from scratch part6
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 

Reinforcement learning basic

  • 2. 우리가 학습이라는 것에 대해 생각할 때 처음 생각해 내는 것이 환경과의 상호작용(Interaction). 이 개념은 모든 인공지능 이론의 기본 바탕이 되었고, 이러한 학습을 computational 하게 접근하는 것을 machine learning. 학습 (Learning)
  • 3. Process 환경을 탐색하는 에이전트가 현재의 상태를 인식하여 어떤 행동을 취한다. 그러면 그 에이전트는 환경으로부터 보상(reward)를 받는다. 보상은 양수/음수 모두 가능. 결론적으로 강화학습 알고리즘은 그 에이전트가 앞으로 누적될 보상을 최대화 하는 행동으로 정의되는 정책을 찾는 방법론이다. 강화학습 (Reinforcement Learning)
  • 4. Trial & Error 환경과의 상호작용 해보지 않고 예측하고 움직이는 것이 아니라 해보면서 자신을 조정해 나가는 것 어떻게 하면 Reward를 더 많이 받을 것인가가 중요 시간이라는 개념 포함 시간의 순서가 있는 문제를 풀기 때문에 지금 한 행동으로 인한 환경의 반응이 늦어질 수 있는데 (다른 일련의 행동들과 합쳐져서 더 좋은 결과를 내기도), 이럴 때 어떤 행 동이 좋은 행동이었는지 판단하기 어려운 점 존재. RL Essential things Delayed Reward
  • 5. 동물을 통한 행동심리학으로부터 강화라는 개념이 등장 (스키너 상자실험) Trial & Error 기반 => 보상을 얻게 해주는 행동의 빈도 증가 결국, 행동과 행동의 결과를 보상을 통해 연결한다는 개념. 따라서 강화학습이라는 학문은 행동심리학과 머신러닝이 합쳐진 것이라 할 수 있다. Trial & Error
  • 6. 1950년대부터 사용되었고, 어떤 비용함수의 비용을 최소화하도록 컨트롤러를 디자 인 하는 것을 뜻함. Bellman이 Bellman equation을 통해서 optimal control 문제를 풀었고, 이러한 방법을 DP라고 부름. 또한, Bellman은 MDP라는 수학적 모델을 만들어서 강화학습의 기초를 만듬. Optimal Control 최근에는 강화학습 + 딥러닝으로 나아가고 있음.
  • 7. Reinforcement Learning is defined not by characterizing learning methods, but by characterizing a learning problem. 학습하는 “방식”으로 정의되는 것이 아니라 강화학습 “문제”인가로 정의되어진다. 강화학습 (Reinforcement Learning) 정의 Sutton
  • 8. 1. Fly stunt manoeuvres in a helicopter 2. Defeat the world champion at Backgammon 3. Manage an investment portfolio 4. Control a power station 5. Make a humanoid robot walk 6. Play many different Atari games better than humans 강화학습 (Reinforcement Learning) 문제 순차적 행동 결정 문제
  • 9. 강화학습의 대상은 agent 강화학습 (Reinforcement Learning) 대상
  • 10. Agent는 처음에 랜덤하게 움직이다가, 게임점수가 올라가게 되면 agent는 “이 행 동을 하면 점수가 올라가는 구나”라는 것을 배움. 단순히 즉각적인 점수만을 높이려는 것이 아니고 시간이 지날수록 한 episode 동안 받는 점수를 최대화시키려고 함. 이 때문에 Agent의 일련의 연속된 행동을 결정해줄 Policy가 필요. 사실 높은 점수라는 것은 어떠한 한 행동의 결과라기 보다는 각 상황에 맞는 적절한 행동들의 좋은 조합 => Policy Trial & Error
  • 11. 1. CNN과 연결 2. 같은 agent로 여러 개의 아타리 게임들에 적용할 수 있다는 점 3. Deep Neural Net을 function approximator로 사용 4. Experience Relay 5. Target networks Deep Reinforcement Learning = Deep Learning + Reinforcement Learning
  • 12. 오늘의 예제에서 다룰 것처럼 처음에는 gridworld와 같은 작은 환경에서 강화학습 을 공부해 나가기 시작하는데, 실제 게임을 학습할 때에는 데이터의 숫자가 너무 많 기 때문에 제대로 학습되지 않음. 데이터의 숫자를 다 일일이 저장해서 그것을 바탕으로 행동하는 것이 아니라 함수의 형태로 만들어서 정확하지 않더라도 효율적으로 학습을 할 수 있도록 함 
 => approximation. 그 approximation 툴 중에서 Deep NN은 성능이 좋아서 이렇게 두개가 결합된 것.
  • 13. 첫 식처럼 처음 어떠한 상태로부터 시작해서 현재 상태까지 올 확률이 바로 전 상태에 서 현재 상태까지 올 확률과 같을 때, 두 번째 식처럼 표현이 될 수 있고, 이 때의 state(상태)를 Markov하다고 말한다. = 강화학습에서는 value라는 어떤 가치가 현재의 state에 대한 함수로 표현되고 이 state가 Markov 하다고 가정한다. Markov Decision Process (MDP)
  • 14. 로봇이 세상을 바라보고 이해하는 방식이 MDP. MDP (Markov Decision Process) 
 : state, action, state transition probability matrix, reward, discount factor 로봇이 있는 위치 : state 앞뒤좌우로 이동하는 것 : action 보석 : reward MDP는 결국 문제의 정의 Markov Decision Process (MDP)
  • 15. Agent가 인식하는 자신의 상태. 사람의 경우에는 눈을 이용해서 현재 상태를 인식 상태라고 하면 사실 모호한 부분이 많아서 관찰이라는 표현이 좀 더 확실 정적/동적인 관찰 사항을 모두 포함함. e.g. 탁구치는 Agent의 경우에 탁구공의 위치, 속도, 가속도 등이 상태. 문제는 정의하기 나름. 실제로 어떤 문제는 강화학습으로 또는 머신러닝으로 풀수 있기 때문에 왜 강화학습을 이 문 제에 적용시키는 지에 대한 근거가 중요. State
  • 16. Agent는 환경에서 특정 상태에 갔을 때 action을 지시하는 행위를 함. 사람의 경우에는 뇌. 로봇에서는 controller. Agent가 각 상태에서 취할 수 있는 행동의 옵션들 State -> state에 대한 확률 어떤 action을 취했을 경우 state가 deterministic하지 않고 확률적으로 정해지는 경우 일종의 noise. Action State Transition Probability
  • 17. MDP에서 action과 reward가 없다고 생각 해본다면 State-state 사이의 transition matrix를 생각해볼 수 있음. Markov chain은 state-state 그리고 각 state 끼리의 transition probability 를 정의 하는 것. 이 Markov chain에서 시간이 무한대로 흐르 면 모두 sleep으로 수렴할 것이고 더 이상 변 화가 없기 때문에 stationary distribution. 이와 다르게 MDP에서는 action을 할 확률과 action을 해서 어떤 state로 갈 확률이 주어 짐. Markov Chain
  • 18. s라는 state에 있을 때, a라는 action을 취했을 때 얻을 수 있는 reward. Agent 가 학습할 수 있는 정보. Agent는 Reward를 극대화 하는 방향으로 학습을 진행. 이 reward는 immediate reward인데 agent는 단순히 즉각적으로 나 오는 Reward만 보는 것이 아니라 이후로 얻는 Reward들도 고려. Reward
  • 19. 어떠한 agent는 각 time-step마다 0.1씩 리워드를 받고 다른 agent는 1씩 받았을 경 우, 무한대로 시간이 흐른다면 비교 불가능 시작부터 1을 받았을 때랑 끝날 때 1을 받을 경우를 구분 불가능 0 으로 갈수록 근시안적 / 1으로 갈수록 미래지향적 Discount Factor
  • 20. agent는 어떤 state에 도달하면 action을 결정하는데 어떤 state에서 어떤 action을 취 할지 정해놓은 것을 정책이라고 함. 결국 강화학습의 목적은 이 optimal policy를 찾는 것. Policy
  • 21. MDP graph는 앞서 본 Markov chain에서 state 사이의 transition을 보여 준 것과는 달리 action을 통한 state의 transition과 reward로 표현 MDP graph
  • 22. State value Function Agent가 state1에 있고, 계속해서 action을 취해가며 이동하고, 그에 따 른 Reward들을 기억하며 진행해 나감. 그리고 에피소드가 끝난 다음 받은 Reward들을 전부 더하는 것이 return 의 정의. Value Function
  • 23. Return의 expectation이 state-value function. Value function은 특정 state s의 장기적인 가치를 뜻함. State-Value Function
  • 24. Value function을 통해서 agent는 다음 state들의 가치를 평가하고 그에 따라 이동하기 때문에 state 들의 value function이 중요하고, 어떻게 효 율적이고 정확한 value function을 구하는지가 중요. Value function은 return(실제 경험을 통해서 받은 reward의 discounted amount)의 기댓값이기 때문에 마치 직접 주사위를 던져보는 것처럼 던져보면서 기 댓값을 구할 수 있음. 계속 그 state로부터 시작되거나 그 상태를 지나가는 에피소드들을 시도해보면서 얻 어진 보상들에 대한 데이터들을 이용해 그 value-function을 근사하는데 주사위의 경우에도 무한번 던져야되듯이 이 경우에도 무한히 시도해야 true value function 을 얻을 수 있음. State-Value Function Value Function 구하는 법
  • 25. 그렇다면 언제 이정도는 true값라고 해야하나 하는 결정이 필요 State-Value Function
  • 26. Policy를 고려한다면. 만약 agent가 어떤 행동정책(어떤 경향성을 띄는 행동 방식)을 한다고 가정했을 때, 랜덤으로 움직일때와는 agent가 바라보는 state들은 서로 완전 다른 경험을 하게 되었을 것. (과학 좋아 하는 아이와 음악을 좋아하는 아이는 완전 다른인생을 사는 것과 비슷) 그렇기 때문에 value function을 계산하는 데에 있어서 (아이가 인생의 가치를 어떻게 판단하 는가) agent의 일련의 행동 방식을 고려해줘야 함. 사실 앞의 공식에 저절로 그 경험 안에 Policy가 녹아들어가게 가게 되고, 각 policy마다 value-function이 달라질 수 있으므로 그 value-function을 최대로 하는 policy를 찾을 수 있게 되는 것. State-Value Function
  • 27. 대부분의 강화학습 알고리즘에서는 value-function을 얼마나 잘 계산하느냐가 중요한 역할을 하고 있음. “잘” 한다는 것은 bias 되지 않고, varience가 낮으며 true값에 가까우며 효율적 으로 빠른 시간 안에 수렴하는 것. State-Value Function
  • 28. action이란 어떤 상태에서 할 수 있는 행동들. 보통 모든 상태에서 가능한 행동은 같음. 앞선 state-value function에서 그 state의 가치라는 것은 그 state에서 어떤 액션을 했는지에 따라 달라지는 보상들에 대한 정보를 포함. agent의 입장에서 다음 행동을 다음으로 가능한 state들의 value-function으로 판 단하는데 그러려면 다음 state들에 대한 정보를 모두 알아야하고, 그 상태로 가려면 어 떻게 해야하는지도 알아야 한다. 따라서 앞선 방법의 state에 대한 value function말고 action에 대한 value function을 구할 수 있는데 이를 action-value function. Action-Value Function
  • 29. Action value function을 사용하면 value function과는 달리 단지 어떤 행동을 할지 action value function의 값을 판단하면 되기 때문에 다음 상태들의 가치함 수를 알고 어떤 행동을 했을 때 거기에 가게 될 확률을 알 필요도 없음. Action-Value Function 어떤 state s에서 action a를 취할 경우 받을 return에 대한 기댓값으로서 어떤 행 동을 했을 때, 얼마나 좋을 것인지. 앞으로 이어지는 내용에서는 state-value function이 아니라 action-value function을 사용할 것. 
 => action-value function은 다른 말로 Q-value로서 q-learning이나 deep q-network 같은 곳에 사용되는 q이다.
  • 30. 앞서 나온 value function들 사이에 어떠한 연관성이 있는데 그것을 식으로 나타내는 것이 Bellman equation. Bellman Equation
  • 31. Agent는 value function을 가지고 자신의 행동을 선택하는데 두 가지의 경우가 있음. Bellman Expectation Equation
  • 32. State-value function은 다음과 같이 두 부분으로 나뉘어 질 수 있음. Bellman (Expectation) Equation for value function
  • 33. Policy 포함한 경우와 action-value function도 다음과 같이 나타낼 수 있음. 그러나, 위와 같이 기댓값으로 표현하는 것은 조금 추상적이며 직관적이지 않을 수 있 음. 그래서 같은 식을 다른 방법으로 표현하는 것을 생각. (state-action pair) Bellman (Expectation) Equation for value function
  • 34. 흰 점은 state, 검은 점은 state에서 action을 선택한 상황. state에서 뻗어나가는 가지는 action의 개수만큼. 결국 v와 q의 관계는 아래의 식처럼 표현 가능. 각 액션을 할 확률과 그 액션을 해서 받는 expected return을 곱한 것의 총 sum은 현재 state의 value function이 됨. Bellman (Expectation) Equation for value function
  • 35. 이 부분에서는 reward가 추가. 보상의 정의에 상태와 액션이 모두 조건으로 들어가기 때문에 검은 과 흰 점의 위치가 바뀜. 액션에서 퍼져나가는 가지는 deterministic하다면 가지가 하나이지만, 외부적 요인에 의해서 transition probability가 존재한다면 가지가 여러개. Action-value function은 immediate reward에다가 액션을 취해 각 state로 갈 확 률 곱하기 그 위치에서의 state-value function(한 스탭을 지났으니 discounted 됨) 의 총합으로 나타낼 수 있음. Bellman (Expectation) Equation for value function
  • 36. 두 도표와 식을 합치면 다음과 같이 됨. Bellman (Expectation) Equation for value function
  • 37. 실제 강화학습으로 무언가를 학습시킬 때, reward와 state transition probability는 미리 알 수 없고, trial & error을 통해 배워가는 것. 만약 이런 정보들을 모두 안다고 하면 MDP를 모두 안다고 표현하고 이 정 보들이 MDP의 모델이 됨. 강화학습의 특징은 이 MDP 모델을 몰라도 학습할 수 있다는 것. 따라서 reward function과 state transition probability를 모르고 학습 하는 강화학습에서는 Bellman equation으로 가치함수를 구할 수 없음. Bellman (Expectation) Equation for value function
  • 38. 앞의 도표와 식을 action-value function에 대해서 작성하면 위와 같음. Bellman (Expectation) Equation for Q-function
  • 39. 보통 Bellman equation은 DP와 같이 discrete한 시간에서의 최적화 문제에 적용 되는 식을 뜻함. 대신 시간이 연속적인 문제에서는 Hamilton-Jacobi-Bellman equation을 사용. Bellman (Expectation) Equation for Q-function
  • 40. 앞서 본 두 식은 기댓값 형태로 나타나져 있기 때문에 Bellman expectation equation이라고 부름. 보통은 줄여서 Bellman equation이라고 부름. 그렇지만 이는 등호라기 보다는 코딩에서 처럼 대입 뜻의 등호에 가까움. Bellman Optimality Equation
  • 41. 오른쪽 식을 왼쪽에 대입한다는 개념. 미래의 값들(next state-value function)으로 현재의 value function을 구한다는 것이 backup. One step backup / multi-step backup. Full-width backup(가능한 모든 다음 state의 value function을 사용하여 백업) => DP / sample backup(실제 경험을 통해서 backup) => RL Backup
  • 42. Bellman optimality equation 전에 optimal value function을 먼저 알아야함. 강화학습의 목적 : accumulative future reward을 최대로 하는 정책 찾기. Optimal state-value function이란 현재 state에서 정책에 따라서 앞으로 받을 보상들 이 달라지는데 그 중에서 앞으로 가장 많은 보상을 받을 정책을 따랐을 때의 value function. Optimal action-value function도 마찬가지로 현재 (s,a)에서 얻을 수 있는 최대의 value function. Optimal Value Function
  • 43. 즉, 현재 환경에서 취할 수 있는 가장 높은 값의 보상의 총합. 아래의 식의 경우에 optimal action-value function의 값을 안다면 단순히 q값이 높은 액션을 선택해주면되므로 이 최적화 문제는 풀린 것. Optimal Value Function
  • 44. Optimal policy는 (s,a)에서 action-value function이 가장 높은 action 만을 고르기 때문에 deterministic. Optimal Policy
  • 46. Optimal value function 사이의 관계를 나타내 주는 식. 이전 backup diagram과 다른 점은 아래에는 호 모양으로 표시된 max. Bellman Optimality Equation
  • 47. 이러한 Bellman equation을 통해서 iterative하게 MDP 문제를 푸는 것을 DP라고 함. Bellman Optimality Equation