https://www.youtube.com/watch?v=p6aT2eIdVno&list=PL_iJu012NOxehE8fdF9me4TLfbdv3ZW8g&index=16
논문 다운로드 링크: https://arxiv.org/pdf/1509.06461.pdf
① DDQN: Double Deep Q-Network.
Double DQN 논문에서 해결하고 싶은 것은 Overestimation(DQN의 한계)으로, 이는 “Max Q값을 타깃 샘플로 지정 후, 그 샘플로 업데이트 하는 방법”이 Overestimate되기 때문에(과대평가하기 때문에) 일어나는 문제이다.
② DDQN Thm 1.
위 이론은 Q optimal 값이 Action(V*)에 대해 모두 같다는 가정 하에 진행된다. 따라서 위 공식은 Max Q optimal(update 할 타깃 값)과 Q optimal(다가가야 할 값)로 이루어져있으며, 공식을 정리하면 결국 Max Q optimal과 Q optimal의 차이(error)를 나타낸다고 이해할 수 있다.
여기서 √(C/(m-1))은 양수의 값을 가지므로, 결국 error는 항상 양수보다 큰 값을 가지게 된다. 이에 본 논문에서는 Max Q optimal을 타겟으로 지정하게 되면 항상 √(C/(m-1)) 이상의 error가 발생하게 되니, Max Q optimal을 타겟으로 지정하는 것에 문제가 있다는 것을 밝힌다.
③ DDQN의 타깃 값.
Overestimation 문제를 해결하기 위해 DDQN 논문에서 제안하는 타깃 값은 위와 같다. 위 공식에 따르면, DDQN에서는 타깃 값을 “즉각적인 보상 + gamma*미래 보상” 형태로 정의하며, 여기서 gamma는 할인율(미래 보상의 중요도를 결정하는)을 의미한다. 따라서 gamma*미래 보상은 미래 보상의 현재 가치와 같다.
위 공식에서 arg max a Q는 온라인 네트워크(θt: 행동 선택)를 사용하여 다음 상태에서 최적의 행동 alpha*을 선택하며, Q는 타깃 네트워크(θt-: 평가)를 사용하여 평가한다. 즉, DDQN은 행동 선택 과정과 Q값의 평가 과정을 분리하여 Overestimation 문제를 해결한다고 볼 수 있다.
④ 정리.
기존 DQN의 경우, Q값을 업데이트할 때, max operation을 사용하고, 이는 같은 네트워크를 이용하여 행동 선택 및 평가를 진행한다. 따라서 이는 결국 Q값의 Overestimation 문제를 유발한다. 이에 DDQN은 DQN에서 발생하는 Overestimation 문제를 방지하기 위해 Q값을 평가할 때 행동 선택(온라인 네트워크)과 Q값 평가(타깃 네트워크)를 분리한다.
DDQN에서 제안하는 방식을 거치게 되면, 적어도 DQN의 ‘√(C/(m-1))가 양수보다 크게 되는 문제’가 발생하지는 않는다. 이에 DDQN은 Lower bound가 0이기 때문에 optimal Q에 더 근접할 수 있으나, 기존의 DQN은 error 문제 발생을 피할 수 없기에(Lower bound가 양수이기 때문에), 결국 DQN은 DDQN에서 근접하는 optimal Q값보다 더 부정확할 수밖에 없다.