Keras 深度學習實戰 Keras深度学习实战

[意大利]安東尼奧·古利(Antonio、Gulli)、、[印度]蘇伊

立即出貨

買這商品的人也買了...

商品描述

作為一kuan輕量級、模塊化的開源深度學習框架,Keras以容易上手、利於快速原型實現、能夠與TensorFlow和Theano等後端計算平臺很好兼容等優點,深受眾多開發人員和研究人員的喜愛。

本書結合大量實例,簡明扼要地介紹了目前熱門的神經網絡技術和深度學習技術。從經典的多層感知機到用於圖像處理的深度捲積網絡,從處理序列化數據的循環網絡到偽造模擬數據的生成對抗網絡,從詞嵌入到AI遊戲應用中的強化學習,本書引ling讀者一層一層揭開深度學習的面紗,並在逐漸清晰的理論框架下,提供多個Python編碼實例,方便讀者動手實踐。

通過閱讀本書,讀者不僅能學會使用Keras快捷構建各個類型的深度網絡,還可以按需自定義網絡層和後端功能,從而提升自己的AI編程能力,在成為深度學習專家的路上更進一步。

作者簡介

作者:[意大利]安東尼奧·古利(Antonio Gulli)、 [印度]蘇伊特·帕爾(Sujit Pal)譯者:王海玲李昉

作者簡介
Antonio Gulli是企業領導和軟件部門高管,具備創新精神和執行力,並樂於發現和管理全球高科技人才。他是搜索引擎、在線服務、機器學習、信息檢索、數據分析以及雲計算等多方面的專家。他幸運地擁有歐洲4個不同國家的工作經驗,並管理過來自歐洲和美國6個不同國家的員工。Antonio在出版業(Elsevier)、消費者互聯網(Ask.com和Tiscali)以及高科技研發(微軟和谷歌)等多個跨度的行業裡歷任CEO、GM、CTO、副總裁、總監及區域主管。

Sujit Pal是Elsevier Labs技術研發主管,致力於構建圍繞研發內容和元數據的智能係統。他的主要興趣包括信息檢索、本體論、自然語言處理、機器學習,以及分佈式處理。他現在的工作是利用深度學習模型對圖像進行分類和相似度識別。在此之前,他在衛生保健行業工作,幫助構建基於本體論的語義搜索、關聯廣告,以及EMR數據處理平台。他在他的博客Salmon Run上發表技術文章。

目錄大綱

第1章神經網絡基礎1 
1.1感知機2 
 第一個Keras代碼示例3 
1.2多層感知機—第一個神經網絡的示例3 
1.2.1感知機訓練方案中的問題4 
1.2.2激活函數—sigmoid 5 
1.2.3激活函數—ReLU 5 
1.2.4激活函數6 
1.3實例—手寫數字識別6 
1.3.1 One-hot編碼—OHE 7 
1.3.2用Keras定義簡單神經網絡7 
1.3.3運行一個簡單的Keras網絡並創建基線10 
1.3.4用隱藏層改進簡單網絡11 
1.3.5用dropout進一步改進簡單網絡14 
1.3.6 Keras中的不同優化器測試16 
1.3.7增加訓練輪數20 
1.3.8控制優化器的學習率20 
1.3.9增加內部隱藏神經元的數量21 
1.3.10增加批處理的大小22 
1.3.11識別手寫數字的實驗總結22 
1.3.12採用正則化方法避免過擬合22 
1.3.13超參數調優24 
1.3.14輸出預測24 
1.4一種實用的反向傳播概述25 
1.5走向深度學習之路26 
1.6小結27

第2章Keras安裝和API 28 
2.1安裝Keras 28 
2.1.1第1步—安裝依賴項28 
2.1.2第2步—安裝Theano 29 
2.1.3第3步—安裝TensorFlow 29 
2.1.4第4步—安裝Keras 30 
2.1.5第5步—測試Theano、TensorFlow和Keras 30 
2.2配置Keras 31 
2.3在Docker上安裝Keras 32 
2.4在谷歌Cloud ML上安裝Keras 34 
2.5在亞馬遜AWS上安裝Keras 36 
2.6在微軟Azure上安裝Keras 37 
2.7 Keras API 39 
2.7.1從Keras架構開始40 
2.7.2預定義神經網絡層概述40 
2.7.3預定義激活函數概述43 
2.7.4損失函數概述44 
2.7.5評估函數概述44 
2.7. 6優化器概述44 
2.7.7一些有用的操作44 
2.7.8保存和加載權重及模型結構45 
2.8自定義訓練過程的回調函數45 
2.8.1檢查點設置45 
2.8.2使用TensorBoard 47 
2.8.3使用Quiver 47 
2.9小結48

