해당 게시글은 LG Aimers Phase1의 수업 내용을 정리한 글로, 모든 내용의 출처는 https://www.lgaimers.ai/ 입니다.
강화학습
‘순차적 의사결정’ 문제를 담당하여 해결하는 프레임워크

시행착오에 대한 수학적 formulation
MDP : Markov Decision Processes
Markov Process 설명

Markov Process
Markov Reward Process : Markov Process + 보상
Reward Function : 현재 있는 state에서 주어지는 reward
discount factor :
Return (미래 보상합)에 관심 있음
현재 받는 reward : ~ 미래에 받을 reward :
H : horizon ~ 어느정도의 미래까지 볼 것인지 ~ 무한대까지 사용 가능
주로 infinite horizon 상황에서 다룰 것

미래의 보상을 감쇄 (discount)하기 위한 값이 값
수학적 편의성 가짐
사람들이 현재의 보상을 더욱 중시하기에 이러한 태도 반영 가능
Markov Property : 현재 보상을 받는 것 또한 과거의 이력에 독립적이다.
Iterative Algorithm : 역행렬을 통해 푸는 방식보다 간단히 문제 해결 가능

Markov Decision Process : Markov Process + 행동
MRP : 보상 개념은 있으나 행동 개념이 없음 → 행동 개념 추가
MDP&MRP : 사전에 정의된 전이모델에 따라 행동없이 상태 변화 → 행동에 기반하여 상태가 변화
Markov Property : 보상, 상태, 행동 모두 과거 이력에 대해 독립적이다.
MDP Policy를 찾아내는 것이 최종 목표
policy가 주어진다면
Policy Evaluation Algorithm
MRP에서 Value Function을 구하는 방식과 동일

Optimal Policy
Policy Search
Policy Iteration

→ 어떤 MDP가 주어졌을 때, 가정
→ 에 해당하는 value function 구하고 이에 기반하여 policy를 더 좋게 만들음
State-Action Value Q

미래 감쇄 보상합의 기대값
State에서 어떤 행동을 한다 까지 주어져있는 상황에서의 가치 함수
각 행동의 가치를 더 확실하게 알 수 있기 때문에 Q 활용

Policy Improvement : Q를 최대화하는 action을 찾게되면 현재 policy보다 좋은 policy임

Optimal Bellman Eqation

max연산이 있기에 matrix 활용한 계산 불가능
이를 활용하여 DP를 돌리면 Value Iteration

Value Iteration vs Policy Iteration
Monte Carlo Policy Evaluation
여러번의 관측을 통해 평균을 취하는 법
return을 여러번 시행하여 평균값 취하기
Value는 Return의 평균이다
장점 : MDP의 전이모델, 보상모델을 필요로하지 않음 + Markov 성질 또한 필요로하지 않음
단점 : finite horizon MDP, terminal state가 있어서 반드시 끝이 있는 episode에서만 계산 가능
종류
First-Visit MC : Trajectory를 진행하며 처음 만나는 state에 대해서만 return을 value function으로 활용
Every-Visit MC : Trajectory를 진행하며 만나는 모든 state에 대해서 return을 value function으로 활용
Incremental MC : return estimator를 얻어내고 평균을 내는 과정에서 incremental 수식을 활용할 수 있음

Diagram

단점
Temporal Difference 0 Learning
강화학습에서 가장 중요한 알고리즘
MC 장점 + DP 장점
MDP 모델이 필요 없음
infinite horizon을 가지거나, episode가 끝나지 않아도 사용 가능
목표 : V_pi 계산


과정

MC vs TD (예시)

DP for policy Evaluation → Certainty Equivalent Learning

모델 간 비교

모델 variance, bias 비교
MC : unbiased estimator, higher variance, consistent, 초기값에 민감하지 않음 (초기 value 없음 - return의 평균), 사용이 간단함
TD : biased estimator, lower variance, consistent, 벡터 형태의 value function을 가정하면 실제 true value로 수렴하게 됨 (뉴럴 넷과 같은 추가적인 approximation을 사용하게 된다면 실제 true value로 수렴하지 않은 경우 발생), 효율적, 초기값에 민감
학습 과정 비교

Batch MC & TD
유한한 데이터셋을 가지고 있을 경우

Data efficiency & Computational efficiency
Bootstrapping & Sampling
→ TD의 경우 bootstrapping & sampling 모든 approximation을 활용하는 형태로 가장 극단적으로 효율성을 추구하는 형태

실제 policy optimization이 진행되는 단계
정책을 어떻게 얻어낼 수 있을 것인가
true dynamics와 true reward model이 없을 때 → policy evaluation & improvement를 어떻게 할 것인가

