基于Theano的深度學(xué)習(xí):構(gòu)建未來(lái)與當(dāng)前的人工大腦
定 價(jià):69 元
- 作者:(法)克里斯托弗?布雷斯
- 出版時(shí)間:2018/4/1
- ISBN:9787111588788
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP18
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:1
- 開本:16開
本書主要介紹了深度學(xué)習(xí)的基本概念和常用網(wǎng)絡(luò)以及Theano在深度學(xué)習(xí)中的應(yīng)用。全書共13章,首先介紹了Theano的基礎(chǔ)知識(shí),包括張量、計(jì)算圖、符號(hào)計(jì)算、張量算子、自動(dòng)微分等概念,然后分別介紹了基于前饋神經(jīng)網(wǎng)絡(luò)的手寫體數(shù)字分類、單詞的向量編碼、基于遞歸神經(jīng)網(wǎng)絡(luò)的文本生成、基于雙向LSTM的情感分析、基于空間變換網(wǎng)絡(luò)的定位、基于剩余網(wǎng)絡(luò)的圖像分類、基于編碼解碼網(wǎng)絡(luò)的翻譯與解釋、基于注意力機(jī)制的相關(guān)輸入或記憶選擇、基于先進(jìn)遞歸神經(jīng)網(wǎng)絡(luò)的時(shí)間序列預(yù)測(cè)、強(qiáng)化環(huán)境學(xué)習(xí)和基于非監(jiān)督式網(wǎng)絡(luò)的特征學(xué)習(xí)等內(nèi)容,后介紹了Theano在深度學(xué)習(xí)中的擴(kuò)展可能性。
本書特色
本書對(duì)基于Theano的深度學(xué)習(xí)進(jìn)行了完整敘述,Theano是一個(gè)能夠在CPU或GPU上便于優(yōu)化數(shù)值表示和深度學(xué)習(xí)模型的Python庫(kù)。
本書提供了一些實(shí)用代碼示例,有助于初學(xué)者易于理解如何構(gòu)建復(fù)雜神經(jīng)網(wǎng)絡(luò),而對(duì)于有經(jīng)驗(yàn)的數(shù)據(jù)分析師會(huì)更關(guān)注書中的相關(guān)內(nèi)容,解決圖像識(shí)別、自然語(yǔ)言處理和博弈決策領(lǐng)域的監(jiān)督式學(xué)習(xí)和非監(jiān)督式學(xué)習(xí)、生成模型和強(qiáng)化學(xué)習(xí)。
本書還討論了從簡(jiǎn)單數(shù)字識(shí)別、圖像分類、目標(biāo)定位、圖像分割到圖像字幕的圖像識(shí)別任務(wù),自然語(yǔ)言處理示例包括文本生成、聊天機(jī)器人、機(jī)器翻譯和機(jī)器問答系統(tǒng)。其中,后一個(gè)示例是處理貌似真實(shí)的隨機(jī)數(shù)據(jù)生成并解決如Open-AI生態(tài)的博弈問題。
后,本書總結(jié)了針對(duì)每項(xiàng)任務(wù)的佳性能網(wǎng)絡(luò)。早期的研究成果主要是基于神經(jīng)層的深度堆棧,尤其是卷積層,而本書給出了提高這些架構(gòu)效率的原理,以幫助讀者構(gòu)建新的個(gè)性化神經(jīng)網(wǎng)絡(luò)。
關(guān)于本書
閱讀本書將會(huì)學(xué)到的內(nèi)容:
熟悉Theano和深度學(xué)習(xí)的概念;
給出監(jiān)督式、非監(jiān)督式、生成或強(qiáng)化學(xué)習(xí)的示例;
揭示設(shè)計(jì)高效深度學(xué)習(xí)網(wǎng)絡(luò)的主要原則:卷積、殘差連接和遞歸連接;
Theano在實(shí)際計(jì)算機(jī)視覺數(shù)據(jù)集中的應(yīng)用,如數(shù)字分類和圖像分類;
將Theano擴(kuò)展到自然語(yǔ)言處理任務(wù),如聊天機(jī)器人或機(jī)器翻譯;
人工智能驅(qū)動(dòng)策略以使得機(jī)器人能夠解決博弈問題或從環(huán)境中學(xué)習(xí);
基于生成模型生成真實(shí)的合成數(shù)據(jù);
熟悉應(yīng)用于Theano上層的兩個(gè)框架:Lasagne和Keras。
通過神經(jīng)網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)的見解和實(shí)踐可解決人工智能問題,理解深度學(xué)習(xí)中最先進(jìn)網(wǎng)絡(luò)的相關(guān)概念。利用 Python實(shí)現(xiàn)的 Theano技術(shù)能夠很容易地計(jì)算導(dǎo)數(shù)并最小化所選擇的目標(biāo)函數(shù)。
本書主要內(nèi)容
第 1章 Theano基礎(chǔ),幫助讀者學(xué)習(xí)了解 Theano的主要概念,編寫可在不同硬件架構(gòu)上編譯的代碼,并自動(dòng)優(yōu)化復(fù)雜的數(shù)學(xué)目標(biāo)函數(shù)。
第 2章 基于前饋神經(jīng)網(wǎng)絡(luò)的手寫體數(shù)字分類,主要介紹一個(gè)已證明深度學(xué)習(xí)算法優(yōu)越性的簡(jiǎn)單常見示例。最初問題是識(shí)別手寫體數(shù)字。
第 3章 單詞的向量編碼,神經(jīng)網(wǎng)絡(luò)的主要難點(diǎn)之一是將真實(shí)世界的數(shù)據(jù)連接到神經(jīng)網(wǎng)絡(luò)的輸入端,特別是分類和離散數(shù)據(jù)。本章將介紹一個(gè)如何利用 Theano通過訓(xùn)練來(lái)構(gòu)建嵌入空間的示例。
這種嵌入方式在機(jī)器翻譯、機(jī)器人、圖像字幕等方面非常有用,因?yàn)榭梢詫⒄鎸?shí)世界的數(shù)據(jù)轉(zhuǎn)換成可由神經(jīng)網(wǎng)絡(luò)處理的向量數(shù)組。
第 4章 基于遞歸神經(jīng)網(wǎng)絡(luò)的文本生成,通過一個(gè)簡(jiǎn)單的示例實(shí)踐介紹了神經(jīng)網(wǎng)絡(luò)的遞歸,以生成文本。
遞歸神經(jīng)網(wǎng)絡(luò)( RNN)是深度學(xué)習(xí)中的一個(gè)研究熱點(diǎn),能夠?qū)崿F(xiàn)序列預(yù)測(cè)、序列生成、機(jī)器翻譯和對(duì)象關(guān)聯(lián)等任務(wù)。自然語(yǔ)言處理( NLP)是推動(dòng)機(jī)器學(xué)習(xí)新技術(shù)發(fā)展的第二個(gè)熱門研究領(lǐng)域。
第 5章 基于雙向 LSTM 的情感分析,將嵌入技術(shù)和遞歸層應(yīng)用于自然語(yǔ)言處理的一個(gè)新課題,即情感分析。本章實(shí)際上是對(duì)前幾章內(nèi)容的一種驗(yàn)證。
以此同時(shí),還介紹了基于 Theano構(gòu)建神經(jīng)網(wǎng)絡(luò)的另一種方法,即采用一種更高級(jí)的庫(kù) Keras。
第 6章 基于空間變換網(wǎng)絡(luò)的定位,將遞歸技術(shù)應(yīng)用于圖像,從而一次讀取圖像頁(yè)面上的多個(gè)數(shù)字。在此,利用用于 Theano深度學(xué)習(xí)的內(nèi)置模塊庫(kù)Lasagne來(lái)重新構(gòu)建手寫體數(shù)字圖像的分類網(wǎng)絡(luò)及其遞歸模型。
Lasagne庫(kù)有助于設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)進(jìn)行更快實(shí)驗(yàn)。在此情況下,將通過空間變換模塊來(lái)提高分類質(zhì)量,從而解決計(jì)算機(jī)視覺中的一個(gè)常見難題對(duì)象定位問題。
第 7章 基于殘差網(wǎng)絡(luò)的圖像分類,以最佳精度對(duì)任何類型的圖像進(jìn)行分類。同時(shí),為了更容易地構(gòu)建更復(fù)雜網(wǎng)絡(luò),本章將通過一個(gè)已具有許多實(shí)現(xiàn)組件的基于 Theano框架的 Lasagne庫(kù)來(lái)更快地實(shí)現(xiàn) Theano下的神經(jīng)網(wǎng)絡(luò)。
第 8章 基于編碼解碼網(wǎng)絡(luò)的翻譯與解釋,介紹了應(yīng)用于文本處理的編碼解碼技術(shù),這些技術(shù)已大量應(yīng)用于機(jī)器翻譯和簡(jiǎn)單聊天機(jī)器人系統(tǒng)中。同時(shí)還可應(yīng)用于圖像處理,
原書前言
主要是實(shí)現(xiàn)場(chǎng)景分割和對(duì)象定位。最后,圖像字幕技術(shù)是一種圖像編碼和文本解碼相結(jié)合的混合技術(shù)。
本章進(jìn)一步應(yīng)用了非常流行的高級(jí)庫(kù) Keras,由此極大簡(jiǎn)化了
Theano下神經(jīng)網(wǎng)絡(luò)的開發(fā)。
第 9章 基于注意力機(jī)制的相關(guān)輸入或記憶選擇,為解決更復(fù)雜的任務(wù),機(jī)器學(xué)習(xí)界研究人員一直在尋找一種受自然啟發(fā)的更高層次智能:推理、注意力和記憶。在本章,讀者主要學(xué)習(xí)基于人工智能的記憶網(wǎng)絡(luò)在 NLP中的應(yīng)用:語(yǔ)言理解。
第 10章 基于先進(jìn)遞歸神經(jīng)網(wǎng)絡(luò)的時(shí)間序列預(yù)測(cè),時(shí)間序列是機(jī)器學(xué)習(xí)中廣泛應(yīng)用的一個(gè)重要領(lǐng)域。本章將利用 RNN的先進(jìn)技術(shù),來(lái)獲得最新成果。
第 11章 強(qiáng)化環(huán)境學(xué)習(xí),強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)重要研究領(lǐng)域,主要是訓(xùn)練一個(gè)智能體在環(huán)境下的行為(如視頻游戲),通過在環(huán)境中執(zhí)行某些動(dòng)作(按下控制器上的按鍵)和觀察所發(fā)生的變化來(lái)得到一個(gè)最優(yōu)量(最大化游戲得分)。
強(qiáng)化學(xué)習(xí)新范式為計(jì)算機(jī)和現(xiàn)實(shí)世界之間的算法設(shè)計(jì)和交互開辟了一條全新道路。
第 12章 基于非監(jiān)督式網(wǎng)絡(luò)的特征學(xué)習(xí),非監(jiān)督式學(xué)習(xí)主要是無(wú)需標(biāo)記訓(xùn)練數(shù)據(jù)的新訓(xùn)練算法。這些算法試圖從數(shù)據(jù)中推斷出稱為因素的隱藏標(biāo)簽,并由其中一些因素生成新的合成數(shù)據(jù)。
非監(jiān)督式訓(xùn)練在許多情況下非常有用,其中包括無(wú)標(biāo)簽,或人工標(biāo)注數(shù)據(jù)成本太高,或數(shù)據(jù)集太小而使得特征過擬合數(shù)據(jù)等情況。對(duì)于最后一種情況,對(duì)未標(biāo)記數(shù)據(jù)進(jìn)行更多訓(xùn)練以獲得更好的特征是監(jiān)督式學(xué)習(xí)的基礎(chǔ)。
第 13章 基于 Theano的深度學(xué)習(xí)擴(kuò)展,擴(kuò)展了 Theano下深度學(xué)習(xí)的更多可能性。提出了為計(jì)算圖創(chuàng)建新算子的方法,在 CPU或 GPU中,簡(jiǎn)化 Python程序,或減少 C語(yǔ)言中 Python的開銷。另外,還介紹了 GPU并行編程的基本概念。最后,根據(jù)本書所介紹的第一項(xiàng)技術(shù),開啟通用人工智能領(lǐng)域,并逐步開發(fā)新技能,使得進(jìn)一步提高完善。
為何選擇 Theano?
Theano的研發(fā)時(shí)間和成本是非常可觀的,要了解其中的原委,一個(gè)重要的原因是 Theano是目前最好的深度學(xué)習(xí)技術(shù),遠(yuǎn)非僅是一個(gè)深度學(xué)習(xí)庫(kù)。選擇 Theano主要是以下 3個(gè)原因:
. 具有其他數(shù)值計(jì)算庫(kù)或深度學(xué)習(xí)庫(kù)的類似性能;
. 具有豐富的 Python系統(tǒng);
. 根據(jù)給定模型,可由數(shù)據(jù)來(lái)評(píng)估任何函數(shù)約束,從而可以求解任何優(yōu)化問題。
首先考慮技術(shù)本身的性能。在深度學(xué)習(xí)方面常用的庫(kù)有 Theano(用于 Python)、 Torch(用于
Lua)、Tensorflow(用于 Python)和 Caffe(用于 C 和
Python封裝)。目前已有很多基準(zhǔn)可對(duì)深入學(xué)習(xí)技術(shù)進(jìn)行比較。
2012年 Bastien等人提出( Theano:new features and speed improvements,F(xiàn)rédéricBastien, Pascal
Lamblin,Razvan Pascanu,James
Bergstra,Ian Goodfellow,Arnaud
Bergeron,Nicolas Bouchard,David
Warde-Farley,Yoshua Bengio,Nov
2012),Theano在運(yùn)行速度方面取得了重大進(jìn)展,但這是在執(zhí)行不同的任務(wù)下比較的,并不能明確表明在其他技術(shù)中具有明顯的優(yōu)勢(shì)。 2016年 Bahrampour等人(
Comparative Study of Deep Learning Software Frameworks,Soheil
Bahrampour,Naveen Ramakrishnan,Lukas
Schott,Mohak Shah,mars 2016)研究得出了以下結(jié)論:
. 在基于 GPU的已訓(xùn)練完成卷積和完全連接網(wǎng)絡(luò)的部署方面,
Torch最適合,其次是 Theano;
. 在基于 GPU訓(xùn)練卷積網(wǎng)絡(luò)和完全連接網(wǎng)絡(luò)方面,對(duì)于小型網(wǎng)絡(luò)
Theano是最快的,而對(duì)于較大網(wǎng)絡(luò) Torch是最快的;
. 在基于 GPU的遞歸網(wǎng)絡(luò)(LSTM)訓(xùn)練和部署方面,Theano的性能最佳;
. 在基于 CPU的任何測(cè)試深度網(wǎng)絡(luò)架構(gòu)的訓(xùn)練和部署方面,
Torch表現(xiàn)最好,其次是 Theano。
這些結(jié)論均已在開源 rnn-benchmarks(https://github.com/glample/rnn-benchmarks)中得到驗(yàn)證,其中在訓(xùn)練(前向 后向)方面, Theano性能優(yōu)于
Torch和 TensorFlow。另外,在具有大量隱層單元且批大小較小時(shí), Theano 的性能完全碾壓 Torch和 TensorFlow。而對(duì)于批大小和隱層個(gè)數(shù)較大時(shí),性能差別較小,這是由于更多依賴于
CUDA的性能,這是對(duì)于所有框架通用的底層 NVIDIA圖形庫(kù)。最后,在最新的 soumith benchmarks(https://github.com/soumith/
convent-benchmarks)中, Theano的
fftconv在 CPU上執(zhí)行性能最佳,而在 GPU上執(zhí)行卷積運(yùn)算最佳的是 cuda-convnet2,對(duì)于 fbfft執(zhí)行最佳的是 CUDA擴(kuò)展庫(kù),即底層標(biāo)準(zhǔn)庫(kù)。這些結(jié)論表明,盡管測(cè)試結(jié)果是多方面的,但 Theano在執(zhí)行速度方面起著主導(dǎo)作用。
其次,選擇 Theano而不是 Torch的原因在于其不僅繼承了 Python系統(tǒng)的優(yōu)點(diǎn),而且還擁有專為 Theano而開發(fā)的大量庫(kù),從而具有豐富的編程系統(tǒng)。本書將介紹其中的兩個(gè)高級(jí)庫(kù)Lasagne和 Keras。在支持各種深度學(xué)習(xí)架構(gòu)和計(jì)算庫(kù)方面, Theano和 Torch都是最具擴(kuò)展性的框架。最后,與其他深度學(xué)習(xí)庫(kù)相比,Theano調(diào)試簡(jiǎn)單。
Theano成為計(jì)算機(jī)科研人員所使用的強(qiáng)大工具的第三個(gè)原因是因?yàn)槠洳皇菍S糜谏钊雽W(xué)習(xí)的。雖然 Theano在深度學(xué)習(xí)方面所采用的方法與其他庫(kù)相同,但其基本原理卻完全不同:實(shí)際上, Theano是對(duì)目標(biāo)架構(gòu)上的計(jì)算圖進(jìn)行編譯。這種編譯步驟使得 Theano極具特性,應(yīng)該將其定義為一種根據(jù)機(jī)器學(xué)習(xí)思想設(shè)計(jì)的數(shù)學(xué)表達(dá)式編譯器。符號(hào)微分是 Theano為實(shí)現(xiàn)非標(biāo)準(zhǔn)深度學(xué)習(xí)架構(gòu)所提供的最有用的功能之一。因此, Theano能夠解決更大范圍的數(shù)值問題,并可用于在給定現(xiàn)有數(shù)據(jù)集下最小化求解由可微損失函數(shù)或能量函數(shù)所表征的任何問題。
學(xué)習(xí)本書所需的準(zhǔn)備工作
安裝 Theano需要 conda或 pip,且在 Windows、Mac
OS和 Linux操作系統(tǒng)下的安裝過程均相同。
在 Mac OS和 Linux Ubuntu操作系統(tǒng)下已對(duì)書中代碼進(jìn)行了測(cè)試。在 Windows操作系統(tǒng)下可能會(huì)有所不同,如修改路徑,這些問題都是 Windows操作系統(tǒng)開發(fā)人員很容易解決的。
假設(shè)這些示例代碼可存儲(chǔ)在計(jì)算機(jī)的一個(gè)共享文件夾內(nèi),可下載、解壓和預(yù)處理非常大的數(shù)據(jù)庫(kù)文件,而不能留在代碼庫(kù)中。這種做法有助于節(jié)省磁盤空間,而多個(gè)代碼目錄
原書前言
和用戶可使用相同的數(shù)據(jù)庫(kù)副本。該文件夾通常是用戶共享的:
sudo mkdir /sharedfiles sudo chmod 777 /sharedfiles
本書讀者對(duì)象
本書旨在以 Theano為支持技術(shù),提供深度學(xué)習(xí)的全面概述。本書專門針對(duì)深度學(xué)習(xí)和人工智能的初學(xué)者,以及想要積累跨領(lǐng)域開發(fā)經(jīng)驗(yàn)并熟悉 Theano及其支持庫(kù)的計(jì)算機(jī)程序人員。本書有助于讀者了解深度學(xué)習(xí)相關(guān)知識(shí),并獲取深度學(xué)習(xí)的相關(guān)實(shí)用信息。
學(xué)習(xí)本書需要一些 Python編程和計(jì)算機(jī)科學(xué)的基本技能,以及初等代數(shù)和微積分的知識(shí)。所有實(shí)驗(yàn)的基本技術(shù)都是 Theano,本書首先深入介紹了這一核心技術(shù),然后介紹了一些庫(kù)及其在現(xiàn)有模塊上的重用。
本書向讀者介紹了深度學(xué)習(xí)的各種方法,討論了不同類型的網(wǎng)絡(luò)及其應(yīng)用,同時(shí)分析了由深度學(xué)習(xí)技術(shù) Theano為所有實(shí)現(xiàn)提供支持的可能性。本書總結(jié)了一些性能最優(yōu)的網(wǎng)絡(luò)和最先進(jìn)的成果,并幫助讀者全面了解深度學(xué)習(xí)架構(gòu),逐步從簡(jiǎn)單網(wǎng)絡(luò)擴(kuò)展到復(fù)雜網(wǎng)絡(luò)。
由于 Python已成為數(shù)據(jù)科學(xué)的主要編程語(yǔ)言,因此本書試圖涵蓋 Python程序員利用 Python和
Theano進(jìn)行深度學(xué)習(xí)所需了解的所有內(nèi)容。
本書還介紹了 Theano上的兩個(gè)抽象框架 Lasagne和 Keras,可以簡(jiǎn)化更復(fù)雜網(wǎng)絡(luò)的開發(fā),且不影響理解基本概念。
約定慣例
在本書中,提供了區(qū)分不同類型信息的多種文本樣式。下面是這些文本格式的一些示例及其含義的解釋。
代碼文本、數(shù)據(jù)庫(kù)表名、文件夾名、文件名、文件擴(kuò)展名、路徑名、虛擬 URL、用戶輸入和 Twitter句柄如下所示:運(yùn)算符是由 theano.Op泛型類派生的類定義。
代碼塊如下:
import theano, numpy
class AXPBOp(theano.Op):
"""
This creates an Op that takes x to a*x b.
"""
__props__ = ("a", "b")
任何命令行輸入或輸出如下:
gsutil mb -l europe-west1 gs://keras_sentiment_analysis
新術(shù)語(yǔ)和重要詞匯用粗體顯示。在屏幕上看到的單詞(例如在菜單或?qū)υ捒蛑校┏霈F(xiàn)在以下文本中:點(diǎn)擊下一步按鈕可切換到下一界面。
提示和技巧會(huì)這樣顯示
讀者反饋
歡迎讀者反饋意見。讓作者了解讀者對(duì)本書的看法,喜歡什么或不喜歡什么。讀者反饋對(duì)于作者開發(fā)真正讓讀者受益的主題非常重要。
若要給作者反饋意見,只需發(fā)送郵件到 feedback@packtpub.com,并在郵件標(biāo)題中注明書名。
如果有讀者擅長(zhǎng)的主題或有興趣參與撰寫或出版的書,請(qǐng)查看 www.packtpub.com/ authors上的作者指南。
用戶支持
既然讀者購(gòu)買了 Packt出版社出版的書,那么出版社將會(huì)幫助讀者獲得最大收益。
示例代碼下載
讀者可以在 http://www.packtpub.com上根據(jù)賬戶下載本書的示例代碼。如果想要購(gòu)買本書電子版,可以訪問 http://www.packtpub.com/support并注冊(cè),將直接通過電子郵件發(fā)送給讀者。
下載代碼文件步驟如下:
1
)通過郵件地址和密碼在網(wǎng)站上登錄或注冊(cè)。
2)鼠標(biāo)指向頂部的
SUPPORT選項(xiàng)。
3)單擊
Code Downloads & Errata。
4)在 Search框中輸入書名。
5
)選擇想要下載代碼文件的書。
6
)在下拉菜單中選擇購(gòu)買本書的方式。
7)單擊
Code Download。讀者也可以通過單擊 Packt出版社網(wǎng)站上本書網(wǎng)頁(yè)的 Code Files按鈕來(lái)下載代碼文件。
通過在 Search框中輸入書名來(lái)訪問該頁(yè)面。需要注意的是,應(yīng)首先通過 Packt賬戶登錄。下載完成后,請(qǐng)用以下軟件最新版本來(lái)解壓文件夾:
. WinRAR / 7-Zip for Windows。
. Zipeg / iZip / UnRarX for Mac。
. 7-Zip / PeaZip for Linux。本書的代碼包還托管在 GitHub上,https://github.com/PacktPublishing/Hands-On-Deep-
原書前言
Learning-with-TensorFlow。另外在
https://github.com/PacktPublishing/上的大量圖書和視頻目錄中還有其他代碼包。請(qǐng)查閱!
勘誤
盡管已盡力確保內(nèi)容準(zhǔn)確,但仍然難免會(huì)有錯(cuò)誤。如果讀者在書中發(fā)現(xiàn)了錯(cuò)誤、文本或代碼錯(cuò)誤,如果能及時(shí)告知,將不勝感激。這樣會(huì)幫助其他讀者,并有助于在本書的后續(xù)版本中進(jìn)行完善。如果讀者發(fā)現(xiàn)任何錯(cuò)誤,請(qǐng)?jiān)L問 http://www.packtpub.com/submit-errata告知。首先選擇書名,點(diǎn)擊勘誤提交表單鏈接,然后輸入詳細(xì)的勘誤內(nèi)容。一旦通過驗(yàn)證,將會(huì)接受讀者的提交并將勘誤表上傳網(wǎng)站,或在該標(biāo)題的勘誤部分下添加到現(xiàn)有的勘誤表中。
若要查看已提交的勘誤表,請(qǐng)?jiān)L問
https://www.packtpub.com/books/content/support,并在搜索欄中輸入書名。相關(guān)信息將會(huì)顯示在 Errata部分中。
版權(quán)保護(hù)
在互聯(lián)網(wǎng)上受版權(quán)保護(hù)的資料,涉及的盜版問題是一個(gè)存在于所有媒體的嚴(yán)重問題。 Packt出版社非常重視保護(hù)版權(quán)和許可。如果讀者在網(wǎng)上發(fā)現(xiàn)任何非法復(fù)制的作品,請(qǐng)立即提供地址和網(wǎng)址,以便追蹤索賠。請(qǐng)通過 copyright@packtpub.com聯(lián)系我們,并提供疑似盜版材料的鏈接。非常感謝您在保護(hù)作者和為您提供寶貴內(nèi)容方面的幫助。
問題
如果讀者對(duì)本書有任何問題,請(qǐng)通過 questions@packtpub.com聯(lián)系我們,我們將竭盡全力為讀者解決。
原書審閱人
Matthieu de Beaucorps是具有豐富工程背景的機(jī)器學(xué)習(xí)專家,自 2012年以來(lái),一直從事深度神經(jīng)網(wǎng)絡(luò)研究,以提高在計(jì)算機(jī)視覺、語(yǔ)音識(shí)別和自然語(yǔ)音處理中的識(shí)別和推薦任務(wù)。
Pascal Lamblin是 MILA(蒙特利爾機(jī)器學(xué)習(xí)算法研究所)的軟件分析師,他在獲得巴黎中央理工學(xué)院工程學(xué)位后,在蒙特利爾大學(xué) Yoshua Bengio的指導(dǎo)下進(jìn)行研究工作,目前主要從事 Theano的開發(fā)研究。
www.PacktPub.com
電子書、折扣優(yōu)惠等
下載本書相關(guān)的文件資料,請(qǐng)?jiān)L問 www.PacktPub.com。
您是否知道 Packt出版社為每本出版發(fā)行的書都提供了電子書版本,其中包括 PDF和 ePub文件?您可以通過
www.PacktPub.com升級(jí)電子書版本,作為紙質(zhì)版用戶,還可以享受電子書的折扣。有關(guān)更多詳細(xì)信息,請(qǐng)通過 customercare@packtpub.com與我們聯(lián)系。
在 www.PacktPub.com,您還可以閱讀免費(fèi)技術(shù)文章,訂閱一系列免費(fèi)時(shí)事通信,并獲得 Packt出版社紙制書和電子書的獨(dú)家折扣和優(yōu)惠。
使用 Mapt可獲得最需要的軟件技能。 Mapt可讓讀者充分訪問所有 Packt出版社的圖書和視頻課程,以及行業(yè)領(lǐng)先的工具,幫助讀者規(guī)劃個(gè)人發(fā)展并推動(dòng)讀者的事業(yè)發(fā)展。
為什么訂閱?
. 可以在 Packt出版社發(fā)行的每本書中全面搜索。
. 復(fù)制、粘貼、打印和標(biāo)注內(nèi)容。
. 可通過 web瀏覽器訪問。
譯者序
原書前言
本書作者
原書致謝
第1 章 Theano 基礎(chǔ) //1
1.1 張量所需 //1
1.2 安裝和加載Theano //2
1.2.1 Conda 軟件包和環(huán)境管理器 // 2
1.2.2 在CPU 上安裝和運(yùn)行Theano // 2
1.2.3 GPU 驅(qū)動(dòng)和相關(guān)庫(kù) // 3
1.2.4 在GPU 上安裝和運(yùn)行Theano // 4
1.3 張量 //5
1.4 計(jì)算圖和符號(hào)計(jì)算 //8
1.5 張量操作 //11
1.5.1 維度操作算子 // 13
1.5.2 元素操作算子 // 14
1.5.3 約簡(jiǎn)操作算子 // 16
1.5.4 線性代數(shù)算子 // 16
1.6 內(nèi)存和變量 //18
1.7 函數(shù)和自動(dòng)微分 //20
1.8 符號(hào)計(jì)算中的循環(huán)運(yùn)算 //22
1.9 配置、分析和調(diào)試 //26
1.10 小結(jié) //29
第2 章 基于前饋神經(jīng)網(wǎng)絡(luò)的手寫體數(shù)
字分類 //30
2.1 MNIST 數(shù)據(jù)集 // 30
2.2 訓(xùn)練程序架構(gòu) // 32
2.3 分類損失函數(shù) // 33
2.4 單層線性模型 // 34
2.5 成本函數(shù)和誤差 // 35
2.6 反向傳播算法和隨機(jī)梯度下降 // 36
2.7 多層模型 // 37
2.8 卷積層和最大池化層 // 43
2.9 訓(xùn)練 // 47
2.10 退出 // 52
2.11 推理 // 52
2.12 優(yōu)化和其他更新規(guī)則 // 52
2.13 延伸閱讀 // 56
2.14 小結(jié) // 57
第3 章 單詞的向量編碼 //58
3.1 編碼和嵌入 // 58
3.2 數(shù)據(jù)集 // 60
3.3 連續(xù)詞袋模型 // 62
3.4 模型訓(xùn)練 // 66
3.5 可視化學(xué)習(xí)嵌入 // 68
3.6 嵌入評(píng)價(jià)類比推理 // 70
3.7 嵌入評(píng)價(jià)量化分析 // 72
3.8 單詞嵌入應(yīng)用 // 72
3.9 權(quán)重綁定 // 73
基于Theano 的深度學(xué)習(xí):
構(gòu)建未來(lái)與當(dāng)前的人工大腦
XIV
3.10 延伸閱讀 // 73
3.11 小結(jié) // 74
第4 章 基于遞歸神經(jīng)網(wǎng)絡(luò)的文本
生成 //75
4.1 RNN 所需 // 75
4.2 自然語(yǔ)言數(shù)據(jù)集 // 76
4.3 簡(jiǎn)單遞歸網(wǎng)絡(luò) // 79
4.3.1 LSTM 網(wǎng)絡(luò) // 81
4.3.2 門控遞歸網(wǎng)絡(luò) // 83
4.4 自然語(yǔ)言性能評(píng)測(cè) // 84
4.5 訓(xùn)練損失比較 // 84
4.6 預(yù)測(cè)示例 // 86
4.7 RNN 的應(yīng)用 // 87
4.8 延伸閱讀 // 88
4.9 小結(jié) // 89
第5 章 基于雙向LSTM 的情感
分析 // 90
5.1 Keras 的安裝和配置 // 90
5.1.1 Keras 編程 // 91
5.1.2 SemEval 2013 數(shù)據(jù)集 // 93
5.2 文本數(shù)據(jù)預(yù)處理 // 94
5.3 模型架構(gòu)設(shè)計(jì) // 96
5.3.1 單詞的向量表征 // 96
5.3.2 基于雙向LSTM 的語(yǔ)句表征 // 97
5.3.3 softmax 分類器的輸出概率 // 98
5.4 模型編譯與訓(xùn)練 // 99
5.5 模型評(píng)估 // 99
5.6 模型保存與加載 // 100
5.7 示例運(yùn)行 // 100
5.8 延伸閱讀 // 100
5.9 小結(jié) // 101
第6 章 基于空間變換網(wǎng)絡(luò)的
定位 // 102
6.1 基于Lasagne 的MNIST CNN 模型
// 102
6.2 定位網(wǎng)絡(luò) // 104
6.2.1 RNN 在圖像中的應(yīng)用 // 108
6.3 基于共定位的非監(jiān)督式學(xué)習(xí) // 112
6.4 基于區(qū)域的定位網(wǎng)絡(luò) // 112
6.5 延伸閱讀 // 113
6.6 小結(jié) // 114
第7 章 基于殘差網(wǎng)絡(luò)的圖像
分類 // 115
7.1 自然圖像數(shù)據(jù)集 // 115
7.1.1 批處理標(biāo)準(zhǔn)化 // 116
7.1.2 全局平均池化 // 117
7.2 殘差連接 // 118
7.3 隨機(jī)深度 // 123
7.4 密集連接 // 124
7.5 多GPU // 125
7.6 數(shù)據(jù)增強(qiáng) // 126
7.7 延伸閱讀 // 127
7.8 小結(jié) // 127
第8 章 基于編碼解碼網(wǎng)絡(luò)的翻譯
與解釋 // 128
8.1 序列序列網(wǎng)絡(luò)在自然語(yǔ)言處理
中的應(yīng)用 // 128
8.2 序列序列網(wǎng)絡(luò)在語(yǔ)言翻譯中的
應(yīng)用 // 133
8.3 序列序列網(wǎng)絡(luò)在聊天機(jī)器人中的
應(yīng)用 // 134
8.4 序列序列網(wǎng)絡(luò)的效率提高 // 134
8.5 圖像反卷積 // 136
目 錄
XV
8.6 多模態(tài)深度學(xué)習(xí) // 140
8.7 延伸閱讀 // 140
8.8 小結(jié) // 142
第9 章 基于注意力機(jī)制的相關(guān)輸入
或記憶選擇 // 143
9.1 注意力可微機(jī)制 // 143
9.1.1 基于注意力機(jī)制的最佳
翻譯 // 144
9.1.2 基于注意力機(jī)制的最佳圖像
注釋 // 145
9.2 神經(jīng)圖靈機(jī)中的信息存儲(chǔ)和
檢索 // 146
9.3 記憶網(wǎng)絡(luò) // 148
9.3.1 基于動(dòng)態(tài)記憶網(wǎng)絡(luò)的情景
記憶 // 149
9.4 延伸閱讀 // 150
9.5 小結(jié) // 151
第10 章 基于先進(jìn)遞歸神經(jīng)網(wǎng)絡(luò)的時(shí)
間序列預(yù)測(cè) // 152
10.1 RNN 的退出 // 152
10.2 RNN 的深度學(xué)習(xí)方法 // 153
10.3 層疊遞歸網(wǎng)絡(luò) // 154
10.4 深度轉(zhuǎn)移遞歸網(wǎng)絡(luò) // 157
10.5 高速網(wǎng)絡(luò)設(shè)計(jì)原理 // 157
10.6 遞歸高速網(wǎng)絡(luò) // 158
10.7 延伸閱讀 // 159
10.8 小結(jié) // 159
第11 章 強(qiáng)化環(huán)境學(xué)習(xí) // 160
11.1 強(qiáng)化學(xué)習(xí)任務(wù) // 160
11.2 仿真環(huán)境 // 161
11.3 Q 學(xué)習(xí) // 164
11.4 深度Q 學(xué)習(xí)網(wǎng)絡(luò) // 166
11.5 訓(xùn)練穩(wěn)定性 // 167
11.6 基于REINFORCE 算法的策略
梯度 // 169
11.7 延伸閱讀 // 171
11.8 小結(jié) // 172
第12 章 基于非監(jiān)督式網(wǎng)絡(luò)的特征
學(xué)習(xí) // 173
12.1 生成模型 // 173
12.1.1 受限玻耳茲曼機(jī) // 173
12.1.2 深度信念網(wǎng)絡(luò) // 177
12.1.3 生成性對(duì)抗網(wǎng)絡(luò) // 178
12.1.4 改進(jìn)GAN // 182
12.2 半監(jiān)督式學(xué)習(xí) // 182
12.3 延伸閱讀 // 183
12.4 小結(jié) // 184
第13 章 基于Theano 的深度學(xué)習(xí)
擴(kuò)展 // 185
13.1 CPU 中Python 實(shí)現(xiàn)的Theano
操作 // 185
13.2 GPU 中Python 實(shí)現(xiàn)的Theano
操作 // 188
13.3 CPU 中C 實(shí)現(xiàn)的Theano 操作 //
190
13.4 GPU 中C 實(shí)現(xiàn)的Theano 操作 //
193
13.5 通過共享內(nèi)存的合并轉(zhuǎn)置,NVIDIA
并行 // 196
13.5.1 模型轉(zhuǎn)換 // 197
13.6 人工智能的未來(lái)發(fā)展 // 199
13.7 延伸閱讀 // 201
13.8 小結(jié) // 202