日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服
Keras快速上手:基于Python的深度學習實戰圖書
人氣:137

Keras快速上手:基于Python的深度學習實戰

國際著名數據科學家實戰分享,深度學習入門者不可錯過,可在 CNTK、 TensorFlow 和 Theano 后臺間隨意切換
  • 所屬分類:圖書 >計算機/網絡>程序設計>其他  
  • 作者:[謝梁]
  • 產品參數:
  • 叢書名:--
  • 國際刊號:9787121318726
  • 出版社:電子工業出版社
  • 出版時間:2017-08
  • 印刷時間:2017-08-01
  • 版次:1
  • 開本:16開
  • 頁數:--
  • 紙張:膠版紙
  • 包裝:平裝-膠訂
  • 套裝:

內容簡介

本書系統地講解了深度學習的基本知識、建模過程和應用,并以深度學習在推薦系統、圖像識別、自然語言處理、文字生成和時間序列中的具體應用為案例,詳細介紹了從工具準備、數據獲取和處理到針對問題進行建模的整個過程和實踐經驗,是一本非常好的深度學習入門書。

編輯推薦

俞棟、張察博士親筆作序力薦,谷歌、微軟、Twitter、Facebook、Airbnb等公司多位博學數據科學家傾情力薦。

本書從如何準備深度學習的環境開始,手把手地教讀者如何采集數據,如何運用一些常用,也是目前被認為有效的一些深度學習算法來解決實際問題。覆蓋的領域包括推薦系統、圖像識別、自然語言情感分析、文字生成、時間序列、智能物聯網等。不同于許多同類的書籍,本書選擇了Keras作為編程軟件,強調簡單、快速的模型設計,而不去糾纏底層代碼,使得內容相當易于理解。讀者可以在CNTK、TensorFlow和Theano的后臺之間隨意切換,非常靈活。即使你有朝一日需要用更低層的建模環境來解決更復雜的問題,相信也會保留從Keras中學來的高度抽象的角度審視你要解決的問題,讓你事半功倍。

作者簡介

謝梁

現任微軟云計算核心存儲部門首席數據科學家,主持運用機器學習和人工智能方法優化大規模高可用性并行存儲系統的運行效率和改進其運維方式。具有十余年機器學習應用經驗,熟悉各種業務場景下機器學習和數據挖掘產品的需求分析、架構設計、算法開發和集成部署,涉及金融、能源和高科技等領域。曾經擔任美國道瓊斯工業平均指數保險業成分股的旅行家保險公司分析部門總監,負責運用現代統計學習方法優化精算定價業務和保險運營管理,推動精準個性化定價解決方案。在包括Journal of Statistical Software等專業期刊上發表過多篇論文,擔任Journal of Statistical Computation and Simulation期刊以及Data Mining Applications with R一書的審稿人。本科畢業于西南財經大學經濟學專業,博士畢業于紐約州立大學計量經濟學專業。

魯穎

現任谷歌硅谷總部數據科學家,為谷歌應用商城提供核心數據決策分析,利用機器學習和深度學習技術建立用戶行為預測模型,為產品優化提供核心數據支持。曾在亞馬遜、微軟和迪士尼美國總部擔任機器學習研究科學家,有著多年使用機器學習和深度學習算法研發為業務提供解決方案的經驗。熱衷于幫助中國社區的人工智能方面的研究和落地,活躍于各個大型會議并發表主題演講。本科畢業于復旦大學數學專業,博士畢業于明尼蘇達大學統計專業。

勞虹嵐

現任微軟研究院研究工程師,是早期智能硬件項目上視覺和語音研發的核心團隊成員,對企業用戶和消費者需求體驗與AI技術的結合有深刻的理解和豐富的經驗。曾在Azure和Office 365負責處理大流量高并發的后臺云端研究和開發,精通一系列系統架構設計和性能優化方面的解決方案。擁有從前端到后端的豐富經驗:包括客戶需求判斷、產品開發以及最終在云端架構設計和部署。本科畢業于浙江大學電子系,碩士畢業于美國南加州大學(USC)電子和計算機系。

目錄

目錄

1 準備深度學習的環境 1

1.1 硬件環境的搭建和配置選擇 . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 通用圖形處理單元 . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.2 你需要什么樣的 GPU 加速卡 . . . . . . . . . . . . . . . . . . . . 6

