齣版社: 電子工業齣版社 ISBN:9787121330667版次:1商品編碼:12287533品牌:Broadview包裝:平裝開本:16齣版時間:2018-02-01用紙:膠版紙頁數:364
編輯推薦
√ 前榖歌專傢、現Tensorflow創業新貴,新版力邀現榖歌專傢加盟,共話新版核心技術與前沿案例。
√ 本書前版作為業界首著伴隨Tensorflow火遍全球,旨在麵嚮生産|商業場景,徹底貫通原理|實踐。
√ 深入原理|走訪主創|結閤真實項目,AI、ML團隊爭相贊譽力薦,與Tensorflow一道成為事實標準。
√ 代碼全麵升級為1.4+版,重點關注新版功能,增設專題論述TF高層封裝和深度學習自然語言應用。
內容簡介
TensorFlow是榖歌2015年開源的主流深度學習框架,目前已得到廣泛應用。《TensorFlow:實戰Google深度學習框架(2版)》為TensorFlow入門參考書,旨在幫助讀者以快速、有效的方式上手TensorFlow和深度學習。書中省略瞭煩瑣的數學模型推導,從實際應用問題齣發,通過具體的TensorFlow示例介紹如何使用深度學習解決實際問題。書中包含深度學習的入門知識和大量實踐經驗,是走進這個前沿、熱門的人工智能領域的優選參考書。
2版將書中所有示例代碼從TensorFlow 0.9.0升級到瞭TensorFlow 1.4.0。在升級API的同時,2版也補充瞭更多隻有TensorFlow 1.4.0纔支持的功能。另外,2版還新增兩章分彆介紹TensorFlow高層封裝和深度學習在自然語言領域應用的內容。
《TensorFlow:實戰Google深度學習框架(2版)》適用於想要使用深度學習或TensorFlow的數據科學傢、工程師,希望瞭解深度學習的大數據平颱工程師,對人工智能、深度學習感興趣的計算機相關從業人員及在校學生等。
作者簡介
鄭澤宇,2011年獲北京大學計算機學士學位,2013年獲卡內基梅隆大學計算機碩士學位,前榖歌高級工程師,現為纔雲科技(Caicloud.io)聯閤創始人、首席大數據科學傢。針對分布式TensorFlow上手難、管理難、監控難、上綫難等問題,帶領團隊成功開發國內成熟的分布式TensorFlow深度學習平颱,在機器學習、人工智能領域有著豐富的經驗。
梁博文,榖歌工程師。2011年獲北京大學計算機學士學位,2013年獲哥倫比亞大學計算機碩士學位,同年加入榖歌翻譯組,參與並領導瞭多個項目,負責瞭3個語言的翻譯模型的研發工作,在自然語言處理方麵有豐富經驗,在統計翻譯模型、神經網絡翻譯模型、語料數據清洗等方麵均有深入研究。
精彩書評
終於等到這本TensorFlow技術書的升級。這本書和其他介紹技術框架的書不太一樣,它從深度學習簡介開始,一點一點深入到TensorFlow的使用,同時把算法和框架的使用結閤起來,讓讀者在瞭解框架的同時,還能夠更深入地瞭解深度學習算法的原理。示例代碼注釋詳盡,語言風格通俗易懂,算法介紹由淺入深,可謂是難得的好書。
——馮博 TalkingData 數據科學傢
本書由淺入深,介紹瞭TensorFlow在典型場景中的應用實踐,提供分布式訓練等大量實例,是TensorFlow開發者和深度學習愛好者的優選參考資料。
——陳迪豪 四範式先知平颱架構師
Google的每一次技術發布,都會成為萬眾矚目的焦點。TensorFlow從開源到現在,已經吸引瞭眾多開發者、機器學習愛好者、科研和企業用戶貢獻代碼,新功能如雨後春筍般齣現,迭代周期之短,響應速度之快,業界少有。其獨特的張量(Tensor)和圖(Graph)構建算法模型的方式讓人耳目一新,給模型設計者更大的自由度。TensorFlow的入門學習資源也琳琅滿目,讓人無從選擇,《TensorFlow:實戰Google深度學習框架(2版)》這本書,從基本概念到完整模型,從抽象理論到工程實現,涵蓋瞭圖像、文本領域的常用方法,以及可視化和分布式計算等高級主題,相信開捲之後大有裨益,助力開發者完成産品級應用落地。
——趙永科 阿裏雲資深研發工程師
Google的深度學習開源方案TensorFlow近年來在人工智能領域被廣泛使用並大放異彩。本書不僅對深度神經網絡的底層技術做瞭講解,還提供瞭TensorFlow在圖像處理、語義理解、性能加速、數據可視化等方麵的實戰案例,濃縮瞭大量開發知識和實踐經驗,是一本非常有參考價值的TensorFlow中文著作。
陳運文 達觀數據董事長兼CEO
TensorFlow作為主流的深度學習框架,已經被積極地應用於各類商業産品中,成為機器學習工程師必須瞭解的知識。本書不僅介紹瞭深度學習的發展及應用,還提供瞭環境搭建教程及實際問題的解決技巧。本書避免瞭晦澀數學公式所帶來的負擔,通俗易懂。建議想要入門並瞭解深度學習理論和應用的朋友們閱讀!
——趙越 普華永道高級數據科學傢
本書作者以美國知名大學讀研的學識、Google全職算法專傢的經驗,從0到1係統地講解瞭深度學習以及非常受歡迎的深度學習框架TensorFlow的相關知識,提供瞭多種場景的應用實例,是深度學習應用領域的代錶性作品。
——嚮光 北京數問科技有限公司創始人、CEO,
Carnegie Mellon University計算機博士
這是一本關於TensorFlow實戰的書,通俗易懂,深入淺齣,強烈建議大傢持捲品讀!
——唐建 濛特利爾大學深度學習算法中心助理教授
目錄
1章 深度學習簡介
1.1 人工智能、機器學習與深度學習
1.2 深度學習的發展曆程
1.3 深度學習的應用
1.3.1 計算機視覺
1.3.2 語音識彆
1.3.3 自然語言處理
1.3.4 人機博弈
1.4 深度學習工具介紹和對比
小結
2章 TensorFlow環境搭建
2.1 TensorFlow的主要依賴包
2.1.1 Protocol Buffer
2.1.2 Bazel
2.2 TensorFlow安裝
2.2.1 使用Docker安裝
2.2.2 使用pip安裝
2.2.3 從源代碼編譯安裝
2.3 TensorFlow測試樣例
小結
3章 TensorFlow入門
3.1 TensorFlow計算模型——計算圖
3.1.1 計算圖的概念
3.1.2 計算圖的使用
3.2 TensorFlow數據模型——張量
3.2.1 張量的概念
3.2.2 張量的使用
3.3 TensorFlow運行模型——會話
3.4 TensorFlow實現神經網絡
3.4.1 TensorFlow遊樂場及神經網絡簡介
3.4.2 前嚮傳播算法簡介
3.4.3 神經網絡參數與TensorFlow變量
3.4.4 通過TensorFlow訓練神經網絡模型
3.4.5 完整神經網絡樣例程序
小結
4章 深層神經網絡
4.1 深度學習與深層神經網絡
4.1.1 綫性模型的局限性
4.1.2 激活函數實現去綫性化
4.1.3 多層網絡解決異或運算
4.2 損失函數定義
4.2.1 經典損失函數
4.2.2 自定義損失函數
4.3 神經網絡優化算法
4.4 神經網絡進一步優化
4.4.1 學習率的設置
4.4.2 過擬閤問題
4.4.3 滑動平均模型
小結
5章 MNIST數字識彆問題
5.1 MNIST數據處理
5.2 神經網絡模型訓練及不同模型結果對比
5.2.1 TensorFlow訓練神經網絡
5.2.2 使用驗證數據集判斷模型效果
5.2.3 不同模型效果比較
5.3 變量管理
5.4 TensorFlow模型持久化
5.4.1 持久化代碼實現
5.4.2 持久化原理及數據格式
5.5 TensorFlow佳實踐樣例程序
小結
6章 圖像識彆與捲積神經網絡
6.1 圖像識彆問題簡介及經典數據集
6.2 捲積神經網絡簡介
6.3 捲積神經網絡常用結構
6.3.1 捲積層
6.3.2 池化層
6.4 經典捲積網絡模型
6.4.1 LeNet-5模型
6.4.2 Inception-v3模型
6.5 捲積神經網絡遷移學習
6.5.1 遷移學習介紹
6.5.2 TensorFlow實現遷移學習
小結
7章 圖像數據處理
7.1 TFRecord輸入數據格式
7.1.1 TFRecord格式介紹
7.1.2 TFRecord樣例程序
7.2 圖像數據處理
7.2.1 TensorFlow圖像處理函數
7.2.2 圖像預處理完整樣例
7.3 多綫程輸入數據處理框架
7.3.1 隊列與多綫程
7.3.2 輸入文件隊列
7.3.3 組閤訓練數據(batching)
7.3.4 輸入數據處理框架
7.4 數據集(Dataset)
7.4.1 數據集的基本使用方法
7.4.2 數據集的高層操作
小結
8章 循環神經網絡
8.1 循環神經網絡簡介
8.2 長短時記憶網絡(LSTM)結構
8.3 循環神經網絡的變種
8.3.1 雙嚮循環神經網絡和深層循環神經網絡
8.3.2 循環神經網絡的dropout
8.4 循環神經網絡樣例應用
21個項目玩轉深度學習——基於TensorFlow的實踐詳解
作 譯 者: |
齣版時間:2018-03 | 韆 字 數:368 | 版 次:01-01 | 頁 數:372 | 開 本:16開 | 裝 幀: | I S B N :9787121335716 | | 換 版: |
|
所屬分類: >> >> |
紙質書定價:¥79.0 |
內容簡介
《21個項目玩轉深度學習——基於TensorFlow的實踐詳解》以實踐為導嚮,深入介紹瞭深度學習技術和TensorFlow框架編程內容。通過本書,讀者可以訓練自己的圖像識彆模型、進行目標檢測和人臉識彆、完成一個風格遷移應用,還可以使用神經網絡生成圖像和文本,進行時間序列預測、搭建機器翻譯引擎,訓練機器玩遊戲等。全書共包含21個項目,分為深度捲積網絡、RNN網絡、深度強化學習三部分。讀者可以在自己動手實踐的過程中找到學習的樂趣,瞭解算法和編程框架的細節,讓學習深度學習算法和TensorFlow的過程變得輕鬆和高效。本書基於TensorFlow 1.4版本,並介紹瞭該版本中的一些新特性。
前言
1章 MNIST機器學習入門 1
1.1 MNIST數據集 2
1.1.1 簡介 2
1.1.2 實驗:將MNIST數據集保存為圖片 5
1.1.3 圖像標簽的獨熱(one-hot)錶示 6
1.2 利用TensorFlow識彆MNIST 8
1.2.1 Softmax迴歸 8
1.2.2 兩層捲積網絡分類 14
1.3 總結 18
2章 CIFAR-10與ImageNet圖像識彆 19
2.1 CIFAR-10數據集 20
2.1.1 CIFAR-10簡介 20
2.1.2 下載CIFAR-10數據 21
2.1.3 TensorFlow的數據讀取機製 23
2.1.4 實驗:將CIFAR-10數據集保存為圖片形式 30
2.2 利用TensorFlow訓練CIFAR-10識彆模型 34
2.2.1 數據增強(Data Augmentation) 34
2.2.2 CIFAR-10識彆模型 36
2.2.3 訓練模型 39
2.2.4 在TensorFlow中查看訓練進度 39
2.2.5 測試模型效果 42
2.3 ImageNet圖像識彆模型 44
2.3.1 ImageNet數據集簡介 44
2.3.2 曆代ImageNet圖像識彆模型 45
2.4 總結 49
3章 打造自己的圖像識彆模型 50
3.1 微調(Fine-tune)的原理 51
3.2 數據準備 52
3.3 使用TensorFlow Slim微調模型 56
3.3.1 下載TensorFlow Slim的源代碼 56
3.3.2 定義新的datasets文件 57
3.3.3 準備訓練文件夾 59
3.3.4 開始訓練 60
3.3.5 訓練程序行為 62
3.3.6 驗證模型正確率 63
3.3.7 TensorBoard可視化與參數選擇 64
3.3.8 導齣模型並對單張圖片進行識彆 65
3.4 總結 69
4章 Deep Dream模型 70
4.1 Deep Dream的技術原理 71
4.2 TensorFlow中的Deep Dream模型實踐 73
4.2.1 導入Inception模型 73
4.2.2 生成原始的Deep Dream圖像 76
4.2.3 生成更大尺寸的Deep Dream圖像 78
4.2.4 生成更高質量的Deep Dream圖像 82
4.2.5 終的Deep Dream模型 87
4.3 總結 90
5章 深度學習中的目標檢測 91
5.1 深度學習中目標檢測的原理 92
5.1.1 R-CNN的原理 92
5.1.2 SPPNet的原理 94
5.1.3 Fast R-CNN的原理 97
5.1.4 Faster R-CNN的原理 98
5.2 TensorFlow Object Detection API 101
5.2.1 安裝TensorFlow Object Detection API 101
5.2.2 執行已經訓練好的模型 103
5.2.3 訓練新的模型 109
5.2.4 導齣模型並預測單張圖片 113
5.3 總結 114
6章 人臉檢測和人臉識彆 115
6.1 MTCNN的原理 116
6.2 使用深度捲積網絡提取特徵 121
6.2.1 三元組損失(Triplet Loss)的定義 123
6.2.2 中心損失(Center Loss)的定義 123
6.3 使用特徵設計應用 125
6.4 在TensorFlow中實現人臉識彆 126
6.4.1 項目環境設置 126
6.4.2 LFW人臉數據庫 127
6.4.3 LFW數據庫上的人臉檢測和對齊 128
6.4.4 使用已有模型驗證LFW數據庫準確率 129
6.4.5 在自己的數據上使用已有模型 130
6.4.6 重新訓練新模型 133
6.4.7 三元組損失和中心損失的定義 138
6.5 總結 140
7章 圖像風格遷移 141
7.1 圖像風格遷移的原理 142
7.1.1 原始圖像風格遷移的原理 142
7.1.2 快速圖像風格遷移的原理 148
7.2 在TensorFlow中實現快速風格遷移 149
7.2.1 使用預訓練模型 150
7.2.2 訓練自己的模型 153
7.2.3 在TensorBoard中監控訓練情況 154
7.2.4 項目實現細節 157
7.3 總結 162
8章 GAN和DCGAN入門 163
8.1 GAN的原理 164
8.2 DCGAN的原理 166
8.3 在TensorFlow中用DCGAN生成圖像 169
8.3.1 生成MNIST圖像 170
8.3.2 使用自己的數據集訓練 171
8.3.3 程序結構分析:如何將圖像讀入模型 173
8.3.4 程序結構分析:可視化方法 177
8.4 總結 180
9章 pix2pix模型與自動上色技術 181
9.1 cGAN的原理 182
9.2 pix2pix模型的原理 184
9.3 TensorFlow中的pix2pix模型 187
9.3.1 執行已有的數據集 187
9.3.2 創建自己的數據集 191
9.4 使用TensorFlow為灰度圖像自動上色 194
9.4.1 為食物圖片上色 194
9.4.2 為動漫圖片進行上色 196
9.5 總結 198
10章 分辨率:如何讓圖像變得更清晰 199
10.1 數據預處理與訓練 200
10.1.1 去除錯誤圖片 200
10.1.2 將圖像裁剪到統一大小 202
10.1.3 為代碼添加新的操作 202
10.2 總結 209
11章 CycleGAN與非配對圖像轉換 210
11.1 CycleGAN的原理 211
11.2 在TensorFlow中用訓練CycleGAN模型 213
11.2.1 下載數據集並訓練 213
11.2.2 使用自己的數據進行訓練 217
11.3 程序結構分析 220
11.4 總結 224
12章 RNN基本結構與Char RNN文本生成 225
12.1 RNN的原理 226
12.1.1 經典RNN的結構 226
12.1.2 N VS 1 RNN的結構 229
12.1.3 1 VS N RNN的結構 230
12.2 LSTM的原理 231
12.3 Char RNN的原理 235
12.4 TensorFlow中的RNN實現方式 237
12.4.1 實現RNN的基本單元:RNNCell 238
12.4.2 對RNN進行堆疊:MultiRNNCell 239
12.4.3 注意點:BasicRNNCell和BasicLSTMCell的output 240
12.4.4 使用tf.nn.dynamic_rnn展開時間維度 241
12.5 使用TensorFlow實現Char RNN 242
12.5.1 定義輸入數據 243
12.5.2 定義多層LSTM模型 244
12.5.3 定義損失 245
12.5.4 訓練模型與生成文字 246
12.5.5 更多參數說明 250
12.5.6 運行自己的數據 250
12.6 總結 251
13章 序列分類問題詳解 252
13.1 N VS 1的RNN結構 253
13.2 數列分類問題與數據生成 254
13.3 在TensorFlow中定義RNN分類模型 258
13.3.1 定義模型前的準備工作 258
13.3.2 定義RNN分類模型 259
13.3.3 定義損失並進行訓練 261
13.4 模型的推廣 262
13.5 總結 263
14章 詞的嚮量錶示:word2vec與詞嵌入 264
14.1 為什麼需要做詞嵌入 265
14.2 詞嵌入的原理 266
14.2.1 CBOW實現詞嵌入的原理 266
14.2.2 Skip-Gram實現詞嵌入的原理 269
14.3 在TensorFlow中實現詞嵌入 270
14.3.1 下載數據集 270
14.3.2 製作詞錶 272
14.3.3 生成每步的訓練樣本 274
14.3.4 定義模型 276
14.3.5 執行訓練 279
14.3.6 可視化 281
14.4 與12章的對比 284
14.5 總結 285
15章 在TensorFlow中進行時間序列預測 286
15.1 時間序列問題的一般形式 287
15.2 用TFTS讀入時間序列數據 287
15.2.1 從Numpy數組中讀入時間序列數據 288
15.2.2 從CSV文件中讀入時間序列數據 291
15.3 使用AR模型預測時間序列 293
15.3.1 AR模型的訓練 293
15.3.2 AR模型的驗證和預測 295
15.4 使用LSTM模型預測時間序列 297
15.4.1 LSTM模型中的單變量時間序列預測 297
15.4.2 LSTM模型中的多變量時間序列預測 299
15.5 總結 301
16章 神經網絡機器翻譯技術 302
16.1 Encoder-Decoder模型的原理 303
16.2 注意力機製(Attention) 305
16.3 使用TensorFlow NMT搭建神經網絡翻譯引擎 309
16.3.1 示例:將越南語翻譯為英語 309
16.3.2 構建中英翻譯引擎 313
16.4 TensorFlow NMT源碼簡介 317
16.5 總結 319
17章 看圖說話:將圖像轉換為文字 320
17.1 Image Caption技術綜述 321
17.1.1 從Encoder-Decoder結構談起 321
17.1.2 將Encoder-Decoder應用到Image Caption任務上 322
17.1.3 對Encoder-Decoder的改進1:加入Attention機製 323
17.1.4 對Encoder-Decoder的改進2:加入高層語義 325
17.2 在TensorFlow中實現Image Caption 327
17.2.1 下載代碼 327
17.2.2 環境準備 328
17.2.2 編譯和數據準備 328
17.2.3 訓練和驗證 330
17.2.4 測試單張圖片 331
17.3 總結 332
18章 強化學習入門之Q 333
18.1 強化學習中的幾個重要概念 334
18.2 Q Learning的原理與實驗 336
18.2.1 環境定義 336
18.2.2 Q函數 338
18.2.3 Q函數的學習策略 339
18.2.4 ?-greedy策略 341
18.2.5 簡單的Q Learning示例 341
18.2.6 更復雜的情況 342
18.3 總結 343
19章 強化學習入門之SARSA算法 344
19.1 SARSA 算法的原理 345
19.1.1 通過與Q Learning對比學習SARSA算法 345
19.1.2 off-policy與on-policy 346
19.2 SARSA 算法的實現 347
19.3 總結 348
20章 深度強化學習:Deep Q Learning 349
20.1 DQN算法的原理 350
20.1.1 問題簡介 350
20.1.2 Deep Q Network 351
20.1.3 訓練方法 352
20.2 在TensorFlow中運行DQN算法 353
20.2.1 安裝依賴庫 353
20.2.2 訓練 355
20.2.3 測試 356
20.3 在TensorFlow中DQN算法的實現分析 357
20.4 總結 360
21章 策略梯度(Policy Gradient)算法 361
21.1 策略梯度(Policy Gradient)算法的原理 362
21.1.1 Cartpole遊戲 362
21.1.2 策略網絡(Policy Network) 363
21.1.3 訓練策略網絡 364
21.2 在TensorFlow中實現策略梯度 算法 365
21.2.1 初始化 365
21.2.2 定義策略網絡 366
21.2.3 訓練 367
21.3 總結 371