1. 程式人生 > >DQN(Deep Q-learning)入門教程(四)之Q-learning Play Flappy Bird

DQN(Deep Q-learning)入門教程(四)之Q-learning Play Flappy Bird

在上一篇[部落格](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) 遊戲就是控制一隻