《深度学习导论及案例分析》一导读
PREFACE
前言
“深度學習”一詞大家已經不陌生了,隨著在不同領域取得了超越其他方法的成功,深度學習在學術界和工業界掀起了一次神經網絡發展史上的新浪潮。運用深度學習解決實際問題,不僅是學術界高素質人才所需的技能,而且是工業界商業巨頭進行競爭的核心武器。為適應這一發展的需要,作者以長期的相關研究和教學工作為基礎,經過2~3年的調研和努力,終于編寫完本書。這是一本關于深度學習的入門教材和導論性參考書,受眾對象包括計算機、自動化、信號處理、機電工程、應用數學等相關專業的研究生、教師和科研工作者,本書有助于他們在具備神經網絡的基礎知識后進一步了解深度學習的理論和方法。
自2006年誕生以來,深度學習很快成長壯大,并有一些相關的英文書籍陸續出版。雖然國內也開始出現譯著,但對深度學習的內容概括得并不全面,遠不能夠滿足市場需求。本書的內容幾乎涵蓋了深度學習的所有重要方面,結構上分為基礎理論和案例分析兩個部分。在基礎理論部分,本書不僅介紹了深度學習的起源和發展、特點和優勢,而且描述了深度學習的9種重要模型,包括受限玻耳茲曼機、自編碼器、深層信念網絡、深層玻耳茲曼機、和積網絡、卷積神經網絡、深層堆疊網絡、循環神經網絡和長短時記憶網絡。此外,還討論了這些模型的學習算法、變種模型和混合模型,以及它們在圖像視頻處理、音頻處理和自然語言處理等領域中的廣泛應用,并總結了有關的開發工具、問題和挑戰。在案例分析部分,本書主要挑選了一些深度學習的程序案例進行細致的說明和分析,指導讀者學習有關的程序代碼和開發工具,以便在解決實際問題時加以靈活利用。其中,每個程序案例都包括模塊簡介、運行過程、代碼分析和使用技巧這4個部分,層次結構清晰,以利于讀者選擇和學習,并在應用中拓展思路。本書的一個不足之處是:案例分析部分沒有涉及“和積網絡”和“深層堆疊網絡”,這是因為和積網絡的運行需要大規模集群的硬件條件,另外也很難找到便于構造深層堆疊網絡案例的程序代碼。
本書的一大特色是從初學者的角度出發,在知識結構的布局上注重深入淺出,對深度學習的模型涵蓋得較全面,文獻引用非常豐富,既適合讀者入門學習,又有助于他們深入鉆研。同時,本書也試圖糾正許多讀者對深度學習的一些錯誤理解,比如認為多層感知器不是深度學習模型,認為自編碼器能夠直接用來識別手寫字符,認為受限玻耳茲曼機也是嚴格意義上的深度學習模型,等等。
本書的另一個特色是通過程序案例介紹深度學習模型。這對缺乏相關背景知識的讀者可能非常有幫助,使他們在知其然不知其所以然的情況下運行深度學習程序并獲得計算結果,從而在積累實踐經驗和感性認識的過程中逐步了解深度學習的有關內容。本書的案例涉及三種常見的編程語言:Matlab、Python和C++。其中,很多深度學習程序是用Matlab編寫的,可以直接運行。如果使用Python語言編寫深度學習程序,則可以調用Theano開源庫;若使用C++語言,則可以調用Caffe開源庫。不同的語言分析案例有助于讀者全面了解深度學習模型和算法的實現途徑,并根據自己的熟練程度靈活選擇。
本書是集體智慧的結晶。北京工業大學計算機學院的劉波、胡海鶴和劉兆英等老師,以及張亞紅、曾少鋒、沈成愷、楊紅麗和丁勇等同學,在文獻和軟件資料的收集整理方面提供了很大幫助。此外,華章公司的溫莉芳副總經理對本書的出版給予了大力支持,張夢玲編輯對本書內容的編排提出了許多寶貴意見。在這里向他們表示衷心的感謝。
最后,還要感謝父母、愛人和兒女在本書寫作期間給予的理解,感謝他們的真情鼓勵、默默付出以及對非規律生活的寬容。同時,作者在此也因減少了對他們的關愛而深表愧疚和歉意。
限于作者水平,本書在內容取材和結構編排上可能存在不妥之處,希望使用本書的教師、學生、專家以及其他讀者提出寶貴的批評和建議。
CONTENTS
目錄
前言
第一部分基礎理論
第1章概述
1.1深度學習的起源和發展
1.2深層網絡的特點和優勢
1.3深度學習的模型和算法
第2章預備知識
2.1矩陣運算
2.2概率論的基本概念
2.2.1概率的定義和性質
2.2.2隨機變量和概率密度函數
2.2.3期望和方差
2.3信息論的基本概念
2.4概率圖模型的基本概念
2.5概率有向圖模型
2.6概率無向圖模型
2.7部分有向無圈圖模型
2.8條件隨機場
2.9馬爾可夫鏈
2.10概率圖模型的學習
2.11概率圖模型的推理
2.12馬爾可夫鏈蒙特卡羅方法
2.13玻耳茲曼機的學習
2.14通用反向傳播算法
2.15通用逼近定理
第3章受限玻耳茲曼機
3.1受限玻耳茲曼機的標準模型
3.2受限玻耳茲曼機的學習算法
3.3受限玻耳茲曼機的變種模型
第4章自編碼器
4.1自編碼器的標準模型
4.2自編碼器的學習算法
4.3自編碼器的變種模型
第5章深層信念網絡
5.1深層信念網絡的標準模型
5.2深層信念網絡的生成學習算法
5.3深層信念網絡的判別學習算法
5.4深層信念網絡的變種模型
第6章深層玻耳茲曼機
6.1深層玻耳茲曼機的標準模型
6.2深層玻耳茲曼機的生成學習算法
6.3深層玻耳茲曼機的判別學習算法
6.4深層玻耳茲曼機的變種模型
第7章和積網絡
7.1和積網絡的標準模型
7.2和積網絡的學習算法
7.3和積網絡的變種模型
第8章卷積神經網絡
8.1卷積神經網絡的標準模型
8.2卷積神經網絡的學習算法
8.3卷積神經網絡的變種模型
第9章深層堆疊網絡
9.1深層堆疊網絡的標準模型
9.2深層堆疊網絡的學習算法
9.3深層堆疊網絡的變種模型
第10章循環神經網絡
10.1循環神經網絡的標準模型
10.2循環神經網絡的學習算法
10.3循環神經網絡的變種模型
第11章長短時記憶網絡
11.1長短時記憶網絡的標準模型
11.2長短時記憶網絡的學習算法
11.3長短時記憶網絡的變種模型
第12章深度學習的混合模型、廣泛應用和開發工具
12.1深度學習的混合模型
12.2深度學習的廣泛應用
12.2.1圖像和視頻處理
12.2.2語音和音頻處理
12.2.3自然語言處理
12.2.4其他應用
12.3深度學習的開發工具
第13章深度學習的總結、批評和展望
第二部分案例分析
第14章實驗背景
14.1運行環境
14.2實驗數據
14.3代碼工具
第15章自編碼器降維案例
15.1自編碼器降維程序的模塊簡介
15.2自編碼器降維程序的運行過程
15.3自編碼器降維程序的代碼分析
15.3.1關鍵模塊或函數的主要功能
15.3.2主要代碼分析及注釋
15.4自編碼器降維程序的使用技巧
第16章深層感知器識別案例
16.1深層感知器識別程序的模塊簡介
16.2深層感知器識別程序的運行過程
16.3深層感知器識別程序的代碼分析
16.3.1關鍵模塊或函數的主要功能
16.3.2主要代碼分析及注釋
16.4深層感知器識別程序的使用技巧
第17章深層信念網絡生成案例
17.1深層信念網絡生成程序的模塊簡介
17.2深層信念網絡生成程序的運行過程
17.3深層信念網絡生成程序的代碼分析
17.3.1關鍵模塊或函數的主要功能
17.3.2主要代碼分析及注釋
17.4深層信念網絡生成程序的使用技巧
第18章深層信念網絡分類案例
18.1深層信念網絡分類程序的模塊簡介
18.2深層信念網絡分類程序的運行過程
18.3深層信念網絡分類程序的代碼分析
18.3.1關鍵模塊或函數的主要功能
18.3.2主要代碼分析及注釋
18.4深層信念網絡分類程序的使用技巧
第19章深層玻耳茲曼機識別案例
19.1深層玻耳茲曼機識別程序的模塊簡介
19.2深層玻耳茲曼機識別程序的運行過程
19.3深層玻耳茲曼機識別程序的代碼分析
19.3.1關鍵模塊或函數的主要功能
19.3.2主要代碼分析及注釋
19.4深層玻耳茲曼機識別程序的使用技巧
第20章卷積神經網絡識別案例
20.1DeepLearnToolbox程序的模塊簡介
20.2DeepLearnToolbox程序的運行過程
20.3DeepLearnToolbox程序的代碼分析
20.3.1關鍵函數的主要功能
20.3.2主要代碼分析及注釋
20.4DeepLearnToolbox程序的使用技巧
20.5Caffe程序的模塊簡介
20.6Caffe程序的運行過程
20.7Caffe程序的代碼分析
20.7.1關鍵函數的主要功能
20.7.2主要代碼分析及注釋
20.8Caffe程序的使用技巧
第21章循環神經網絡填充案例
21.1槽值填充的含義
21.2循環神經網絡填充程序的模塊簡介
21.3循環神經網絡填充程序的運行過程
21.4循環神經網絡填充程序的代碼分析
21.4.1關鍵函數的主要功能
21.4.2主要代碼分析及注釋
21.5循環神經網絡填充程序的使用技巧
第22章長短時記憶網絡分類案例
22.1長短時記憶網絡分類程序的模塊簡介
22.2長短時記憶網絡分類程序的運行過程
22.3長短時記憶網絡分類程序的代碼分析
22.3.1關鍵模塊或函數的主要功能
22.3.2主要代碼分析及注釋
22.4長短時記憶網絡分類程序的使用技巧
附錄1 Caffe在Windows上的安裝過程
附錄2 Theano的安裝過程
參考文獻
總結
以上是生活随笔為你收集整理的《深度学习导论及案例分析》一导读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ReplicaSet、DaemonSet
- 下一篇: 深度学习——3D Fully Convo