0%

Playing-Atari-with-Deep-Reinforcement-Learning

0. Abstract

Deep learning model을 사용하여 high dimensional sensory input으로부터 policy를 학습한다.

1. Introduction

이미지나 음성같은 high dimension input으로 학습하는 건 RL에서 오래된 challenging task이다.

수렴에 대한 보장을 주는, hand-crafted feature linear value function approximation에 의존했었다.

딥러닝으로 이미 sensor 데이터에서 high level feature 뽑는 데에 강점이 있다는 것을 보였다.


딥러닝 관점에서 RL을 보면 몇가지 문제가 있다.

  1. Label이 없다

  2. Reward가 sparse, noisy, delay된 경향이 있다.

  3. 딥러닝은 Loss function 정의할 때 데이터에 i.i.d distributed를 가정하지만

    RL의 Loss function은 iteration마다 바뀐다.


Q-learning 관점에서 우리의 알고리즘엔 2가지 테크닉이 들어간다.

  • Correlation between $(s_t, s_{t+1})$ under policy $\pi$를 약화시키기 위해 experience replay를 사용한다.
  • Non stationary target value는 학습의 불안정성을 가져오기에 $C$ timestep동안은 target network를 유지한다.

후자는 네이처지에 올라온 DQN 논문의 테크닉인데 정말 비슷하기에 그냥 포함시켰다.

2. Background

RL의 목표는 total return을 최대로 키우는 policy를 찾는 것이다.

Optimal policy를 찾는 것은 optimal $Q$-function을 찾는 것과 동일하다.

Tabular setting에선 model-based와 model-free로 모두 policy control이 가능하다.

Tabular setting이 아닌 경우 interpolation이 안된다는 의미에서 generalization에 문제가 있다고 한다.

이 때, value function approximator $\hat Q(s, a, \theta)$로 optimal $Q^*$ function을 근사하는 방식으로 접근한다.

Function approximator를 neural network로 사용할 경우 $\hat Q(s, a, \theta)$를 Q-network라고 부른다.

3. Related Works

4. Deep Reinforcement Learning

Experience replay를 적용하기 위해 agent의 experience $e_t = (s_t, a_t, r_t, s_{t+1})$를 buffer $D$에 저장한다.

그 다음, $D$에서 무작위 추출로 뽑은 experience를 가지고 Q-learning update를 적용한다.

이 때 loss function은 $L_{i}\left(\theta_{i}\right)=\mathbb{E}_{\left(s, a, r, s^{\prime}\right) \sim U(D)}\left[\left(r+\gamma \max _{a^{\prime}} Q\left(s^{\prime}, a^{\prime} ; \theta_{i}^{-}\right)-Q\left(s, a ; \theta_{i}\right)\right)^{2}\right]$이고,

SGD를 적용하기 위해 minibatch sampling으로 loss function을 MC approximation한 뒤에 gradient를 취한다.

Non stationary target value는 학습의 불안정성을 가져오기에 $C$ timestep동안은 target network를 유지한다.

CS234강의와 Human-level control through deep reinforcement learning를 동시에 참조하였다.