앎을 경계하기

Machine Learning/Reinforcement Learning

차근차근 Spinning Up 톺아보기 Key Paper : Dueling DQN

양갱맨 2019. 11. 26. 02:53

Dueling DQN의 구조

    • fully connected layer를 value function에 대해서, advantage function에 대해 분리하고 각 output을 다시 합쳐 Q-value를 구한다.

 

 

Value function : state에서 얻을 수 있는 모든 action의 q-value의 기댓값. state의 가치이다.

Advantage function : 주로 Q-V로 나타내며 특정 action이 평균 action의 value보다 얼마나 좋은지, 나쁜지를 판단할 수 있는 함수.

  

기존 DQN에서는 주어진 action에 대한 Q-value를 학습한다.

그러나 본 연구에서는 하나의 action만 해도 state value function을 학습할 수 있다.

 

(1) Q(s, a) = V(s) + A(s, a)로 구성하는 경우 학습 과정에서 unidentifiable problem이 발생한다. → For any c, Q(s, a) = (V(s) + c) + (A(s, a) - c) = V(s) + A(s, a)

  

(2) Parameterization이 여러 형태로 이루어질 수 있는 상태이기 때문에 학습하는 Q-function이 true Q-function에 수렴하기 매우 힘든 문제를 일으킨다.

 

(3) Initial value를 주는 방법으로 문제를 해결할 수 있다. → At the chosen action, force the advantage function value to have zero → Can calculate c

 

(4) Initial value를 주는 방법은 여러가지가 있을 수 있지만 greedy policy를 이용하고 있는 입장에서 가장 basic한 방법은 A(s, argmax A) = 0으로 만드는 것이다.

 

(5) 다른 방법으로는 A(s, (some imaginary) mean action) = 0으로 만드는 것이 있다. → Constant target bias가 발생하지만 중요한 것은 advantage의 order이다

 

(6) max는 one sample experience를 통해서 최대 2개(max a, taken a)의 action에 대한 학습만 이루어지지만 mean을 이용하면 action 전체에 대한 학습이 가능하다.

 

(7) softmax + max를 이용한 방법으로 mean과 비슷한 효과를 낼 수 있지만 계산효율이 떨어진다.

 

Q value차이는 작은데 state value 차이는 큰 경우가 꽤 있는데 이런 경우 기존의 DQN은 평가 한번으로 액션이 확 바뀌는 경우가 있는데 DDQN은 이에 좀 더 robust했다.

-> mean으로 빼주기때문에.