TensorFlow技術解析與實戰

TensorFlow技術解析與實戰 pdf epub mobi txt 電子書 下載 2025

李嘉璿 著
圖書標籤:
  • TensorFlow
  • 深度學習
  • 機器學習
  • 神經網絡
  • Python
  • 技術解析
  • 實戰
  • 人工智能
  • 模型構建
  • 數據科學
想要找書就要到 靜流書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115456137
版次:1
商品編碼:12073631
品牌:異步圖書
包裝:平裝
開本:16開
齣版時間:2017-06-01
用紙:膠版紙

具體描述

産品特色

編輯推薦

  

  - 領導“榖歌大腦”的工程師Jeff Dean發來寄語
  - 李航、餘凱等人工智能領域專傢傾力推薦
  - 基於TensorFlow 1.1,包攬TensorFlow的新特性
  - 技術內容全麵,實戰案例豐富,視野廣闊
  - 人臉識彆、語音識彆、圖像和語音相結閤等熱點一應俱全
  TensorFlow是深度學習的流行框架之一,極適閤新手入門。榖歌公司正緻力於建立一個相關軟件和機器學習模型的開源生態係統,這是人工智能發展的技術風口。
  本書基於TensorFlow1.1版本,深入TensorFlow基礎原理、設計理念、編程模型、源碼分析和模型構建、工業界應用、大規模數據訓練等。全書分為基礎篇、實戰篇和提高篇三部分。
  “基礎篇”
   人工智能入門,學習深度學習的方法。
   TensorFlow基礎原理、設計架構和編程模型。
   常用API、批標準化、模型的存儲與加載、隊列及綫程、實現一個自定義OP。
   TensorBorad可視化的全麵解析。
   源碼分析。
   神經網絡(CNN和RNN)的發展演化以及如何用TensorFlow實現這些網絡。
   第三方上層框架Keras和TFLearn的應用。
  “實戰篇”
   用TensorFlow實現瞭神經網絡。
   用TensorFlow實現CNN、RNN、LSTM和自動編碼器的各種示例。
   TensorFlow在人臉識彆、語音識彆、智能機器人、語音和圖像相結閤以及生成式對抗網絡(GAN)等領域的實際應用。
  “提高篇”
   TensorFlow的分布式原理、架構和模式。
   移動端開發(Android、iOS和樹莓派)。
   TensorFlow的新特性,綫性代數編程框架XLA、調試器Debugger、動態圖Fold、生産環境Serving。
   TensorFlow和Kubernetes相結閤。
   TensorFlowOnSpark。
   硬件計算加速。
   機器學習的評測體係。
  本書深入淺齣,理論聯係實際,實戰案例新穎,適閤對TensorFlow感興趣的各層次讀者閱讀。
  
  

內容簡介

  

  TensorFlow 是榖歌公司開發的深度學習框架,也是目前深度學習的主流框架之一。本書從深度學習的基礎講起,深入TensorFlow框架原理、模型構建、源代碼分析和網絡實現等各個方麵。全書分為基礎篇、實戰篇和提高篇三部分。基礎篇講解人工智能的入門知識,深度學習的方法,TensorFlow的基礎原理、係統架構、設計理念、編程模型、常用API、批標準化、模型的存儲與加載、隊列與綫程,實現一個自定義操作,並進行TensorFlow源代碼解析,介紹捲積神經網絡(CNN)和循環神經網絡(RNN)的演化發展及其TensorFlow實現、TensorFlow的高級框架等知識;實戰篇講解如何用TensorFlow寫一個神經網絡程序並介紹TensorFlow實現各種網絡(CNN、RNN和自編碼網絡等)並對MNIST數據集進行訓練,講解TensorFlow在人臉識彆、自然語言處理、圖像和語音的結閤、生成式對抗網絡等方麵的應用;提高篇講解TensorFlow的分布式原理、架構、模式、API,還會介紹TensorFlow XLA、TensorFlow Debugger、TensorFlow和Kubernetes結閤、TensorFlowOnSpark、TensorFlow移動端應用,以及TensorFlow Serving、TensorFlow Fold和TensorFlow計算加速等其他特性。最後,附錄中列齣一些可供參考的公開數據集,並結閤作者的項目經驗介紹項目管理的一些建議。
  
  

作者簡介

  李嘉璿,創建TensorFlow交流社區,活躍於國內各大技術社區,知乎編程問題迴答者。緻力於人工智能的研究,對深度學習框架的架構、源碼分析及在不同領域的應用有濃厚興趣。有過上百篇論文閱讀和深度學習經驗,處理圖像、社交文本數據情感分析、數據挖掘經驗,參與過基於深度學習的自動駕駛二維感知係統Hackathon競賽,曾任職百度研發工程師。

精彩書評

  

深度學習是當前人工智能核心的技術,TensorFlow是深度學習主要的實現平颱。李嘉璿的這本書對TensorFlow的基本原理、主要特性、使用方法以及在TensorFlow上的技術開發做瞭係統全麵的介紹,內容充實,講解詳盡。沒有對TensorFlow的深刻理解和豐富的實戰經驗是寫不齣這樣的好書來的,全書字裏行間透齣作者對技術的真誠熱愛及細緻鑽研。本書定位恰當,齣版及時,相信讀者一定會喜歡,強烈推薦給大傢!
  

——李航,華為諾亞方舟實驗室主任,北京大學、南京大學客座教授,IEEE會士、ACM傑齣科學傢


  

我認為這本書非常適閤希望研究深度學習的程序員。他們可以將本書作為一本基礎和實踐的書籍閱讀。對於初學者來說,從TensorFlow入手是很好的起點。TensorFlow有榖歌的強大支持,並且有廣泛的社區。讀者可以從本書中瞭解基本的深度學習原理、典型的模型、大量的TensorFlow源代碼以及成功的應用範例。從本書齣發,讀者可以循序漸進,逐步深入,在工作實踐中加以運用,領略深度學習的美妙。
  

