본문 바로가기
둘/[ Machine Learning ]

[Reinforcement Learning] Pang-Yo Lab

by Kieran_Han 2021. 1. 15.

Lecture 1: Reinforcement Learning Introduction

 

reward(Rt) = scalar feedback

Definition(Reward Hypothesis)

    - All goals can be described by maximistion of expected cumulative reward

Markov State(=Information State)

    - St+1은 St에 의해서만 결정됨

    - 지금 당장 형 상황이 어떤지 다 표현이 되는 상황(완전 독립적 State)

    - 미래는 현재에 의해서만 결정됨

 

Full observability: agent directly observes environment state

    - Agent state = environment, State = information state

    - Formally, this is a Markov Decision Process(MDP)

 

Partial observability: agent indirectly observes enivronment

    - Now agent state ≠ environment state

    - Formally, this is a partially observable Markov decision process(POMDP)

 

 

Prediction = Value Function 학습하는 것(State에 따른 Value 찾기)

Control = State에서 어떻게 움직이는지 최적의 Policy 찾기

 

Lecture 2: Markov Decision Process

 

어느 경로를 통해서 오든 현재 State에서 미래가 정립됨(Markov Property)

    - Random Process에서 계속해서 Sampling 가능(State가 계속 변함)

    - Sampling: 여러가지 경로 테스트한 결과

 

 

 

 

Markov Reward Process, Value Function v(s)

    - State에만 Reward 제공(MDP는 State와 Action에 Reward 있음)

    - γ0에 가까울수록 순간적인 Reward 중요

    - γ1에 가까울수록 장기적인 Reward 중요

    - 누적·연속적인 Reward를 최대화하는게 Reinforcement Learning의 목적, 이 값을 Gt라고 표현

    - γ도입 이유: γ 때문에 수렴성 증명 가능

    - Value Function = Return의 기댓값

 

 

위 첫번째 식:

    - (Agent가 Action할 모든 확률 × 원하고자 하는 곳에 갈 확률) 들의 총 합, 이를 통해서 MDP가 Markov Process가 됨

두번째 식: 

    - 첫번째 식에서 Reward 추가됨

 

 

π의미: 어떤 Policy

위 식 의미:

    - State에서 Action a 했을 때, 그 이후 π를 따라서 끝까지 진행했을 경우의 기댓값

 

 

Bellman Expectation Equation

    - 현재 상태의 Value Function과 다음 상태의 Value Function 사이의 관계 식

    - 어떤 Policy를 따라 Action했을 때 받게 되는 Reward 값

    - 현재 Policy에 대한 참 Value Function을 구한 것

    - Bellman Expectation Equation을 통해 계속 계산을 진행하다보면, 의미없는 값으로 초기화된 Value Function은 무한히 반복되다가 식의 왼쪽항과 오른쪽 항이 수렴함을 의미

 

Bellman Optimal Equation

    - 가장 높은 Reward를 얻게 하는 Value Function

 

Lecture 3: Planning by Dynamic Programming

 

Policy Evaluation:

    - Policy가 정해졌을 때 MDP에서 이 Policy를 따라가며 Value Function이 어떻게 될지 찾는 것

    - 고정된 Policy에서 Value Function 찾는 것이 목적

 

Iterative한 방법론을 통해서 최적의 Policy를 찾는 과정인데, Policy 기반 방법론과 Value 기반 방법론이 존재하며 이들은 Control 문제이다.

 

Dynamic Programming: 복잡한 문제를 푸는 방법론(Prediction)

    - 큰 문제를 작은 문제들로 나눔 → 작은 문제에 대한 Solution을 찾고 이를 이용해 큰 문제를 해결하는 방법론

 

 

Policy Evaluation과 Improvement를 번갈아가면서 최적의 Policy를 찾아가는 방법

 

 

Value Iteration이 Policy Iteration과 다른 점은 Bellman Optimality Equation을 사용한다는 것. Bellman Optimality Equation은 Optimal Value Function들 사이의 관계식이며, 단순히 이 관계식을 Iterative하게 변환시켜줌

 

