-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
強化學習——從原理到實踐 版權信息
- ISBN:9787302682417
- 條形碼:9787302682417 ; 978-7-302-68241-7
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
強化學習——從原理到實踐 本書特色
內容全面:本書是一本對強化學習算法的綜合性講解書籍,既有理論基礎,也有代碼實現,并包括設計原理的講解。
語言簡潔:本書盡量以簡潔的語言書寫,每個章節之間的內容盡量獨立,使讀者可以跳躍閱讀而沒有障礙。
代碼清晰:本書的代碼也盡量以簡潔的形式書寫。每個代碼塊都是一個單元測試,讀者可以按照每個代碼塊從上到下的順序執行測試,從一個個小知識點聚沙成塔,融會貫通。
強化學習——從原理到實踐 內容簡介
"本書是對強化學習算法的綜合性講解書籍,內容包括主要的強化學習算法的實現思路講解,以及主要的優化方法的原理講解。本書介紹的每個算法都分為原理講解和代碼實現兩部分,代碼實現是為了通過實驗驗證原理部分的可行性。通過本書的學習,讀者可以快速地了解強化學習算法的設計原理,掌握強化學習算法的實現過程,并能研發屬于自己的強化學習算法,了解各個算法的優缺點,以及各個算法適用的場景。 本書共18章,分為強化學習基礎篇(第1章和第2章)介紹了強化學習中的基本概念。強化學習基礎算法篇(第3~6章)介紹了QLearning算法、SARSA算法、DQN算法、Reniforce算法。強化學習高級算法篇(第7~12章)介紹了AC演員評委算法、A2C優勢演員評委算法、PPO近端策略優化算法、DDPG深度確定性策略梯度算法、TD3雙延遲深度確定性策略梯度算法、SAC柔性演員評委算法、模仿學習算法。多智能體篇(第13章和第14章),介紹了在一個系統中存在多智能體時,各個智能體之間的合作、對抗等關系,以及各個智能體之間的通信策略。擴展算法篇(第15~17章)介紹了CQL離線學習算法、MPC環境學習算法、HER目標導向算法。SB3強化學習框架篇(第18章),介紹了強化學習框架SB3的使用方法。 本書將使用*簡單淺顯的語言,帶領讀者快速地了解各個主要的強化學習算法的設計思路,以及實現過程。通過本書各個章節的學習,讀者可以掌握主流的強化學習算法的原理和實現方法,能夠讓讀者知其然也知其所以然,做到融會貫通。 "
強化學習——從原理到實踐強化學習——從原理到實踐 前言
筆者自從學習人工智能相關的技術以來,一直覺得強化學習相關的資料相對偏少,無論是實體的書籍,還是網絡上的各種文章,普遍存在重復量大,解釋咬文嚼字,充斥著抽象的數學公式,很多時候對于一個算法的設計思路只是簡單地列出幾條公式就算強行解釋過了,雖然在理解了這些算法之后,也能理解作者為什么會做出這樣的解釋,因為確實有些算法的設計思路是很抽象的。還有的算法純粹是從數學層面推導出來的,單純看*后的實現過程是完全沒有任何道理的,只有理解了它背后的數學推導過程,才能理解為什么它是那樣的一個實現過程,所以在某種程度上也能理解作者為什么要那樣古板地解釋算法的設計思路。
不過筆者還是希望盡自己所能,從更加感性、更加形象化的角度去解釋各個強化學習算法的設計思路。筆者一直認為,萬事開頭難,學習數據庫*困難的部分,可能就是成功地安裝一個數據庫。如果初期能順利地入門,后期再去慢慢摸索算法中的各個細節,則可能會更容易一些。
出于以上原因,筆者想要盡自己所能,以自己對強化學習各個算法的理解,盡量簡單明了地向讀者介紹各個算法的設計思路,以幫助讀者能夠進入強化學習這座大廈的大門,未來讀者可以自己在這座大廈里開啟自己的冒險,乃至為這座大廈添磚加瓦。
前面談到強化學習方面的理論往往解釋得很生硬,其實相比原理解釋上的問題,還有代碼實現的質量也比較差,也許人工智能領域的工程師更偏向數學理論,在代碼實現上普遍質量不高。代碼里經常可以見到無意義的函數封裝、冗余的代碼塊、無意義的判斷、永遠只循環一次的循環體等問題,讓原本就復雜的程序更加難以讀懂。
本書配套的代碼都是筆者親手編寫的,全套代碼的風格都是統一的,只要看懂了第1套代碼,其他的代碼就可以做到一通百通。筆者盡量以簡潔的形式去書寫代碼,讓每行代碼都有意義,避免無意義的冗余,并且所有的代碼都是測試通過的,能復現本書中所介紹的效果。
筆者自從2021年以來,逐漸把自己所學習的計算機技術整理成視頻和代碼資料,在分享知識的過程中,強化學習是很受讀者歡迎的部分,同時也有很多讀者給筆者反饋,強化學習部分的知識理解起來不太容易,這和筆者制作的視頻的質量有很大關系,現在回頭看,當初因為青澀,制作的視頻資料十分粗糙,因而筆者有了重新制作這部分視頻資料的想法,同時也給了筆者動力,想把強化學習部分的知識整理成文本資料出版,以更多的渠道和媒介向讀者傳達自己的聲音。
如果本書的內容能對你有一點幫助,筆者的工作就沒有白費,*后,感謝讀者購買這本書,希望本書的內容能讓讀者有所收獲。
本書主要內容
第1章: 強化學習概述,概述了強化學習的基本概念及一般的優化過程。
第2章: Q函數和時序差分,介紹了Q函數,以及使用時序差分方法優化Q函數。
第3章: 基于表格的強化學習方法,介紹了基于表格實現的QLearning算法和SARSA算法。
第4章: DQN算法,介紹了DQN算法,以及在DQN算法中使用雙模型、加權數據池、Double DQN、Dueling DQN、Noise DQN等改良方法。
第5章: 策略梯度,介紹了基于策略的思想,以及使用策略迭代方法優化策略的過程。
第6章: Reinforce算法,介紹了Reinforce算法,以及在Reinforce算法中應用去基線、熵正則等優化方法。
第7章: AC和A2C算法,介紹了AC算法和A2C算法,引出了“演員評委”模型。
第8章和第9章: 近端策略優化算法和實現,介紹了在強化學習中的難點: 近端策略優化算法,即PPO算法,介紹了在PPO算法中重要的重要性采樣、優勢函數、廣義優勢估計等概念。
第10章: DDPG和TD3算法,介紹了深度確定性策略梯度算法,即DDPG算法,以及DDPG算法的改進算法——TD3算法。
第11章: SAC算法,介紹了SAC算法的實現,提出了優化過程中要考慮動作的熵的概念。
第12章: 模仿學習,介紹了模仿學習方法,提出了可以使用傳統監督學習的方法來模擬強化學習方法。
第13章: 合作關系多智能體,介紹了在一個系統中多個智能體之間合作方法,介紹了多個智能體之間的有通信和訓練時有通信的兩種通信策略。
第14章: 對抗關系多智能體,介紹了在一個系統中多個智能體之間的對抗方法,介紹了多個智能體之間的無通信和訓練時有通信的兩種通信策略。
第15章: CQL算法,介紹了離線學習算法——CQL算法,提出了在離線學習中抑制Q函數的過高估計的方法。
第16章: MPC算法,介紹了直接學習環境的MPC算法,提出了從模擬環境中搜索得到*優動作的方法。
第17章: HER目標導向的強化學習,介紹了在反饋極端稀疏的環境中,通過放置偽目標點來提高優化效率的HER算法。
第18章: SB3強化學習框架,介紹了強化學習框架SB3的使用方法。
閱讀建議
本書是一本對強化學習算法的綜合性講解書籍,既有設計原理,也有代碼實現。
本書盡量以簡潔的語言書寫,每個章節之間的內容盡量獨立,使讀者可以跳躍閱讀而沒有障礙。
作為一本實戰書籍,讀者要掌握本書的知識,務必結合代碼調試,本書的代碼也盡量以簡潔的形式書寫,使讀者閱讀不感吃力。本書代碼使用Jupyter Notebook書寫,每個代碼塊即是一個單元測試,讀者可以用每個程序的每個代碼塊按從上到下的順序進行測試,從一個個小知識點聚沙成塔,融會貫通。
掃描目錄上方的二維碼,可獲取本書源碼。
致謝
感謝筆者的好友K,在筆者寫作過程中始終鼓勵筆者,使筆者有動力完成本書的寫作。
在本書的撰寫過程中,筆者雖已竭盡所能為讀者呈現*好的內容,但書中難免存在疏漏,敬請讀者批評指正。
李福林
2024年12月
強化學習——從原理到實踐 目錄
基礎篇
第1章強化學習概述
1.1強化學習的定義
1.2玩耍和學習
1.3對比傳統方法
1.4基于表格的直觀示例
1.5一般的學習過程
1.6小結
第2章Q函數和時序差分
2.1一個直觀的例子
2.2數學描述
2.3精確計算Q函數是困難的
2.4尋求Q函數
2.5小結
基礎算法篇
第3章基于表格的強化學習方法
3.1代碼運行環境說明
3.2游戲環境
3.2.1Gym包介紹
3.2.2定義游戲環境
3.2.3游戲環境操作方法介紹
3.3定義Q表
3.4強化學習的一般過程
3.4.1數據池的必要性
3.4.2異策略和同策略
3.5定義play函數和數據池
3.5.1定義play函數
3.5.2定義數據池
3.6使用時序差分方法更新Q表
3.7QLearning算法
3.8SARSA算法
3.9實現無數據池的SARSA算法
3.10小結
第4章DQN算法
4.1DQN算法介紹
4.2平衡車游戲環境
4.3定義神經網絡模型
4.4數據部分的修改
4.4.1play函數的修改
4.4.2數據池的修改
4.5實現DQN算法
4.6雙模型
4.7加權的數據池
4.8Double DQN
4.9Dueling DQN
4.10Noise DQN
4.11小結
第5章策略梯度
5.1基于策略的算法
5.2一個直觀的例子
5.3數學表達
5.4小結
第6章Reinforce算法
6.1基于策略的算法
6.2組件修改
6.2.1游戲環境
6.2.2神經網絡模型
6.2.3play函數
6.3Reinforce算法
6.4去基線
6.4.1去基線的目的
6.4.2實現去基線
6.5熵正則
6.5.1動作分布概率收斂太快的弊端
6.5.2熵
6.5.3實現熵正則
6.6小結
高級算法篇
第7章AC和A2C算法
7.1時序差分和策略梯度的結合
7.2AC算法介紹
7.3實現AC算法
7.3.1定義模型
7.3.2訓練critic模型
7.3.3訓練actor模型
7.3.4執行訓練
7.4A2C算法介紹
7.5實現A2C算法
7.6小結
第8章近端策略優化
8.1重要性采樣
8.2懲罰與裁剪
8.2.1約束KL散度法
8.2.2懲罰KL散度法
8.2.3重要性采樣裁剪法
8.3優勢函數
8.4廣義優勢估計
8.5小結
第9章PPO算法
9.1在離散動作環境中的應用
9.1.1定義模型
9.1.2訓練value模型
9.1.3訓練action模型
9.1.4執行訓練
9.2在連續動作環境中的應用
9.2.1倒立擺游戲環境介紹
9.2.2定義模型
9.2.3定義play函數
9.2.4訓練value模型
9.2.5訓練action模型
9.2.6執行訓練
9.3小結
第10章DDPG和TD3算法
10.1DDPG算法概述
10.1.1確定的動作
10.1.2異策略化
10.2優化方法
10.3緩解過高估計
10.4DDPG算法實現
10.4.1定義模型
10.4.2定義工具類和輔助函數
10.4.3定義訓練過程
10.5TD3算法實現
10.5.1定義模型
10.5.2定義訓練過程
10.6小結
第11章SAC算法
11.1SAC算法簡介
11.1.1考慮動作的熵
11.1.2異策略化
11.2實現SAC算法
11.2.1定義模型
11.2.2定義工具類和輔助函數
11.2.3訓練value模型
11.2.4訓練action模型
11.2.5執行訓練
11.2.6關于alpha的調整
11.3SAC算法的簡化版實現
11.3.1定義模型
11.3.2訓練value模型
11.3.3訓練action模型
11.3.4執行訓練
11.4在連續動作環境中的應用
11.4.1定義模型
11.4.2value模型的輸入和輸出
11.4.3修改工具類和輔助函數
11.4.4訓練value模型
11.4.5訓練action模型
11.4.6執行訓練
11.5小結
第12章模仿學習
12.1模仿學習簡介
12.2在離散動作環境中的應用
12.2.1定義數據集
12.2.2定義模型
12.2.3執行訓練
12.2.4測試
12.3在連續動作環境中的應用
12.3.1定義數據集
12.3.2定義模型
12.3.3執行訓練
12.3.4測試
12.4小結
多智能體篇
第13章合作關系的多智能體
13.1多智能體簡介
13.1.1有通信的情況
13.1.2訓練時有通信的情況
13.1.3無通信的情況
13.2合作關系游戲環境介紹
13.3定義A2C算法
13.4有通信的實現
13.4.1定義模型
13.4.2修改play函數
13.4.3執行訓練
13.5訓練時有通信的實現
13.5.1修改模型
13.5.2執行訓練
13.6小結
第14章對抗關系的多智能體
14.1對抗關系的多智能體簡介
14.2納什均衡簡介
14.3游戲環境介紹
14.4無通信的實現
14.4.1定義模型
14.4.2執行訓練
14.5訓練時有通信的實現
14.5.1定義模型
14.5.2執行訓練
14.6小結
擴展算法篇
第15章CQL算法
15.1離線學習簡介
15.2離線學習中Q值過高估計的問題
15.3CQL算法是如何抑制Q值的
15.4實現CQL算法
15.4.1數據集介紹
15.4.2封裝數據集
15.4.3定義算法模型
15.4.4執行訓練
15.5小結
第16章MPC算法
16.1MPC算法簡介
16.1.1假環境學習
16.1.2*優動作搜索
16.2實現MPC算法
16.2.1定義假環境
16.2.2定義動作函數
16.2.3訓練假環境
16.2.4重寫動作函數
16.2.5動作學習
16.3小結
第17章HER目標導向
17.1HER算法概述
17.1.1稀疏反饋的游戲環境
17.1.2放置假目標點
17.2HER算法實現
17.2.1游戲環境介紹
17.2.2定義算法模型
17.2.3定義數據池
17.2.4執行訓練
17.3小結
框架篇
第18章SB3強化學習框架
18.1SB3簡介
18.2快速上手
18.3模型的保存和加載
18.4多環境并行訓練
18.5Callback類
18.6綜合實例
18.7使用SB3 Contrib
18.8小結
強化學習——從原理到實踐 作者簡介
李福林,一個在IT領域摸爬滾打十多年的老程序員、培訓師,精通多種IT技術。分享了多部AI技術教程,受到了讀者的廣泛贊譽。現任職于陽獅集團,擔任算法工程師。教學風格追求化繁為簡,務實而不空談,課程設計思路清晰,課程演繹說理透徹,對AI領域技術有自己獨到的見解。
- >
二體千字文
- >
詩經-先民的歌唱
- >
山海經
- >
上帝之肋:男人的真實旅程
- >
姑媽的寶刀
- >
苦雨齋序跋文-周作人自編集
- >
隨園食單
- >
我從未如此眷戀人間