Q러닝에서는 표의 각 행이 에이전트의 상태를, 표의 각 열이 에이전트가 취할 수 있는 행동에 해당했다할인총보상을 의미했다행동가치 함수를 표형식으로 나타내는 대신 층 수가 많은 신경망으로 바꾸어 나타낸다입력으로 삼는다가짓수와 같다할인총보상신경망의 결합 가중치를 어떻게 학습시키냐다
다시말해, 역전파 계산에 어떤 오차함수를 사용해 오차를 계산해야 하는가?
Q러닝 알고리즘에서 행동가치 함수 Q를 수정하는 식은 다음과 같았다DQN은 표형식으로 나타낸 Q러닝처럼 각 단계마다 해당 단계의 내용(experience)를 학습하는 것이 아니라, 메모리에 각 단계의 내용을 저장해 둔 다음 무작위로 내용을 꺼내(replay) 신경망을 학습한다transition이라고 한다각 단계마다 해당 단계의 내용을 학습하면 신경망이 시간적으로 상관관계가 높은 데이터는 연속적으로 학습하므로 결합 가중치 학습이 어려워진다 그에 대한 대책인 셈
main-network와 오차함수 계산 시에 행동가치를 계산하는 target-network라는 두 가지 신경망을 사용DQN에서는 가치함수 를 수정하려고 하지만 Q러닝 알고리즘으로 행동가치 함수를 수정하려면 다음 시각의 상태 에서 가치함수 가 필요하다즉, Q함수를 수정하기 위해 같은 Q함수를 사용해야 하는 것
그러나 두 곳에 같은 함수를 사용하면 학습이 불안정해진다
Fixed Target Q-Network)를 사용해 계산target-network는 정기적으로 main-network를 덮어쓰게 된다DQN을 적용할 수 있다는 장점을 갖는다