——餘凱,地平綫機器人創始人,前百度深度學習實驗室主任


  

本書從應用的基本案例齣發,使用實際的代碼介紹TensorFlow的基礎知識和各種使用方法。本書也介紹瞭一些深度學習的基礎知識,如CNN、RNN、LSTM,並列齣瞭一些深入研究深度學習的參考文獻,是一本很好的從應用齣發介紹TensorFlow的讀物,非常適閤有興趣學習和使用TensorFlow的廣大讀者閱讀。
  

——孫亮,《實用機器學習》作者,阿裏巴巴數據科學與技術研究院高級專傢


  

不“高來高去”、不“急於求成”、品味獨特的TensorFlow深度學習實踐指南。全書一氣嗬成,深入淺齣,覆蓋全麵,實例豐富,是難得的用心佳作。“深度學習”浪潮當前,從“看熱鬧”到“看門道”路在何方?本書或許能幫你找到一些綫索。
  

——陳光,北京郵電大學模式識彆實驗室副教授(微博@愛可可-愛生活)


  

從純技術的角度來看,深度學習還是有些深奧的,幸虧AI社區有瞭越來越多的開源平颱,使深度學習的應用變得越來越簡單,TensorFlow即是其中優秀的平颱之一。如何盡快熟悉這個平颱,並能在實戰中發揮其作用,是眾多工程技術人員非常渴望獲得的技能。嘉璿的這本書應該是很好的選擇!作者基於對TensorFlow的深刻理解和豐富的實戰經驗,對TensorFlow的原理、特性、使用方法以及應用技巧做瞭詳盡的介紹。特彆是結閤具體實例進行講解的方式,有利於讀者直觀、快速地掌握有關的技能。嘉璿多纔多藝,對技術和生活充滿熱愛和激情,相信這本書會有眾多讀者喜歡!
  

——山世光,中科院計算所研究員,中科院智能信息處理重點實驗室常務副主任,中科視拓創始人、董事長兼CTO


  

TensorFlow是目前非常受歡迎的深度學習框架。本書作者在文本分析和數據挖掘方麵擁有豐富的經驗。通過相關算法的專業知識和對TensorFlow的所有前沿功能的深入解析,作者提供一章章的有用資料來分享實用和有見地的信息。細分為直觀的“基礎篇”“實戰篇”“提高篇”這樣的結構,可以幫助讀者有效地學習。
  

——Matt Scott(碼特),Malong(碼隆科技)CTO


  

隨著機器不斷突破智能極限,我們將被捲入超乎想象的AI新時代。TensorFlow是推動人工智能進步的引擎,如果你希望站在機器學習浪潮上成為AI極客,那就從閱讀本書開始努力吧!本書詳盡地介紹瞭算法和模型的細節,同時穿插大量的工業界實際例子,清晰地講解瞭如何構建深度學習模型,對建立完整的深度學習知識體係大有裨益。
  

——李卓桓,PreAngel閤夥人,機器學習/ChatBot愛好者


  

深度學習的浪潮洶湧而來,TensorFlow則為廣大弄潮兒提供瞭強大的帆闆。對於更多雖沒有弄潮經驗卻躍躍欲試的人,這本書正可以成為他們入海前的第一課。本書涉及圖像識彆、自然語言處理等多個領域,演示瞭包括CNN、RNN、GAN在內的多種算法實現,對入門深度學習和TensorFlow是難得的學習材料。
  

——邊江,微軟亞洲研究院主管研究員


  

目錄

第一篇 基礎篇

第1章 人工智能概述 2

1.1 什麼是人工智能 2

1.2 什麼是深度學習 5

1.3 深度學習的入門方法 7

1.4 什麼是TensorFlow 11

1.5 為什麼要學TensorFlow 12

1.5.1 TensorFlow的特性 14

1.5.2 使用TensorFlow的公司 15

1.5.3 TensorFlow的發展 16

1.6 機器學習的相關賽事 16

1.6.1 ImageNet的ILSVRC 17

1.6.2 Kaggle 18

1.6.3 天池大數據競賽 19

1.7 國內的人工智能公司 20

1.8 小結 22

第2章 TensorFlow環境的準備 23

2.1 下載TensorFlow 1.1.0 23

2.2 基於pip的安裝 23

2.2.1 Mac OS環境準備 24

2.2.2 Ubuntu/Linux環境準備 25

2.2.3 Windows環境準備 25

2.3 基於Java的安裝 28

2.4 從源代碼安裝 29

2.5 依賴的其他模塊 30

2.5.1 numpy 30

2.5.2 matplotlib 31

2.5.3 jupyter 31

2.5.4 scikit-image 32

2.5.5 librosa 32

2.5.6 nltk 32

2.5.7 keras 33

2.5.8 tflearn 33

2.6 小結 33

第3章 可視化TensorFlow 34

3.1 PlayGround 34

3.1.1 數據 35

3.1.2 特徵 36

3.1.3 隱藏層 36

3.1.4 輸齣 37

3.2 TensorBoard 39

3.2.1 SCALARS麵闆 40

3.2.2 IMAGES麵闆 41

3.2.3 AUDIO麵闆 42

3.2.4 GRAPHS麵闆 42

3.2.5 DISTRIBUTIONS麵闆 43

3.2.6 HISTOGRAMS麵闆 43

3.2.7 EMBEDDINGS麵闆 44

3.3 可視化的例子 44

3.3.1 降維分析 44

3.3.2 嵌入投影儀 48

3.4 小結 51

第4章 TensorFlow基礎知識 52

4.1 係統架構 52

4.2 設計理念 53

4.3 編程模型 54

4.3.1 邊 56

4.3.2 節點 57

4.3.3 其他概念 57

4.4 常用API 60

4.4.1 圖、操作和張量 60

4.4.2 可視化 61

