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

[Reinforcement Learning] Reinforcement Learning by Sung Kim

by Kieran_Han 2021. 1. 14.

Source: Youtube 모두를 위한 RL강좌 - Sung Kim

www.youtube.com/playlist?list=PLlMkM4tgfjnKsCWav-Z2F-MMFRx-2gMGG

 

Lecutre 3: Q-Learning (Table)

Policy using Q-function

Max Q = maxQ(s1, a): Q 형님이 가질 수 있는 Rewards 중 제일 높은 값

π*(s) = argmaxQ(s1, a): Q 형님이 가질 수 있는 Rewards 중 제일 높은 값이 있는 Action

 

Assum (belive) Q in s' exist

The Condition

    - I am in s

    - When I do action a, I will go to s' & get reward r

    - Q in s', Q(s', a') exist

Thus,

 

Q 형님이 여러가지 방향을 탐험하게 해주는 것 ε-greedy

Thust,

 

Lecutre 5: Deterministic World vs Stochastic World (nondeterministic)

Deterministic: 결정된 Action대로 Q 형님의 State 결정됨

Stochastic: Right Action 명령했지만 Q 형님 맘대로 State 결정됨, 하지만 Q 형님은 Right Action 했다고 입력됨

 

Thus, 한 곳의 Action Reward만 고려하는 것이 아닌, 여러 방향의 Action을 고려해야함.

이를 수식으로 표현하고자 α(Learning Rate) 개념 등장

 

Lecutre 6: Q-Network

Q-Table처럼 Q Function이 소규모이지 않기 때문에 등장한 개념

Q-Network에서 ANN을 업데이트할 때는 경사하강법을 사용

경사하강법을 사용해 ANN을 업데이트하려면 오차함수 정의 필요

오차함수는 가장 기본적으로 MSE(Mean Squared Error) 사용

 

ε-greedy 통하여 Random Action(At) or maxQ를 선택함

 

Loss Function을 최소화(Gradient Descent)하는 값을 찾아서

Prediction Value Q ≒ Optimal Q을 만드는 것이 목표(Q-Table에서는 가능, Q-Network에서는 불가능)

 

Source: Tutorial: Deep Reinforcement Learning, David Silver, Google DeepMind

 

Lecutre 7: DQN

Q Network Loss Function 적용시 2가지 문제점 발생

 

근단적으로 설명시, 아주 근접한 Sample을 선택하게 될경우 Optimal과는 완전 다른 형태가 Prediction됨

이를 방지하고자 D라는 Buffer에 Data들을 저장후, Random하게 Data를 호출하여 Optimal Prediction 진행

 

 

 

Loss Function에서 Target과 Prediction의 Θ Network를 따로 생성(Network가 2개)

Prediction의 Θ­'이 Target의 Θ와 적합하도록 처리한 후 나중에 Θ'=Θ로 같게 복사함

위 2번 식의 근본적인 목적은 Weight 최소화 하기