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

[Reinforcement Learning] RL Concepts

by Kieran_Han 2021. 1. 12.

[Video Lectures]

RL by Sung Kim: youtu.be/dZ4vw6v3LcA

Pang-Yo Lab: youtu.be/wYgyiCEkwC8

Actor Critic: youtu.be/2vJtbAha3To

 

 

 

Agent: 사람

Enviornment: 강아지

Action: 행동

Reward(R): 느낌

 

사람(Agent)이 강아지(Enviornment)를 꾸짖었는데(Action), 강아지가 좋아했다(Reward).

사람(Agent)이 강아지(Enviornment)를 끌어안았는데(Action), 강아지가 싫어했다(Reward).

Environment를 정의하는 것이 중요

 

Policy Iteration

    - Policy 평가(가치함수를 업데이트)와 Policy 발전(Policy를 업데이트)으로 구성

 

Value Iteration

    - Policy 없이 가치함수로만 Agent가 어디로 갈 지 결정(가치함수가 각 방향의 Q함수의 최댓값으로 업데이트되기 때문에, 각각의 가치함수가 최고의 판단을 하는 가정을 함)

 

Markow Decision Process(MDP)

    - 순차적으로 행동을 결정하는 문제를 정의할 때 사용하는 방법

    - 순차적 행동 결정 문제를 수학적으로 정의해서 에이전트가 순차적으로 행동 결정 문제 접근

 

State: Agent의 정보

    - Agent가 움직이는 속도와 같은 동적인 요소 또는 상태를 표현

 

Policy(π)

    - 모든 State에서 Agent가 할 행동

    - 순차적 행동 결정 문제에서 구해야 할 답

    - Agent가 Reward를 얻으려면 모든 상태에 대해 어떤 행동을 해야 하는지 정해놓은 것

    - 순차적 행동 결정 문제를 풀면 제일 좋은 Policy를 Agent가 얻음

    - 제일 좋은 Policy는 Optimal Policy라고하며 Reward를 최대로 받음

 

Discount Factor(γ)

    - Agent는 Reward가 얼마나 시간이 지나서 받는지를 고려해서 감가시켜 현재의 가치로 따짐

    - 0과 1 사이값

 

Value Function

    - Agent가 어떤 Policy가 더 좋은 Policy인지 판단하는 기준

    - 현재의 Policy(π)를 따라갔을 때 받을 Reward에 대한 기댓값

    - Agent는 Policy를 업데이트할 때 가치함수를 사용, 보통 가치함수보다는 Agent가 선택할 각 Action의 가치를 직접적으로 나타내는 Q Function을 사용

 

Q Function(행동 가치함수)

    - 어떤 행동이 얼마나 좋은지 알려주는 함수

 

Bellman Equation

    - 현재 State의 가치함수와 다음 상태 가치함수의 관계식

    - Optimal Policy에서 가치함수 사이의 관계식 → Optimal Bellman Equation



Policy Iteration

    - Dynamic Programming으로 Bellman 기대 방정식을 푸는 것

 

Value Iteration

    - Optimal Bellman Equation을 푸는 것

 

Reinforcement Leraning Algorithm Flow

 

Monte Carlo Method

    - Dynamic Programming에서 RL로 넘어가는 가장 기본적인 아이디어

    - 기댓값을 샘플링을 통한 평균으로 대체하는 기법

    - 에피소드를 하나 진행하고 에피소드 동안 지나온 상태의 반환값을 구함. 이 반환값은 하나의 샘플이 되어서 각 상태의 가치함수를 업데이트

 

Temporal-Difference Prediction

    - Monte Carlo Method와 달리 타임스텝마다 Q함수를 업데이트

    - Bellman Expection Equation을 이용해 Q함수를 업데이트

 

SARSA = Temporal-Drifference Control

    - RL 제어에서 Action을 선택할 때 ε-탐욕 Policy를 사용. 가치함수를 사용하면 Env의 모델을 알아야 하기 때문에 제어에서 Q함수를 사용

    - Q함수를 사용할 때 시간차 제어에서는 하나의 샘플로 필요

 

Q-Learning = Off-Policy Temporal-Difference Control

    - SARSA는 On-Policy RL. On-Policy의 단점을 개선하는 것이 Off-Policy이며 Q-Learning이 대표적.

    - Action 선택에서 ε-탐욕 Policy를 사용하고 Q함수의 업데이트에서 Bellman Optimal Equation을 이용.

    - SARSA는 자신이 행동하는 대로 학습하는 시간차 제어. 탐험을 위해 선택한 ε-탐욕 정책 때문에 Agent는 오히려 Optimal Policy를 학습하지 못하고 잘못된 Policy를 학습한다. (탐험이 절대적으로 필요한데, Q함수 Q값이 낮다고 판단되어 탐험하지 않고 갇혀버리는 현상이 발생)이러한 딜레마를 해결하기 위해 사용하는 것

    - 현재 행동하는 Policy와는 독립적으로 학습한다는 것(행동하는 Policy와 학습하는 Policy를 따로 분리)

 

Policy Gradient

    - 인공신경망으로 Policy를 근사하고 목표함수의 기울기를 다라 정책신경망을 업데이트하는 것. 그중에서도 반환값을 업데이트의 기준으로 사용하는 것이 Reiforce Algorithm

 

Actor-Critic(Advantage Actor-Critic, A2C)

    - Reinforce Algorithm은 일종의 Monte Carlo Policy Gradient로서 Episode마다만 학습하는 단점이 있다. 또한 Episode의 길이가 길어질수록 특정상태(s, a)에 대한 반환값의 변화가 커져서 반환값의 분산이 커지고 학습을 느리게 만든다. 이 단점을 극복하고 매 Time Step마다 학습할 수 있도록 한 것이 Actor-Critic이다.