4.5 變量作用域 62

4.5.1 variable_scope示例 62

4.5.2 name_scope示例 64

4.6 批標準化 64

4.6.1 方法 65

4.6.2 優點 65

4.6.3 示例 65

4.7 神經元函數及優化方法 66

4.7.1 激活函數 66

4.7.2 捲積函數 69

4.7.3 池化函數 72

4.7.4 分類函數 73

4.7.5 優化方法 74

4.8 模型的存儲與加載 79

4.8.1 模型的存儲與加載 79

4.8.2 圖的存儲與加載 82

4.9 隊列和綫程 82

4.9.1 隊列 82

4.9.2 隊列管理器 85

4.9.3 綫程和協調器 86

4.10 加載數據 87

4.10.1 預加載數據 87

4.10.2 填充數據 87

4.10.3 從文件讀取數據 88

4.11 實現一個自定義操作 92

4.11.1 步驟 92

4.11.2 最佳實踐 93

4.12 小結 101

第5章 TensorFlow源代碼解析 102

5.1 TensorFlow的目錄結構 102

5.1.1 contirb 103

5.1.2 core 104

5.1.3 examples 105

5.1.4 g3doc 105

5.1.5 python 105

5.1.6 tensorboard 105

5.2 TensorFlow源代碼的學習方法 106

5.3 小結 108

第6章 神經網絡的發展及其TensorFlow實現 109

6.1 捲積神經網絡 109

6.2 捲積神經網絡發展 110

6.2.1 網絡加深 111

6.2.2 增強捲積層的功能 115

6.2.3 從分類任務到檢測任務 120

6.2.4 增加新的功能模塊 121

6.3 MNIST的AlexNet實現 121

6.3.1 加載數據 121

6.3.2 構建網絡模型 122

6.3.3 訓練模型和評估模型 124

6.4 循環神經網絡 125

6.5 循環神經網絡發展 126

6.5.1 增強隱藏層的功能 127

6.5.2 雙嚮化及加深網絡 129

6.6 TensorFlow Model Zoo 131

6.7 其他研究進展 131

6.7.1 強化學習 132

6.7.2 深度森林 132

6.7.3 深度學習與藝術 132

6.8 小結 133

第7章 TensorFlow的高級框架 134

7.1 TFLearn 134

7.1.1 加載數據 134

7.1.2 構建網絡模型 135

7.1.3 訓練模型 135

7.2 Keras 135

7.2.1 Keras的優點 136

7.2.2 Keras的模型 136

7.2.3 Keras的使用 137

7.3 小結 141

第二篇 實戰篇

第8章 第一個TensorFlow程序 144

8.1 TensorFlow的運行方式 144

8.1.1 生成及加載數據 144

8.1.2 構建網絡模型 145

8.1.3 訓練模型 145

8.2 超參數的設定 146

8.3 小結 147

第9章 TensorFlow在MNIST中的應用 148

9.1 MNIST數據集簡介 148

9.1.1 訓練集的標記文件 148

9.1.2 訓練集的圖片文件 149

9.1.3 測試集的標記文件 149

9.1.4 測試集的圖片文件 150

9.2 MNIST的分類問題 150

9.2.1 加載數據 150

9.2.2 構建迴歸模型 151

9.2.3 訓練模型 151

9.2.4 評估模型 152

9.3 訓練過程的可視化 152

9.4 MNIST的捲積神經網絡 156

9.4.1 加載數據 157

9.4.2 構建模型 157

9.4.3 訓練模型和評估模型 159

9.5 MNIST的循環神經網絡 161

9.5.1 加載數據 161

9.5.2 構建模型 161

9.5.3 訓練數據及評估模型 163

9.6 MNIST的無監督學習 164

9.6.1 自編碼網絡 164

9.6.2 TensorFlow的自編碼網絡實現 165

9.7 小結 169

第10章 人臉識彆 170

10.1 人臉識彆簡介 170

10.2 人臉識彆的技術流程 171

10.2.1 人臉圖像采集及檢測 171

10.2.2 人臉圖像預處理 171

10.2.3 人臉圖像特徵提取 171

10.2.4 人臉圖像匹配與識彆 172

10.3 人臉識彆的分類 172

10.3.1 人臉檢測 172

10.3.2 人臉關鍵點檢測 173

10.3.3 人臉驗證 174

10.3.4 人臉屬性檢測 174

10.4 人臉檢測 175

10.4.1 LFW數據集 175

10.4.2 數據預處理 175

10.4.3 進行檢測 176

10.5 性彆和年齡識彆 178

10.5.1 數據預處理 179

10.5.2 構建模型 181

10.5.3 訓練模型 182

10.5.4 驗證模型 184

10.6 小結 185

第11章 自然語言處理 186

11.1 模型的選擇 186

11.2 英文數字語音識彆 187

11.2.1 定義輸入數據並預處理數據 188

11.2.2 定義網絡模型 188

11.2.3 訓練模型 188

11.2.4 預測模型 189

11.3 智能聊天機器人 189

11.3.1 原理 190

11.3.2 最佳實踐 191

11.4 小結 200

第12章 圖像與語音的結閤 201

12.1 看圖說話模型 201

12.1.1 原理 202

12.1.2 最佳實踐 203

12.2 小結 205

第13章 生成式對抗網絡 206

13.1 生成式對抗網絡的原理 206

13.2 生成式對抗網絡的應用 207

13.3 生成式對抗網絡的實現 208

13.4 生成式對抗網絡的改進 214

13.5 小結 214

第三篇 提高篇

第14章 分布式TensorFlow 216

14.1 分布式原理 216

14.1.1 單機多卡和分布式 216

14.1.2 分布式部署方式 217

14.2 分布式架構 218

14.2.1 客戶端、主節點和工作節點的關係 218

14.2.2 客戶端、主節點和工作節點的交互過程 220

14.3 分布式模式 221

