Deep Sarsa, Deep Q-learning, DQN
정의진
한국인공지능연구소 강화학습연구소장
딥러닝을 강화학습에 적용하려면
predict
Label
Label
• 예측, 정답
• Loss function(cross-entropy, mse 등등)
• Optimization
Sarsa
𝑄 𝑠, 𝑎 ← 𝑄 𝑠, 𝑎 + 𝛼(𝑅 + 𝛾𝑄 𝑠′, 𝑎′
− 𝑄 𝑠, 𝑎 )
업데이트 정답
(bootstrapping)
추측한 Q값
평균제곱오차와 비슷한데..?
State Q Value
• 상태를 입력으로 받고 Q값을 출력으로 하는
신경망을 만든다.
= 𝑅 + 𝛾𝑄 𝑠′
, 𝑎′
− 𝑄 𝑠, 𝑎
2
Deep Sarsa
• Loss funcion
State Q Value
Deep Q-Learning
= 𝑅 + 𝛾 ∙ 𝑚𝑎𝑥 𝑎′ 𝑄 𝑠′
, 𝑎′
− 𝑄 𝑠, 𝑎
2
• Loss funcion
• 상태를 입력으로 받고 Q값을 출력으로 하는
신경망을 만든다.
Deep Q-learning(와Deep Sarsa) 의 한계
Q-learning보다 멍청하다
그래서 딥마인드는 DQN을 만들게 됩니다.
DQN
• Experience replay와 Target network를 사용한 Deep Q-learning
Experience Replay
• Experience Replay memory에 보상과 액션을 포함한 State를 튜플
형태로 차곡차곡 저장한다.
• Experience replay memor에서 배치 사이즈만큼 랜덤으로 튜플을
뽑아서 학습시킨다.
• 과적합 방지
Target network
• Bootstrapping 은 편향을 일으킨다.
• 이미 존재하는 뉴럴넷을 Target network라는 이름으로 복사하고,
Target network는 bootstrapping한 label값을 내는데 쓴다.
• Neural network가 약 10번정도 업데이트 할 동안 target network는
1번 정도 업데이트를 주기적으로 한다(기준값이 계속 움직이지 않도록
하여 편향을 방지한다).
DQN performance
https://towardsdatascience.com/welcome-to-deep-
reinforcement-learning-part-1-dqn-c3cab4d41b6b
DQN pseudocode
https://towardsdatascience.com/introduction-to-various-
reinforcement-learning-algorithms-i-q-learning-sarsa-dqn-ddpg-
72a5e0cb6287
The end.

강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)