1.1.3 你的 GPU 需要多少內存 . . . . . . . . . . . . . . . . . . . . . . . 6

1.1.4 是否應該用多個 GPU . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.2 安裝軟件環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.2.1 所需軟件列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.2.2 CUDA 的安裝 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.2.3 Python 計算環境的安裝 . . . . . . . . . . . . . . . . . . . . . . . . 13

1.2.4 深度學習建模環境介紹 . . . . . . . . . . . . . . . . . . . . . . . . 15

1.2.5 安裝 CNTK 及對應的 Keras . . . . . . . . . . . . . . . . . . . . . 17

1.2.6 安裝 Theano 計算環境 . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.2.7 安裝 TensorFlow 計算環境 . . . . . . . . . . . . . . . . . . . . . . 25

1.2.8 安裝 cuDNN 和 CNMeM . . . . . . . . . . . . . . . . . . . . . . . 27

2 數據收集與處理 28

2.1 網絡爬蟲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.1.1 網絡爬蟲技術 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.1.2 構造自己的 Scrapy 爬蟲 . . . . . . . . . . . . . . . . . . . . . . . 30

2.1.3 構造可接受參數的 Scrapy 爬蟲 . . . . . . . . . . . . . . . . . . . 35

2.1.4 運行 Scrapy 爬蟲 . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.1.5 運行 Scrapy 爬蟲的一些要點 . . . . . . . . . . . . . . . . . . . . . 38

2.2 大規模非結構化數據的存儲和分析 . . . . . . . . . . . . . . . . . . . . . 40

2.2.1 ElasticSearch 介紹 . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

2.2.2 ElasticSearch 應用實例 . . . . . . . . . . . . . . . . . . . . . . . . 44

3 深度學習簡介 57

3.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3.2 深度學習的統計學入門 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.3 一些基本概念的解釋 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3.3.1 深度學習中的函數類型 . . . . . . . . . . . . . . . . . . . . . . . . 62

3.3.2 深度學習中的其他常見概念 . . . . . . . . . . . . . . . . . . . . . 65

3.4 梯度遞減算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.5 后向傳播算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4 Keras 入門 72

4.1 Keras 簡介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4.2 Keras 中的數據處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.2.1 文字預處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

4.2.2 序列數據預處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

4.2.3 圖片數據輸入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4.3 Keras 中的模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4.4 Keras 中的重要對象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

4.5 Keras 中的網絡層構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

4.6 使用 Keras 進行奇異值矩陣分解 . . . . . . . . . . . . . . . . . . . . . . . 102

5 推薦系統 105

5.1 推薦系統簡介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

5.2 矩陣分解模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

5.3 深度神經網絡模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

5.4 其他常用算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

5.5 評判模型指標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

6 圖像識別 121

6.1 圖像識別入門 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

6.2 卷積神經網絡的介紹 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

6.3 端到端的 MNIST 訓練數字識別 . . . . . . . . . . . . . . . . . . . . . . . 127

6.4 利用 VGG16 網絡進行字體識別 . . . . . . . . . . . . . . . . . . . . . . . 131

6.5 總結 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

7 自然語言情感分析 136

7.1 自然語言情感分析簡介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

7.2 文字情感分析建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

7.2.1 詞嵌入技術 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

7.2.2 多層全連接神經網絡訓練情感分析 . . . . . . . . . . . . . . . . . 140

7.2.3 卷積神經網絡訓練情感分析 . . . . . . . . . . . . . . . . . . . . . 143

7.2.4 循環神經網絡訓練情感分析 . . . . . . . . . . . . . . . . . . . . . 144

7.3 總結 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

8 文字生成 147

8.1 文字生成和聊天機器人 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

8.2 基于檢索的對話系統 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

8.3 基于深度學習的檢索式對話系統 . . . . . . . . . . . . . . . . . . . . . . . 159

8.3.1 對話數據的構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

8.3.2 構造深度學習索引模型 . . . . . . . . . . . . . . . . . . . . . . . . 162

8.4 基于文字生成的對話系統 . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

8.5 總結 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

9 時間序列 173

9.1 時間序列簡介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

9.2 基本概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

9.3 時間序列模型預測度的衡量 . . . . . . . . . . . . . . . . . . . . . . . 178

