SlideShare ist ein Scribd-Unternehmen logo
1 von 80
Downloaden Sie, um offline zu lesen
모두를 위한 강화학습
Produced by Tae Young Lee
태어날 때 주어진 상태
정적인 요소
살아가면서 변하는 상태
동적인 요소
나의 상태는 이전 상태로 판단
신뢰 할당 문제
State
정적인 요소 동적인 요소
여러분은 이곳에 왜 있죠?
Value를 높이기 위해
어떻게 찾아 오셨죠?
탐색 이용 딜레마
가까운 미래의 보상을 위해 있다
감가율
최적경로
살아가면서 배워간다
State-Value Function Action Value Function
(Q-Function)
모든 것을 갱신할 수는 없다.
미쳐버린다.
차원의 저주
그래서 규칙이 있어야 한다.
정책 (Policy)
Template Matching
내 정책을 환기시키던지
Policy Iteration
내 가치를 순환시키던지
Value Iteration
내 상태가 변했으면 좋겠다
State Transition Probability
이곳에 계신 이유는 성장
미래의 리워드를 차감
그 만큼 소중한 이 순간의 행동
강화학습
Q-러닝
매 강의에서 열정을 가지고 임했다
주어진 상태에서 특정 행동의 “품질”(Quality)”로 표현
정말 열심히 하면 된다
최고 높은 Q-값과 함께 행동을 취하면 된다.
이전의 행동이 나를 만들어 나간다.
노력의 질이 오늘의 나를 바꾼다.
우리는 내일의 기댓값을 보고 산다.
가까운 미래의 보상에 대한 최대값
내 노력의 질과 양을 늘리고 싶다.
Q-함수를 향상시켜야 한다.
그러기 위해서는 벨만 방정식을 이용해서 반복적으로
Q-함수를 근사해야 한다.
다시금 과거의 기억들을 돌아보자 (t-1)
● 강화학습이란?
● MDP
○ 상태, 행동, 보상함수, 상태 변환 확률, 감가율, 정책
● 가치함수
○ 가치함수, 큐함수
● 벨만 방정식
○ 벨만 기대 방정식, 벨만 최적 방정식
● 다이내믹 프로그래밍
○ 정책 이터레이션, 가치 이터레이션
● 정책 평가
○ 몬테카를로 예측, 시간차 예측
● 알고리즘
○ 벨만 기대 방정식, 벨만 최적 방정식
강화학습 문제
결정을 순차적으로 내려야 하는 문제에 강화학습을 적용하려면 이 문제를 수학적으로 정의해야 한다.
수학적으로 정의하기 위해서는 나를 둘러싼 환경을 Unit으로 구성해야 한다.
1. 상태 (State) - 현재 Agent의 정보 (정적인 요소 + 동적인 요소)
2. 행동 (Action) - Agent가 어떠한 상태에서 취할 수 있는 행동
3. 보상 (Reward) - Agent가 학습할 수 있는 유일한 정보, 자신이 했던 행동의 평가 지표
4. 정책 (Policy) - State와 Action의 key, value값 → 순차적 행동 결정 문제의 답
MP와 MDP
MP (Markov Process) : p(s′|s) 이전 상태에 영향을 받는다.
MDP (Markov Decision Process) : p(s′|s, a) 이전 상태와 행해진 액션에 영향을
받는다.
MDP
강화 학습은 순차적으로 행동을 계속 결정해야 하는 문제를 푸는 것 → 이 문제를
수학적으로 표현한 것이 MDP (Markov Decision Process)
- MDP의 구성 요소
- 상태
- 행동
- 보상 함수
- 상태 변환 확률 (State Transition Probability)
- 감가율 (Discount Factor)
MDP (Markov Decision Process)
reward
state transition
state
action
state
state
Discount
Factor
?
Policy
Map 자료 구조 ( Key는 상태(state)가 되고 Val은 특정한 액션(action)이 된다. )
최종적으로 스텝 t마다 [state, action] 형태의 Map 집합으로 이루어진 자료구조로 상상할 수 있다.
Deterministic Policy π(x)=a
Stochastic Policy π(a|x)=p(A=a|X=x),∀a∈A(x),∀x∈X
Value Fuction
우리가 지금까지 한 일 : 문제를 MDP로 정의 → Agent는 MDP를 통해 최적 정책을 찾는다.
Agent가 어떻게 최적 정책을 찾을 수 있을까?
Agent 입장에서 어떤 행동을 하는 것이 좋은지를 어떻게 알 수 있을까? → 현재 상태에서 앞으로 받을
보상을 고려해서 선택해야 좋은 선택!
하지만 아직 받지 않은 보상들을 어떻게 고려할 수 있을까? → 에이전트는 가치함수를 통해 행동을
선택할 수 있다.
가치함수MDP 행동 선택
Value Function의 문제
1. 현재에 받은 보상 100과 미래에 받는 보상 100을 똑같이 취급한다.
2. 보상 100을 1번 받을 때와 보상 20을 5번 받을 때를 구분하지 못한다.
3. 시간이 무한대라면 0.1을 받아도, 1을 받아도 합이 무한대다.
단순한 보상의 합으로는 판단을 내리기 어려우므로, 좀 더 정확한 판단을 위해 감가율을 고려한다.
감가
율
감가
율
감가
율
Value Function
Agent는 Episode가 끝난 후에야 반환값을 알 수 있다.
하지만 에피소드가 끝날 때까지 기다려야 할까?
때로는 정확한 값을 얻기 위해 끝까지 기다리는 것보다 정확하지 않더라도 현재의 정보를 토대로
행동하는 것이 나을 때가 있다.
→ 가치함수 = 어떠한 상태에 가면 받을 것이라고 예상되는 값
정책을 고려한 가치함수
앞 장까지의 가치함수는 정책을 고려하지 않은 가치함수이다. 하지만 정책을 고려하지 않으면 안된다. 그
이유는 아래와 같다.
● 상태에서 상태로 넘어갈 때 Agent는 무조건 행동을 해야 하고 각 상태에서 행동을 하는 것이
Agent의 정책이기 때문
● 정책에 따라서 계산하는 가치함수는 당연히 달라질 수밖에 없음
● MDP에서의 가치함수는 항상 정책을 고려
가치함수(Value Function)
가치함수(Value Function)
상태 가치함수(State Value Function) 행동 가치함수(Action Value Function)
= Q-Function
상태가 입력으로 들어오면 그 상태에서
앞으로 받을 보상의 합을 출력하는
함수
어떤 상태에서 각 행동에 대해 따로
가치함수를 만들어서 어떤 행동이
얼마나 좋은지 알려주는 함수
[state=s 이고 policy=π 일 때, return의 기대값]
[state=s, action=a, policy=π 일 때, return의 기대값]
가치함수는 말 그대로 “함수” → 입력/출력이 무엇인지 알아야 한다.
● 지금까지 설명한 가치함수는 상태 가치함수
● 에이전트는 가치함수를 통해 다음에 어떤 상태로 가야할 지 판단할 수 있다.
● 어떤 상태로 가면 좋을지 판단한 후에 그 상태로 가기 위한 행동을 따져볼 수
있다.
가치함수상태
받을
보상의 합
Input Output
State-value function
Action-value function (Q-Function)
하지만…
● 어떤 상태에서 각 행동에 대해 따로 가치함수를 만들어서 그 정보를 얻어올 수 있다면 Agent는 굳이
다음 상태의 가치 함수를 따져보지 않아도 어떤 행동을 해야할 지 선택할 수 있다.
● 이처럼 어떤 상태에서 어떤 행동이 얼마나 좋은지 알려주는 함수를 행동 가치함수라고 한다. →
큐함수(Q-Function)
Action-value function (Q-Function)
상태 가치함수는 어떤 상태가 좋은 상태인지는 알려주지만 그 상태로 가는 방법인 행동에 대해서는
평가하지 않는다.
따라서 가치함수를 구하고 높은 가치를 가지는 상태로 가기 위한 행동은 따로 고려하여야 하는데, 이를
동시에 하기위해 상태와 행동을 동시에 고려한 Action-value function을 사용한다.
Q-function은 벨만 기대 방정식의 형태로 나타낼 수 있고 상태가치함수에 조건절에 행동이 고려된다는
점만 다르다.
벨만 기대 방정식
bellman expectation equation
앞에 State-Value Function에서 Value Function은 Policy를 고려하지 않았지만, Agent는 각 State에서
Policy에 따라 Action을 해야 하므로 위의 식을 Policy를 고려한 Value Function으로 변환해야 한다
이렇게 변환된 Policy를 고려한 Value Function이 바로 벨만 기대 방정식이다.
이 벨만 기대 방정식은 현재 상태의 가치함수와 다음 상태의 가치함수 사이의 관계 방정식이다.
감가율 때문에 우리는 최적 경로 탐색을 할 수 있다.
다시 돌아보자
Q-function
Action-Value Function
bellman expectation equation
벨만 최적 방정식
Bellman Optimality equation
벨만 기대 방정식을 계산을 통해 수렴하여 얻은 은 현재 정책 에 대한 ‘참 가치함수’로써 정해진
정책에 따라 움직일 때 받게 되는 보상의 참값이다.
반면 ‘최적 가치함수’는 수많은 정책 중 가장 높은 보상을 주는 최적의 가치함수이다. 이 최적의
가치함수를 찾기 위해서는 단순히 현재의 에이전트의 정책에 대한 가치함수를 구하는 것이 아니라
현재의 정책을 최적의 정책으로 업데이트 해 나가야 한다.
이 최적 정책으로의 업데이트를 위해서 우리는 가치함수를 통해 어떤 정책이 더 좋은 정책인지 평가한다.
따라서 모든 정책에 대해 가장 큰 보상을 기대할 수 있는 가치함수를 찾는다.
Q-funciton 역시 같은 방식으로 표현할 수 있다.
다이나믹 프로그래밍(Dynamic Programming, DP)
이란?
다이나믹(Dynamic) 프로그래밍(Programming)
시간에 따라 변하는
대상
여러개의 Process로
나누어 계획(Planning)
즉, Dynamic은 동적이라는 뜻으로, 시간에 따라 변하는 대상을 다루고 있음을 나타내고 Programming은
여러 process로 나누어 Planning한다는 뜻이다. 단어로 부터 알 수 있듯이 DP의 개념은 큰 순차적인 행동
결정 문제를 작은 process들로 나누어 푸는데, 푸는 대상이 시간에 따라 변하는 대상으로 봐야 한다.
출처 : https://sumniya.tistory.com/10
Dynamic Programming
한번에 풀기 어려운 문제를 여러 개의 작은 문제로 나눠 푸는 법
작은 문제들 사이에서 공유하는 계산 결과들을 재사용해 총 계산량을 줄일 수 있음
가치함수를 기준으로 정책이 얼마나 좋은지 평가한다.
문제는 정책을 평가하려면 가 필요한데 이게 뭔 지 모른다.
→ 다이나믹 프로그래밍으로 해결
Dynamic Programming
Predict & Control
DP는 Prediction과 Control, 두 step으로 나누어집니다 그리고 현재 진행하는 policy에 따라 value func.을
구하고 (prediction) 이를 토대로 policy를 optimal하게 발전시키는 흐름(control)으로 진행됩니다.
이때, Prediction의 과정이 Policy Evaluation이고,
Control의 과정이 Policy Improvement이다.
DP는 각 과정에서 사용하는 Bellman Equation에 따라 2가지 종류로 나뉘게 되는데
Bellman Expectation Equation을 사용하는 Policy Iteration과,
Bellman Optimality Equation을 사용하는 Value Iteration입니다.
출처 : https://sumniya.tistory.com/10
Policy Iteration
Policy
Policy Improvement Policy Evaluation
Random Policy
Policy Iteration
Policy Iteration
Policy Iteration은 Dynamic Programming의 한 종류로, 벨만 기대 방정식을 사용해 MDP문제를 푸는 것.
MDP 문제에서 결국 우리가 알고 싶은 것은 가장 높은 보상을 얻게 하는 정책을 찾는 것이다. 처음에는 이
정책을 알 수 없으므로 보통 무작위로 시작하여 정책을 발전시켜 나간다.
→ Policy Evaluation, Policy Improvement를 무수히 반복하여 최적 정책을 찾을 수 있음
Policy Evaluation
Policy Iteration에서 정책을 평가하고 이를 통해 발전시켜나가야 하는데, 평가는 어떻게 할 수 있을까?
앞에서 말했던 Value Function이 정책이 얼마나 좋은지 판단하는 근거가 된다. (어떤 Policy를 따라가야
많은 보상을 받을 수 있을지) 모든 상태에 대해서 그 다음 상태가 될 수 있는 행동에 대한 보상의 합을
현재 상태 자리에 저장하는 것이 Policy Evaluation의 과정이다.
즉 주변 상태의 가치함수와 바로 다음 스텝에서 얻어지는 보상만 고려해서 현재 상태의 다음 가치함수를
계산하겠다는 것이다.
이렇게 계산한 값이 실제 값은 아니지만 무한히 반복한다면 참 값으로 수렴할 것이다
Policy Improvement
Policy Improvement의 방법은 정해져 있지 않지만 가장 널리 알려진 방법은 Greedy Policy
Improvement이다.
Greedy Policy Improvement Agent가 할 수 있는 행동들의 큐함수를 비교하고 가장 큰 큐함수를 가진
행동을 취하는 것이다.
Greedy Policy Improvement을 통해 Policy를 업데이트 하면 이전 가치함수에 비해 업데이트된 정책으로
움직였을 때 받을 가치함수는 무조건 크거나 같다.
따라서 장기적으로 본다면 최적 정책에 수렴할 수 있다.
Value Iteration
Policy Iteration과 구분되는 Value Iteration은 Bellman Optimality Equation을 이용하는 것인데, 이를
이용하면 evaluation을 한번만 진행하게 됩니다 (전체 Iteration 중에 한번이라는 뜻입니다. Evaluation은
수많은 부분 iteration으로 이루어져 있습니다). 우리는 evaluation과정에서 이동가능한 states들에 대해
value function들을 더하여 도출했지만, 이중에 max값을 취해서 greedy하게 value function을 구해서
improve하자는게 value iteration의 아이디어이다. 그래서 우리는 action을 취할 확률을 곱해서
summation하는 대신에 max값을 취하는 아래의 optimal value function식을 사용합니다.
Dynamic Programming
Bellman Equation을 통해서 optimal한 해를 찾아내는 방법으로서
MDP에 대한 모든 정보를 가진 상태에서 문제를 풀어나가는
방법이다.
모든 정보를 가진 상태
Environment의 model인 “Reward function”과 “state transition
probabilities”를 알아야하기 때문에 Model-based한 방법
모든 것을 다 안 다면 움직일 수 없다.
(1) Full-width Backup → expensive computation (계산 복잡도, 차원의 저주)
(2) Full Knowledge about Environment (환경에 대한 완벽한 정보 필요)
우리는 실패를 통해 배운다
Trial and error를 통해서 학습하는 것이 강화학습의 큰 특징
강화학습은 경험한 정보를 활용
실재로 경험한 정보들로서 update를 하는 sample backup을 하게 된다.
환경이 중요한 게 아니다.
이렇게 실재로 경험한 정보들을 사용함으로서 처음부터
environment에 대해서 모든 것을 알 필요가 없다.
배울 수 있는 자유가 중요하다.
Environment의 model을 모르고 학습하기
때문에 Model-free라는 말이 붙게 됨
하지만 자유도가 높으면 움직일 수 없다.
그래서 이곳에 오신거죠!
현재의 policy를 바탕으로 움직여보면서 sampling을 통해 value
function을 update하는 것을 model-free prediction이라 하고 policy를
update까지 하게 된다면 그것이 바로 model-free control
Model Free 방법
Prediction (예측) Control (조절)
Monte-Carlo Prediction
Temporal Difference Prediction
(시간차 예측)
SARSA
(On-Policy 시간차 제어)
Q-Learning
(Off-Policy Control)
Prediction
내가 여기서 배우면 이건 할 수 있겠지
prediction : Agent는 환경과의 상호작용을 통해 주어진 정책에 대한 가치함수를
학습
→ 몬테카를로 예측, 시간차 예측
Monte-Carlo Prediction
Monte-Carlo
Monte-Carlo라는 말에 대해 Sutton교수님은 Monte-Carlo 단어 자체가 무엇인가를 random하게 측정하는
것을 뜻하는 말이라고 했다. 이를 강화학습에서는 “averaging complete returns”하는 방법을 의미한다고
한다.
Monte-Carlo와 Temporal Difference로 갈리는 것은 value function을 estimation하는 방법에 따라서이다.
Value function이라는 것은 expected accumulative future reward로서 지금 이 state에서 시작해서
미래까지 받을 기대되는 reward의 총합이다.
이 reward를 산출하는 방법은 episode를 끝까지 가본 후에 받은 reward들로 각 state의 value function들을
거꾸로 계산해보는 것이다.
따라서 MC는 끝나지 않는 episode에서는 사용할 수 없는 방법이다.
Monte-Carlo Prediction
원의 넓이를 구하는 방정식을 모른다면 원의 넓이는 어떻게 구할 수 있을까? 바로 ‘몬테카를로 근사
Monte-Carlo Approximation’를 이용하면 된다. 무작위로 샘플을 추출하여 원의 넓이를 추정한다는 것이다.
사실 추정한 값이 정확하진 않겠지만 무수한 양의 샘플을 이용한다면 원래의 값과 동일해질 것이다.
Sampling : Agent가 한 번 환경에서 Episode를 진행하는 것
MonteCarlo Prediction : Sampling을 통해 얻은 Sample의 평균으로 참 가치함수 값을 몬테카를로 근사를
사용하여 추정하는 것
Temporal-Difference Prediction
Temporal Difference Prediction (시간차 예측)
이전에 살펴본 몬테카를로 예측의 단점은 실시간이 아니라는 점이다. 몬테카를로는 하나의 에피소드가
끝날 때까지 기다려야하며, 에피소드의 끝이 없거나 길이가 길다면 이 방법은 적합하지 않다.
이를 해결할 수 있는 방법이 시간차 예측 TD Prediction이다. 시간차 예측은 타임스텝마다 가치함수를
업데이트 하는 방법이다.
시간차 예측에서는 업데이트의 목표 값이 실제 값이 아니라 예측 값이다. 이처럼 다른 상태의 가치함수
예측값을 통해 지금 상태의 가치 함수를 예측하는 방식을 부트스트랩 Bootstrap 이라고 한다.
Control
나의 발자취를 통해 조절 가능
control : value function을 토대로 정책을 끊임없이 발전시켜 나가서
최적 정책을 학습
→ SARSA(시간차 제어), Q-Learining(Off-Policy Control)
살사와 큐러닝의 차이는 On-Policy,
Off-Policy의 차이일 뿐이다.
On-Policy
행동하는 정책과 목표 정책이 동일.
하나의 정책으로 행동하고 학습
Sarsa
Policy Iteration은 Policy Evaluation과 Policy Improvement로 나누어져 있고, 이 과정을 반복해서 실행하면
결국 Optimal Value-Function으로 수렵하게 된다.
Policy Evaluation과 Improvement의 단계를 매번 번갈아 가면서 실행하는 Policy Iteration을
GPI(Generalized Policy Iteration)이라고 한다. GPI에서 정책 발전의 식을 보면 상태변환확률의 값을
알아야 하는데, 이 값은 모델을 알아야 한다.
이 대신 Greedy Policy에서 현재 상태의 Q-Funciton을 보고 판단한다면 모델을 몰라도 된다. 따라서
시간차 제어(시간차 예측과 탐욕정책이 합쳐진 것)에서 업데이트 하는 대상은 가치함수가 아닌 큐함수가
되어야 한다.
Epsilon-Greedy Policy
위 식을 보면 다음 상태의 큐함수를 알기 위해서는 다음 상태에서 취할 행동까지 선택해야 한다.
다시 말해, 우리가 큐함수를 업데이트 하기 위해 필요한 샘플은 이고, 이를 살사
SARSA라고 부른다.
살사는 현재 가지고 있는 큐함수를 토대로 Greedy Policy으로 모으고, 그 샘플로 큐함수를 업데이트 하는
과정을 반복하는 것이다.
우리는 앞에서도 Greedy Policy를 많이 써왔지만, 이 방법은 초기 에이전트에게 잘못된 학습으로 가게 할
가능성이 있다.
이 문제는 강화학습의 중요한 문제로 Exploration의 문제이다.
따라서 greedy policy를 대체할 수 있는 로 사용할
것이다.
Off-Policy
현재 행동하는 정책과는 독립적으로 학습. (behavior policy, target policy)
즉, 행동하는 정책과 학습하는 정책을 따로 분리하여 에이전트는
행동하는 정책으로 지속적인 탐험을 하고 학습은 따로 목표 정책을 둠
Q-Learning
살사에서 Epsilon-Greedy Policy를 사용하여 큐함슈를 업데이트 했다. 만약 Epsilon의 확률로 엉뚱한 행동
a를 선택하여 리워드가 감소하는 결과를 얻었을 때, 업데이트 되는 행동 a의 큐함수의 값이 작아지게
된다. 이후에 다시 이전과 같은 상태가 되면 에이전트는 행동 a를 하는 것은 좋지 않다고 판단한다. 이 때
그리드월드에서는 에이전트가 갇힐 수 있는 현상이 발생한다. 살사는 On-policy TD Control, 즉 자신이
행동하는 대로 학습하는 시간차 제어이다.
탐험을 위해 선택한 Epsilon-greedy policy 때문에 에이전트는 오히려 잘못된 정책을 학습할 수도 있다.
그러나 위에서도 말했듯이 탐험은 강화학습의 중요한 문제이고, 이러한 딜레마를 해결하기 위해
Off-Policy TD Control (대표적으로 큐러닝 Q-Learning) 사용한다.
그렇다면 큐러닝에서는 어떻게 Policy를 분리할까?
에이전트는 다음 상태에서 어떤 행동을 했는지와 관계없이 현재 상태 s의 큐함수를 업데이트 할 때는
다음 상태의 최대 큐함수를 이용한다.
따라서 현재 상태의 큐함수를 업데이트 하기 위해 필요한 샘플은 이다.
https://deepmind.com/research/publication
s
https://openai.com/research/#publication
s
실습을 해 보자!
https://github.com/tylee33/RL_Lecture

