DQN(Deep Q-learning)入門教程(零)之教程介紹

段小輝發表於2020-05-23

簡介

DQN入門系列地址:https://www.cnblogs.com/xiaohuiduan/category/1770037.html

本來呢,在上一個系列資料探勘入門系列部落格中,我是準備寫資料探勘的教程,然後不知怎麼滴,部落格越寫越偏,寫到了神經網路,深度學習去了。在我寫完資料探勘部落格之後,我又不知道在哪裡(YouTube or B站殺我)看到了有人使用CNN網路玩飛翔的小鳥(Flappy Bird)的遊戲,當時我覺得,emm,竟然使用CNN就可以玩遊戲,有意思,可以一試,然後發現,要用到DQN,再然後,又發現其是強化學習的知識,然後,就入坑了。

別人的學習流程是強化學習——>Q-learning——>DQN——>?Fly,我學習流程TM是 ?Fly——>CNN——>DQN——>Q-learning——>強化學習

當然,本教程還是會按照"強化學習——>Q-learning——>DQN——>?Fly"的流程來,不然反著來誰受得了。

至於為什麼教程名叫做DQN入門教程而不是強化學習入門部落格,是因為該系列側重點不是強化學習,而是DQN。因此,一切的目標都是朝著DQN向前。

教程目標

該系列部落格仍然定位為入門部落格,因此不會涉及詳細對強化學習的各個方面都進行介紹,但是不會影響從入門到入土的連貫性。至於為什麼定位為入門部落格:1. 博主自己也是剛學,並且也不是系統性的學習(因為要準備考研,沒有時間),所以自己的知識面也不夠。 2. 實際上只要我們能夠入門,知道什麼是強化學習,什麼是DQN,能夠自己寫一個DQN的模型,然後得到結果就?了。至於更深入的內容,都入門了,還不能夠自己修煉嗎?同樣,這也是我的學習方法:先知道能夠做什麼,然後做出來(並不是簡單的copy程式碼,還是需要知道為什麼這樣做),然後再深入的來了解怎麼做,怎麼做的更好。

該教程涉及的內容如下:

  • 強化學習簡介
  • 馬爾科夫決策過程
  • Q-learing演算法
  • DQN
  • Nature DQN

最終會完成2個有意思的小專案:

  1. MountainCar-v0

    通過DQN訓練之後,小車能夠自動移動到旗幟的地方。

  2. Flappy Bird

    通過DQN訓練之後,小鳥能夠自動玩遊戲。

如果有任何問題,歡迎mail我。

相關文章