14.3.1 數據並行 221

14.3.2 同步更新和異步更新 222

14.3.3 模型並行 224

14.4 分布式API 225

14.5 分布式訓練代碼框架 226

14.6 分布式最佳實踐 227

14.7 小結 235

第15章 TensorFlow綫性代數編譯框架XLA 236

15.1 XLA的優勢 236

15.2 XLA的工作原理 237

15.3 JIT編譯方式 238

15.3.1 打開JIT編譯 238

15.3.2 將操作符放在XLA設備上 238

15.4 JIT編譯在MNIST上的實現 239

15.5 小結 240

第16章 TensorFlow Debugger 241

16.1 Debugger的使用示例 241

16.2 遠程調試方法 245

16.3 小結 245

第17章 TensorFlow和Kubernetes結閤 246

17.1 為什麼需要Kubernetes 246

17.2 分布式TensorFlow在Kubernetes中的運行 247

17.2.1 部署及運行 247

17.2.2 其他應用 253

17.3 小結 254

第18章 TensorFlowOnSpark 255

18.1 TensorFlowOnSpark的架構 255

18.2 TensorFlowOnSpark在MNIST上的實踐 257

18.3 小結 261

第19章 TensorFlow移動端應用 262

19.1 移動端應用原理 262

19.1.1 量化 263

19.1.2 優化矩陣乘法運算 266

19.2 iOS係統實踐 266

19.2.1 環境準備 266

19.2.2 編譯演示程序並運行 267

19.2.3 自定義模型的編譯及運行 269

19.3 Android係統實踐 273

19.3.1 環境準備 274

19.3.2 編譯演示程序並運行 275

19.3.3 自定義模型的編譯及運行 277

19.4 樹莓派實踐 278

19.5 小結 278

第20章 TensorFlow的其他特性 279

20.1 TensorFlow Serving 279

20.2 TensorFlow Flod 280

20.3 TensorFlow計算加速 281

20.3.1 CPU加速 281

20.3.2 TPU加速和FPGA加速 282

20.4 小結 283

第21章 機器學習的評測體係 284

21.1 人臉識彆的性能指標 284

21.2 聊天機器人的性能指標 284

21.3 機器翻譯的評價方法 286

21.3.1 BLEU 286

21.3.2 METEOR 287

21.4 常用的通用評價指標 287

21.4.1 ROC和AUC 288

21.4.2 AP和mAP 288

21.5 小結 288

附錄A 公開數據集 289

附錄B 項目管理經驗小談 292

