Deep Q-learning
우리는 이전 포스트에서 Q-learning에 대해서 알아보았습니다.
Q-learning은 존재가능한 상태와 action에 대한 q 값을 통해 max되는 보상을 취하는 것을 목표로 했습니다.
만약 존재 가능한 상태와 행동의 가짓수가 아주 방대하다면 어떨까요?
실제로 많은 문제는 이처럼 방대한 상태와 행동을 바탕으로 하고 있습니다. 이번에 리뷰할 논문 또한 마찬가지 입니다.
본문 :

Q-러닝과 딥러닝을 합친 것을 바로 Deep Q Networks 라고 부릅니다. 위에서 사용했던 Q-table 대신 신경망을 통해, 그 신경망 모델이 Q 가치를 근사해낼 수 있도록 학습시킵니다. 이에 모델 자체를 approximator라고 표현합니다. 모델은 로 표현합니다. 여기서 는 신경망의 가중치 입니다.
일단 벨만 방정식을 다시 봅니다.

여기서 신경망은 Q값이 최적에 도달해 좌우의 차이가 0으로 수렴하도록 유도 합니다.
그러면 신경망의 비용함수는 제곱으로 표현되겠네요
제곱은 반드시 optimal point 가 존재하는 convex function이기 때문입니다.

좌우의 차이를 최소화 한다고 했으니 그 차이의 제곱을 비용함수로 하는 신경망을 훈련하는 과정으로 Q table을 근사 할 수 있습니다.

Q-learning은 off-policy 였습니다. 따라서 훈련을 위한 시행착오 속에서 문제를 해결합니다. 이때 다수번의 시행 착오를 일괄적으로 훈련하는 경우 훈련의 순서를 외우는 등 모델의 편향이 발생할 수 있습니다. 일반적으로 보상은 희소하고 시행착오는 많기 때문에 신경망은 local minima를 회피하기 어렵습니다. 이와 같은 과정을 Replay memory를 통한 Experience replay라고 합니다.

이처럼 현재의 상태를 기반으로 신경망을 Q값을 찾습니다. 그리고 그중에서 가장 높은 Q를 찾아 훈련하게 됩니다.
Uploaded by N2T