深入淺出深度學習:原理剖析與Python實踐 ( 簡體 字) |
作者:黃安埠 | 類別:1. -> 程式設計 -> Python 2. -> 程式設計 -> 深度學習 |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 46793 詢問書籍請說出此書號!【有庫存】 NT售價: 395 元 |
出版日:5/1/2017 |
頁數:344 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121312700 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:推薦序 介紹深度學習的書籍不少,但是這本書與《深入淺出深度學習:原理剖析與Python實踐》與其他同類書相比,視角明顯不同。如果要給這本書寫個宣傳語取一個副標題,或許可以是 ““深度學習工程師速成培訓教材””。這本書似乎對讀者的知識結構,有兩點要求。:一是1. 學過高等數學,2.二是 熟悉 Python 編程。換而言之,各個專業的理工科學生,尤其是哪些學過 Python 編程的,都是此書的目標讀者。 認真讀完此書,讀者應該擁有三項能力,1. 讀得懂深度學習的論文,2. 讀得懂深度學習的代碼,3. 能夠自行開發簡單的深度學習應用。 本書內容全面,但是取舍明顯,有重點地深入。尤其對于技術的重點難點,解釋得很詳細,深入淺出。 本書最大的特色就在于內容取舍的尺度非常明確——,著重于原理的解釋,和動手實踐的路徑,但是并不拘泥于細枝末節。 胸中有經緯,就不會迷航在細節的汪洋大海。本書剛好就側重在對經緯的梳理。 所謂此處的經緯,一類是數學基礎知識,另一類是深度學習技術。 與深度學習相關的數學知識包括,線性代數、概率統計等等。因為概率圖與深度學習結合較多,本書把“概率圖”,作為單獨的一章,重點講述,因為概率圖與深度學習結合較多。 深度學習技術包括,機器學習的傳統技術、用于訓練神經網絡的梯度下降等算法。然后本書重點講述了神經網絡的基本算法,以及幾種常用的深度網絡架構。 工程師,重在實踐。工欲善其事必先利其器,實踐深度學習,離不開深度學習工具。 本書介紹了 Theano 工具集的基本用法。其實深度學習工具,一通百通,各種工具的區別,類似于北京口音與東北口音的區別。 認真讀完此書,讀者應該擁有三項能力:1.讀得懂深度學習的論文;2. 讀得懂深度學習的代碼;3.能夠自行開發簡單的深度學習應用。 總結一下,在深度學習技術異常火爆,深度學習工程師奇缺的當下,如何快速培養深度學習方向的工程師,是一個迫切的問題。此書是難得的好教材。 ——鄧侃博士 美國卡內基梅隆(CMU)計算機學院博士,專攻人工智能和數據挖掘。歷任美國甲骨文(Oracle)主任系統架構師,美國泰為手機導航公司(Telenav)北京分公司總經理,百度網頁搜索高級總監。2015年至今創建北京大數醫達科技有限公司,專注于研發醫療大數據和人工智能醫生,出任 CTO。
專家推薦—— 在這個人工智能紅紅火火的年代,寫出一本能讓初學者和“老司機”同樣感到非常有用的機器學習書是一件很有意義卻又不容易的事。黃安埠的《深入淺出深度學習:原理剖析與Python實踐》就做到了這一點。 這本書從最基本的人工智能假設出發,回顧了人工智能的發展簡史,很自然地把讀者帶入現代常用的算法,思想和實踐中。 從數學基礎,到編程例證,再到各個流行的開源軟件包,這本書起到了入門與工具的作用。 同時, 書的后半部也幫助讀者深入了解深度學習的思維和實踐。 我一直在尋找一本既可以用于教學也能給學生動手做系統的工具書, 現在很高興地向大家推薦:這本書就可以達到這個目的。 ——楊強,香港科技大學計算機系主任,中國人工智能協會副理事長
前言 智能(Intelligence)這個詞的出現最早可以追溯到古希臘時期,當時人們已經開始夢想能創造出一種像人類一樣,具有獨立思考和推理能力的機器,但由于受到當時生產力水平的制約,古人對“智能”的研究更多的是停留在理論探索階段。到了近代,尤其是具有劃時代意義的達特茅斯會議的召開,標志著人工智能開始從理論探索進入到理論與應用相結合的實踐階段。從20世紀50年代開始,人工智能的發展大致經歷了三個階段,分別是從最初的邏輯推理,到統計機器學習,再到近年來逐漸占據主流地位的深度學習。 雖然深度學習是一門以神經網絡為核心的學科,但人們普遍認為深度學習始于2006年,當時Hinton等人提出基于深度置信網絡(DBN)逐層預訓練的方法來訓練深層模型,并首次提出了深度學習的概念。此后,深度學習開始進入人們的視野,但那時候深度學習更多的是少數頂尖科學家研究的領域,并沒有得到大規模的應用和推廣。直到2012年,Hinton和他的兩個學生Alex Krizhevsky、Illya Sutskever,將卷積神經網絡應用到ImageNet競賽中,并取得了分類錯誤率15%的成績,這個成績比第二名低了近11個百分點,這一歷史性的突破,使得人們開始意識到深度學習所擁有的巨大潛力,在這之后,深度學習開始在工業界,尤其是計算機視覺、語音識別和自然語言處理等領域,得到了大規模的應用,并且取得了比以往更好的效果表現。到了2016年,隨著AlphaGo的橫空出世,它的驚人表現將深度學習的熱度推向了頂峰,因此2016年也被很多學者認為是人工智能元年,事實上,當前AI已經影響到人們生活的各個方面,如語音助手、語音搜索、無人駕駛汽車、人臉識別等,為人們的生活帶來了極大的方便,AI也必將在今后相當長的一段時間內,繼續推動著人類的技術發展。 在本書編寫的過程中,市面上有關深度學習方面的中文書籍較少,因此作者希望能從理論和應用相結合的角度,對深度學習的相關知識進行較為全面的梳理,本書既可以作為初級讀者的入門書籍,也適合中級讀者用來加深理論知識的理解。本書覆蓋了線性代數、概率論、數值計算與最優化等基礎知識,以及深度學習的兩大核心:概率圖模型和深度神經網絡,具體來說,本書由以下三大部分構成: 第一部分是概要,共分為兩章。第1章主要闡述了深度學習、人工智能相關的背景,深度學習的原理,以及當前流行的深度學習框架對比;第2章介紹了深度學習框架Theano的使用,著重對Theano的基礎知識和編程范式進行了講解。 第二部分是與深度學習相關的數學和機器學習方面的基礎知識,共分為5章。第3章介紹線性代數基礎知識;第4章介紹了概率論和數理統計相關的知識;第5章介紹概率圖模型,包括貝葉斯網絡和馬爾科夫網絡的原理;第6章簡要回顧機器學習的基礎知識,并介紹機器學習模型與深度學習模型之間的聯系;第七7章,深入分析幾種常用的機器學習最優化方法,包括具有一階收斂速度的梯度下降法和共軛梯度法,以及具有二階收斂速度的牛頓法和擬牛頓法。 第三部分介紹了各種常見的深度學習模型,包括一系列的深度學習模型理論以及其應用,本部分共分為6章。第8章介紹全連接前饋神經網絡,包括網絡結構和激活函數的相關知識;第9章將深入分析反向傳播算法,以及梯度消失問題,梯度消失也是深度神經網絡訓練的一大難點,我們將介紹當前有效解決深度網絡訓練中過擬合和欠擬合的常見技巧,包括Batch Normalization、殘差網絡、Dropout等;第10章介紹本書的第一種無監督網絡模型:自編碼器及其變種模型;第11章介紹一種深度概率圖模型——受限玻爾茲曼機,與自編碼器一樣,受限玻爾茲曼機也是一種常見的無監督網絡模型,最后我們將介紹如何將受限玻爾茲曼機應用于個性化推薦領域中;第12章,將介紹一種應用非常廣泛的網絡結構——遞歸神經網絡,深入分析遞歸網絡的結構及其變形網絡,如LSTM、GRU等,最后我們將以語言模型作為例子,介紹遞歸神經網絡在自然語言處理中的應用;第13章介紹另一種常見的模型結構:卷積神經網絡,包括卷積網絡的卷積層和池化層結構設計,以及其在文本分類中的應用。 在本書的撰寫過程中,得到了電子工業出版社劉皎編輯和汪達文編輯的極大幫助,在此表示衷心感謝;非常感謝我的家人對我工作的支持,他們在我寫作過程中給予了很大照顧和鼓勵;感謝我在騰訊公司的上級領導李深遠先生對我工作的幫助,使我有充裕的時間完成本書的撰寫;感謝各位關心我工作的朋友和同事。 最后,讀者可以從Github(https://github.com/innovation-cat/DeepLearningBook)上下載本書配套的代碼。深度學習近年來處于高速發展的階段,很多更先進的理論和算法正被不斷提出,因此本書無法覆蓋所有的模型與算法,加之作者水平和精力所限,書中也難免有錯漏之處,承蒙各位讀者不吝告知,如對本書有任何疑問和建議,讀者可以通過郵箱來給我反饋。 黃安埠 2017年3月于深圳 |
內容簡介:本書介紹了深度學習相關的原理與應用,全書共分為三大部分,第一部分主要回顧了深度學習的發展歷史,以及Theano的使用;第二部分詳細講解了與深度學習相關的基礎知識,包括線性代數、概率論、概率圖模型、機器學習和最優化算法;在第三部分中,針對若干核心的深度學習模型,如自編碼器、受限玻爾茲曼機、遞歸神經網絡和卷積神經網絡等進行詳細的原理分析與講解,并針對不同的模型給出相應的具體應用。本書適合有一定高等數學、機器學習和Python編程基礎的在校學生、高校研究者或在企業中從事深度學習的工程師使用,書中對模型的原理與難點進行了深入分析,在每一章的最后都提供了詳細的參考文獻,讀者可以對相關的細節進行更深入的研究。最后,理論與實踐相結合,本書針對常用的模型分別給出了相應的應用,讀者也可以在Github中下載和查看本書的代碼。 |
目錄:1 緒論 1 1.1 人工智能、機器學習與深度學習的關系 2 1.1.1 人工智能——機器推理 3 1.1.2 機器學習——數據驅動的科學 4 1.1.3 深度學習——大腦的仿真 7 1.2 深度學習的發展歷程 7 1.3 深度學習技術概述 9 1.3.1 從低層到高層的特征抽象 10 1.3.2 讓網絡變得更深 12 1.3.3 自動特征提取 13 1.4 深度學習框架 14 2 Theano基礎 18 2.1 符號變量 19 2.2 符號計算的抽象——符號計算圖模型 22 2.3 函數 25 2.3.1 函數的定義 25 2.3.2 Logistic回歸 26 2.3.3 函數的復制 28 2.4 條件表達式 30 2.5 循環 31 2.6 共享變量 38 2.7 配置 38 2.7.1 通過THEANO_FLAGS配置 39 2.7.2 通過.theanorc文件配置 40 2.8 常用的Debug技巧 41 2.9 小結 42 3 線性代數基礎 43 3.1 標量、向量、矩陣和張量 43 3.2 矩陣初等變換 44 3.3 線性相關與向量空間 45 3.4 范數 46 3.4.1 向量范數 46 3.4.2 矩陣范數 49 3.5 特殊的矩陣與向量 52 3.6 特征值分解 53 3.7 奇異值分解 55 3.8 跡運算 56 3.9 樣例:主成分分析 57 4 概率統計基礎 61 4.1 樣本空間與隨機變量 62 4.2 概率分布與分布函數 62 4.3 一維隨機變量 63 4.3.1 離散隨機變量和分布律 63 4.3.2 連續隨機變量和概率密度函數 64 4.4 多維隨機變量 65 4.4.1 離散型二維隨機變量和聯合分布律 66 4.4.2 連續型二維隨機變量和聯合密度函數 66 4.5 邊緣分布 67 4.6 條件分布與鏈式法則 68 4.6.1 條件概率 68 4.6.2 鏈式法則 70 4.7 多維隨機變量的獨立性分析 70 4.7.1 邊緣獨立 71 4.7.2 條件獨立 71 4.8 數學期望、方差、協方差 72 4.8.1 數學期望 72 4.8.2 方差 73 4.8.3 協方差 73 4.8.4 協方差矩陣 75 4.9 信息論基礎 78 4.9.1 信息熵 78 4.9.2 條件熵 80 4.9.3 互信息 81 4.9.4 交叉熵與相對熵 81 5 概率圖模型 84 5.1 生成模型與判別模型 86 5.2 圖論基礎 87 5.2.1 圖的結構 87 5.2.2 子圖 88 5.2.3 路徑、跡、環與拓撲排序 89 5.3 貝葉斯網絡 93 5.3.1 因子分解 93 5.3.2 局部馬爾科夫獨立性斷言 96 5.3.3 I-Map與因子分解 97 5.3.4 有效跡 101 5.3.5 D-分離與全局馬爾科夫獨立性 105 5.4 馬爾科夫網絡 106 5.4.1 勢函數因子與參數化表示 106 5.4.2 馬爾科夫獨立性 108 5.5 變量消除 112 5.6 信念傳播 113 5.6.1 聚類圖 113 5.6.2 團樹 117 5.6.3 由變量消除構建團樹 121 5.7 MCMC采樣 124 5.7.1 隨機采樣 124 5.7.2 隨機過程與馬爾科夫鏈 126 5.7.3 MCMC采樣 129 5.7.4 Gibbs采樣 131 5.8 參數學習 134 5.8.1 最大似然估計 134 5.8.2 期望最大化算法 135 5.9 小結 137 6 機器學習基礎 140 6.1 線性模型 141 6.1.1 線性回歸 141 6.1.2 Logistic回歸 146 6.1.3 廣義的線性模型 148 6.2 支持向量機 149 6.2.1 最優間隔分類器 150 6.2.2 對偶問題 153 6.2.3 核函數 154 6.3 樸素貝葉斯 158 6.4 樹模型 160 6.4.1 特征選擇 161 6.4.2 剪枝策略 163 6.5 聚類 164 6.5.1 距離度量 165 6.5.2 層次聚類 166 6.5.3 K-means聚類 169 6.5.4 譜聚類 170 7 數值計算與最優化 176 7.1 無約束極小值的最優化條件 176 7.2 梯度下降 178 7.2.1 傳統更新策略 180 7.2.2 動量更新策略 182 7.2.3 改進的動量更新策略 183 7.2.4 自適應梯度策略 186 7.3 共軛梯度 187 7.4 牛頓法 191 7.5 擬牛頓法 193 7.5.1 擬牛頓條件 193 7.5.2 DFP算法 194 7.5.3 BFGS 195 7.5.4 L-BFGS 196 7.6 約束最優化條件 199 8 前饋神經網絡 204 8.1 生物神經元結構 205 8.2 人工神經元結構 206 8.3 單層感知機 207 8.4 多層感知機 210 8.5 激活函數 214 8.5.1 激活函數的作用 215 8.5.2 常用的激活函數 217 9 反向傳播與梯度消失 224 9.1 經驗風險最小化 225 9.2 梯度計算 227 9.2.1 輸出層梯度 227 9.2.2 隱藏層梯度 229 9.2.3 參數梯度 233 9.3 反向傳播 234 9.4 深度學習訓練的難點 235 9.4.1 欠擬合——梯度消失 236 9.4.2 過擬合 239 10 自編碼器 242 10.1 自編碼器 242 10.2 降噪自編碼器 244 10.3 棧式自編碼器 246 10.4 稀疏編碼器 249 11 玻爾茲曼機 255 11.1 玻爾茲曼機 255 11.2 能量模型 258 11.2.1 能量函數 258 11.2.2 從能量函數到勢函數 259 11.2.3 從勢函數到概率分布 260 11.3 推斷 261 11.3.1 邊緣分布 262 11.3.2 條件分布 264 11.4 學習 267 11.4.1 最大似然估計 268 11.4.2 對比散度 271 11.5 應用:個性化推薦 273 11.5.1 個性化推薦概述 273 11.5.2 個性化推薦架構與算法 276 11.5.3 RBM與協同過濾 282 12 遞歸神經網絡 288 12.1 Elman遞歸神經網絡 289 12.2 時間反向傳播 292 12.3 長短時記憶網絡 296 12.4 結構遞歸神經網絡 299 12.5 應用:語言模型 304 12.5.1 N元統計模型 305 12.5.2 基于遞歸網絡的語言模型 309 參考文獻: 312 13 卷積神經網絡 314 13.1 卷積運算 315 13.2 網絡結構 318 13.3 卷積層 320 13.4 池化層 325 13.5 應用:文本分類 329 |
序: |