深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)是一種新興的通用人工智能算法技術(shù),是人工智能邁向智能決策的重要一步。
關(guān)于深度強(qiáng)化學(xué)習(xí)的文章目前比較少,系統(tǒng)介紹深度強(qiáng)化學(xué)習(xí)的教材幾乎沒(méi)有。本書(shū)系統(tǒng)地介紹深度強(qiáng)化學(xué)習(xí)算法的基礎(chǔ)知識(shí)。學(xué)習(xí)該算法的人員需要人工智能相關(guān)專業(yè)的背景,但是并不需要比較深的背景。本書(shū)以一種通俗易懂的、細(xì)致的方式對(duì)深度強(qiáng)化學(xué)習(xí)算法進(jìn)行了講解,力求幫助讀者較快入門(mén)。深度強(qiáng)化學(xué)習(xí)涉及的知識(shí)面比較廣,但其算法原理并不是想象得那么復(fù)雜。因此,本書(shū)會(huì)對(duì)其相關(guān)知識(shí)點(diǎn)進(jìn)行簡(jiǎn)要的介紹,保證沒(méi)有相關(guān)經(jīng)驗(yàn)的讀者也能夠很好地理解本書(shū)的內(nèi)容。通過(guò)本書(shū)的學(xué)習(xí),希望讀者能夠掌握兩大類別的深度強(qiáng)化學(xué)習(xí)算法:基于動(dòng)態(tài)規(guī)劃的算法以及基于策略梯度的算法。深度強(qiáng)化學(xué)習(xí)具有較廣泛的使用場(chǎng)景,例如游戲決策、量化投資、動(dòng)畫(huà)仿真等,希望本書(shū)能夠幫助讀者適應(yīng)不同的使用場(chǎng)景。
本書(shū)特點(diǎn)
● 前沿的研究方向:本書(shū)介紹人工智能目前最前沿的研究方向,是通用智能的基礎(chǔ)。
● 完備的DRL 入門(mén)書(shū)籍:囊括經(jīng)典,緊跟前沿,包括DRL 目前最新研究成果。
● 通俗易懂的講解:用通俗易懂的語(yǔ)言,結(jié)合案例進(jìn)行解析,適合所有人工智能相關(guān)專業(yè)的初學(xué)者,能幫助他們快速入門(mén)。
● 專業(yè)的經(jīng)驗(yàn):本書(shū)密切結(jié)合實(shí)際應(yīng)用,是人工智能前沿研究及實(shí)踐的經(jīng)驗(yàn)總結(jié)。
本書(shū)內(nèi)容安排
第1 章 深度強(qiáng)化學(xué)習(xí)概覽
本章從當(dāng)前人工智能飛速發(fā)展并引起廣泛關(guān)注的背景出發(fā),概述了深度強(qiáng)化學(xué)習(xí)的基本知識(shí),強(qiáng)化學(xué)習(xí)和深度學(xué)習(xí)的發(fā)展歷史、基本概念和特點(diǎn)等,以及深度強(qiáng)化學(xué)習(xí)的兩種算法。
第2 章 強(qiáng)化學(xué)習(xí)基礎(chǔ)
傳統(tǒng)的強(qiáng)化學(xué)習(xí)是深度強(qiáng)化學(xué)習(xí)的基礎(chǔ)。本章從馬爾科夫模型出發(fā)介紹了馬爾科夫決策過(guò)程,同時(shí)用比較通俗的語(yǔ)言介紹了強(qiáng)化學(xué)習(xí)中的兩種問(wèn)題,有模型強(qiáng)化學(xué)習(xí)問(wèn)題以及無(wú)模型強(qiáng)化學(xué)習(xí)問(wèn)題,F(xiàn)實(shí)中無(wú)模型強(qiáng)化學(xué)習(xí)問(wèn)題是一種非常普遍的情況,因此重點(diǎn)介紹了其中的蒙特卡洛算法以及時(shí)序差分算法。
第3 章 深度學(xué)習(xí)基礎(chǔ)
強(qiáng)化學(xué)習(xí)引入深度學(xué)習(xí)之后,性能得到了極大的提高。本章重點(diǎn)介紹深度學(xué)習(xí)的基礎(chǔ),主要從四個(gè)方面來(lái)介紹:深度學(xué)習(xí)簡(jiǎn)史、深度學(xué)習(xí)的基礎(chǔ)概念、數(shù)據(jù)預(yù)處理以及深度學(xué)習(xí)的硬件基礎(chǔ)。本章的學(xué)習(xí)對(duì)于強(qiáng)化學(xué)習(xí)甚至是機(jī)器學(xué)習(xí)都非常重要。
第4 章 功能神經(jīng)網(wǎng)絡(luò)層
功能神經(jīng)網(wǎng)絡(luò)層是深度學(xué)習(xí)的核心部分。本章將介紹深度學(xué)習(xí)過(guò)程中的激活函數(shù)、全連接層、參數(shù)開(kāi)關(guān)Dropout 以及CNN 和RNN 等。本章最后也介紹了相關(guān)的網(wǎng)絡(luò)設(shè)計(jì)技巧。
第5 章 卷積神經(jīng)網(wǎng)絡(luò)(CNN)
本章用大量的篇幅介紹卷積神經(jīng)網(wǎng)絡(luò),這是因?yàn)槟壳癉RL 都是基于CNN 實(shí)現(xiàn)的,是希望讀者能夠迅速掌握其相關(guān)知識(shí),不要因?yàn)槠潆y點(diǎn)而影響算法的學(xué)習(xí)。本章主要介紹了CNN 的網(wǎng)絡(luò)結(jié)構(gòu)、基于CNN 的經(jīng)典模型,以及基于CNN 的流行應(yīng)用。
第6 章 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)
循環(huán)神經(jīng)網(wǎng)絡(luò)雖然不是深度強(qiáng)化學(xué)習(xí)的重點(diǎn),但是也是深度學(xué)習(xí)的一個(gè)重要的網(wǎng)絡(luò)結(jié)構(gòu),不難預(yù)見(jiàn),基于RNN 的強(qiáng)化學(xué)習(xí)算法也會(huì)不斷出現(xiàn)。本章介紹了RNN 的基礎(chǔ),同時(shí)介紹了RNN 的兩種常見(jiàn)的結(jié)構(gòu):LSTM 以及GRU。
第7 章 如何實(shí)現(xiàn)CNN用C 語(yǔ)言實(shí)現(xiàn)深度學(xué)習(xí)
本章結(jié)合代碼,通過(guò)CNN 的C 語(yǔ)言實(shí)現(xiàn)力求使讀者真正地認(rèn)識(shí)神經(jīng)網(wǎng)絡(luò),主要內(nèi)容涉及和CNN 相關(guān)的基礎(chǔ)結(jié)構(gòu),包括激活函數(shù)的實(shí)現(xiàn)、池化操作以及全連接網(wǎng)絡(luò)的實(shí)現(xiàn)。此外,本章重點(diǎn)對(duì)卷積網(wǎng)絡(luò)進(jìn)行了講解,包括前向傳播和反向傳播的具體實(shí)現(xiàn)。
第8 章 深度強(qiáng)化學(xué)習(xí)
本章介紹了深度強(qiáng)化學(xué)習(xí)的理論基礎(chǔ),是本書(shū)的理論重點(diǎn),并結(jié)合傳統(tǒng)的強(qiáng)化學(xué)習(xí),介紹了記憶回放(Memory-Replay)機(jī)制以及蒙特卡洛搜索樹(shù)。此外,對(duì)主流的兩類深度強(qiáng)化學(xué)習(xí)算法及其結(jié)合進(jìn)行了詳細(xì)的理論推導(dǎo)。閱讀本章需要一定的數(shù)學(xué)理論基礎(chǔ)。
第9 章 深度強(qiáng)化學(xué)習(xí)算法框架
本章介紹了當(dāng)前主流的深度強(qiáng)化學(xué)習(xí)算法框架,例如深度Q 學(xué)習(xí)算法、異步深度強(qiáng)化學(xué)習(xí)算法、異步優(yōu)越性策略子- 評(píng)價(jià)算法等。
第10 章 深度強(qiáng)化學(xué)習(xí)應(yīng)用實(shí)例
本章提供了一些深度強(qiáng)化學(xué)習(xí)的應(yīng)用實(shí)例,希望通過(guò)具體的應(yīng)用案例讓讀者了解深度強(qiáng)化學(xué)習(xí)算法。具體實(shí)例涉及計(jì)算機(jī)游戲、3D 動(dòng)畫(huà)仿真以及AlphaGo 技術(shù)解密。
本書(shū)由淺入深,先理論后操作,講解全面易懂,尤其適合剛剛?cè)腴T(mén)人工智能領(lǐng)域的新手。
適合閱讀本書(shū)的讀者
● 在校計(jì)算機(jī)專業(yè)本科生;
● 人工智能領(lǐng)域研究生;
● 人工智能領(lǐng)域研究員;
● 研究機(jī)器學(xué)習(xí)算法的相關(guān)人員;
● 人工智能領(lǐng)域愛(ài)好者。
本書(shū)源文件下載
本書(shū)提供代碼源文件,有需要的讀者可以通過(guò)掃描下面的二維碼獲取下載鏈接。若有關(guān)于本書(shū)的疑問(wèn)和建議也可以在公眾號(hào)留言,我們將竭誠(chéng)為您服務(wù)。
編者
第1章 深度強(qiáng)化學(xué)習(xí)概覽
1.1 什么是深度強(qiáng)化學(xué)習(xí)?
1.1.1 俯瞰強(qiáng)化學(xué)習(xí)
1.1.2 來(lái)一杯深度學(xué)習(xí)
1.1.3 Hello,深度強(qiáng)化學(xué)習(xí)
1.2 深度強(qiáng)化學(xué)習(xí)的學(xué)習(xí)策略
1.3 本書(shū)的內(nèi)容概要
參考文獻(xiàn)
第2章 強(qiáng)化學(xué)習(xí)基礎(chǔ)
2.1 真相--經(jīng)典的隱馬爾科夫模型(HMM)
2.1.1 HMM引例
2.1.2 模型理解與推導(dǎo)
2.1.3 隱馬爾科夫應(yīng)用舉例
2.2 逢考必過(guò)馬爾科夫決策過(guò)程(MDP)
2.2.1 MDP生活化引例
2.2.2 MDP模型
2.2.3 MDP模型引例
2.2.4 模型理解
2.2.5 探索與利用
2.2.6 值函數(shù)和動(dòng)作值函數(shù)
2.2.7 基于動(dòng)態(tài)規(guī)劃的強(qiáng)化問(wèn)題求解
2.3 糟糕,考試不給題庫(kù)無(wú)模型強(qiáng)化學(xué)習(xí)
2.3.1 蒙特卡洛算法
2.3.2 時(shí)序差分算法
2.3.3 異步強(qiáng)化學(xué)習(xí)算法
2.4 學(xué)霸來(lái)了--強(qiáng)化學(xué)習(xí)之模仿學(xué)習(xí)
2.4.1 模仿學(xué)習(xí)(Imitation Learning)
2.4.2 逆強(qiáng)化學(xué)習(xí)
本章總結(jié)
參考
第3章 深度學(xué)習(xí)基礎(chǔ)
3.1 深度學(xué)習(xí)簡(jiǎn)史
3.1.1 神經(jīng)網(wǎng)絡(luò)發(fā)展史
3.1.2 深度學(xué)習(xí)的分類
3.1.3 深度學(xué)習(xí)的應(yīng)用
3.1.4 深度學(xué)習(xí)存在的問(wèn)題
3.2 深度學(xué)習(xí)基礎(chǔ)概念
3.2.1 深度學(xué)習(xí)總體感知
3.2.2 神經(jīng)網(wǎng)絡(luò)的基本組成
3.2.3 深度學(xué)習(xí)訓(xùn)練
3.2.4 梯度下降法
3.2.5 反向傳播算法(BP)
3.3 數(shù)據(jù)預(yù)處理
3.3.1 主成分分析(PCA)
3.3.2 獨(dú)立成分分析(ICA)
3.3.3 數(shù)據(jù)白化處理
3.4 深度學(xué)習(xí)硬件基礎(chǔ)
3.4.1 深度學(xué)習(xí)硬件基礎(chǔ)
3.4.2 GPU簡(jiǎn)介
3.4.3 CUDA編程
本章總結(jié)
參考
第4章 功能神經(jīng)網(wǎng)絡(luò)層
4.1 激活函數(shù)單元
4.2 池化層Pooling layer
4.3 參數(shù)開(kāi)關(guān)Dropout
4.4 批量歸一化層(Batch normalization layer)
4.5 全連接層
4.6 卷積神經(jīng)網(wǎng)絡(luò)
4.7 全卷積神經(jīng)網(wǎng)絡(luò)
4.8 循環(huán)(遞歸)神經(jīng)網(wǎng)絡(luò)(RNN)
4.9 深度學(xué)習(xí)的
本章總結(jié)
參考
第5章 卷積神經(jīng)網(wǎng)絡(luò)(CNN)
5.1 卷積神經(jīng)網(wǎng)絡(luò) CNN 基礎(chǔ)
5.1.1 卷積神經(jīng)網(wǎng)絡(luò)的歷史
5.1.2 卷積神經(jīng)網(wǎng)絡(luò)的核心
5.2 卷積神經(jīng)網(wǎng)絡(luò) CNN 結(jié)構(gòu)
5.2.1 深度卷積神經(jīng)網(wǎng)絡(luò)CNN
5.2.2 深度卷積神經(jīng)網(wǎng)絡(luò)CNN可視化
5.3 經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)分析
5.3.1 一切的開(kāi)始--LeNet
5.3.2 王者回歸--AlexNet
5.3.3 起飛的時(shí)候--VGG
5.3.4 致敬經(jīng)典GoogLeNet
5.3.5 沒(méi)有最深只有更深--ResNet
5.4 對(duì)抗網(wǎng)絡(luò)
5.4.1 對(duì)抗網(wǎng)絡(luò)(GAN)
5.4.2 WGAN
5.5 RCNN
5.6 CNN的應(yīng)用實(shí)例
本章總結(jié)
參考
第6章 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)
6.1 RNN概覽
6.2 長(zhǎng)期依賴(Long-Term Dependencies)問(wèn)題
6.3 LSTM 的變體
本章總結(jié)
參考
第7章:如何寫(xiě)自己的CNNC語(yǔ)言實(shí)現(xiàn)深度學(xué)習(xí)
7.1 如何寫(xiě)自己的CMake文件
7.2 如何寫(xiě)自己神經(jīng)網(wǎng)絡(luò)
7.2.1 激活函數(shù)
7.2.2 池化函數(shù)
7.2.3 全連接層
7.3 卷積神經(jīng)網(wǎng)絡(luò)
7.3.1 CNN網(wǎng)絡(luò)的構(gòu)建
7.3.2 CNN前向傳播
7.3.3 CNN的反向傳播
7.4 文件解析
本章總結(jié)
第8章 深度強(qiáng)化學(xué)習(xí)
8.1 初識(shí)深度強(qiáng)化學(xué)習(xí)
8.1.1 深度強(qiáng)化學(xué)習(xí)概覽
8.1.2 記憶回放(Memory-Replay)機(jī)制
8.1.3 蒙特卡羅搜索樹(shù)
8.2 深度強(qiáng)化學(xué)習(xí)(DRL)中的值函數(shù)算法
8.2.1 DRL中值函數(shù)的作用
8.2.2 DRL中值函數(shù)理論推導(dǎo)
8.3 深度強(qiáng)化學(xué)習(xí)中的策略梯度(Policy Gradient)
8.3.1 策略梯度的作用和優(yōu)勢(shì)
8.3.2 策略梯度的理論推導(dǎo)
8.3.3 REINFORCE算法
8.3.4 策略梯度的優(yōu)化算法
8.3.5 策略子-評(píng)判算法(Actor-Critic)
8.4 深度強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)
參考
第9章 深度強(qiáng)化學(xué)習(xí)算法框架
9.1 深度Q學(xué)習(xí)
9.2 雙Q學(xué)習(xí)
9.3 異步深度強(qiáng)化學(xué)習(xí)
9.4 異步優(yōu)越性策略子-評(píng)價(jià)算法
9.5 DDPG 算法:
9.6 值迭代網(wǎng)絡(luò)
本章總結(jié)
參考
第10章 深度強(qiáng)化學(xué)習(xí)應(yīng)用實(shí)例
10.1 Flappy Bird 應(yīng)用
10.2 Play Pong 應(yīng)用
10.3 深度地形-自適應(yīng)應(yīng)用(Deep Terrain-adaptive應(yīng)用)
10.4 AlphaGo 254
10.4.1 獨(dú)立算法的研究部分
10.4.2 AlphaGo算法
本章總結(jié)
參考
附錄: 常用的深度學(xué)習(xí)框架
F.1. 谷歌TensorFlow
F.1.1 TensorFlow 簡(jiǎn)介
F.1.2 TensorFlow 基礎(chǔ)
F.2 輕量級(jí)MXNet
F.2.1 MXnet介紹
F.2.2 MXnet基礎(chǔ)
F.3 來(lái)至UCLA 的Caffe
F.3.1 Caffe 簡(jiǎn)介
F3.2 Caffe基礎(chǔ)
F.4 悠久的 Theano
F.4.1 Theano簡(jiǎn)介
F.4.2 Theano基礎(chǔ)
F.5 30s 入門(mén)的Keras
參考