DQN과 DDQN 차이는 target action value를 정하는데 있다.
DQN경우 target value y는
이다.
이를 DDQN과 비교하기 위해 동치인 식으로 표현하면
와 같이 나타낼 수 있다.
(같은 Q를 최대로 만드는 a를 뽑는 과정을 나타낸 식이기 때문에)
하지만 action 선정 parameter 와 Q 계산(evaluation) parameter가 동일한 경우에 대한 문제 제기를 통해 DDQN 방식이 선보여졌으며 DDQN은 아래와 같은 target value를 지향한다.
(Double Q-learning 과는 또 다름에 주의)
먼저 target_net 의 경우 t-1 시점의 parameter를 소유한 network, policy_net은 현재시점인 t 시점의 parameter를 소유한 network 임을 알아두자
DQN의 경우 target value는 , 맞춰가려는 비교 대상은 임을 상기하자
이 둘의 L2 norm 을 최소화 하는 것이 loss function이며 둘의 parameter 시점이 다른 이유는 매 timestep 마다 이 값이 같다면 target 이 계속 변해 크게 flunctuation이 일어날 것이기 때문이다.
DQN은 target value를 target_net 에서 추출하고 현재 Q를 policy_net에서 계산한다.
DDQN의 경우 target value는 이므로 action 선택 시 policy_net에서, 이를 통해 Q를 평가할 때는 target_net을 통해 계산해야 함을 알 수 있다. 또한 이 값에 가까워지려는 비교대상은 이므로 이 또한 policy_net에서 와야함을 알 수 있다.
정리하자면 둘의 차이는 DDQN의 action 선택은 policy_net에서 이뤄지고 DQN은 target_net 에서 이뤄진다는 점이고 나머지는 최대한 동일하게 응용한다고 논문에도 명시되어 있다.