Weitere ähnliche Inhalte

Was ist angesagt?

악플분류 모델링 프로젝트
악플분류 모델링 프로젝트악플분류 모델링 프로젝트
악플분류 모델링 프로젝트DataScienceLab
 
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
 
Improving Language Understanding by Generative Pre-Training
Improving Language Understanding by Generative Pre-TrainingImproving Language Understanding by Generative Pre-Training
Improving Language Understanding by Generative Pre-Trainingpko89403
 
Query suggestions as summarization in exploratory search
Query suggestions as summarization in exploratory searchQuery suggestions as summarization in exploratory search
Query suggestions as summarization in exploratory searchtaeseon ryu
 
Chapter 7 Regularization for deep learning - 2
Chapter 7 Regularization for deep learning - 2Chapter 7 Regularization for deep learning - 2
Chapter 7 Regularization for deep learning - 2KyeongUkJang
 
Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터JEEHYUN PAIK
 
Enliple korquad challenge
Enliple korquad challengeEnliple korquad challenge
Enliple korquad challengeSanghyun Cho
 
Enliple BERT-Small을 이용한 KorQuAD 모델
Enliple BERT-Small을 이용한 KorQuAD 모델Enliple BERT-Small을 이용한 KorQuAD 모델
Enliple BERT-Small을 이용한 KorQuAD 모델KwangHyeonPark
 
