본문 바로가기
논문 리뷰/개인 정리

DQN, DDQN, D3QN 비교

by xi2d 2022. 7. 4.
반응형

 

Abstract.

대표적 DRL algorithm인 DQN, DDQN(Double DQN), D3QN(Dueling DQN)을 등장 배경, 특징, 성능의 관점에서 비교해본다. 

 

 


DQN

DQN background

1. Past RL challenges to high-dimensional input

: hand-crafted feature representation에 의존하던 이전 RL은 high-dimensional input로부터 agent를 control하는 것에 취약했다.

 

2. DL advances & challenges to apply DL methods to RL 

: DL의 발전으로 raw sensory data에서 high-level feature를 추출 가능하게 되었지만 다음의 이유로 RL에 적용이 불가능했다.

 

1) DL에는 많은 handlabelled training data가 필요하다.

: 그러나 RL은 frequently sparse, noisy, delayed된 환경에서 scalar reward signal을 학습할 수 있어야 한다. 

 

2) DL에서의 data sample은 dependent하다. 

: 그러나 RL은 일반적으로 data sample 간 high correlated state sequences가 발생한다. 

 

→ high-dimensional input에 대한 control이 어려웠던 Past RL에는 발전된 DL method 적용이 불가능했다.

 

 

DQN characteristic

1. raw video data(high-dimensional input)를 CNN을 사용하여 학습

- image를 CNN을 통과시켜 feature을 추출한다. 

 

2. weight를 update하기 위해 SGD를 사용하여 variant of Q-learning algorithm로 훈련

- optimal action-value function은 아래의 bellman equation을 따르고, RL의 기본 아이디어는 Bellman equation을 iterative하게 update하여 action-value function을 estimate하는 것이다. 

 

Bellman equation

 

- action-value를 추정하기 위해 Neural Network를 Q-network로 사용하여 일정주기마다 loss function을 minimize하며 학습한다.

 

Loss function
y_i

 

- SGD를 사용하여 최적의 weight parameter를 학습한다. 다음의 수식으로 표현된다. 

 

Neural Network learning

 

non-linear function approximator인 Neural Network를 Q-network로 사용하고, SGD로 weight를 update한다. 

 

3. 이전의 transitions를 randomly sampling하는 experience replay buffer 사용

- 최근 N개의 experience(e_t = (s_t, a_t, r_t, s_(t+1))를 각 time-step마다 memory에 저장한다. 학습 시, sample를 random하게 추출하여 mini-batch-update에 사용한다. 이러한 방식은 online Q-learning보다 다양한 이점을 지닌다. 

 

1) 각 experience는 많은 weight update에 사용 가능하다. 

: 데이터를 효율적으로 사용 가능하다. 

 

2) 표본을 random하게 추출함으로써, weight update 분산을 줄인다. 

: 연속된 sample에서의 학습은 sample 간 high correlation 때문에 비효율적이다. 

 

3) 학습을 안정적으로 만든다. 

: on-policy 학습의 경우, 현재 parameter가 다음 data sample을 결정하며 이는 local minimum에 빠질 가능성이 높다. 그러나 experience replay를 사용하면 behavior distribution이 평등해진다. 

 

→ experience replay buffer를 사용하면 off-policy 학습에 효과적이다. 

 

4. 하나의 network가 아닌 target network를 사용 

- update를 하는 동안 target을 계산하는 y_i 식에서 계산에 사용되는 parameter를 고정한다는 의미이다. 즉, policy network parameter θ_i가 update하는 동안, 매번 target network parameter θ_(i-1)를 고정한 뒤 maximum Q를 선택한다. 

 

- 만약 이렇게 하지 않는다면, target Q-value를 구할 때, parameter에 영향을 크게 받아 무한한 feedback loop에 빠지게 되고, estimated Q-value가 target으로 안정적으로 update되지 않을 수 있다. 

 

→ target의 값을 구할 때, update할 target network의 parameter는 fix하고 update한다. 

 

 

DQN algorithm

 

1. epsilon greedy 방식의 action 선택 