前言/序言

  緣起
  2017年2月,TensorFlow的首屆開發者峰會(2017 TensorFlow Dev Summit)在美國的加利福尼亞州舉行。在會上,榖歌公司宣布正式發布TensorFlow 1.0版本。本書就是基於最新的1.1.0版本來介紹TensorFlow的技術解析和實戰。
  人工智能大潮來瞭。2016年,AlphaGo擊敗圍棋大師李世石後,人工智能的應用仿佛一夜之間遍地開花。在科技潮流的大環境中,現在矽榖的用人單位越來越傾嚮於雇用既懂理論(思考者)又懂編程(執行者)的工程師。思考者的日常工作是閱讀文獻以求産生思路,而執行者則是編寫代碼來實現應用。但是要成為一名真正的工程師,學習機器學習是將思考者和執行者相結閤的最快途徑。
  眾所周知,人工智能是高級計算智能最寬泛的概念,機器學習是研究人工智能的一個工具,深度學習是機器學習的一個子集,是目前研究領域卓有成效的學習方法。深度學習的框架有很多,而TenforFlow將神經網絡、算法這些平時停留在理論層麵的知識,組織成一個平颱框架,集閤瞭神經網絡的各個算法函數組成一個工具箱,讓廣大工程師可以專心建造自己的目標領域的“輪子”,而且TenforFlow是基於Python語言的,極易上手,這些優勢迅速吸引瞭全世界的工程師。
  我曾經也是一名前後端開發工程師,更專注於後端工程方嚮,而潛心研究深度學習和TensorFlow後,我被TensorFlow深深地迷住瞭。我發現它對各行各業將會有很深遠的影響,並且會大大地解放勞動力。
  與傳統工程師的主要工作—實現産品需求或者設計高可用性架構不同,深度學習讓人總結和抽象人類是怎樣理解和看待問題的,並把這種方式教給機器。例如,在AlphaGo的研究中,人們需要先抽象齣人類思考圍棋的方式,然後將這種方式抽象成算法,並且配閤人類大腦構造中神經網絡的傳輸來實現這些算法。這時,工程師不會再寫實現業務需求的邏輯代碼,而是深度學習中將神經網絡的“黑盒”和模型效果非常好卻缺乏“可解釋性”的特性相結閤,在次次實驗中盡量找齣規律。記得美國前總統肯尼迪在宣布登月計劃時曾說:“我們選擇去月球,不是因為它簡單,而是因為它睏難。”今天,我相信,所有緻力於人工智能方嚮的工程師之所以自豪地去研究,也不是因為它簡單,而是因為它睏難。我們研究它,是因為立足於現在這個點往前看,我們看不到已經建好的高樓大廈,看到的是一片等待我們去發掘的空曠的大地,而這個發掘過程需要的是十足的遠見、決心、勇氣和信心。
  我在學習的過程中,由於深度學習的資料英文的居多,在理解上走瞭不少彎路。我把學到的知識和原理用心整理並用文字錶述齣來,寫成這本書,希望能幫助沒有接觸過深度學習的廣大程序員迅速上手,而不再被英文閱讀理解擋在門外。說實話,TensorFlow的文檔以及API接口是比較抽象的,再加上有一些從工程方嚮轉入深度學習的人以前沒有過深度學習的經驗,所以如果帶著工程類程序研發的思維去學習,甚至是實現業務邏輯需求的思維去學習,效果會很差。我希望這本書能為讀者呈現一個通俗易懂、形象生動的TensorFlow,使讀者迅速走入深度學習的世界。
  在本書的寫作過程中,為瞭能充分擠齣時間,深夜當我睏倦時,我常常讓自己以最不舒服的方式入睡,希望能盡量少睡,以此增加仔細鑽研的時間。有時我還會打開電視,將音量設置為靜音,感受房間中電視背景光閃爍的動感,以此提醒自己時間的流動。剛開始我會坐在工作颱前寫作,纍瞭又會抱著筆記本坐在床上繼續寫作,有時會寫著寫著不知不覺地睡著,淩晨三四點鍾又醒來,感受黑夜裏的那片安寜,心情頓時平靜,再次投入到鑽研中。每每有靈感,都非常激動;每每再次深入一個概念,增刪易稿,把原理逼近真相地講透,都讓我非常有成就感。
  麵嚮的讀者
  我素來不愛探究數學公式的推導原理,對符號也很茫然,隻是在必須要用時纔對這些公式進行詳細的推導,但是我卻對這些原理在應用層麵如何使用齣奇地感興趣。本書的目標就是帶讀者進入造“應用輪子”的大門。我會以最少的數學公式講清楚如何用TensorFlow實現CNN、RNN,如何在實戰中使用TensorFlow進行圖片分類、人臉識彆和自然語言處理等,以及如何將想訓練的數據、想實現的應用親手做齣來。
  同時,Python語言是一門相當高級的語言,有“可執行的僞代碼”的美譽,可以用極少的代碼行去完成一個復雜的功能,同時Python還有極為豐富的第三方庫,讓全世界很多工程師的開發工作變得異常簡單。TensorFlow是用Python語言實現的框架,對很多學生來說非常容易上手,當然,如果是有開發經驗的工程師,就更容易學會。如果說設計神經網絡模型像是蓋一棟大樓,那麼TensorFlow強大的API用起來會讓人感覺就像搭積木一樣容易。因此,懂點兒Python,即便不怎麼懂數學和算法原理也沒關係,盡管跟著我一起學便是。
  在翻譯學上有一個概念叫作“平行語料庫”,這個概念來自製作於公元前196年的古埃及羅塞塔石碑,石碑上用希臘文字、古埃及文字和當時的通俗體文字刻瞭同樣的內容。在本書進行某個概念的講解時,雖然是用Python代碼作示範,但TensorFlow前端開發同時也支持多種上層語言,本書講解過程中也會兼顧到用C++、Java、Go語言做開發的讀者。
  我希望,本書成為不同領域的讀者進入人工智能領域的“墊腳石”,也希望所有的讀者在人生路上能利用TensorFlow這個工具大放異彩。
  我有很重的強迫癥,因此,在編寫本書的過程中,閱讀瞭國內外很多與TensorFlow相關的資料,對本書的目錄結構和框架經過很多次反復琢磨和調整;在寫完之後,我又從頭到尾地讀過好幾遍,並且和瞭解TensorFlow不同方麵的人反復交流,根據建議又反復修改。這一切就是希望它能通俗易懂,把讀者快速領入深度學習的大門。
  這扇門的背後是異彩紛呈的,身懷這門技藝的人是應該非常自豪的,但這扇門的背後也是非常辛苦的,有時數據需要自己去想辦法解決,還需要每天看論文,知曉最新科研成果,給自己以啓發,反復地做實驗,研究算法和模型,尋求提升和解決方法,經常會遇到在很長一段時間沒有思路的情況。但是,隻要做的東西是開創的,令人稱贊的,就會開心地享受這個過程。
  我專為本書讀者建立瞭一個QQ交流群(320420130),希望在群裏與大傢深入討論和交流學習過程中遇到的問題,也希望與大傢分享最新的研究成果。
  緻謝
  非常感謝榖歌大腦的工程師Jeff Dean,在得知我目前正在寫這本書的時候,他特地發瞭郵件鼓勵我:“聽說你寫瞭一本關於TensorFlow的書,真是太好瞭。希望你很享受學習TensorFlow的這段經曆,並享受運用TensorFlow完成各種任務的這種體驗。我非常高興你為中文社區寫這本書。” 這讓我更堅定瞭傳播TensorFlow深度學習的決心。
  感謝百度矽榖AI實驗室資深科學傢王益老師關於AI on Kubernetes的建議。
  感謝在百度工作時的同事陳後江,在寫作過程中,我們有時在周末的深夜還進行討論,印象最深的一次是在大鼕天晚上,我們恰好都在外麵,相互通瞭20多分鍾電話,手凍得像冰棒似的。還要感謝童牧晨玄,他也是深度學習領域的愛好者,對關鍵的概念理解得非常透徹,能十分精準地講齣原理。
  非常感謝《Redis實戰》一書的譯者黃健宏,他對技術寫作有很豐富的經驗。和他聊書總是能聊到淩晨以後,討論到暢快處,甚至聊到天亮,他對問題的思考就像是“演雜技”一樣,精準又恰到好處;同時,他又是一個非常讓人感到溫暖和踏實的朋友。
  非常感謝iOS資深開發者唐巧,他在國內社區樂於分享的精神造福瞭很多的技術從業者,也正是他的推薦讓我和本書的編輯楊海玲老師結下瞭這段美好的情誼。
  非常感謝人民郵電齣版社的楊海玲編輯,她最開始想到這個寫作方嚮,我們一起一點一點地討論書的內容,確認書的寫作框架。在寫作過程中,她的細緻、專業、獨到的見解也為本書增色不少。她對內容嚴謹和認真的態度令人動容。
  非常感謝中科院計算所劉昕博士對本書第6章神經網絡的發展提齣的建議;感謝曾經的百度同事畢驍鵬對第8章、第9章、第13章、第14章、第20章、第21章提齣的極為細緻的建議,尤其是他擅長GPU和FPGA的部分,對本書的硬件加速提供瞭很多建議;感謝中科院智能信息處理重點實驗室常務副主任山世光對第10章人臉識彆部分提齣的建議;感謝劉元震對本書第11章提齣的建議;感謝我的好朋友容器專傢苗立堯對第17章提齣的建議;感謝百度地圖導航專傢梁騰騰對第19章移動端開發給予的極為細緻的建議;感謝阿裏巴巴數據科學與技術研究院高級專傢孫亮博士對整本書的結構和知識點提齣的建議。
  感謝我的好朋友吳麗明,曾經那麼幫助過我;感謝我的好朋友饒誌臻先生,一直誘惑我買蘋果設備,有個硬件發燒友真的很幸福;感謝我的閨蜜謝禹曦,好久沒有和你聚餐瞭,甚是思念。
  最後,還得感謝一位流行歌手—“火星弟弟”華晨宇,他在舞颱上那一次次創意和感染力的演齣深深地吸引瞭我,他在颱下那認真刻苦作麯改歌的樣子也激勵著我,每次想到他的事跡,都給我極大的鼓勵。
  非常感謝本書的每一位讀者,本書的完成過程非常辛苦但也充滿甜蜜。我在“知乎”和網站上也會迴答關於“人工智能”的各類問題,希望通過內容的更新與讀者不斷交流。另外,由於水平有限,在內容上錶述上難免也有遺漏和疏忽,也懇請讀者多多指正。
  李嘉璿
  2017年4月於北京石景山





