第3章深度學習之卷積網絡49 
3.1深度卷積神經網絡—DCNN 50 
3.1.1局部感受野50 
3.1.2共享權重和偏置51 
3.1.3池化層51 
3.2 DCNN示例—LeNet 52 
3.2. 1用Keras構建LeNet代碼53 
3.2.2深度學習的本領59 
3.3用深度學習網絡識別CIFAR-10圖像60 
3.3.1用深度學習網絡改進CIFAR-10的性能64 
3.3.2通過數據增加改善CIFAR-10的性能66 
3.3.3用CIFAR-10進行預測68 
3.4用於大型圖片識別的極深度卷積網絡69 
3.4.1用VGG-16網絡識別貓71 
3.4.2使用Keras內置的VGG-16網絡模塊72 
3.4.3為特徵提取回收內置深度學習模型73 
3.4.4用於遷移學習的極深inception-v3網絡74 
3.5小結76 

第4章生成對抗網絡和WaveNet 78 
4.1什麼是生成對抗網絡78 
 生成對抗網絡的一些應用80 
4.2深度卷積生成對抗網絡82 
4.3用Keras adversarial生成MNIST數據85 
4.4用Keras adversarial生成CIFAR數據91
4.5 WaveNet—一個學習如何產生音頻的生成模型99 
4.6小結108 

第5章詞嵌入109 
5.1分佈式表示110 
5.2 word2vec 110 
5.2.1 skip-gram word2vec模型111 
5.2.2 CBOW word2vec模型114 
5.2.3從模型中提取word2vec向量116 
5.2.4使用word2vec的第三方實現117 
5.3探索GloVe 121 
5.4使用預訓練好的詞向量122 
5.4.1從頭開始學習詞向量123 
5.4.2從word2vec中微調訓練好的詞向量127 
5.4.3從GloVe中微調訓練好的詞向量131 
5.4.4查找詞向量132 
5.5小結136 

第6章循環神經網絡—RNN 137 
6.1 SimpleRNN單元138 
 用Keras實現SimpleRNN—生成文本139 
6.2 RNN拓撲結構143 
6.3梯度消失和梯度爆炸145 
6.4長短期記憶網絡—LSTM 146 
 用Keras實現LSTM—情感分析148 
6.5門控循環單元—GRU 153 
 用Keras實現GRU—詞性標註154 
6.6雙向RNN 160
6.7有狀態RNN 161 
 用Keras實現有狀態LSTM—電量消費預測161 
6.8其他RNN變體167 
6.9小結167 

第7章其他深度學習模型169 
7.1 Keras函數API 170 
7.2回歸網絡172 
 Keras回歸示例—預測空氣中的苯含量172 
7.3無監督學習—自動編碼器176 
 Keras自動編碼器示例—句向量178 
7.4構造深度網絡185 
 Keras示例—問答記憶網絡185 
7.5自定義Keras 192 
7.5.1 Keras示例—使用lambda層193 
7.5. 2 Keras示例—自定義歸一化層193 
7.6生成模型196 
7.6.1 Keras示例—Deep Dreaming 197 
7.6.2 Keras示例—風格轉換204 
7.7小結208 

第8章遊戲中的AI 210 
8.1強化學習211 
8.1. 1最da化未來獎賞212 
8.1.2 Q學習212 
8.1.3深度Q網絡作為Q函數213 
8.1.4探索和利用的平衡214 
8.1.5經驗回放,或經驗值215 
8.2示例—用Keras深度Q網絡實現捕捉遊戲215
8.3未來之路226 
8.4小結228 

第9章結束語229 
9.1 Keras 2.0—新特性230 
9.1.1安裝Keras 2.0 230 
9.1.2 API的變化231