(Nlp)fine tuning 대회_참여기
(Nlp)fine tuning 대회_참여기(Nlp)fine tuning 대회_참여기
(Nlp)fine tuning 대회_참여기OverDeep
 
Efficient Training of Bert by Progressively Stacking
Efficient Training of Bert by Progressively StackingEfficient Training of Bert by Progressively Stacking
Efficient Training of Bert by Progressively StackingHoon Heo
 
Bert3q KorQuAD Finetuning NLP Challenge
Bert3q KorQuAD Finetuning NLP ChallengeBert3q KorQuAD Finetuning NLP Challenge
Bert3q KorQuAD Finetuning NLP ChallengeOverDeep
 
한눈에 보는 머신러닝
한눈에 보는 머신러닝한눈에 보는 머신러닝
한눈에 보는 머신러닝주경 이
 
Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2KyeongUkJang
 
CS294-112 Lecture 13
CS294-112 Lecture 13CS294-112 Lecture 13
CS294-112 Lecture 13Gyubin Son
 

Was ist angesagt? (20)

악플분류 모델링 프로젝트
악플분류 모델링 프로젝트악플분류 모델링 프로젝트
악플분류 모델링 프로젝트
 
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
 
Improving Language Understanding by Generative Pre-Training
Improving Language Understanding by Generative Pre-TrainingImproving Language Understanding by Generative Pre-Training
Improving Language Understanding by Generative Pre-Training
 