《深度學習的基石:神經網絡原理與優化算法探秘》 引言 在當今飛速發展的科技浪潮中,深度學習已成為推動人工智能進步的核心驅動力。從圖像識彆到自然語言處理,從推薦係統到自動駕駛,深度學習模型的強大能力正深刻地改變著我們的世界。而作為深度學習模型的核心,神經網絡的原理和優化算法更是理解和應用深度學習的關鍵。本書《深度學習的基石:神經網絡原理與優化算法探秘》旨在為讀者係統地梳理神經網絡的理論基礎,深入剖析其工作機製,並詳盡介紹各類關鍵的優化算法,幫助讀者構建紮實的理論功底,為進一步探索更高級的深度學習技術奠定堅實的基礎。 第一章:神經網絡的基本構成與前世今生 本章將帶您迴顧神經網絡的發展曆程,從早期簡單的感知機模型,到人工神經網絡的萌芽,再到深度學習時代的蓬勃發展。我們將詳細介紹神經網絡最基本的組成單元——神經元,解釋其激活函數的作用,以及如何通過多層神經元的連接構成復雜的網絡結構。本章還將涵蓋前饋神經網絡、循環神經網絡、捲積神經網絡等經典網絡結構的初步介紹,為後續章節的深入探討打下基礎。我們將關注這些結構的設計思想和適用場景,讓讀者對神經網絡的多樣性有一個初步的認識。 第二章:激活函數:賦予網絡生命力的關鍵 激活函數是神經網絡中至關重要的組成部分,它賦予瞭神經網絡處理非綫性問題的能力。本章將深入探討幾種主流的激活函數,包括Sigmoid、Tanh、ReLU及其變種(Leaky ReLU、PReLU、ELU等)。我們將詳細分析它們的數學特性、優缺點,以及在不同網絡結構和應用場景下的適用性。例如,我們將討論Sigmoid函數在早期的應用以及它在深層網絡中可能遇到的梯度消失問題,並重點闡述ReLU係列激活函數如何有效解決這一問題,成為現代深度學習模型的主流選擇。我們還會探討如何根據具體任務選擇閤適的激活函數,以提升模型的性能。 第三章:損失函數:衡量模型錶現的標尺 損失函數是衡量神經網絡模型預測結果與真實標簽之間差異的度量標準。本章將係統介紹各種常用的損失函數,包括均方誤差(MSE)、交叉熵損失(Cross-Entropy Loss)、Hinge Loss等。我們將詳細解釋它們的數學定義、適用場景以及它們在不同類型的機器學習任務(如迴歸、分類)中所扮演的角色。例如,我們將深入剖析二元交叉熵和多類彆交叉熵的計算方式,並探討它們在處理概率預測和類彆劃分任務中的優勢。此外,我們還將討論損失函數的選擇如何直接影響模型的訓練方嚮和最終性能。 第四章:反嚮傳播算法:神經網絡訓練的核心驅動 反嚮傳播算法是訓練神經網絡的核心算法,它通過鏈式法則計算損失函數對網絡權重的梯度,並利用這些梯度來更新權重,從而使模型逐漸收斂到最優解。本章將對反嚮傳播算法進行詳盡的解析,從計算圖的角度理解梯度是如何在網絡中傳播的。我們將逐步推導反嚮傳播的數學公式,並結閤實例講解其計算過程。此外,我們還將討論反嚮傳播算法在計算效率和數值穩定性方麵可能遇到的挑戰,並為後續章節介紹的優化算法埋下伏筆。 第五章:梯度下降及其變種:探索最速下降的路徑 梯度下降是反嚮傳播算法應用的核心優化方法。本章將深入剖析經典的梯度下降算法,解釋其工作原理和收斂條件。在此基礎上,我們將介紹一係列梯度下降的變種算法,包括: 隨機梯度下降(SGD): 解釋其計算效率上的優勢以及可能帶來的收斂波動。 小批量梯度下降(Mini-batch Gradient Descent): 介紹其在效率和穩定性之間的平衡。 動量(Momentum): 闡述動量如何加速收斂並幫助跳齣局部最優。 Adagrad: 分析其對學習率自適應調整的機製,以及在稀疏數據上的錶現。 RMSprop: 解釋其如何通過平方梯度均值來歸一化學習率,解決Adagrad學習率衰減過快的問題。 Adam: 詳細介紹Adam算法,它是目前最受歡迎的優化器之一,結閤瞭動量和RMSprop的優點,具有良好的收斂性和魯棒性。 本章將通過直觀的圖示和數學推導,幫助讀者理解各種優化算法的內在機製,並指導讀者根據不同的應用場景選擇最閤適的優化器。 第六章:學習率調度:動態調整訓練節奏 學習率是梯度下降算法中的一個關鍵超參數,它決定瞭模型參數更新的步長。本章將探討學習率調度策略的重要性,以及如何通過動態調整學習率來提高模型的收斂速度和泛化能力。我們將介紹以下常見的學習率調度方法: 步長衰減(Step Decay): 按照預設的步長和衰減率逐步減小學習率。 指數衰減(Exponential Decay): 以指數方式衰減學習率。 餘弦退火(Cosine Annealing): 采用餘弦函數來調整學習率,在訓練初期保持較高的學習率,然後逐步減小,並在周期結束後可能重新提升。 學習率Warmup: 在訓練初期使用較小的學習率,然後逐漸增加到預設值,以避免在模型初始化階段因較大的梯度而導緻訓練不穩定。 我們將分析這些調度策略的數學原理,並通過實驗對比來展示它們對模型訓練效果的影響。 第七章:正則化技術:防止模型過擬閤的利器 過擬閤是深度學習模型訓練中常見的挑戰,它會導緻模型在訓練集上錶現良好,但在未見過的數據上泛化能力差。本章將深入介紹各種常用的正則化技術,用於提高模型的泛化能力: L1和L2正則化: 解釋它們如何通過在損失函數中添加懲罰項來約束模型權重,並討論它們對模型稀疏性和魯棒性的影響。 Dropout: 詳細闡述Dropout的工作原理,即在訓練過程中隨機“丟棄”一部分神經元,強製網絡學習更魯棒的特徵錶示。 Batch Normalization: 介紹Batch Normalization如何通過對每一層輸入的激活值進行歸一化,來加速訓練,穩定訓練過程,並起到一定的正則化作用。 數據增強(Data Augmentation): 探討如何通過對輸入數據進行各種變換(如鏇轉、翻轉、裁剪等)來增加訓練數據的多樣性,從而提高模型的泛化能力。 本章將從理論和實踐層麵深入剖析這些正則化技術,幫助讀者理解如何有效地對抗過擬閤,構建齣泛化能力強的深度學習模型。 第八章:模型評估與選擇:量化模型性能的科學方法 在訓練完模型後,如何準確地評估其性能並做齣明智的模型選擇是至關重要的。本章將介紹一係列模型評估指標和技術: 分類任務評估指標: 準確率(Accuracy)、精確率(Precision)、召迴率(Recall)、F1-Score、ROC麯綫和AUC值等。 迴歸任務評估指標: 均方誤差(MSE)、均方根誤差(RMSE)、平均絕對誤差(MAE)、R²分數等。 交叉驗證(Cross-Validation): 解釋K摺交叉驗證等技術,如何更全麵地評估模型的泛化能力,減少模型選擇的偶然性。 超參數調優: 介紹網格搜索、隨機搜索以及更高級的貝葉斯優化等方法,用於尋找最佳的模型超參數組閤。 本章將引導讀者掌握量化模型性能的科學方法,並學會如何根據評估結果做齣最優的模型選擇。 第九章:神經網絡的可視化與解釋性:理解模型的“黑箱” 盡管深度學習模型取得瞭巨大的成功,但其“黑箱”特性使得理解其內部工作機製變得睏難。本章將介紹一些可視化和解釋性技術,幫助讀者更好地理解神經網絡的決策過程: 可視化權重和激活: 如何通過可視化網絡層的權重分布和激活值,來洞察模型學習到的特徵。 可視化決策邊界: 如何通過可視化不同類彆在特徵空間中的決策邊界,來理解分類模型的判彆邏輯。 特徵重要性分析: 介紹一些方法來量化不同輸入特徵對模型預測結果的影響。 注意力機製(Attention Mechanism): 探討注意力機製如何讓模型在處理序列數據時“關注”到重要的信息,並如何通過可視化注意力權重來理解模型的關注點。 本章旨在提高讀者對神經網絡內部機製的理解,為調試和優化模型提供更深入的洞察。 第十章:實踐案例分析:理論與實戰的融閤 理論學習的最終目的是為瞭更好地解決實際問題。本章將通過幾個經典的深度學習應用場景,將前麵章節介紹的理論知識付諸實踐。我們將以實際代碼示例,結閤數據預處理、模型構建、訓練、評估和調優的全過程,展示如何應用神經網絡原理和優化算法來解決實際問題。例如,我們可能會涵蓋: 圖像分類的實現: 使用捲積神經網絡(CNN)進行圖像分類任務。 文本情感分析: 使用循環神經網絡(RNN)或Transformer模型進行文本情感分析。 迴歸預測: 使用多層感知機(MLP)或更復雜的模型進行迴歸預測。 通過這些實踐案例,讀者將能夠將理論知識轉化為實際操作能力,為自己獨立開發和應用深度學習模型打下堅實的基礎。 結論 《深度學習的基石:神經網絡原理與優化算法探秘》力求為讀者構建一個係統、深入、且易於理解的神經網絡理論框架。我們相信,通過對本書內容的深入學習和實踐,讀者不僅能夠掌握深度學習的核心原理,更能培養解決實際問題的能力,為在人工智能領域探索更廣闊的天地奠定堅實的基礎。

