白話強化學習與 PyTorch

高揚,葉振斌

買這商品的人也買了...

商品描述

本書以“平民”的起點,從“零”開始,基於PyTorch框架,介紹深度學習和強化學習的技術與技巧,逐層鋪墊,營造良好的帶入感和親近感,把學習曲線拉平,使得沒有學過微積分等高級理論的程序員一樣能夠讀得懂、學得會。同時,本書配合漫畫插圖來調節閱讀氣氛,並對每個原理都進行了對比講解和實例說明。本書適合對深度學習和強化學習感興趣的技術人員、希望對深度學習和強化學習進行入門瞭解的技術人員及深度學習和強化學習領域的初級從業人員閱讀。

作者簡介

高揚,金山辦公軟件人工智能組技術負責人,歷任歡聚時代人工智能算法專家,金山軟件西山居大數據架構師等職。重慶工商大學研究生導師,電子工業出版社博文視點大數據技術圖書專家委員會專家委員,有多年海外工作經驗。有多部白話系列大數據與機器學習相關著作。

葉振斌,現任網易遊戲伏羲人工智能實驗室深度學習研發工程師。多年從事機器學習,特別是強化學習智能算法的研究及開發工作。擁有豐富的軟件開發經驗,豐富的人工智能算法訓練平台開發經驗。於2014年獲東北大學軟件工程學士學位,2017年獲重慶大學計算機科學與技術碩士學位。

目錄大綱

目錄

第1章 強化學習是什麼

1.1 題設

1.1.1 多智能才叫智能

1.1.2 人工智能的定義

1.2 強化學習的研究對象

1.2.1 什麼場合需要強化學習

1.2.2 強化學習的建模

1.3 本章小結

第2章 強化學習的脈絡

2.1 什麼是策略

2.2 什麼是好的策略

2.3 什麼是模型

2.4 如何得到一個好的策略

2.4.1 直接法

2.4.2 間接法

2.5 馬爾可夫決策過程

2.5.1 狀態轉移

2.5.2 策略與評價

2.5.3 策略優化

2.6 MODEL-BASED和MODEL-FREE

2.6.1 Model-Based

2.6.2 規劃問題

2.6.3 Model-Free

2.7 本章小結

第3章 動態規劃

3.1 狀態估值

3.2 策略優化

3.3 本章小結

第4章 蒙特卡羅法

4.1 狀態估值

4.2 兩種估值方法

4.2.1 首次訪問策略估值

4.2.2 每次訪問策略估值

4.3 策略優化

4.4 本章小結

第5章 時間差分

5.1 SARSA算法

5.1.1 偽代碼

5.1.2 SARSA的優缺點

5.2 Q-LEARNING

5.2.1 偽代碼

5.2.2 Q-Learning的優缺點

5.3 ON-POLICY和OFF-POLICY

5.4 ON-LINE學習和OFF-LINE學習

5.5 比較與討論

5.6 本章小結

第6章 深度學習

6.1 PyTorch簡介

6.1.1 歷史淵源

6.1.2 支持

6.2 神經元

6.3 線性回歸

6.4 激勵函數

6.4.1 Sigmoid函數

6.4.2 Tanh函數

6.4.3 ReLU函數

6.4.4 Linear函數

6.5 神經網絡

6.6 網絡訓練

6.6.1 輸入

6.6.2 輸出

6.6.3 網絡結構

6.6.4 損失函數

6.6.5 求解極小值

6.6.6 線性回歸

6.6.7 凸函數

6.6.8 二元(多元)凸函數

6.6.9 導數補充

6.6.10 導數怎麼求

6.6.11 “串聯式”神經元

6.6.12 模型的工作

6.6.13 損失函數的理解

6.7 深度學習的優勢

6.7.1 線性和非線性的疊加

6.7.2 不用再提取特徵

6.7.3 處理線性不可分

6.8 手寫數字識別公開數據集

6.9 全連接網絡

6.9.1 輸入輸出

6.9.2 代碼解讀

6.9.2.1 網絡結構

6.9.2.2 交叉熵損失函數

6.9.3 運行結果

6.10 卷積網絡

6.10.1 代碼解讀

6.10.2 理解卷積網絡結構

6.10.3 卷積核結構

6.11 循環神經網絡

6.11.1 網絡結構

6.11.2 RNN應用案例

6.11.3 代碼解讀

6.12 其它注意事項

6.12.1 並行計算

6.12.2 梯度消失與梯度爆炸

6.12.3 歸一化

6.12.4 超參數設置

6.12.5 正則化

6.12.6 不一的模型

6.13 深度神經網絡的發展趨勢

6.14 本章小結

第7章 GYM——不要錢的試驗場

7.1 簡介

7.2 安裝

7.3 類別介紹

7.4 接口

7.5 本章小結

第8章 DQN算法族

8.1 DQN 2013

8.1.1 模型結構

8.1.2 訓練過程

8.1.3 Replay Memory

8.1.4 小結

8.2 DQN 2015

8.2.1 模型結構

8.2.2 訓練過程

8.2.3 Target網絡

8.2.4 小結

8.3 DOUBLE DQN

8.3.1 模型結構

8.3.2 訓練過程

8.3.3 效果

8.3.4 小結

8.4 DUELING DQN

8.4.1 模型結構

8.4.2 效果

8.4.3 小結

8.5 優先回放DQN

8.6 GORILA DQN

8.7 本章小結

第9章 PG算法族

9.1 策略梯度

9.2 ACTOR-CRITIC

9.3 DPG

9.4 DDPG

9.5 本章小結

第10章 A3C

10.1 模型結構

10.1.1 A3C DQN

10.1.2 A3C DDPG

10.2 本章小結

第11章、UNREAL

11.1 主任務

11.2 像素控制任務

11.3 獎勵值預測

11.4 值函數回放

11.5 損失函數

11.6 本章小結

第12章 NEAT

12.1 遺傳算法

12.1.1 進化過程

12.1.2 算法流程

12.1.3 背包問題

12.1.4 極大(小)值問題

12.2 NEAT原理

12.2.1 基因組

12.2.2 變異和遺傳

12.3 NEAT示例

12.3.1 Cartpole

12.3.2 Lunar Lander

12.4 本章小結

第13章 SERPENTAI

13.1 簡介

13.2 安裝配置

13.3 示例

13.3.1 創建Game Plugin

13.3.2 創建Game Agent

13.3.3 訓練Context Classifier

13.3.4 模型設計

13.3.5 訓練Agent

13.4 本章小結

第14章 案例詳解

14.1 ALPHAGO

14.1.1 AlphaGO的前世今生

14.1.2 深藍是誰

14.1.3 圍棋到底有多複雜

14.1.4 論文要義

14.1.5 成績

14.1.6 開源項目

14.2 ALPHAGO ZERO

14.2.1 改進之處

14.2.2 成績

14.2.3 開源項目

14.3 試驗場大觀

14.3.1 《星際爭霸2》

14.3.2 VizDoom

14.3.3 Universe

14.3.4 DOTA2

14.4 本章小結

第15章 擴展討論

15.1 TRPO

15.2 反向強化學習

15.3 模型壓縮

15.3.1 剪枝

15.3.2 量化

15.3.3 結構壓縮

15.3.4 矩陣分解

15.4 本章小結

後記

附錄

參考文獻