總金額: 會員:NT$ 0 非會員:NT$ 0 
(此金額尚未加上運費)
電子電信技術 電腦技術 計算技術、計算機技術
 
 
 
 
21個項目玩轉深度學習:基於TensorFlow的實踐詳解
 作  者: 何之源
 出版單位: 電子工業
 出版日期: 2018.03
 進貨日期: 2018/11/26
 ISBN: 9787121335716
 開  本: 16 開    
 定  價: 593
 售  價: 474
  會 員 價 : 435
推到Facebook 推到Plurk 推到Twitter
前往新書區 書籍介紹 購物流程  
 
編輯推薦:

1.本書以TensorFlow為工具,從基礎的MNIST手寫體識別開始,介紹了基礎的卷積神經網路、迴圈神經網路,還包括正處於前沿的對抗生成網路、深度強化學習等課題,代碼基於TensorFlow 1.4.0 及以上版本。

2.書中所有內容由21個可以動手實驗的專案組織起來,並在其中穿插TensorFlow的教學,讓你可以在實踐中比較輕鬆地學習到深度學習領域的基礎知識,掌握TensorFlow的使用方法,並積累豐富的深度學習實戰經驗。

3.通過本書,可以學到:

在動手實踐中快速入門深度學習領域。

通過


內容簡介:

《21個專案玩轉深度學習——基於TensorFlow的實踐詳解》以實踐為導向,深入介紹了深度學習技術和TensorFlow框架編程內容。通過本書,讀者可以訓練自己的圖像識別模型、進行目標檢測和人臉識別、完成一個風格遷移應用,還可以使用神經網路生成圖像和文本,進行時間序列預測、搭建機器翻譯引擎,訓練機器玩遊戲等。全書共包含21個專案,分為深度卷積網路、RNN網路、深度強化學習三部分。讀者可以在自己動手實踐的過程中找到學習的樂趣,瞭解演算法和編程框架的細節,讓學習深度學習演算法和TensorFlow的過程變得輕鬆和高效。本書基於TensorFlow 1.4版本,並介紹了該版本中的一些新特性。


作者簡介:

何之源,知乎專欄AI Insight作者。針對Tensorflow早期學習案例不足的情況,在網上撰寫了大量實踐文章與TensorFlow教程,教程風格清晰易懂又不失深度,獲得了廣大讀者的肯定。熱愛編程,在人工智慧和深度學習領域有豐富的實踐經驗。


圖書目錄:

前言
第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


章節試讀:

我們正處在一個日新月異、飛速變革的時代,層出不窮的新技術每天都在衝擊和改變我們的生活。人工智慧無疑是其中最受關注、也是影響最深遠的技術領域。它為電腦插上了翅膀,演變出許多從前根本無法想像的新技術、新應用。AlphaGoZero,一臺沒有任何先驗知識的人工智慧機器,可以在幾天內通過自我博弈成長為世界第一的圍棋大師,超越人類幾千年積累的經驗;風格遷移應用能夠自動將用戶的照片轉變為著名的繪畫藝術風格;機器可以在零點幾秒內完成翻譯,把一種語言譯成另一種語言。此外,有關人臉識別、自動駕駛等新技術的應用也都紛紛開始落地。在過去的幾年內,人工智慧技術不僅在學術上取得了巨大的突破,也開始走向尋常百姓家,真正為人們的生活提供便利。

  本書主要為讀者介紹這次人工智慧浪潮最重要的組成部分——深度學習技術,使用的編程框架是穀歌的TensorFlow。借助於穀歌巨大的影響力,TensorFlow一經發佈就引起了廣泛的關注,目前(截止至2017年底)TensorFlow在Github上已經有了8萬4千多個Star,是所有深度學習框架中最多的。

  鑒於目前市場上已有很多深度學習和TensorFlow的入門書籍,下麵我們著重談一談本書與它們的不同之處,主要有以下幾點:

實踐、應用導向。深度學習需要深厚的數理基礎,對於初學者來說不是很友好。本書希望從實踐出發,用具體的例子來引導讀者學習深度學習技術和TensorFlow編程技巧。我們主要從實用性和趣味性兩個方面考量,選擇了21個實踐專案,其中既有MNIST圖像識別這樣的入門專案,也有目標檢測、人臉識別、時間序列預測這樣的實用性專案,還有一些諸如DeepDream這樣的趣味性專案。讀者可以在實踐中找到樂趣,逐漸進步,讓學習深度學習和TensorFlow的過程不再那麼痛苦。

清晰、有深度的介紹。在寫書過程中,我們儘量用簡單的語言來描述演算法的原理,做到清晰有條理。此外,深度學習是一門還在快速發展的新技術,限於篇幅所限,很多內容不能完全寫到書中,我們在大部分章節的末尾列出了拓展閱讀材料,有興趣的讀者可以參考拓展材料進一步學習細節知識。