Policy Iteration의 경우 evaluation할 때 수많은 계산들 해줘야하는 단점이 있는데, 그 Evaluation을 단 한 번만 하는 것이 Value Iteration

 

현재 Value Function을 계산하고 Update할 때 max를 취함으로서 greedy하게 Imporve하는 효과를 준다.

즉, 한 번의 Evaluation + Improvement = Value Iteration

 

 

위 3가지 사항 총정리

 

Lecture 4: Model-Free Prediction

 

 

 

Enviornment를 모를 때, Transition, Reward도 모를 때, Modle-Free Prediction하는 법

Prediction = Model Evaluation

1. Monte-Carlo Learning

    - 게임이 끝날 때 까지 얻은 Reward 합의 평균

2. Temporal-Difference Learning

    - 한 Step을 반영해서 Value Function을 Update하는 방식

    - 예) 자동차 네비로 목적지 설정할 경우 도착시간이 현재 상태와 앞으로의 상태를 예상하면서 계속 업데이트 됨

 

Lecture 5: Model-Free Control

 

On-Policy

    - 내가 학습하고자 하는 Policy와 실제 Enviornment에서 경험을 쌓은 Policy가 같을 때 학습

Off-Policy

    - 다른 사람이 학습한 Policy를 통해 학습

 

 

Policy Evaluation

    - Monte-Carlo를 이용해 Q 평가

 

Policy Improvement

    - ε-Greedy Policy Improvement 하면 됨, but 모든 State를 알아야함

 

 

SARSA는 ε-greedy Policy에 따라 현재 State에서 다음 상태 S'로 가고 거기서 다시 ε-greedy Policy에 의해 탐험을 해 Reward가 마이너스가 되는 Action A'를 했을 때 결과적으로 S, A에서의 Q함수 값은 낮아진다.

즉, Action을 하지 않는게 좋다고 판단해서 Agnet가 더이상 진행하지 못하고 갖히는 한계가 있다.

 

SARSA는 On-Policy 시간차 제어(자신이 행동한 대로 학습하는 시간체 제어 방식)이기 때문에 ε-greedy Policy으로 잘못된 학습을 하게 된다.

 

SARSA는 Policy 없이 현재 Q함수에 따라 Action을 선택한다. 하지만 Greedy Policy와 다른 것을 선택하는 탐험은 반드시 필요하기 때문에 Off-Policy 시간차 제어를 사용한다.

 

Off-Policy는 현재 Action을 하는 Policy와 학습하는 Policy를 따로 분리시켜 독립적으로 학습하는 방식

 

 

Q-Learning

    - Agent가 현재 State S에서 Action A를 선택, 다음 State S'를 알게 되면 S'에서 가장 큰 Q함수를 현재 Q함수에 업데이트하는데 사용하는 것

    - 즉, 다음 State에서 어떤 Action을 했는지에 상관없이 현재 State의 Q함수 Update할 대 다음 State의 최대 Q함수를 이용한다.

 

 

 

 

 

 

 

 

Lecture 6: Value Function Approximation

 

 

Lecture 7: Policy Gradient

 

 

 

장점)

    - 수렴 성질 좋음(학습 잘됨)

    - Continuous action spaces에서 policy를 학습시켜서 action을 확인 수월함

    - Stochastic Policy: 같은 state에서 결정되는 policy가 매번 다름

    ↔ Determistic Policy: 어떤 state에서 정해진 policy가 있음

 

단점)

    - local optimum 빠지기 쉬움

    - Variance가 크고 비효율적

 

 

Policy Objective3 Function = Maximum하고자하는 목적 함수 → π(θ)를 찾고 update하는 것

따라서, 총 Reward를 많이 받는 Policy가 좋은 Policy

 

Value 최대화하기 위해 목적함수 J(θ)를 정의함

 

Policy Gradient는 J에 대한 Gradient Update π에 대한 Gradient Update가 아니라, 목적함수 J 최대화하는 방법론