Query suggestions as summarization in exploratory search
Query suggestions as summarization in exploratory searchQuery suggestions as summarization in exploratory search
Query suggestions as summarization in exploratory search
 
Chapter 7 Regularization for deep learning - 2
Chapter 7 Regularization for deep learning - 2Chapter 7 Regularization for deep learning - 2
Chapter 7 Regularization for deep learning - 2
 
Ml for 정형데이터
Ml for 정형데이터Ml for 정형데이터
Ml for 정형데이터
 
Enliple korquad challenge
Enliple korquad challengeEnliple korquad challenge
Enliple korquad challenge
 
광고 CTR 예측
광고 CTR 예측광고 CTR 예측
광고 CTR 예측
 
Enliple BERT-Small을 이용한 KorQuAD 모델
Enliple BERT-Small을 이용한 KorQuAD 모델Enliple BERT-Small을 이용한 KorQuAD 모델
Enliple BERT-Small을 이용한 KorQuAD 모델
 
(Nlp)fine tuning 대회_참여기
(Nlp)fine tuning 대회_참여기(Nlp)fine tuning 대회_참여기
(Nlp)fine tuning 대회_참여기
 
Efficient Training of Bert by Progressively Stacking
Efficient Training of Bert by Progressively StackingEfficient Training of Bert by Progressively Stacking
Efficient Training of Bert by Progressively Stacking
 
Bert3q KorQuAD Finetuning NLP Challenge
Bert3q KorQuAD Finetuning NLP ChallengeBert3q KorQuAD Finetuning NLP Challenge
Bert3q KorQuAD Finetuning NLP Challenge
 
한눈에 보는 머신러닝
한눈에 보는 머신러닝한눈에 보는 머신러닝
한눈에 보는 머신러닝
 
Ai nlp challenge
Ai nlp challengeAi nlp challenge
Ai nlp challenge
 
TinyBERT
TinyBERTTinyBERT
TinyBERT
 
Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2Chapter 6 Deep feedforward networks - 2
Chapter 6 Deep feedforward networks - 2
 
REALM
REALMREALM
REALM
 
NN and PDF
NN and PDFNN and PDF
NN and PDF
 
CS294-112 18
CS294-112 18CS294-112 18
CS294-112 18
 
CS294-112 Lecture 13
CS294-112 Lecture 13CS294-112 Lecture 13
CS294-112 Lecture 13
 

Ähnlich wie Reinforcement learning

Reinforcement learning basic
Reinforcement learning basicReinforcement learning basic
Reinforcement learning basicJicheol Woo
 
Rl from scratch part1
Rl from scratch part1Rl from scratch part1
Rl from scratch part1Shinwoo Park
 
Rl from scratch part2
Rl from scratch part2Rl from scratch part2
Rl from scratch part2Shinwoo Park
 
Rl from scratch part3
Rl from scratch part3Rl from scratch part3
Rl from scratch part3Shinwoo Park
 
강화학습 기초부터 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
 
Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰태영 정
 
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
 
Rl from scratch part4
Rl from scratch part4Rl from scratch part4
Rl from scratch part4Shinwoo Park
 
강화학습 & Unity ML Agents
강화학습 & Unity ML Agents강화학습 & Unity ML Agents
강화학습 & Unity ML AgentsHyunjong Lee
 
Rl from scratch part7
Rl from scratch part7Rl from scratch part7
Rl from scratch part7Shinwoo Park
 
Policy Gradient를 이용한 인공지능 ETF 포트폴리오 매니저
Policy Gradient를 이용한 인공지능 ETF 포트폴리오 매니저Policy Gradient를 이용한 인공지능 ETF 포트폴리오 매니저
Policy Gradient를 이용한 인공지능 ETF 포트폴리오 매니저Gyusu Han
 
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)Minwoo Kim
 
