DQN(Deep Q-learning)入門教程(四)之Q-learning Play Flappy Bird
阿新 • • 發佈:2020-05-30
在上一篇[部落格](https://www.cnblogs.com/xiaohuiduan/p/12977830.html)中,我們詳細的對Q-learning的演算法流程進行了介紹。同時我們使用了$\epsilon-貪婪法$防止陷入區域性最優。
![](https://img2020.cnblogs.com/blog/1439869/202005/1439869-20200530014805803-238391864.png)
那麼我們可以想一下,最後我們得到的結果是什麼樣的呢?因為我們考慮到了所有的($\epsilon-貪婪法$導致的)情況,因此最終我們將會得到一張如下的**Q-Table**表。
| Q-Table | $a_1$ | $a_2$ |
| ------- | ------------ | ------------ |
| $s_1$ | $q(s_1,a_1)$ | $q(s_1,a_2)$ |
| $s_2$ | $q(s_2,a_1)$ | $q(s_2,a_2)$ |
| $s_3$ | $q(s_3,a_1)$ | $q(s_3,a_2)$ |
當agent執行到某一個場景$s$時,會去查詢已經訓練好的Q-Table,然後從中選擇一個最大的$q$對應的action。
## 訓練內容
這一次,我們將對Flappy-bird遊戲進行訓練。這個遊戲的介紹我就不多說了,可以看一下[維基百科](https://zh.wikipedia.org/wiki/Flappy_Bird)的介紹。
![](https://img2020.cnblogs.com/blog/1439869/202005/1439869-20200530014806480-858317041.png)
遊戲就是控制一隻