- 한 episode 내에서 time-step 마다 반복

      - e 확률로 action a_t 선택하거나 DQN으로 추정한 max Q-value action a_t를 선택

      - 선택된 a_t를 emulator에서 simulate 한 뒤, reward r_t와 s_(t+1)을 관찰

 

2. Replay buffer에 transition 저장과 random sampling

-       transition (s_t, a_t, r_t, s_(t+1))를 memory D에 저장

-       memory D로부터 uniformly random하게 minibatch만큼 샘플링

 

3. target network's value y_i와 policy network's estimated value 차이 비교

-       target value인 y_i는 fixed parameter target netwowrk에서 판단 되고, 차이를 이용해 SGD로 최적화

 

 

DQN results

- 학습 중, predicted Q에 대해 순조롭게 개선되며, 모든 실험에서 발산하지 않았다.  

 

- 각종 algorithm 비교를 통한 결과 평가를 보면, DQN의 성능이 압도적이었다. 

 

→ 이론적 수렴 보장이 없음에도 불구하고 DQN을 사용하여 안정적인 방식으로 대규모 NN을 훈련할 수 있다. 

 

 

DQN conclusion

- model-free, off-policy algorithm

DQN  
Background high-dimensional input에 대한 control이 어려웠던 Past RL에는 발전된 DL method 적용이 불가능
Characteristic

1. raw video data(high-dimensional input)를 CNN을 사용하여 학습
2. weight를 update하기 위해 SGD를 사용하여 variant of Q-learning algorithm로 훈련
3. 이전의 transitions를 randomly sampling하는 experience replay buffer 사용
4. 한개의 policy network가 아닌 fixed target network에서 maximum Q를 선택
Algorithm
- epsilon greedy 방식의 action 선택 
- Replay buffer에 transition 저장과 random sampling
- target network's value y_i와 policy network's estimated value 차이 비교
Results DQN 이전 각종 algorithm과 비교 결과, DQN의 성능이 압도적

 

 


DDQN(Double DQN)

DDQN background

1. DQN problem 

: Q-learning algorithm은 underestimated values보다 overestimated values를 더 선호하는 경향이 있는 estimated action value에 대한 maximize 단계를 포함하기 때문에 때때로 비현실적으로 높은 action value를 학습하는 것으로 알려졌다. 

 

2. Question about overestimation

: 지나치게 낙관적인 value overestimate가 반드시 그 자체로 문제가 되는 것은 아니지만, overestimation가 균일하지 않은 경우 policy quality에 부정적인 영향을 끼칠 수 있다. 

 

Q-learning에서 overestimation 문제가 발생하였고, 이는 때때로 DQN의 성능에 부정적인 영향을 미친다. 

 

 

DDQN characteristic

1. target network max 연산을 action evaluation과 action selection으로 으로 분해

- 기존 DQN target y_i는 target network의 parameter를 사용하여 Q-value를 evaluate & estimate하였다. 이는 동일한 parameter θ_i를 사용하면 action을 estimate할 때도, greedy policy가 적용되기 때문에 overestimate가 발생한다. 

 

DQN y_i

 

- DDQN에서는 policy network에서 Q-value를 evaluate하고, target network에서 Q-value를 estimate한다. target network는 env와 상호작용을 하지 않기 때문에, action을 estimate할 때 greedy policy가 미적용된다. 따라 Q-value를 fair하게 추정할 수 있다. 

 

- target network는 env와 상호작용하지 않는다.

 

DDQN target y_i

 

→ policy network에서의 evaluation과 target network에서의 estimation을 통해 overestimation을 방지한다. 

 

2. target network에 대한 update는 policy network의 주기적 복사본으로 유지

- 기존 DQN prarmeter θ_i가 update하는 동안, 매번 target network θ_(i-1)를 고정한 뒤 maximum Q를 선택하였다. 

 

- DDQN에서는 N updates 이후, policy network를 target network로 복사한다. 

 

 

DDQN algorithm

https://taek-l.tistory.com/36

 

1. action evaluation & estimation 후 loss 값 계산

- policy network parameter로 action evaluation 후 해당 action을 target network로 전달