9.4 時間序列數據示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

9.5 簡要回顧 ARIMA 時間序列模型 . . . . . . . . . . . . . . . . . . . . . . . 181

9.6 循環神經網絡與時間序列模型 . . . . . . . . . . . . . . . . . . . . . . . . 186

9.7 應用案例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

9.7.1 長江漢口月度流量時間序列模型 . . . . . . . . . . . . . . . . . . 190

9.7.2 國際航空月度乘客數時間序列模型 . . . . . . . . . . . . . . . . . 203

9.8 總結 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

10 智能物聯網 210

10.1 Azure 和 IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

10.2 Azure IoT Hub 服務 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

10.3 使用 IoT Hub 管理設備概述 . . . . . . . . . . . . . . . . . . . . . . . . . . 215

10.4 使用.NET 將模擬設備連接到 IoT 中心 . . . . . . . . . . . . . . . . . . . . 218

10.5 機器學習應用實例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

在線預覽

1.1 硬件環境的搭建和配置選擇

從事機器學習,一個好的硬件環境是必不可少的。在硬件環境的選擇上,并不是一定選擇最貴的就會有好的效果,很多時候可能付出了 2 倍的成本,但是性能的提升卻只有 10%。深度學習的計算環境對不同部件的要求不同,因此這里先簡要討論一下硬件的合理搭配。如果您不差錢,則可以跳過本節。另外,雖然目前有一些云服務供應商提供 GPU 計算能力,并且一鍵部署,聽起來不錯,但是基于云計算的 GPU 實例受到兩個限制。首先,普通的廉價 GPU 實例內存稍小,比如 AWS 的 G2 實例目前只支持單GPU 4GB 的顯存;其次,支持較大顯存的實例費用比較高,性價比不高。比如 AWS 的P2 實例使用支持每 GPU 12GB 內存的 K80 GPU,每小時費用高達 0.9 美元。但是 K80GPU 屬于 Kepler 架構,是兩代前的技術。另外,在實際使用中需要開啟其他服務以使用 GPU 實例,各種成本加起來每月的開支還是很可觀的,很可能 6 個月的總開支夠買一臺配置較新 GPU 的全新電腦了。

在搭配深度學習機器而選擇硬件的時候,通常要考慮以下幾個因素。

(1) 預算。這個非常重要。如果預算足夠,當然可以秉承最貴的就是好的理念來選擇。但是當預算有一定限制的時候,如何搭配部件來較大化性能,盡量減少瓶頸就是很重要的考量了。

(2) 空間。這里特指機箱的空間。大部分新的 GPU 都是雙風扇的,因此對機箱尺寸要求很高。如果你已經有一個機箱了,那么選擇合適尺寸的 GPU 就成為先的考慮;如果新配機箱,那么全尺寸的大機箱是好的選擇。這是因為大機箱通風好,同時可以為以后添加多個 GPU 進行升級留有余地;另外,大機箱通常有多個 PCIe 的背板插槽可以放置多個 PCIe 設備。一般現在的 GPU 卡都會占據兩個 PCIe 的插槽空間,因此背板插槽越多越好。

(3) 能耗。性能越好的 GPU 對能源的要求越高,而且很可能是整個系統里能耗較高的部件。如果已經有一臺機器了,只是要添加一個 GPU 來做學習用,那么選擇性能一般但是能耗低的 GPU 卡是比較明智的;如果需要高密度計算,搭配多個 GPU 并行處理,那么對電源的要求非常高,一般來說,搭配 4GPU 卡的系統至少需要 1600W 的電源。

(4) 主板。對主板的選擇非常重要,因為涉及跟 GPU 的接口選擇。一般來說,至少需要一塊支持 PCIe 3.0 接口的主板。如果以后要升級系統到多個 GPU,那么還需要支持 8 16 芯 PCIe 電源接口的主板,這樣可以連接最多 4 個 GPU 進行 SLI 并聯。對于 4個 GPU 這個限制,是因為目前好的主板也只支持最多 40 條 PCIe 通道(16x, 8x, 8x,8x 的配置)。多個 GPU 并行加速比并不能達到,畢竟還是有些額外開銷的。比如系統需要決定在哪個 GPU 上進行這個數據塊對應的計算任務。我們后面會提到, CNTK計算引擎的并行加速性很好,在使用多個 GPU 時值得考慮。