用戶評價

評分

這本書簡直是為我量身定做的!我一直對深度學習很感興趣,但苦於沒有一個係統性的入門指南,總是碎片化地學習一些概念,感覺像是零散的積木,搭不齣完整的模型。最近開始接觸一些實際項目,發現理論知識的不足嚴重阻礙瞭我的進展。在網上搜尋瞭很久,偶然看到瞭這本書的介紹,雖然當時還沒完全瞭解內容,但“技術解析與實戰”這幾個字就牢牢吸引瞭我。我希望這本書能像一位經驗豐富的老師,把我從迷茫中引領齣來,一步一步地教我如何理解 TensorFlow 的底層原理,而不是僅僅停留在 API 的調用層麵。我期待它能深入淺齣地講解各種算法的實現細節,比如捲積神經網絡是如何提取特徵的,循環神經網絡又是如何處理序列數據的,還有注意力機製的精妙之處。更重要的是,我希望書中能提供一些貼近實際應用場景的代碼示例,讓我能夠親手實踐,將學到的知識融會貫通,真正做到學以緻用。我尤其關注模型部署和性能優化的部分,因為這是將研究成果轉化為實際産品的關鍵環節。如果這本書能在這方麵有所建樹,那無疑會大大提升我的實戰能力。

評分

這本書的名字聽起來就充滿瞭技術深度,讓我對接下來的學習充滿瞭期待。我之前在工作中遇到過一些需要利用機器學習解決的問題,但受限於對 TensorFlow 的理解不夠深入,總是無法充分發揮其潛力。我特彆希望這本書能幫助我突破瓶頸,掌握 TensorFlow 的高級用法,例如如何利用分布訓練來加速模型的收斂,或者如何通過自定義算子來優化模型性能。對我而言,瞭解 TensorFlow 的內部運作機製至關重要,因為隻有理解瞭“為什麼”這樣設計,我纔能更靈活地運用它,解決那些非標準化的難題。這本書如果能提供一些關於 TensorFlow 性能調優的實操技巧,比如如何使用 TensorFlow Profiler 來分析模型瓶頸,以及如何針對不同硬件平颱進行優化,那就太棒瞭。我還在思考,這本書是否會涉及一些 TensorFlow 在特定領域的應用,比如自然語言處理、計算機視覺或者強化學習中的前沿技術?如果能有這方麵的深入探討,那這本書的價值就更高瞭。總而言之,我期待這本書能帶我進入 TensorFlow 的“內功心法”境界,讓我不僅能“用”,更能“精通”。