- target network는 Q-value를 estimate

- policy network estimated Q-value와 target network estimated Q-value의 loss 계산

 

2. target network는 N updates마다 copy

 

 

DDQN results

- DDQN 사용 시 DQN보다 학습이 훨씬 더 안정적이고 성능이 뛰어남을 보인다. 

 

 

→ DDQN이 DQN보다 더 나은 estimate를 생성할 뿐만 아니라 더 나은 policy를 생성한다. 

 

 

DDQN conclusion

- model-free, off-policy algorithm

DDQN  
Background  Q-learning에서 overestimation 문제가 발생하였고, 이는 때때로 DQN의 성능에 부정적인 영향을 미친다. 
Characteristic
1. target network max 연산을 action evaluation과 action selection으로 분해
2. target network에 대한 update는 policy network의 주기적 복사본으로 유지
Algorithm
- action evaluation & estimation 후 loss 값 계산
- target network는 N updates마다 copy
Results DDQN이 DQN보다 더 나은 estimate를 생성할 뿐만 아니라 더 나은 policy를 생성한다. 

 

 


D3QN(Dueling DQN)

D3QN background

1. Value function vs. Advantage function

ex. Atari Enduro game

기존의 value network에서는 바로 앞에 차가 있던 말던 새 자동차가 등장하는 지평선 및 점수에 주의를 기울이지만, advantage network에서는 앞 차가 없을 경우 action 선택이 실질적으로 관련이 없기 때문에 visual input에 주의를 기울이지 않는다. 그러나 바로 앞에 차가 생기면 주의를 기울이고 action 선택을 적절하게 만든다. 

: 기존의 value network과는 다르게 advantage network는 각 state에 대한 action의 효과를 직관적으로 학습하지 않고도 어떤 state가 가치있는지 학습이 가능하다. 해당 action이 relevent way로 환경에 영향을 미치지 않는 states에서 특히 유용하여 새로운 dueling architecture를 제안한다. 

 

→ 실험에서, 중복되거나 유사한 action이 학습 문제에 추가되어도, Dueling architecture는 policy evaluation 중에 올바른 action을 더 빨리 식별할 수 있다. 더 이상 많은 states에서 각 action 선택의 가치를 평가하는 것이 불필요하다. 

 

 

D3QN characteristic

1. state-value & state-depentent action advantages를 분리하여 새로운 value 사용 

- Dueling network는 value & advantage function을 나타내는 두개의 stream로 구성되어 공통의 convolutional feature learning module을 거쳐 state-value function과 advantage function에 대한 별도의 estimate를 자동으로 생성한다. 

 

Dueling architecture

 

- state-value function V는 특정 state s에 있는 것이 얼마나 좋은지를 측정하고, action-value function은 이 state에 있을 때 특정 action을 선택하는 value를 측정한다. 다음과 같이 정의된다. 

 

action-value function / state-value function

 

- advantage function은 action-value function에서 state-value function을 빼서 각 action의 중요성에 대한 상대적인 measure을 측정한다. 다음과 같이 정의된다.

 

advantage function

 

- 추가로 아래의 식을 만족한다. deterministic policy a* = argmax_a'∈A Q(s,a')에서 Q(s,a*) = V(s)를 따르기 때문이다. 

 

 

어떤 states에서 어떤 action을 취해야 하는지 아는 것이 가장 중요하지만 다른 많은 states에서는 action 선택이 무슨 일이 일어나는지에 영향을 미치지 않는다.

 

2. prioritized replay buffer 사용

- 균일한 experience replay 보다 더 빠른 학습과 더 나은 final policy quality 결과를 보이는 PER을 사용한다. 학습 진도가 높을 것으로 예상되는 experience tuples의 재생 확률을 높이는 것으로 proxy of absolute TD-error로 측정한다. 

 

 

D3QN algorithm

1. 새로운 V + A = Q value 사용과 unidentifiable 문제 해결

- advantage function 정의를 통해 다음과 같은 aggregating module 설계가 가능하다. 이 때, Q는 true Q-function의 parameterized estimate이다. 이 때, V와 A 모두 합리적인 estimate를 제공한다고 결론지을 수 없다. 

 

