📖 Deep Q-Learning

# Problems of  Previous Q-learning 1. correlated samples 2. Q-learning is not gradient descent: ## 1) Correlated samples in Q-learning ![](https://33333.cdn.cke-cs.com/kSW7V9NHUXugvhoQeFaf/images/7c82d5d0a9581530bb1d0be417934f584686dbf7d2fb333d.png) ### solution: replay buffers ![](https://33333.cdn.cke-cs.com/kSW7V9NHUXugvhoQeFaf/images/78a718daee6bfcfc0b0a085aea544342ecd4fc064e075986.png) ### Full Q-learning with Replay Buffer ![](https://33333.cdn.cke-cs.com/kSW7V9NHUXugvhoQeFaf/images/3b43b3adaefbbf4ddd02b71a3fd66389d32b77597aef606e.png) ## 2) Q-learning is not gradient descent ![](https://33333.cdn.cke-cs.com/kSW7V9NHUXugvhoQeFaf/images/270f5b84da79 a26c978a0c2e645a495c2ed1e5ec7a199cc1.png) ### solution: target network ![image.png](https://cos.easydoc.net/46811466/files/l80n104i.png) ### classic Deep Q-Learning Algorithm (DQN) DQN: Q-learning with neural networks ![image.png](https://cos.easydoc.net/46811466/files/l80n2sbw.png) ### Alternative Target Network ![image.png](https://cos.easydoc.net/46811466/files/l80n3sib.png) # Improve Q-Learning ## Are the Q-values accurate? ![image.png](https://cos.easydoc.net/46811466/files/l81lbqym.png) ![image.png](https://cos.easydoc.net/46811466/files/l81lc4w9.png) ### Overestimation in Q-learning ![image.png](https://cos.easydoc.net/46811466/files/l81lcosk.png) ## 1) Double Q-learning ![image.png](https://cos.easydoc.net/46811466/files/l81ldxyc.png) ### Double Q-learning in practice ![image.png](https://cos.easydoc.net/46811466/files/l81leh3o.png) ## 2) Multi-steps returns ![image.png](https://cos.easydoc.net/46811466/files/l81lf2g9.png) ### Q-learning with N-steps returns ![image.png](https://cos.easydoc.net/46811466/files/l81lfnr9.png) # Q-learning with continuous actions What's the problem with continuous actions? ![image.png](https://cos.easydoc.net/46811466/files/l81m5jbs.png) How do we perform the max? 1. Option 1: `optimization` - gradient based optimization (e.g., SGD) a bit **slow** in the inner loop - action space typically low-dimensional - what about stochastic optimization? ![image.png](https://cos.easydoc.net/46811466/files/l81m9edx.png) 2. Option 2: `use function class that is easy to optimize` ![image.png](https://cos.easydoc.net/46811466/files/l81mlvu0.png) 3. Option 3: `learn an approximate maximizer` ![image.png](https://cos.easydoc.net/46811466/files/l81mmgvv.png) ![image.png](https://cos.easydoc.net/46811466/files/l81mmob8.png) # Implementation Tips and Examples ![image.png](https://cos.easydoc.net/46811466/files/l81mrnus.png) ![image.png](https://cos.easydoc.net/46811466/files/l81mruya.png) ![image.png](https://cos.easydoc.net/46811466/files/l81ms3s1.png) ![image.png](https://cos.easydoc.net/46811466/files/l81msmgs.png) ![image.png](https://cos.easydoc.net/46811466/files/l81msu6z.png) ![image.png](https://cos.easydoc.net/46811466/files/l81mt1rq.png) ![image.png](https://cos.easydoc.net/46811466/files/l81mtbnj.png) ![image.png](https://cos.easydoc.net/46811466/files/l81mtq5j.png)