Stanfod CS234 Lecture 6 - CNNs and Deep Q Learning
CNN
CNN은 computer vision에서 주로 사용됨.
visual input(pixel)로부터 decision making을 할 때 유의미한 parameter 제공.
images have features - local structure and correlation / have distinctive features in space & frequency domains.
Shared weights
Feature Map
Pooling Layers
Deep Q Learning
Deep Reinforcement Learning
Deep Q-Networks
Action-Value Function Approximation with an Oracle
Incremental Model-Free Control Approaches
Using the above ideas to do Deep RL in Atari
AlphaGo를 개발한 DeepMind의 “Playing Atari with Deep Reinforcement Learning”이라는 논문에서 처음 소개.
DQN : Deep Q Network (Q stands for Quality)
We refer to convolutional networks trained with our approach as Deep Q-Networks (DQN).
Q-Learning을 CNN으로 학습하는 것을 Deep Q Learning이라고 한다.
Q-Learning : Model-Free method - 유한한 마르코프 결정 과정에서 Agent가 최적의 Policy를 배우는 과정으로, 현재 상태로부터 시작하여 모든 연속적인 단계들을 거쳤을 때 전체 보상의 예측값(기댓값)을 극대화 시킨다.
DQNs in Atari
Pre-processing
DQN Model Architecture
Atari Game 의 최근 4개 frame의 raw pixel들을 input으로 한다.
CNN을 function approximator를 이용하여 value function을 18개의 조이스틱 및 버튼조작의 output으로 출력한다.
각 단계별 보상은 점수로 계산된다.
이 value function은 future reward, policy를 추정하는 데에 사용된다.
DQN이 등장하기 전까지, 강화학습에서 agent가 vision(image) 및 language와 같은 high-dimensional data를 직접 다루는 것이 불가능했다.
그나마 agent가 다룰 수 있도록 hand-crafted features를 이용해왔다.
현실 세계에서 undefined 된 분야의 well-defined features를 수립하기 위해 RL을 적용하는데, hand-crafted features를 주입한다는 것은 이미 환경에 대한 완벽한 정보를 알고 있다는 것이고, RL을 적용할 필요가 없다.
hand-crafted feature을 이용하여 RL에 DL방법론을 적용한다고 하더라도, 여전히 high-dimensional features에 적용하기에는 무리가 있다.
DL분야에서 RNN, CNN, RBM(Restricted Boltzman Machine) 등 high-dimensional data를 다루는 방법들이 등장하고, 이를 뒷받침하는 computing resource가 뒷받침 됨에 따라, RL에 이 방법론을 적용 시도.
MSE : Mean Squared Error
VFA : Value Function Approximation
하지만 DL과 RL 분야 사이에는 data input, distribution 등에서 차이가 존재하여 그대로 적용할 경우 issue 발생.
Q-Learning with VFA can diverge or oscillate.
1.
DL에서는 data sample간의 i.i.d를 가정하지만, RL에서는 현재 state가 어디인지에 따라 다음 state가 결정되기 때문에 state 간의 correlation이 매우 큼 → data간의 correlation.
2.
DL에서는 hand-labelled training data set를 이용하지만, RL에서는 reward로만 학습이 이루어지고, 이 reward는 sparse, noisy, delay 된 채 주어진다. → absence of well-defined input data.
Issue solved by …
1→ Experiment replay
2→ Fixed Q-targets
Experience Replay
각 time-step별로 얻은 sample(experience)들을 tuple 형태로 dataset (D)에 저장해두고, randomly select하여 mini-batch를 구성하고 next state에 update 해준다.
다음의 이점을 갖는다 .
•
data sample을 1회 update하고 discard하는 기존의 method와 달리, random sampling하여 select 함으로써 data usage 측면에서 efficient 하다.
•
RL에서 발생하는 state간의 correlation issue를 해결한다. update된 parameter를 통해 다음 training의 대상이 되는 sample을 어느정도 determine 할 수 있다.
Fixed Q-targets
앞서 언급됐던 issue.2 의 문제를 해결한다.
sparse, noisy, delayed된 reward를 input data로 사용하여 fine-tuning이 불가능했다.
multiple update에 사용되는 target-weight를 고정하여 input data의 안정성을 높여, model이 diverge하거나 oscillate 하는 현상을 방지한다.
Double DQN, Dueling DQN.
DQN 알고리즘을 발전시켜 Double DQN, Dueling DQN 알고리즘이 만들어졌다.
Double DQN
Dueling DQN
참고 논문 :
Playing Atari with Deep Reinforcement Learning
Dueling Network Architectures for Deep Reinforcement Learning
Deep Reinforcement Learning with Double Q-learning