[논문] Dueling Network Architectures for Deep Reinforcement Learning
카테고리: Papers
태그: Dueling DQN RL
이 논문은 Dueling DQN을 소개하는 논문이다.
기존의 DQN의 문제인 모든 state-action 쌍에 대해서 Q값을 개별적으로 학습한다는 문제가 있었는데 Dueling DQN은 Q값을 Value와 Advantage stream으로 나눠서 학습한다.
이렇게 되면 모든 상태에서 모든 행동을 학습하지 않아도 되고 특정 상태에서 중요한 행동이 아닌 경우 Advantage 값이 0에 가까워져 효율적으로 학습이 가능하다.
이외에도 여러 장점이 있는데 Dueling DQN이 어떤 개념으로 동작하는지, 그리고 그로 인한 장점이 어떤 것이 있는지 알면 될 것 같다.
0. Abstact
이전까지 RL에서 많은 성공이 있었지만, 대부분은 CNN, LSTMs, auto-encoders를 활용한 것이었다.
이 논문에서는 model-free RL의 새로운 NN Architecture인 Dueling network를 제시한다.
Dueling network에는 2개의 estimators가 있다.
- state value function (V)
- state-dependent action advantage function (A)
이것은 기본적인 RL 알고리즘의 어떤 변화도 없이 actions 간의 학습을 일반화 할 수 있다. 이 Architecture는 많은 비슷한 valued actions이 존재할 때 더 나은 policy evaluation을 가능하게 한다.
이를 적용한 Atrai Games에서도 좋은 성과를 냈다.
1. Introduction
대부분의 RL 접근법은 Neural Network, MLPs, LSTMs, autoencoders 같은 기본적인 NN를 사용했다. 물론 이러한 발전은 control과 RL 알고리즘의 발전 또는 존재하는 NN 아키텍쳐를 RL 분야에 사용하게 했다.
그리고 이 논문에서는 Model free RL에 더 적합한 NN 아키텍쳐인 Dueling Architecture를 소개한다. 이 새로운 network는 현존하는 혹은 미래의 RL 알고리즘에 쉽게 적용이 가능하다.
먼저 Dueling architecture는 State value(S)와 action advantages(V)로 나눈다.
이 아키텍쳐는 DQN같은 유명한 single-stream Q network를 대체할 수 있는 two-stream Q network이라고 이해하면 된다. dueling network는 자동적으로 state value function과 advantage function의 estimate를 만든다.
dueling architecture는 어떤 state가 좋고 나쁜지를 각 state에서의 각 action의 효과를 학습하지 않고도 알 수 있다. 특히 어떤 State에서 특정 Action이 환경에 의미 있는 영향을 주지 않는 경우에 유용하다.
이 그림은 input video에 대한 trained value와 advanced streams의 Jacobians를 계산해 생성해낸 Map이다.
One time step VALUE (상단)
- 길에 집중을 한다. 특히 새로운 자동차가 등장할 수 있는 지평선에 집중한다.
- Score에도 집중을한다.
One time step ADVANTAGE (상단)
- 반면 advantage stream은 앞에 자동차가 없을 때는 현재의 action 선택이 영향이 없기 때문에 아무것에도 집중하지 않는다.
Two time step ADVANTAGE (하단)
- advantage stream은 바로 앞에 자동차가 있을 때 action 선택의 영향이 크기 때문에 집중을 한다.
⇒ dueling 아키텍쳐는 중복되거나 비슷한 action이 추가된 학습 문제의 policy evaluation에서도 더 빠르게 올바른 action을 구분할 수 있다.
⇒ 또한 prioritized replay와 dueling network의 결합을 통해 Atari 2600 에서도 우수한 성능을 보여준다.
2. Background
Q function은 반복적인 Dynamic Programmig을 통해 계산될 수 있다.
optimal한 Q function인 \(Q^*(s,a)\)은 \(max_\pi Q^\pi(s,a)\)로 정의할 수 있다.
deterministic policy에서는 \(V^*(s) = max_a Q^*(s,a)\)를 따르고, optimal Q function이 벨만방정식을 만족한다.
Adavantage function은 아래 식을 통해 구할 수 있다.
value function V : 특정 State s에 있는게 얼마나 좋은지 평가하는 값
Q function : 그 State에 있을 때 특정 action을 고르는 것이 얼마나 좋은지 평가하는 값
Adavantage function은 둘의 차이를 통해 각 행동의 상대적인 중요도를 구할 수 있다.
2.1 Deep Q-networks
모든 state와 action을 계산할 수 없으므로 value function을 일반화 해서 구한다.
일반화를 통해 Loss function을 최소화하는 문제로 바꿀 수 있다.
Loss function은 위와 같고 다시 목표는 Loss function을 최소화하는 파라미터 \(\theta\)를 찾는 것이다.
DQN에서 중요한 key innovation
- Target network online network인 \(Q(s,a;\theta_i)\)가 update되는 일정한 반복동안 target network인 \(Q(s',a';\theta^-)\)의 파라미터를 유지한다. ⇒ 알고리즘의 안정성을 증가시킨다.
- Experience replay 많은 에피소드들로부터 얻은 experience를 Dataset D에 저장한다. 그리고 학습시에 Memory에서저장된 experience를 random하게 sampling해 학습한다. ⇒ experience를 재사용할 수 있어 효율이 증가하고, replay buffer로 부터 랜덤하게 sampling하기 때문에 분산을 줄일 수 있고, 각 samples간의 상관관계를 줄일 수 있다.
2.2 Double Deep Q-networks
Q-learning과 DQN에서 max 연산자에 action을 select하고 evaluate하는데 같은 value가 사용된다.
그리고 이것은 overoptimistic value estimates를 발생시킬 수 있다.
DDQN은 DQN에서 target \(y_i^{DQN}\) 이 target \(y_i^{DDQN}\)으로 달라진 것 밖에 없다.
2.3 Prioritized Replay
학습 과정에서 높게 예상되는 experience의 replay 확률을 증가시키는 것이다.
이것은 일정한 확률로 sampling 되는 uniform experience replay보다 학습을 빠르게 하고 더 나은 정책을 얻을 수 있다.
3. The Dueling Network Architecture
새로운 아키텍쳐에서 가장 중요한 Key는 모든 action의 value를 측정해야 하는 것은 아니라는 것이다.
예를 들어 위에서 봤던 Enduro 게임에서 상황에 따라 집중하는 부분이 달라졌다. 즉 영향을 미치지 않는 action에 대해서는 고려를 안해도 됐다.
하지만 bootstraping based algorithm의 경우 state value의 estimation은 모든 state에서 중요하다.
이러한 통찰을 가져와 single Q-network 아키텍쳐인 dueling network를 설계했다.
dueling network는 lower layer에서는 DQN과 같다. 하지만 convolutional layers with a single sequence of fully connected layers 대신에 two sequences (or streams) of fully connected layers를 사용한다.
dueling network의 output이 Q function이기 때문에 DQN이나 SARSA 같은 많은 다른 알고리즘과 학습할 수 있다.
게다가 더 나은 replay memory, exploration policies, intrinsic motivation 등을 포함하여 알고리즘의 성능 향상도 가져올 수 있다.
Q-function을 출력하기 위한 fully-connected layer의 two stream을 결합하는 모듈은 신중한 설계가 필요하다.
위의 advantage의 수식을 통해 Q function에 대한 것으로 나타낼 수 있다.
deterministic policy에서는
\(a^* = argmax_{a'\in A}Q(s,a')\)이므로 \(Q(s,a^*)\) = \(V(s)\)이다.
그러므로 \(A(s,a^*) = 0\)이 되어야 한다.
aggregating module을 다음과 같이 나타낼 수 있다.
\(\theta\) : convolutional layers parameter
\(\alpha, \beta\) : two streams of fully-connected layers parameter
하지만 위와 같이 나타내면 identifiability problem이 발생한다. 즉, Q-value만 알고 있을 때 \(V(s)\)와 \(A(s,a)\)를 정확히 구분하는 것이 어렵다. 이러한 문제는 실제 학습 성능을 저하시킬 수 있다.
이 문제를 해결하기 위해
Advantage function의 optimal action value가 항상 0이 되도록 한다.
이렇게 하면 optimal action \(a^*\)에 대해 아래와 같이 표현할 수 있다.
즉 V(s) Stream이 state-value function estimation을 제공하고
A(s,a) Stream이 advantage function을 estimate하게 된다.
기존의 방식의 max 연산자를 대체하는 방식으로 평균을 사용할 수 있다. 이 방식은 V와 A의 기존의 의미를 일부 잃지만 최적화의 안정성을 증가시킬 수 있다. 왜냐하면 A는 max연산을 진행하는 것이 아닌 평균만 빨리 변경하면 되기 때문이다.
또한 평균을 빼더라도 상대적인 Rank는 유지되기 때문에, \(\epsilon\)-greedy나 greedy같은 기존의 정책을 그대로 사용할 수 있다.
위 방식대로 해도 기존의 standard Q network 처럼 한번의 backprop으로도 학습이 가능하다.
또한 Dueling architecture는 입력과 출력이 기존의 Q Network와 똑같기 때문에 DDQN이나 SARSA같은 Network에 별도의 알고리즘 수정 없이 Dueling Architecture를 쉽게 적용할 수 있다.
4. Experiments
4.1 Policy evaluation
Corridor Env에서 5개의 action인 경우 single이나 Duel이나 비슷한 속도로 수렴한다. 하지만 Action이 10개, 20개로 늘어난 경우 Dueling Network가 더 빠른 속도로 수렴하는 것을 볼 수 있다.
Dueling Architecture의 경우 Stream \(V(s; \theta, \beta)\)는 s에서 많은 유사한 action에 걸쳐 공유되는 일반적인 Value를 학습하므로 더 빠른 수렴으로 이어진다.
Large Action space를 가진 control task가 이 속성을 가지고 있기 때문에 결과적으로 Dueling Network가 기존의 single stream network보다 훨씬 빠른 속도로 수렴을 할것으로 예상된다.
4.2 Atari game
Dueling Architecture에서는 DQN에서와 학습률을 제외하면 모두 같은 optimizer와 hyperparameter를 사용했다. 조금 더 낮은 학습률과 Value & advantage stream의 마지막 Conv Layer에서 backprop gradient를 \(\frac{1}{\sqrt2}\)만큼 조정해서 안정성을 증가시켰다. 그리고 gradient clipping을 적용해 norm이 10이하로 되게 설정했다.
Single Network를 기준으로 Dueling architecture의 성능을 아래 평가 지표를 통해 비교한 것이다.
그래프를 보면 얼마나 dueling network가 single-stream network에 비해 좋은 성능을 보이는지 알 수 있다.
이 표는 이 논문에서 설명하는 방식들의 성능을 하나로 볼 수 있는 표이다.
먼저 Prior는 PER을 결합한 것이고, Clip은 gradient Clipping을 적용한 것이다.
Single stream 보다 Single Clip이 성능이 더 좋고 그것보다 Duel Clip이 더 좋은 것을 확인할 수 있다.
결론은 Single보다는 Duel이 좋고, 거기에 Clipping을 더하면 더 좋고, PER까지 결합하면 더 좋다는 것을 알 수 있다.
4.3 Robustness to human starts
30 no-ops의 단점중 하나는 Agent가 Atari game을 하기 위해서 일반화를 잘할 필요가 없다는 것이다. Atari game의 deterministic한 특성 때문에, Agent는 고유한 출발점에서 단순히 actions의 순서를 기억을 해 좋은 성과를 달성하는 법을 학습할 수 있다.
각 게임마다 전문가의 플레이 기록에서 100개의 시작점을 sampling한다. 그리고 그 시작점에서 에피소드를 실행하고 시작점 이후 획득한 보상만으로 평가한다. 이렇게 되면 암기보다는 일반화된 학습 능력을 평가할 수 있고 이 평가 지표를 Human start라고 한다.
위의 Table을 보면 Human starts 에서도 Duel Network가 더 좋은 성능을 보이는 것을 확인할 수 있다.
4.4 Combining with Prioritized experience replay
위 그래프는 Dueling architecture과 PER을 조합한 결과이다. 위에서 살펴본 Single Network를 기준으로 성능을 본 그래프보다도 더 좋은 성능을 보인다. 이는 PER과 Dueling Network를 결합하면 더 좋은 성능을 낼 수 있다고 볼 수 있다.
4.5 Saliency maps
V와 A 스트림의 역할을 시각적으로 잘 이해하기 위해 Saliency map을 분석한다.
Value stream (V)가 주목하는 영역은 Jacobian 절대값 \(\left \mid \nabla_s \hat{V}(s) \right\mid\)을 계산하고
Advantage stream(A)가 주목하는 영역은 Jacobian 절대값 \(\left \mid \nabla_s \hat{V}(s, \argmax_{a'}\hat{A}(s,a');\theta) \right \mid\)를 계산한다.
gray scale인 입력 프레임은 B, G 채널에 Saliency map은 R 채널에 위치시킨다. 이 세 채널은 RGB 이미지 형태로 나타낼 수 있다. 이를 나타낸게 위에서 살펴본 Enduro 게임에서의 그림이다.
Value stream (V)
- 미래 성능에 영향을 미칠 수 있는 요소에 집중
- 자동차가 나타날 도로의 수평선 혹은 점수에 집중한다.
Advantage stream (A)
- 즉각적인 행동 변화가 필요한 요소에 집중
- 충동 가능성이 높은 차량에 더 집중해 빠른 회피를 가능케 한다.
5. Discussion
Dueling architecture의 장점은 state-value function V(s)를 효율적으로 학습할 수 있다는 것이다.
기존의 Q Network는 특정 행동 a의 Q value만 업데이트 되고 나머지 행동들의 값은 변하지 않는다. 하지만 Dueling architecture에서는 Q Values가 업데이트 되면 V(s)도 업데이트가 된다.
이 접근법에서는 V(s)가 더 자주 업데이트 되므로, V에 더 많은 리소스가 할당되고 이것은 Q-learning 같은 TD기반 방법에서 중요한 정확한 state values의 근사를 가능하게 한다.
정확한 근사를 통해 TD 기반 방법의 성능을 향상시킬 수 있다. 이 현상은 실험을 통해서도 확인할 수 있다. actions의 수가 많아 질수록 Dueling network의 장점이 커진다.
Seaquest를 DDQN으로 학습했을 때 1등과 2등의 Q values 값의 차이는 대략 0.04인 반면 Q의 평균 값은 약 15이다.
이러한 크기 차이는 업데이트 과정에서 발생하는 작은 노이즈로도 행동의 순서를 바꾸는 결과를 초래할 수 있고 이는 Greedy 한 정책이 갑작스럽게 전환되게 만든다.
하지만 Dueling architecture는 별도의 advantage stream을 통해 noise에 대해서 강건한 학습효과를 보여준다.
6. Conclusions
이 논문은 DQN에서 value와 advantage를 분리하면서도, 공통된 feature learning module을 공유하는 새로운 neural network 아키텍쳐를 제시한다.
몇가지 알고리즘 개선과 결합한 Dueling 아키텍쳐는 Atari domain에서 다른 존재하는 deep RL보다 극적인 성능 향상을 할 수 있다.
댓글남기기