(5) CPU。 CPU 在深度學習計算中的作用不是非常顯著的,除非使用 CPU 進行深度學習算法的計算。因此如果你已經有一臺電腦的話,就不用太糾結是否要升級 CPU了;但是如果要新搭建系統,那么在 CPU 的選擇上還是有些考量的,這樣可以使系統利用 GPU 的能力較大化。首先要選擇一個支持 40 條 PCIe 通道的 CPU。不是所有的CPU 都支持這么多的 PCIe 通道,比如 haswell 核心的 i5 系列 CPU 就支持最多 32 條通道。其次要選擇一個高頻率的 CPU。雖然系統使用 GPU 做具體的計算,但是在準備模型階段 CPU 還是有重要作用的,因此選擇使用在預算內主頻高、速度快的 CPU 還是比較重要的。 CPU 的核心數量不是一個很重要的指標,一般來說,一個 CPU 核心可以支持一塊 GPU 卡。按照這個標準,大部分現代的 CPU 都是合格的。

(6) 內存。內存容量還是越大越好,以減少數據提取的時間,加快和 GPU 的交換。一般原則是按照 GPU 內存容量的至少兩倍來配置主機內存。

(7) 存儲系統。對于存儲系統的能力,除要容量大以外,主要體現在計算時不停地提取數據供應 GPU 進行計算方面。如果做圖像方面的深度學習,數據量通常都非常大,因此可能需要多次提取數據才能完成一輪計算,這個時候存儲系統讀取數據的能力就成為整個計算的瓶頸。因此,大容量的 SSD 是好的選擇。現在的 SSD 讀取速度已經超過 GPU 從 PCIe 通道裝載數據的速度。如果使用傳統的機械硬盤,組成 RAID 5 也是一個不錯的選擇。如果數據量不是很大,那么這個考慮就不那么重要了。

(8) GPU。 GPU 顯然是最重要的選擇,對整個深度學習系統的影響較大。相對于使用 CPU 進行計算, GPU 對于提高深度學習的速度是眾所周知的事情,通常我們能見到5 倍左右的加速比,而在大數據集上這個優勢甚至達到了 10 倍。盡管好處明顯,但是如何在控制性價比的條件下選擇一個合適的 GPU 卻不是一件簡單的事情。因此,我們在下面的章節中將詳細討論如何選擇 GPU。

網友評論(不代表本站觀點)

來自王家大**的評論:

書很不好,看得我秒秒鐘想撕,一樣東西,它解釋起來怎么就那么費勁,思維異于常人?而且很多行業術語也很……異于常人?很抵觸這樣的書……而且前面大篇幅介紹硬件方面東西,雖然我承認部署環境是很重要,但是讀的過程中給我的感覺就是……偏離主題了……重點沒有突出,介紹一個知識點往往淺嘗輒止,倒是一直在提深度學習這個詞,然并卵,連深度學習的思想也沒有介紹到,所以很貴,太不值這個錢……愛買書的girl的客觀測評over另,送你們兩頁,我不知道為什么這樣解釋

2017-08-09 19:55:46
來自王家大**的評論:

書很不好,看得我秒秒鐘想撕,一樣東西,它解釋起來怎么就那么費勁,思維異于常人?而且很多行業術語也很……異于常人?很抵觸這樣的書……而且前面大篇幅介紹硬件方面東西,雖然我承認部署環境是很重要,但是讀的過程中給我的感覺就是……偏離主題了……重點沒有突出,介紹一個知識點往往淺嘗輒止,倒是一直在提深度學習這個詞,然并卵,連深度學習的思想也沒有介紹到,所以很貴,太不值這個錢……愛買書的girl的客觀測評over另,送你們兩頁,我不知道為什么這樣解釋

2017-08-09 19:56:53
來自無昵稱**的評論:

不錯,還沒看,不過聽說很厲害,好好學

2017-08-16 16:37:52
來自無昵稱**的評論:

對最近的學習工作很有幫助,希望能通過這本書的學習提高自己的能力

2017-09-07 11:29:58
來自匿名用**的評論:

正版書籍,實用性強

2017-11-04 14:54:31

免責聲明

更多出版社