# 深度強化學習 ![](https://i.imgur.com/USEsT57.png) TD ERROR 越小越好 qt:完全憑空猜測 yt(td target):部分基於真實r(r=reward) 傳統DQN缺點:1.每次用完就丟很浪費2.st跟st+1會太像 不好 改良:experience relay: 先把一筆transition放進一個很大的buffer 繼將每一個episode中使用的(s,a,r,a')儲存於M中,再從M中抽取mini-batch轉換來最小化損失函式。 use SGD pritority experience relay: ![](https://i.imgur.com/6ly3lTH.png) 因為error越大代表TD對這個state更不熟 -------------------------------------------------- ![](https://i.imgur.com/yxXrNlF.png) 用TD learning會高估 action value 1. 因為公式是用最大化 2. 用bootstrap 所以如果DQN本來就已經高估了 下一輪只會推到更高 ![](https://i.imgur.com/x47yvmC.png) problem: ![](https://i.imgur.com/isgP5f9.png) sol: 1.use target network ![](https://i.imgur.com/LkdZ5Pz.png) 就是拿一個新的network專門拿來算TD target 2. double dqn: ![](https://i.imgur.com/zROaSaF.png) code 講解:+=目的=+10 , -= 掉到坑=-10gg w=wall p=player state 1 2 差別 :有reward state2=st+1 y=label=target ![](https://i.imgur.com/QjHtws9.png) ![](https://i.imgur.com/36MPEfv.png) ![](https://i.imgur.com/g5DAPmF.png)