Problem of Exploration
실제로 action을 해보기 전에 action의 여파를 예측하기 어려움
여파를 알기 위해 새로운 행동들을 수행하게 된다면 과거 좋았던 시도를 하는 데에 더 적은 시간을 들이게 됨
여러 탐험을 하느라 기존에 좋았다고 생각했던 행동을 덜 하게 됨
우리가 생각한 것 보다 더 적은 reward를 얻게 됨
모르는 상황에 대한 정보를 얻기 위해 얼만큼의 자원을 exploration에 투자할 것인가
관련 개념
관련 알고리즘
Epsilon-greedy 알고리즘
exploration과 exploitation 밸런싱을 해결하는 가장 간단한 알고리즘
모든 행동이 0이 아닌 확률로 진행됨 (epsilon)
Q에서 optimal action을 할 확률 : (|A| : action 개수)
Q에서 optimal하지 않은 action을 할 확률 :
policy improvement theorem 동일하게 적용됨
기존 exploration의 문제를 어느정도 해결해내는 알고리즘
MC policy evaluation과 단순하게 함께 활용될 경우 - 필요로 하는 샘플, 시간의 양 상당하다는 문제 발생

Greedy in the Limit of Infinite Exploration (GLIE)
TD learning을 활용할 경우



Q-Learing 알고리즘
policy improvement 단계를 별개로 두고 있지 않음
value iteration에 해당하는 알고리즘
Bellman optimality backup equation을 통해 optimal state action value를 찾아나가고 이 과정에 있어 policy가 구체적으로 도출되게 되는 과정
off-policy learning 알고리즘

cf) SARSA
Importance Sampling
TD

Q-learing
No importance sampling is required

과정


→ 코드에서 보이는 policy는 밖에 없으나 → Update Q 라인 중 Q-learning에서 학습되는 Q 자체가 optimal policy (혹은 모종의 policy(를 estimate하고 있는 Q이기 때문에장점 : state-action pair가 무한대로 존재한다면 optimal Q*로 갈 수 있음
Maximization Bias

기댓값 취하는 과정에서 두개의 max 함수 존재
max를 취하기 때문에 원래의 값보다 항상 더 커질 수 있음
→ 이를 해결하기 위해 Double Q-learning 존재
Double Q-learning
Maximizer (action을 고르는 Q-function)과 Estimator (계산한 Q-function) 두개가 correlation 되어 있어서 Maximization Bias발생
이 두가지를 분리하여 Q1, Q2 서로 다른 독립적인 estimate를 학습
action을 고를 때 Q1 활용
Q-learning 알고리즘에 쓰일 estimator로는 Q2
Q2에 대한 expectation을 취하기 ~ unbiased estimator


초반 Q-learning의 학습을 나쁘게 만드는 것 : maximization bias
SARSA vs Q-learning


→ 이를 해결하기 위해 Function Approximation
가정
종류
Gradient Descent
Value Function Approximation for Policy Evaluation with Oracle

Model Free VFA Policy Evaluation
→ update rule : step size ( feture valueMC에서는 이를 대신하여 사용
TD에서는 이를 대신하여 TD target 사용







있다고 가정 = Oracle 존재


Linear Value-function Geometry

True SGD TD algorithms
MC 알고리즘 : true SGD methods
TD 알고리즘 : Semi-Gradient
TD error를 줄이면 어떨까?

Minimizion the Bellman Error


Further Developments of TD algorithms
지난시간 복습
Deep RL in ATARI

Deep Q-learning

TD learning을 하게 되면 각각의 update가 서로 상관있게 된다 ~ SGD와 다른 부분
→ SGD : 모든 sample이 iid 이어야 함 (정반대의 형태)

pseudo code

이외의 detail
Double DQN
Double Q-learning - maximization bias challenge 해결을 위함
Double Q-learning의 아이디어를 Deep Q-learning으로 확장
function approximator가 무거워지며 2개의 Q를 활용하는 것이 문제가 됨
DQN에서 활용했던 Q network를 재사용하는 것
action selection에는 online Q, action evaluation에는 target Q 활용

별도 2개의 Q를 활용하지 않더라도 Q를 분리해낼 수 있음
Double DQN이 DQN보다 안정적으로 성능이 증가함
DQN이 발산 / over-estimation하기 시작하는 시점부터 DQN의 성능이 매우 떨어짐
Priorized Experience Replay
Dueling DQN
neural architecture를 바꿔보는 법
value를 나타내기 위한 feature와 action 사이에 성능 차이를 나타내기 위한 feature가 서로 완전히 다를 수 있다.
advantage function 사용
V 예측 + advantage 예측

강화학습의 기초를 다지고자 했으나 너무 방대한 내용이 담겨 있어서 이해하기가 매우 어려웠다.
관련하여 아래의 글들을 더 읽어볼 예정이다.