- 계산된 Q value는 어느 V와 A에서 유도되었는지 알 수 없는 unidentifiable 문제가 발생하고, 해결을 위해 기준점을 정해야 한다. advantage function이 선택한 action에서 advantage가 0이 되도록 강제하여 아래와 같이 식을 변경하면 optimal action a*를 선택하였을 때, Q = V가 되도록 만들 수 있다. 

 

 

- 또한 각각의 stream이 value와 advantage를 적절하게 나타냄을 알 수 있다. 이렇게 되면 계산된 Q를 보고 가장 높은 값을 가질 때가 optimal action이며, 그 값이 V임을 파악할 수 있고, identifiability issue를 해결할 수 있다.

 

 

- 위 max 연산처럼 정확히 기준점을 추측할 순 없지만, average 연산은 최적화 과정에서 이득을 보아 논문 내 실험에서는 아래의 방식을 채택하였다. 

 

 

 

D3QN results

- 다른 algorithm과의 결합이 쉬운 D3QN의 장점을 이용한 PER과 gradient clipping을 합친 모델의 성능이 가장 뛰어났다. 

- baseline DDQN을 Single이라고 하였을 때, gradient clipping을 적용한 모델을 Single Clip, PER을 적용한 모델을 Prior. Single로 명명한 뒤 실험 결과이다. 

 

 

- Dueling architecture는 일부 algorithm 개선과 결합되어 Atari domain에서 Deep RL에 대한 기존 접근 method에 비해 극적인 개선을 이루어냈다.

 

 

D3QN conclusion

- model-free, off-policy algorithm

D3QN  
Background 많은 states에서 각 action 선택의 가치를 평가하는 것이 불필요하다.  
Characteristic
1. state-value & state-depentent action advantages를 분리하여 새로운 value 사용 
2. prioritized replay buffer 사용
Algorithm 새로운 V + A = Q value 사용과 unidentifiable 문제 해결
Results Dueling architecture는 일부 algorithm 개선과 결합되어 DDQN보다 극적인 개선을 이루어냈다.

 

 


Note

- model-free, off-policy algorithm

DQN  
Background high-dimensional input에 대한 control이 어려웠던 Past RL에는 발전된 DL method 적용이 불가능
Characteristic

1. raw video data(high-dimensional input)를 CNN을 사용하여 학습
2. weight를 update하기 위해 SGD를 사용하여 variant of Q-learning algorithm로 훈련
3. 이전의 transitions를 randomly sampling하는 experience replay buffer사용
4. 한개의 policy network가 아닌 fixed target network에서 maximum Q를 선택
Algorithm
epsilon greedy 방식의 action 선택
- Replay buffer에 transition 저장과 random sampling
- target network's value y_i와 policy network's estimated value 차이 비교
Results DQN 이전 각종 algorithm과 비교 결과, DQN의 성능이 압도적
DDQN  
Background  Q-learning에서 overestimation 문제가 발생하였고, 이는 때때로 DQN의 성능에 부정적인 영향을 미친다.
Characteristic
1. target network max 연산을 action evaluation과 action selection으로 분해
2. target network에 대한 update는 policy network의 주기적 복사본으로 유지
Algorithm
action evaluation & estimation 후 loss 값 계산
target network는N updates마다 copy
Results DDQN이 DQN보다 더 나은 estimate를 생성할 뿐만 아니라 더 나은 policy를 생성한다.
D3QN  
Background 많은 states에서 각 action 선택의 가치를 평가하는 것이 불필요하다.
Characteristic
1. state-value & state-depentent action advantages를 분리하여 새로운 value 사용
2. prioritized replay buffer 사용 
Algorithm 새로운V + A = Q value사용과unidentifiable 문제 해결 
Results Dueling architecture는 일부 algorithm 개선과 결합되어 DDQN보다 극적인 개선을 이루어냈다.

 

 

반응형

'논문 리뷰 > 개인 정리' 카테고리의 다른 글

Markov Models & Hidden Markov Models  (1) 2022.09.20

댓글