評分

坦白說,我對 TensorFlow 的瞭解還停留在“知道有這麼個東西”的階段,身邊很多朋友都在用,而且效果都很好,所以我一直想找一本能夠真正帶我入門的書。這本書的名字聽起來就比較“接地氣”,而且“解析”和“實戰”的組閤,讓我覺得它既有理論深度,又不失操作指導。我希望這本書能非常詳細地介紹 TensorFlow 的核心組件,比如張量(Tensor)的概念,計算圖(Computation Graph)的工作原理,以及各種優化器(Optimizer)和損失函數(Loss Function)的作用。我希望它能用非常清晰的語言解釋這些概念,避免過於晦澀的術語。同時,我也非常期待書中能夠提供很多實際操作的例子,從最簡單的“Hello, TensorFlow”開始,逐步引導我完成一些有意思的任務。比如,如何用 TensorFlow 訓練一個簡單的綫性迴歸模型,或者如何用它來實現一個基本的神經網絡。如果書中還能介紹一些常用的數據加載和處理工具,以及如何進行模型的可視化,那對我這樣一個新手來說,絕對是雪中送炭。

評分

這本書的內容看起來非常吸引人,我尤其關注它在“實戰”方麵的講解。我在之前的學習中,雖然接觸過一些 TensorFlow 的 API,但總感覺理論知識與實際應用之間存在一道鴻溝。我希望能在這本書中找到連接這道鴻溝的橋梁。我期待書中能夠提供一係列完整的項目案例,從數據準備、模型設計、訓練到最終的部署,能夠完整地展示一個實際應用的開發流程。例如,我希望能看到如何使用 TensorFlow 構建一個圖像分類器,或者一個文本生成模型。更進一步,我希望書中能分享一些關於如何選擇閤適的模型架構、如何進行超參數調優以及如何處理過擬閤和欠擬閤等實戰經驗。如果書中還能探討一些關於如何利用 TensorFlow 部署模型到不同平颱,例如服務器、移動端或者嵌入式設備上的方法,那將極大地提升這本書的實用價值。我希望通過閱讀這本書,能夠真正掌握將 TensorFlow 應用於解決實際問題的能力,而不是停留在理論層麵。

評分

我是一名初學者,對機器學習和深度學習領域充滿瞭好奇,但又有些不知所措。看到這本書的名字,我希望它能成為我的“啓濛老師”。我不需要那些過於晦澀的數學推導,而是更傾嚮於能夠理解 TensorFlow 的基本概念和常用功能。我想知道如何安裝和配置 TensorFlow 環境,如何搭建一個簡單的神經網絡模型,以及如何訓練和評估模型。這本書如果能提供一些清晰易懂的圖示和代碼示例,幫助我一步步地建立起對 TensorFlow 的直觀認識,那將是非常有幫助的。我特彆希望書中能夠講解一些常見的深度學習模型,比如多層感知機、捲積神經網絡和循環神經網絡,並展示如何在 TensorFlow 中實現它們。此外,如果書中還能包含一些關於如何處理數據集、進行數據預處理以及如何解決訓練過程中可能遇到的常見問題的指導,那對我的學習過程將是莫大的幫助。我希望這本書能夠讓我對 TensorFlow 産生濃厚的興趣,並為我未來深入學習打下堅實的基礎。

評分

數學機械化、知識圖譜背後那些故事,挺有意思,很適閤於科外學習~

評分

Python神經網絡編程

評分

公司同事推薦購買的圖書,非常受歡迎,非常不錯,推薦

評分

書內容充實,深入淺齣,可以好好學習啦

評分

慚愧,買瞭這麼久還沒拆封。習慣性給好評!

評分

科普之作,可以先係統瞭解學習下

評分

物超所值,值得推薦

評分

未來市場的開發趨勢,多掌握一些

評分

信賴京東。不錯不錯。

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有