Control as Inference.pptx
Control as Inference.pptxControl as Inference.pptx
Control as Inference.pptxssuserbd1647
 
강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1Dongmin Lee
 
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introductionTaehoon Kim
 
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)Kyunghwan Kim
 
Policy gradient
Policy gradientPolicy gradient
Policy gradient태영 정
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강Woong won Lee
 
ML + 주식 phase 2
ML + 주식  phase 2ML + 주식  phase 2
ML + 주식 phase 2HoChul Shin
 

Ähnlich wie Reinforcement learning (20)

Reinforcement learning basic
Reinforcement learning basicReinforcement learning basic
Reinforcement learning basic
 
Rl from scratch part1
Rl from scratch part1Rl from scratch part1
Rl from scratch part1
 
Rl from scratch part2
Rl from scratch part2Rl from scratch part2
Rl from scratch part2
 
Rl
RlRl
Rl
 
Rl from scratch part3
Rl from scratch part3Rl from scratch part3
Rl from scratch part3
 
강화학습 기초부터 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)
 
Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰Soft Actor-Critic Algorithms and Applications 한국어 리뷰
Soft Actor-Critic Algorithms and Applications 한국어 리뷰
 
Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)
 
Rl from scratch part4
Rl from scratch part4Rl from scratch part4
Rl from scratch part4
 
강화학습 & Unity ML Agents
강화학습 & Unity ML Agents강화학습 & Unity ML Agents
강화학습 & Unity ML Agents
 
Rl from scratch part7
Rl from scratch part7Rl from scratch part7
Rl from scratch part7
 
Policy Gradient를 이용한 인공지능 ETF 포트폴리오 매니저
Policy Gradient를 이용한 인공지능 ETF 포트폴리오 매니저Policy Gradient를 이용한 인공지능 ETF 포트폴리오 매니저
Policy Gradient를 이용한 인공지능 ETF 포트폴리오 매니저
 
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
 
Control as Inference.pptx
Control as Inference.pptxControl as Inference.pptx
Control as Inference.pptx
 
강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1강화학습의 흐름도 Part 1
강화학습의 흐름도 Part 1
 
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
 
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
 
Policy gradient
Policy gradientPolicy gradient
Policy gradient
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강
 
ML + 주식 phase 2
ML + 주식  phase 2ML + 주식  phase 2
ML + 주식 phase 2
 

Mehr von Tae Young Lee

Review of the Paper on Capabilities of Gemini Models in Medicine
Review of the Paper on Capabilities of Gemini Models in MedicineReview of the Paper on Capabilities of Gemini Models in Medicine
Review of the Paper on Capabilities of Gemini Models in MedicineTae Young Lee
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
LLMs Service that provides what users want to know
LLMs Service that provides what users want to knowLLMs Service that provides what users want to know
LLMs Service that provides what users want to knowTae Young Lee
 
Exploring Deep Learning Acceleration Technology Embedded in LLMs
Exploring Deep Learning Acceleration Technology Embedded in LLMsExploring Deep Learning Acceleration Technology Embedded in LLMs
Exploring Deep Learning Acceleration Technology Embedded in LLMsTae Young Lee
 
LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드Tae Young Lee
 
Recommendation System History
Recommendation System HistoryRecommendation System History
Recommendation System HistoryTae Young Lee
 
검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPT검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPTTae Young Lee
 
검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론Tae Young Lee
 
The Deep Learning Compiler
The Deep Learning CompilerThe Deep Learning Compiler
The Deep Learning CompilerTae Young Lee
 
History of Vision AI
History of Vision AIHistory of Vision AI
History of Vision AITae Young Lee
 
Enhanced ai platform
Enhanced ai platformEnhanced ai platform
Enhanced ai platformTae Young Lee
 
Real estate trust solution
Real estate trust solutionReal estate trust solution
Real estate trust solutionTae Young Lee
 
Deep learning financial product recommendation model
Deep learning financial product recommendation modelDeep learning financial product recommendation model
Deep learning financial product recommendation modelTae Young Lee
 
Deep Learning Through Various Processes
Deep Learning Through Various ProcessesDeep Learning Through Various Processes
Deep Learning Through Various ProcessesTae Young Lee
 

Mehr von Tae Young Lee (20)

Review of the Paper on Capabilities of Gemini Models in Medicine
Review of the Paper on Capabilities of Gemini Models in MedicineReview of the Paper on Capabilities of Gemini Models in Medicine
Review of the Paper on Capabilities of Gemini Models in Medicine
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
LLMs Service that provides what users want to know
LLMs Service that provides what users want to knowLLMs Service that provides what users want to know
LLMs Service that provides what users want to know
 
Exploring Deep Learning Acceleration Technology Embedded in LLMs
Exploring Deep Learning Acceleration Technology Embedded in LLMsExploring Deep Learning Acceleration Technology Embedded in LLMs
Exploring Deep Learning Acceleration Technology Embedded in LLMs
 
LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드
 
Recommendation System History
Recommendation System HistoryRecommendation System History
Recommendation System History
 
검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPT검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPT
 
검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론검색엔진에 적용된 딥러닝 모델 방법론
검색엔진에 적용된 딥러닝 모델 방법론
 
PaLM Paper Review
PaLM Paper ReviewPaLM Paper Review
PaLM Paper Review
 
The Deep Learning Compiler
The Deep Learning CompilerThe Deep Learning Compiler
The Deep Learning Compiler
 
History of Vision AI
History of Vision AIHistory of Vision AI
History of Vision AI
 
Aws architecture
Aws architectureAws architecture
Aws architecture
 
Enhanced ai platform
Enhanced ai platformEnhanced ai platform
Enhanced ai platform
 
Nvidia architecture
Nvidia architectureNvidia architecture
Nvidia architecture
 
Ai based on gpu
Ai based on gpuAi based on gpu
Ai based on gpu
 
Real estate trust solution
Real estate trust solutionReal estate trust solution
Real estate trust solution
 
Bayesian learning
Bayesian learningBayesian learning
Bayesian learning
 
Deep learning financial product recommendation model
Deep learning financial product recommendation modelDeep learning financial product recommendation model
Deep learning financial product recommendation model
 
Deep Learning Through Various Processes
Deep Learning Through Various ProcessesDeep Learning Through Various Processes
Deep Learning Through Various Processes
 
Jenkins in finance
Jenkins in financeJenkins in finance
Jenkins in finance
 

Kürzlich hochgeladen

JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 

Kürzlich hochgeladen (8)

JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 

