일반적인 강화학습은 Q-table 을 업데이트하는 Tabular Updating 을 사용한다. 이를 위해 많은 연산량과 저장 공간이 필요한 것이 한계였다. 이를 개선하기 위해 Deep Reinforcement Learning 은 Q-table 을 NN 으로 대체한다. NN 을 이용해 Q-function 과 정책을 근사하는 Function Approximation Method 를 이용하는 것이다.

연속적이고 크기가 큰 State, Action Space 를 이용해 Curse of Dimensionality 와 같은 Q-table 의 한계를 극복한다.
Deep Learning with no labels and Reinforcement Learning(TD) with no tables
행동과 결과를 관찰해 원하는 행동을 강화하고 원하지 않는 행동은 약화하는 방법이다. 이는 RL 의 foundational principle 로 통한다.
DQN 은 이미지와 같은 고차원 데이터로부터 정책을 학습하는 Q-Learning 모델이다. 고차원 데이터로부터 feature extraction 은 CNN 을 통해 이루어진다. CNN 의 특성으로 인해 large, continuous state space 와 discrete action space 를 가진다.

입력 데이터로부터 CNN 을 이용해 feature extraction 을 하고, FCL 을 이용해 embedding 을 거친 후 action 을 추출한다. 이 때 CNN 의 pooling 은 지역적 정보를 압축하기 때문에 DQN 의 CNN 에서는 pooling 연산이 행해지지 않는다.
기존의 Q-Learning 은 expected return 을 이용해 Q-function 을 업데이트했다.
$$ Q(S_t,A_t)\leftarrow Q(S_t,A_t)+\alpha[R_{t+1}+\gamma \max_\alpha Q(S_{t+1},\alpha)-Q(S_t,A_t)] $$
이와 달리 Naive DQN 은 estimated 된 TD target $r_{t+1}+\gamma\max_a{Q}(S_{t+1},a;\theta)$ 을 target 으로 설정하고, Q-function 을 관찰해 MSE loss 를 최소화하는 방식으로 Q-function 을 업데이트한다.
$$ L(\theta)=[r_{t+1}+\gamma\max_a{Q}(S_{t+1},a;\theta)-Q(S_t,a_t;\theta)]^2 $$
이 떄 target 과 Q-function 은 $\theta$ 라는 파라미터에 종속적이다.
Naive DQN 의 식은 다음과 같은 이유로 자주 발산한다.