Deep Reinforcement Learning with Double Q-Learning

Double Q-learning 알고리즘을 arbitrary function approximation 으로 일반화하는 Double DQN 알고리즘을 제안한다. 제안된 알고리즘은 기존 DQN 의 q-value 에 대해서 overestimation 함으로써 성능에 안좋은 영향을 미치는 이슈를 해소시킬 수 있다.

Background

Q-Learning

policy 가 주어질 때, state 와 action 에 대한 true value 는 다음과 같다.

optimal value 는 각 state 마다 가장 큰 valued action 을 선택함으로써 구해진다: .

Q-Learning 을 통해 optimal action-value function 을 추정할 수 있는데, 문제는 action value 를 학습하기에 state 가 너무 많다는 문제점이 존재한다. 그래서 parameter 가 존재하는 value function 을 학습한다: .

를 사용하는 Q-Learning 에서는 state 에서 action 를 선택했을 때, 즉각적인 보상 과 그 다음 state 이 나오고 아래처럼 parameter 를 업데이트 할 수 있다.

여기서 는 step size 를 의미하며, target 값은 다음과 같이 정의한다.

위와 같은 업데이트 방식은 stochastic gradient descent 방식과 유사하며, 현재 value 값을 target value 에 가깝게 하도록 학습하는 것으로 생각할 수 있다.

Deep Q Networks (DQN)

DQN 참고

Double Q-Learning

max operator 를 사용하는 기존 Q-Learning 과 DQN 은 action 을 평가하거나 선택하는데 있어서 동일한 value 값을 사용한다.

Q-Learning 의 target 에서 선택과 평가를 나누면 (untangle) 아래와 같다.

여기서 Double Q-Learning 은 다음과 같이 서로 다른 parameter 를 이용한다. 즉, value evaluation 과 action selection 에 서로 다른 policy 를 이용하는 것으로 생각할 수 있다.

실제 구현시에는 분리된 두 value function 이 상호 대칭적인 방식으로 학습하며, 서로 다른 데이터를 이용한다.

Related

References