Reinforcement learning

  • 2.
  • 3. 태어날 때 주어진 상태 정적인 요소
  • 5. 나의 상태는 이전 상태로 판단 신뢰 할당 문제
  • 7. 여러분은 이곳에 왜 있죠? Value를 높이기 위해
  • 9. 가까운 미래의 보상을 위해 있다 감가율 최적경로
  • 10. 살아가면서 배워간다 State-Value Function Action Value Function (Q-Function)
  • 11. 모든 것을 갱신할 수는 없다.
  • 13. 그래서 규칙이 있어야 한다. 정책 (Policy) Template Matching
  • 16. 내 상태가 변했으면 좋겠다 State Transition Probability
  • 17. 이곳에 계신 이유는 성장 미래의 리워드를 차감
  • 18. 그 만큼 소중한 이 순간의 행동 강화학습
  • 20. 매 강의에서 열정을 가지고 임했다 주어진 상태에서 특정 행동의 “품질”(Quality)”로 표현
  • 21. 정말 열심히 하면 된다 최고 높은 Q-값과 함께 행동을 취하면 된다.
  • 22. 이전의 행동이 나를 만들어 나간다. 노력의 질이 오늘의 나를 바꾼다.
  • 23.
  • 24. 우리는 내일의 기댓값을 보고 산다. 가까운 미래의 보상에 대한 최대값
  • 25. 내 노력의 질과 양을 늘리고 싶다. Q-함수를 향상시켜야 한다. 그러기 위해서는 벨만 방정식을 이용해서 반복적으로 Q-함수를 근사해야 한다.
  • 26.
  • 27. 다시금 과거의 기억들을 돌아보자 (t-1) ● 강화학습이란? ● MDP ○ 상태, 행동, 보상함수, 상태 변환 확률, 감가율, 정책 ● 가치함수 ○ 가치함수, 큐함수 ● 벨만 방정식 ○ 벨만 기대 방정식, 벨만 최적 방정식 ● 다이내믹 프로그래밍 ○ 정책 이터레이션, 가치 이터레이션 ● 정책 평가 ○ 몬테카를로 예측, 시간차 예측 ● 알고리즘 ○ 벨만 기대 방정식, 벨만 최적 방정식
  • 28. 강화학습 문제 결정을 순차적으로 내려야 하는 문제에 강화학습을 적용하려면 이 문제를 수학적으로 정의해야 한다. 수학적으로 정의하기 위해서는 나를 둘러싼 환경을 Unit으로 구성해야 한다. 1. 상태 (State) - 현재 Agent의 정보 (정적인 요소 + 동적인 요소) 2. 행동 (Action) - Agent가 어떠한 상태에서 취할 수 있는 행동 3. 보상 (Reward) - Agent가 학습할 수 있는 유일한 정보, 자신이 했던 행동의 평가 지표 4. 정책 (Policy) - State와 Action의 key, value값 → 순차적 행동 결정 문제의 답
  • 29. MP와 MDP MP (Markov Process) : p(s′|s) 이전 상태에 영향을 받는다. MDP (Markov Decision Process) : p(s′|s, a) 이전 상태와 행해진 액션에 영향을 받는다.
  • 30. MDP 강화 학습은 순차적으로 행동을 계속 결정해야 하는 문제를 푸는 것 → 이 문제를 수학적으로 표현한 것이 MDP (Markov Decision Process) - MDP의 구성 요소 - 상태 - 행동 - 보상 함수 - 상태 변환 확률 (State Transition Probability) - 감가율 (Discount Factor)
  • 31. MDP (Markov Decision Process) reward state transition state action state state Discount Factor ?
  • 32. Policy Map 자료 구조 ( Key는 상태(state)가 되고 Val은 특정한 액션(action)이 된다. ) 최종적으로 스텝 t마다 [state, action] 형태의 Map 집합으로 이루어진 자료구조로 상상할 수 있다. Deterministic Policy π(x)=a Stochastic Policy π(a|x)=p(A=a|X=x),∀a∈A(x),∀x∈X
  • 33. Value Fuction 우리가 지금까지 한 일 : 문제를 MDP로 정의 → Agent는 MDP를 통해 최적 정책을 찾는다. Agent가 어떻게 최적 정책을 찾을 수 있을까? Agent 입장에서 어떤 행동을 하는 것이 좋은지를 어떻게 알 수 있을까? → 현재 상태에서 앞으로 받을 보상을 고려해서 선택해야 좋은 선택! 하지만 아직 받지 않은 보상들을 어떻게 고려할 수 있을까? → 에이전트는 가치함수를 통해 행동을 선택할 수 있다. 가치함수MDP 행동 선택
  • 34. Value Function의 문제 1. 현재에 받은 보상 100과 미래에 받는 보상 100을 똑같이 취급한다. 2. 보상 100을 1번 받을 때와 보상 20을 5번 받을 때를 구분하지 못한다. 3. 시간이 무한대라면 0.1을 받아도, 1을 받아도 합이 무한대다. 단순한 보상의 합으로는 판단을 내리기 어려우므로, 좀 더 정확한 판단을 위해 감가율을 고려한다. 감가 율 감가 율 감가 율
  • 35. Value Function Agent는 Episode가 끝난 후에야 반환값을 알 수 있다. 하지만 에피소드가 끝날 때까지 기다려야 할까? 때로는 정확한 값을 얻기 위해 끝까지 기다리는 것보다 정확하지 않더라도 현재의 정보를 토대로 행동하는 것이 나을 때가 있다. → 가치함수 = 어떠한 상태에 가면 받을 것이라고 예상되는 값
  • 36. 정책을 고려한 가치함수 앞 장까지의 가치함수는 정책을 고려하지 않은 가치함수이다. 하지만 정책을 고려하지 않으면 안된다. 그 이유는 아래와 같다. ● 상태에서 상태로 넘어갈 때 Agent는 무조건 행동을 해야 하고 각 상태에서 행동을 하는 것이 Agent의 정책이기 때문 ● 정책에 따라서 계산하는 가치함수는 당연히 달라질 수밖에 없음 ● MDP에서의 가치함수는 항상 정책을 고려
  • 37. 가치함수(Value Function) 가치함수(Value Function) 상태 가치함수(State Value Function) 행동 가치함수(Action Value Function) = Q-Function 상태가 입력으로 들어오면 그 상태에서 앞으로 받을 보상의 합을 출력하는 함수 어떤 상태에서 각 행동에 대해 따로 가치함수를 만들어서 어떤 행동이 얼마나 좋은지 알려주는 함수 [state=s 이고 policy=π 일 때, return의 기대값] [state=s, action=a, policy=π 일 때, return의 기대값]
  • 38. 가치함수는 말 그대로 “함수” → 입력/출력이 무엇인지 알아야 한다. ● 지금까지 설명한 가치함수는 상태 가치함수 ● 에이전트는 가치함수를 통해 다음에 어떤 상태로 가야할 지 판단할 수 있다. ● 어떤 상태로 가면 좋을지 판단한 후에 그 상태로 가기 위한 행동을 따져볼 수 있다. 가치함수상태 받을 보상의 합 Input Output State-value function
  • 39. Action-value function (Q-Function) 하지만… ● 어떤 상태에서 각 행동에 대해 따로 가치함수를 만들어서 그 정보를 얻어올 수 있다면 Agent는 굳이 다음 상태의 가치 함수를 따져보지 않아도 어떤 행동을 해야할 지 선택할 수 있다. ● 이처럼 어떤 상태에서 어떤 행동이 얼마나 좋은지 알려주는 함수를 행동 가치함수라고 한다. → 큐함수(Q-Function)
  • 40. Action-value function (Q-Function) 상태 가치함수는 어떤 상태가 좋은 상태인지는 알려주지만 그 상태로 가는 방법인 행동에 대해서는 평가하지 않는다. 따라서 가치함수를 구하고 높은 가치를 가지는 상태로 가기 위한 행동은 따로 고려하여야 하는데, 이를 동시에 하기위해 상태와 행동을 동시에 고려한 Action-value function을 사용한다. Q-function은 벨만 기대 방정식의 형태로 나타낼 수 있고 상태가치함수에 조건절에 행동이 고려된다는 점만 다르다.
  • 41. 벨만 기대 방정식 bellman expectation equation 앞에 State-Value Function에서 Value Function은 Policy를 고려하지 않았지만, Agent는 각 State에서 Policy에 따라 Action을 해야 하므로 위의 식을 Policy를 고려한 Value Function으로 변환해야 한다 이렇게 변환된 Policy를 고려한 Value Function이 바로 벨만 기대 방정식이다. 이 벨만 기대 방정식은 현재 상태의 가치함수와 다음 상태의 가치함수 사이의 관계 방정식이다. 감가율 때문에 우리는 최적 경로 탐색을 할 수 있다.
  • 43. 벨만 최적 방정식 Bellman Optimality equation 벨만 기대 방정식을 계산을 통해 수렴하여 얻은 은 현재 정책 에 대한 ‘참 가치함수’로써 정해진 정책에 따라 움직일 때 받게 되는 보상의 참값이다. 반면 ‘최적 가치함수’는 수많은 정책 중 가장 높은 보상을 주는 최적의 가치함수이다. 이 최적의 가치함수를 찾기 위해서는 단순히 현재의 에이전트의 정책에 대한 가치함수를 구하는 것이 아니라 현재의 정책을 최적의 정책으로 업데이트 해 나가야 한다. 이 최적 정책으로의 업데이트를 위해서 우리는 가치함수를 통해 어떤 정책이 더 좋은 정책인지 평가한다. 따라서 모든 정책에 대해 가장 큰 보상을 기대할 수 있는 가치함수를 찾는다. Q-funciton 역시 같은 방식으로 표현할 수 있다.
  • 44.
  • 45. 다이나믹 프로그래밍(Dynamic Programming, DP) 이란? 다이나믹(Dynamic) 프로그래밍(Programming) 시간에 따라 변하는 대상 여러개의 Process로 나누어 계획(Planning) 즉, Dynamic은 동적이라는 뜻으로, 시간에 따라 변하는 대상을 다루고 있음을 나타내고 Programming은 여러 process로 나누어 Planning한다는 뜻이다. 단어로 부터 알 수 있듯이 DP의 개념은 큰 순차적인 행동 결정 문제를 작은 process들로 나누어 푸는데, 푸는 대상이 시간에 따라 변하는 대상으로 봐야 한다. 출처 : https://sumniya.tistory.com/10
  • 46. Dynamic Programming 한번에 풀기 어려운 문제를 여러 개의 작은 문제로 나눠 푸는 법 작은 문제들 사이에서 공유하는 계산 결과들을 재사용해 총 계산량을 줄일 수 있음 가치함수를 기준으로 정책이 얼마나 좋은지 평가한다. 문제는 정책을 평가하려면 가 필요한데 이게 뭔 지 모른다. → 다이나믹 프로그래밍으로 해결
  • 47. Dynamic Programming Predict & Control DP는 Prediction과 Control, 두 step으로 나누어집니다 그리고 현재 진행하는 policy에 따라 value func.을 구하고 (prediction) 이를 토대로 policy를 optimal하게 발전시키는 흐름(control)으로 진행됩니다. 이때, Prediction의 과정이 Policy Evaluation이고, Control의 과정이 Policy Improvement이다. DP는 각 과정에서 사용하는 Bellman Equation에 따라 2가지 종류로 나뉘게 되는데 Bellman Expectation Equation을 사용하는 Policy Iteration과, Bellman Optimality Equation을 사용하는 Value Iteration입니다. 출처 : https://sumniya.tistory.com/10
  • 48. Policy Iteration Policy Policy Improvement Policy Evaluation Random Policy Policy Iteration
  • 49. Policy Iteration Policy Iteration은 Dynamic Programming의 한 종류로, 벨만 기대 방정식을 사용해 MDP문제를 푸는 것. MDP 문제에서 결국 우리가 알고 싶은 것은 가장 높은 보상을 얻게 하는 정책을 찾는 것이다. 처음에는 이 정책을 알 수 없으므로 보통 무작위로 시작하여 정책을 발전시켜 나간다. → Policy Evaluation, Policy Improvement를 무수히 반복하여 최적 정책을 찾을 수 있음
  • 50. Policy Evaluation Policy Iteration에서 정책을 평가하고 이를 통해 발전시켜나가야 하는데, 평가는 어떻게 할 수 있을까? 앞에서 말했던 Value Function이 정책이 얼마나 좋은지 판단하는 근거가 된다. (어떤 Policy를 따라가야 많은 보상을 받을 수 있을지) 모든 상태에 대해서 그 다음 상태가 될 수 있는 행동에 대한 보상의 합을 현재 상태 자리에 저장하는 것이 Policy Evaluation의 과정이다. 즉 주변 상태의 가치함수와 바로 다음 스텝에서 얻어지는 보상만 고려해서 현재 상태의 다음 가치함수를 계산하겠다는 것이다. 이렇게 계산한 값이 실제 값은 아니지만 무한히 반복한다면 참 값으로 수렴할 것이다
  • 51. Policy Improvement Policy Improvement의 방법은 정해져 있지 않지만 가장 널리 알려진 방법은 Greedy Policy Improvement이다. Greedy Policy Improvement Agent가 할 수 있는 행동들의 큐함수를 비교하고 가장 큰 큐함수를 가진 행동을 취하는 것이다. Greedy Policy Improvement을 통해 Policy를 업데이트 하면 이전 가치함수에 비해 업데이트된 정책으로 움직였을 때 받을 가치함수는 무조건 크거나 같다. 따라서 장기적으로 본다면 최적 정책에 수렴할 수 있다.
  • 52. Value Iteration Policy Iteration과 구분되는 Value Iteration은 Bellman Optimality Equation을 이용하는 것인데, 이를 이용하면 evaluation을 한번만 진행하게 됩니다 (전체 Iteration 중에 한번이라는 뜻입니다. Evaluation은 수많은 부분 iteration으로 이루어져 있습니다). 우리는 evaluation과정에서 이동가능한 states들에 대해 value function들을 더하여 도출했지만, 이중에 max값을 취해서 greedy하게 value function을 구해서 improve하자는게 value iteration의 아이디어이다. 그래서 우리는 action을 취할 확률을 곱해서 summation하는 대신에 max값을 취하는 아래의 optimal value function식을 사용합니다.
  • 53. Dynamic Programming Bellman Equation을 통해서 optimal한 해를 찾아내는 방법으로서 MDP에 대한 모든 정보를 가진 상태에서 문제를 풀어나가는 방법이다.
  • 54. 모든 정보를 가진 상태 Environment의 model인 “Reward function”과 “state transition probabilities”를 알아야하기 때문에 Model-based한 방법
  • 55. 모든 것을 다 안 다면 움직일 수 없다. (1) Full-width Backup → expensive computation (계산 복잡도, 차원의 저주) (2) Full Knowledge about Environment (환경에 대한 완벽한 정보 필요)
  • 56. 우리는 실패를 통해 배운다 Trial and error를 통해서 학습하는 것이 강화학습의 큰 특징
  • 57. 강화학습은 경험한 정보를 활용 실재로 경험한 정보들로서 update를 하는 sample backup을 하게 된다.
  • 58. 환경이 중요한 게 아니다. 이렇게 실재로 경험한 정보들을 사용함으로서 처음부터 environment에 대해서 모든 것을 알 필요가 없다.
  • 59. 배울 수 있는 자유가 중요하다. Environment의 model을 모르고 학습하기 때문에 Model-free라는 말이 붙게 됨
  • 60. 하지만 자유도가 높으면 움직일 수 없다.
  • 61. 그래서 이곳에 오신거죠! 현재의 policy를 바탕으로 움직여보면서 sampling을 통해 value function을 update하는 것을 model-free prediction이라 하고 policy를 update까지 하게 된다면 그것이 바로 model-free control
  • 62. Model Free 방법 Prediction (예측) Control (조절) Monte-Carlo Prediction Temporal Difference Prediction (시간차 예측) SARSA (On-Policy 시간차 제어) Q-Learning (Off-Policy Control)
  • 64. 내가 여기서 배우면 이건 할 수 있겠지 prediction : Agent는 환경과의 상호작용을 통해 주어진 정책에 대한 가치함수를 학습 → 몬테카를로 예측, 시간차 예측
  • 66.
  • 67. Monte-Carlo Monte-Carlo라는 말에 대해 Sutton교수님은 Monte-Carlo 단어 자체가 무엇인가를 random하게 측정하는 것을 뜻하는 말이라고 했다. 이를 강화학습에서는 “averaging complete returns”하는 방법을 의미한다고 한다. Monte-Carlo와 Temporal Difference로 갈리는 것은 value function을 estimation하는 방법에 따라서이다. Value function이라는 것은 expected accumulative future reward로서 지금 이 state에서 시작해서 미래까지 받을 기대되는 reward의 총합이다. 이 reward를 산출하는 방법은 episode를 끝까지 가본 후에 받은 reward들로 각 state의 value function들을 거꾸로 계산해보는 것이다. 따라서 MC는 끝나지 않는 episode에서는 사용할 수 없는 방법이다.
  • 68. Monte-Carlo Prediction 원의 넓이를 구하는 방정식을 모른다면 원의 넓이는 어떻게 구할 수 있을까? 바로 ‘몬테카를로 근사 Monte-Carlo Approximation’를 이용하면 된다. 무작위로 샘플을 추출하여 원의 넓이를 추정한다는 것이다. 사실 추정한 값이 정확하진 않겠지만 무수한 양의 샘플을 이용한다면 원래의 값과 동일해질 것이다. Sampling : Agent가 한 번 환경에서 Episode를 진행하는 것 MonteCarlo Prediction : Sampling을 통해 얻은 Sample의 평균으로 참 가치함수 값을 몬테카를로 근사를 사용하여 추정하는 것
  • 70. Temporal Difference Prediction (시간차 예측) 이전에 살펴본 몬테카를로 예측의 단점은 실시간이 아니라는 점이다. 몬테카를로는 하나의 에피소드가 끝날 때까지 기다려야하며, 에피소드의 끝이 없거나 길이가 길다면 이 방법은 적합하지 않다. 이를 해결할 수 있는 방법이 시간차 예측 TD Prediction이다. 시간차 예측은 타임스텝마다 가치함수를 업데이트 하는 방법이다. 시간차 예측에서는 업데이트의 목표 값이 실제 값이 아니라 예측 값이다. 이처럼 다른 상태의 가치함수 예측값을 통해 지금 상태의 가치 함수를 예측하는 방식을 부트스트랩 Bootstrap 이라고 한다.
  • 72. 나의 발자취를 통해 조절 가능 control : value function을 토대로 정책을 끊임없이 발전시켜 나가서 최적 정책을 학습 → SARSA(시간차 제어), Q-Learining(Off-Policy Control)
  • 73. 살사와 큐러닝의 차이는 On-Policy, Off-Policy의 차이일 뿐이다.
  • 74. On-Policy 행동하는 정책과 목표 정책이 동일. 하나의 정책으로 행동하고 학습
  • 75. Sarsa Policy Iteration은 Policy Evaluation과 Policy Improvement로 나누어져 있고, 이 과정을 반복해서 실행하면 결국 Optimal Value-Function으로 수렵하게 된다. Policy Evaluation과 Improvement의 단계를 매번 번갈아 가면서 실행하는 Policy Iteration을 GPI(Generalized Policy Iteration)이라고 한다. GPI에서 정책 발전의 식을 보면 상태변환확률의 값을 알아야 하는데, 이 값은 모델을 알아야 한다. 이 대신 Greedy Policy에서 현재 상태의 Q-Funciton을 보고 판단한다면 모델을 몰라도 된다. 따라서 시간차 제어(시간차 예측과 탐욕정책이 합쳐진 것)에서 업데이트 하는 대상은 가치함수가 아닌 큐함수가 되어야 한다.
  • 76. Epsilon-Greedy Policy 위 식을 보면 다음 상태의 큐함수를 알기 위해서는 다음 상태에서 취할 행동까지 선택해야 한다. 다시 말해, 우리가 큐함수를 업데이트 하기 위해 필요한 샘플은 이고, 이를 살사 SARSA라고 부른다. 살사는 현재 가지고 있는 큐함수를 토대로 Greedy Policy으로 모으고, 그 샘플로 큐함수를 업데이트 하는 과정을 반복하는 것이다. 우리는 앞에서도 Greedy Policy를 많이 써왔지만, 이 방법은 초기 에이전트에게 잘못된 학습으로 가게 할 가능성이 있다. 이 문제는 강화학습의 중요한 문제로 Exploration의 문제이다. 따라서 greedy policy를 대체할 수 있는 로 사용할 것이다.
  • 77. Off-Policy 현재 행동하는 정책과는 독립적으로 학습. (behavior policy, target policy) 즉, 행동하는 정책과 학습하는 정책을 따로 분리하여 에이전트는 행동하는 정책으로 지속적인 탐험을 하고 학습은 따로 목표 정책을 둠
  • 78. Q-Learning 살사에서 Epsilon-Greedy Policy를 사용하여 큐함슈를 업데이트 했다. 만약 Epsilon의 확률로 엉뚱한 행동 a를 선택하여 리워드가 감소하는 결과를 얻었을 때, 업데이트 되는 행동 a의 큐함수의 값이 작아지게 된다. 이후에 다시 이전과 같은 상태가 되면 에이전트는 행동 a를 하는 것은 좋지 않다고 판단한다. 이 때 그리드월드에서는 에이전트가 갇힐 수 있는 현상이 발생한다. 살사는 On-policy TD Control, 즉 자신이 행동하는 대로 학습하는 시간차 제어이다. 탐험을 위해 선택한 Epsilon-greedy policy 때문에 에이전트는 오히려 잘못된 정책을 학습할 수도 있다. 그러나 위에서도 말했듯이 탐험은 강화학습의 중요한 문제이고, 이러한 딜레마를 해결하기 위해 Off-Policy TD Control (대표적으로 큐러닝 Q-Learning) 사용한다. 그렇다면 큐러닝에서는 어떻게 Policy를 분리할까? 에이전트는 다음 상태에서 어떤 행동을 했는지와 관계없이 현재 상태 s의 큐함수를 업데이트 할 때는 다음 상태의 최대 큐함수를 이용한다. 따라서 현재 상태의 큐함수를 업데이트 하기 위해 필요한 샘플은 이다.