基於TensorFlow1.4版本。TensorFlow的發展非常迅速,本書代碼全部基於TensorFlow最新的1.4版本(包括1.4.0和1.4.1),並介紹了TensorFlow的一些新特性,如TimeSeries模組(1.3版本添加)、新的MultiRNNCell函數(1.2版本更改)等。本書的代碼會在如下Github地址上提供,並會隨新的TensorFlow版本的發佈而同步更新:https://github.com/hzy46/Deep-Learning-21-Examples。

  本書代碼推薦的運行環境為:Ubuntu14.04,Python2.7、TensorFlow1.4.0。請儘量使用類Unix系統和Python2來運行本書的代碼。



本書主要內容

  本書共包括21章,內容編排如下:

  第1到第11章主要介紹深度卷積神經相關的專案。其中,第1~3章屬於入門章節,主要討論深度學習中最基礎的圖像識別問題。第4~7章討論了其他電腦視覺相關的實踐案例,如目標識別、人臉識別、圖像風格遷移等。最後,8~11章介紹了GAN模型和它的幾個重要變體。

  第12到第17章主要介紹RNN、LSTM相關的專案。RNN、LSTM通常用來處理序列型數據,這堬12章是一個入門章節,會詳細介紹RNN和LSTM的原理、實現方法和一個應用實例——CharRNN。第13到17章討論一些更複雜也更具體的案例,如序列分類、詞嵌入表示、時間序列預測、機器翻譯等。

  第18到第21章主要介紹強化學習相關的專案。作為基礎,第18、19章分別介紹了相對簡單的QLearning和SARSA演算法,第20章和第21章介紹了更複雜的DQN和策略梯度演算法。

  如何閱讀本書

  在閱讀此書前,讀者應當瞭解Linux系統的基本操作,並會使用Python進行簡單的編程,此外讀者還需具備基礎的機器學習知識。這本書章節的安排是依據讀者對深度學習的瞭解循序漸進設立的,建議初學者從前至後閱讀。由於深度學習和TensorFlow都不大易於理解,我建議讀者分幾遍閱讀本書:

第一遍先簡單的流覽一下,看一看書中都有哪些實踐專案。當對基本的概念有初步的理解時,就可以嘗試配置一下開發環境。

第二遍,從前至後,閱讀各章中演算法的原理,並運行相應的實踐專案。在這個過程中,希望讀者能在自己動手的過程中找到學習的樂趣。讀者可以對照源代碼和書中的內容,深入學習各個模型的細節,此外還可以根據自己的需求對代碼進行修改。本書會涉及到大量TensorFlow中的函數,由於篇幅限制,不可能將每一個函數都介紹一遍,書中只會對比較重要的函數進行介紹,讀者可以參考TensorFlow的官方文檔,查看其他函數的功能說明。

第三遍再根據需要對照根源程式看相關章節。此外,讀者還可以參閱章節最後的拓展閱讀來作進一步學習。最後,如果你是一名深度學習和TensorFlow的精通者,也可以根據需要直接跳讀到相關章節,查閱你需要的內容。



致謝

  我首先要感謝我的父母,是他們將我養育成人,父母永遠健康快樂是我最大的心願。

  感謝互聯網時代,感謝網路上數不清的優秀開發者和博主,也感謝穀歌的開源精神,讓我們可以如此緊跟時代最前沿的技術,並為技術的進步做出自己微薄的貢獻。

  我還要真誠地感謝電子工業出版社對這本書的認可和興趣。感謝電子工業出版社的孫學瑛女士,她的熱情推動最終促成了我與電子工業出版社的合作。感謝孫亞東編輯,他對本書的重視和誠懇的建議,在寫作過程中給了我莫大的幫助。

  最後,感謝劉婧源同學給本書提出的寶貴的意見。

  由於本人水準有限,書中不足及錯誤之處在所難免,敬請專家和讀者給予批評指正。如果您想和我進行技術交流,可以發送意見回饋郵件至hzydl21@163.com,亦可在知乎上找到我:https://www.zhihu.com/people/he-zhi-yuan-16/,此外還可以訪問書友論壇http://forum.broadview.com.cn。



何之源

  2018年1月1日


圖片預覽:

 
  步驟一.
依據網路上的圖書,挑選你所需要的書籍,根據以下步驟進行訂購
選擇產品及數量 結 帳 輸入基本資料 取貨與付款方式
┌───────────────────────────────────────────────────┘
資料確定 確認結帳 訂單編號    

步驟二.
完成付款的程序後,若採用貨到付款等宅配方式,3~7天內 ( 例假日將延期一至兩天 ) 您即可收到圖書。若至分店門市取貨,一週內聯絡取書。

步驟三.
完成購書程序者,可利用 訂單查詢 得知訂單進度。

注意事項.
● 付款方式若為網路刷卡必須等" 2 ~ 3 個工作天"確認款項已收到,才會出貨.如有更改書籍數量請記得按更新購物車,謝謝。

● 大陸出版品封面老舊、磨痕、凹痕等均屬常態,除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。

● 部分書籍附贈配件(如音頻mp3或dvd等)已無實體光碟提供,需以QR CODE 連結至出版社提供的網站註冊並通過驗證程序,方可下載使用。

● 我們將保留所有商品出貨權利,如遇缺書情形,訂單未達免運門檻運費需自行負擔。

預訂海外庫存.
商品到貨時間須4週,訂單書籍備齊後方能出貨,如果您有急用書籍,建議與【預訂海外庫存】商品分開訂購。