首頁 > AI資訊 > 工具使用 > 手機上就能學!Pytorch深度學習教程手把手教你從DQN到Rainbow

手機上就能學!Pytorch深度學習教程手把手教你從DQN到Rainbow

新火種    2023-10-20
魚羊 發自 凹非寺量子位 報道 | 公眾號 QbitAI炎炎夏日,燥熱難耐,不如學學深度學習冷靜一下?這里有一份干貨教程,手把手帶你入門深度強化學習(Deep Reiforcement Learning),背景理論、代碼實現全都有,在線領取無需安裝喲!廢話不多說,趕緊領取教程看看里頭具體都有哪些寶藏知識吧~步步深入RL這份Pytorch強化學習教程一共有八章,從DQN(Deep Q-Learning)開始,步步深入,最后向你展示Rainbow到底是什么。不僅有Jupyter Notebook,作者還在Colab上配置好了代碼,無需安裝,你就能直觀地感受到算法的效果,甚至還可以直接在手機上進行學習!1. DQNDeepRL入門第一步,當先了解DQN(Deep Q-Learning)。這是DeepMind提出的一種算法,2015年登上Nuture。它首次將深度神經網絡與強化學習進行了結合,實現了從感知到動作的端到端學習,在多種雅達利游戲當中達到了超人水平。Pytorch Jupyter Notebook:https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/01.dqn.ipynbColab:https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/01.dqn.ipynb#scrollTo=nEcnUNg8Sn3I△Colab在線訓練2. Double DQNDouble DQN(DDQN)是DQN的一種改進。在DDQN之前,基本所有的目標Q值都是通過貪婪法得到的,而這往往會造成過度估計(overestimations)的問題。DDQN將目標Q值的最大動作分解成動作選擇和動作評估兩步,有效解決了這個問題。Pytorch Jupyter Notebook:https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/02.double_q.ipynbColab:https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/02.double_q.ipynb3.Prioritized Experience Replay該算法的核心在于抽取經驗池中過往經驗樣本時,引入了優先級的概念。也就是說,優先級的大小會影響樣本被采樣的概率。采用這種方法,重要經驗被回放的概率會增大,算法會更容易收斂,學習效率也就相應提高了。Pytorch Jupyter Notebook:https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/03.per.ipynbColab:https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/03.per.ipynb4. Dueling NetworksDueling DQN是通過優化神經網絡的結構來優化算法的。Dueling Networks用兩個子網絡來分別估計狀態值和每個動作的優勢。Pytorch Jupyter Notebook:https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/04.dueling.ipynbColab:https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/04.dueling.ipynb5. Noisy NetworkNoisyNet通過學習網絡權重的擾動來推動探索。其關鍵在于,對權重向量的單一更改可以在多個時間步驟中引發一致的,可能非常復雜的狀態相關的策略更改。Pytorch Jupyter Notebook:https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/05.noisy_net.ipynbColab:https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/05.noisy_net.ipynb6. Categorical DQN(C51)Categorical DQN是一種采用分布視角來設計的算法,它建模的是狀態-動作價值Q的分布,這樣學習的結果會更加準確。Pytorch Jupyter Notebook:https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/06.categorical_dqn.ipynbColab:https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/06.categorical_dqn.ipynb7. N-step LearningDQN使用當前的即時獎勵和下一時刻的價值估計作為目標價值,學習速度可能相對較慢。而使用前視多步驟目標實際上也是可行的。N-step Learning通過調整多步驟目標n來加快學習速度。Pytorch Jupyter Notebook:https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/07.n_step_learning.ipynbColab:https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/07.n_step_learning.ipynb8. Rainbow有了前七章的鋪墊,現在你就能了解到Rainbow的真意了。Rainbow是結合了DQN多種擴展算法的一種新算法,在數據效率和最終性能方面,該方法表現出了驚人的效果。然而,整合并非一件簡單的事情,針對這一點,教程也做出了討論。Pytorch Jupyter Notebook:https://nbviewer.jupyter.org/github/Curt-Park/rainbow-is-all-you-need/blob/master/08.rainbow.ipynbColab:https://colab.research.google.com/github/Curt-Park/rainbow-is-all-you-need/blob/master/08.rainbow.ipynb#scrollTo=ougv5VEKX1d1系統學習是個非常不錯的選擇,當然作者也說了,以上知識點,你也可以選擇想學哪里點哪里。學習小技巧如果你想在本地運行這些代碼,那么這里有些小技巧請拿好。首先是運行環境:$ conda create -n rainbow_is_all_you_need python=3.6.1$ conda activate rainbow_is_all_you_need進入安裝環節,首先,克隆存儲庫:git clone https://github.com/Curt-Park/rainbow-is-all-you-need.gitcd rainbow-is-all-you-need其次,安裝執行代碼所需的包,這很簡單:make dep那么,快開始學習吧~傳送門教程地址:https://github.com/Curt-Park/rainbow-is-all-you-need— 完 —
相關推薦
免責聲明
本文所包含的觀點僅代表作者個人看法,不代表新火種的觀點。在新火種上獲取的所有信息均不應被視為投資建議。新火種對本文可能提及或鏈接的任何項目不表示認可。 交易和投資涉及高風險,讀者在采取與本文內容相關的任何行動之前,請務必進行充分的盡職調查。最終的決策應該基于您自己的獨立判斷。新火種不對因依賴本文觀點而產生的任何金錢損失負任何責任。

熱門文章