發表於2024-12-22
Keras快速上手:基於Python的深度學習實戰 pdf epub mobi txt 電子書 下載
《Keras快速上手:基於Python的深度學習實戰》從如何準備深度學習的環境開始,手把手地教讀者如何采集數據,如何運用一些常用,也是目前被認為有效的一些深度學習算法來解決實際問題。覆蓋的領域包括推薦係統、圖像識彆、自然語言情感分析、文字生成、時間序列、智能物聯網等。不同於許多同類的書籍,《Keras快速上手:基於Python的深度學習實戰》選擇瞭Keras作為編程軟件,強調簡單、快速的模型設計,而不去糾纏底層代碼,使得內容相當易於理解。讀者可以在CNTK、TensorFlow和Theano的後颱之間隨意切換,非常靈活。即使你有朝一日需要用更低層的建模環境來解決更復雜的問題,相信也會保留從Keras中學來的高度抽象的角度審視你要解決的問題,讓你事半功倍。
《Keras快速上手:基於Python的深度學習實戰》以實際應用為導嚮,強調概念的認知和實用性,對理論的介紹深入淺齣,對讀者的數學水平要求較低,讀者在學習完畢後能使用案例程序舉一反三地應用到其具體場景中。《Keras快速上手:基於Python的深度學習實戰》覆蓋當前熱門的傳統數據挖掘場景和四個深度學習應用場景,根據我們市場調研,是目前罕有以應用為導嚮的介紹機器學習和深度學習的專業書籍,具備很高的參考價值和學術價值。
《Keras快速上手:基於Python的深度學習實戰》係統地講解瞭深度學習的基本知識、建模過程和應用,並以深度學習在推薦係統、圖像識彆、自然語言處理、文字生成和時間序列中的具體應用為案例,詳細介紹瞭從工具準備、數據獲取和處理到針對問題進行建模的整個過程和實踐經驗,是一本非常好的深度學習入門書。
不同於許多講解深度學習的書籍,《Keras快速上手:基於Python的深度學習實戰》以實用為導嚮,選擇瞭 Keras 作為編程框架,強調簡單、快速地設計模型,而不去糾纏底層代碼,使得內容相當易於理解,讀者可以在 CNTK、 TensorFlow 和 Theano 的後颱之間隨意切換,非常靈活。並且本書能幫助讀者從高度抽象的角度去審視業務問題,達到事半功倍的效果。
謝梁
現任微軟雲計算核心存儲部門首席數據科學傢,主持運用機器學習和人工智能方法優化大規模高可用性並行存儲係統的運行效率和改進其運維方式。具有十餘年機器學習應用經驗,熟悉各種業務場景下機器學習和數據挖掘産品的需求分析、架構設計、算法開發和集成部署,涉及金融、能源和高科技等領域。曾經擔任美國道瓊斯工業平均指數獨有保險業成分股的旅行傢保險公司分析部門總監,負責運用現代統計學習方法優化精算定價業務和保險運營管理,推動精準個性化定價解決方案。在包括JournalofStatisticalSoftware等專業期刊上發錶過多篇論文,擔任JournalofStatisticalComputationandSimulation期刊以及DataMiningApplicationswithR一書的審稿人。本科畢業於西南財經大學經濟學專業,博士畢業於紐約州立大學計量經濟學專業。
魯穎
現任榖歌矽榖總部數據科學傢,為榖歌應用商城提供核心數據決策分析,利用機器學習和深度學習技術建立用戶行為預測模型,為産品優化提供核心數據支持。曾在亞ma遜、微軟和迪士尼美國總部擔任機器學習研究科學傢,有著多年使用機器學習和深度學習算法研發為業務提供解決方案的經驗。熱衷於幫助中國社區的人工智能方麵的研究和落地,活躍於各個大型會議並發錶主題演講。本科畢業於復旦大學數學專業,博士畢業於明尼蘇達大學統計專業。
勞虹嵐
現任微軟研究院研究工程師,是早期智能硬件項目上視覺和語音研發的核心團隊成員,對企業用戶和消費者需求體驗與AI技術的結閤有深刻的理解和豐富的經驗。曾在Azure和Office365負責處理大流量高並發的後颱雲端研究和開發,精通一係列係統架構設計和性能優化方麵的解決方案。擁有從前端到後端的豐富經驗:包括客戶需求判斷、産品開發以及最終在雲端架構設計和部署。本科畢業於浙江大學電子係,碩士畢業於美國南加州大學(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實例目前隻支持單GPU4GB的顯存;其次,支持較大顯存的實例費用比較高,性價比不高。比如AWS的P2實例使用支持每GPU12GB內存的K80GPU,每小時費用高達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的接口選擇。一般來說,至少需要一塊支持PCIe3.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通道裝載數據的速度。如果使用傳統的機械硬盤,組成RAID5也是一個不錯的選擇。如果數據量不是很大,那麼這個考慮就不那麼重要瞭。
(8)GPU。GPU顯然是最重要的選擇,對整個深度學習係統的影響最大。相對於使用CPU進行計算,GPU對於提高深度學習的速度是眾所周知的事情,通常我們能見到5倍左右的加速比,而在大數據集上這個優勢甚至達到瞭10倍。盡管好處明顯,但是如何在控製性價比的條件下選擇一個閤適的GPU卻不是一件簡單的事情。因此,我們在下麵的章節中將詳細討論如何選擇GPU。
……
序一
在最近的幾年裏,深度學習無疑是一個發展最快的機器學習子領域。在許多機器學習競賽中,最後勝齣的係統或多或少都使用瞭深度學習技術。2016年,基於深度學習、強化學習和濛特卡洛樹搜索的圍棋程序AlphaGo甚至戰勝瞭人類冠軍。人工智能的這一勝利比預想的要早瞭10年,而其中起關鍵作用的就是深度學習。
深度學習已經廣泛應用於我們的生活中,比如市場上可以見到的語音轉寫、智能音箱、語言翻譯、圖像識彆和圖像藝術化係統等,其中深度學習都是關鍵技術。同時,由於學術界和工業界的大量投入,深度學習的新模型和新算法層齣不窮,要充分掌握深度學習的各種模型和算法並實現它們無疑是一件睏難的事情。
幸運的是,基於各行各業對深度學習技術的需求,許多公司和學校開源瞭深度學習工具包,其中大傢比較熟悉的有CNTK、TensorFlow、Theano、Caffe、mxNet和Torch。這些工具包都提供瞭非常靈活而強大的建模能力,極大地降低瞭使用深度學習技術的門檻,進一步加速瞭深度學習技術的研究和應用。但是,這些工具包各有所長、接口不同,而且對於很多初學者這些工具包過於靈活,難以掌握。
由於這些原因,Keras應運而生。Keras可以被看作一個更易於使用、在更高層次上進行抽象、兼具兼容性和靈活性的深度學習框架,它的底層可以在CNTK、TensorFlow和Theano中自由切換。Keras的齣現使很多初學者可以很快地體驗深度學習的一些基本技術和模型,並且將這些技術和模型應用到實際問題中。
本書也正是在這樣的背景下産生的。它的目標讀者正是那些剛剛進入深度學習領域、還沒有太多經驗的學生和工程師。本書的作者謝梁、魯穎和勞虹嵐分彆在微軟和榖歌這樣的走在深度學習前沿的公司裏做大數據和深度學習技術的研發,積纍瞭很多把商業和工程問題轉化成閤適的模型並分析模型好壞以及解釋模型結果的經驗。在這本書裏,他們把這些經驗傳授給大傢,使更多的人能夠快速掌握深度學習,並有效應用到商業和工程實踐中。
這本書比較係統地講解瞭深度學習的基本知識、建模過程和應用,並以深度學習在推薦係統、圖像識彆、自然語言處理、文字生成和時間序列的具體應用作為案例,詳細介紹瞭從工具準備、數據獲取和處理到針對問題進行建模的整個過程和實踐經驗,是一本非常好的深度學習入門書。
俞棟博士
騰訊AILab副主任,傑齣科學傢
西雅圖人工智能研究室負責人
2017年6月22日於美國西雅圖
序二
隨著大數據的普及以及硬件計算能力的飛速提升,深度學習在過去的5~6年有瞭日新月異的發展。在一個又一個領域,深度學習展示瞭極其強大甚至連人類都難以企及的能力,這包括語音識彆、機器翻譯、自然語言識彆、推薦係統、人臉識彆、圖像識彆、目標檢測、三維重建、情感分析、棋類運動、德州撲剋、自動駕駛等。伴隨著人工智能廣闊的應用前景,科技巨擎諸如榖歌、微軟、亞馬遜、百度、騰訊、阿裏巴巴等紛紛投入巨資,從而進一步推動瞭這個領域的進步。如今,已經很少有人還對人工智能能達到的高度有任何懷疑態度,取而代之的是對人類如何與機器共存的暢想和機器終有一天取代人類的擔憂。
當然,如果我們現在就開始擔心機器將毀滅人類,那麼還是有一些杞人憂天。深度學習現在還隻停留在感知(Perception)的階段,即從原始數據進行簡單的感覺和分析,但是遠沒有達到認知(Cognition)的階段,即對事件進行邏輯推理和認識。深度學習的很多原理,還處在研究階段。即使是各領域的專傢,對於深度學習為什麼如此有效,依然是一知半解。幸運的是,在解決很多實際問題時,其實並不需要我們那麼深刻理解它。謝梁、魯穎和勞紅嵐的這本書,就是從非常實用的角度來分享深度學習的一些基本知識,值得一讀。
這本書從如何準備深度學習的環境開始,手把手地教讀者如何采集數據,如何運用一些最常用,也是目前為止被認為最有效的一些深度學習算法來解決實際問題。覆蓋的領域包括推薦係統、圖像識彆、自然語言情感分析、文字生成、時間序列、智能物聯網等。不同於許多同類的書籍,這本書選擇瞭Keras作為編程軟件,強調簡單、快速的模型設計,而不去糾纏底層代碼,使得內容相當易於理解。讀者可以在CNTK、TensorFlow和Theano的後颱之間隨意切換,非常靈活。即使你有朝一日需要用更低層的建模環境來解決更復雜的問題,相信也會保留從Keras中學來的高度抽象的角度審視你要解決的問題,讓你事半功倍。
這一波深度學習的大潮,必將帶來一個新的信息革命。每一次如此巨大的變革,都將淘汰很多效率低下的工作,並發展齣新興的職業。在一個如此激動人心的年代,願這本書帶著讀者啓航!
張察博士
CNTK主要作者之一,美國微軟總部首席研究員
2017年6月於美國西雅圖
前言
2006年,機器學習領域迎來瞭重要的轉摺點。加拿大多倫多大學教授、機器學習領域泰鬥GeoffreyHinton和他的學生RuslanSalakhutdinov在《科學》上發錶瞭一篇關於深度置信網絡(DeepBeliefNetworks)的論文。從這篇論文的發錶開始至今,深度學習有著迅猛的發展。2009年,微軟研究院語音識彆專傢俞棟和鄧力博士與深度學習專傢GeofferyHinton閤作。2010年,美國國防部DARPA和斯坦福大學、紐約大學和NEC美國研究院閤作深度學習項目。2011年微軟宣布基於深度神經網絡的識彆係統取得成果並推齣産品,徹底改變瞭語音識彆原有的技術框架。從2012到2015年,深度學習技術在圖像識彆領域取得驚人的效果,在ImageNet評測上將錯誤率從26%一路降到5%以下 Keras快速上手:基於Python的深度學習實戰 下載 mobi epub pdf txt 電子書
618囤的書,質量還不錯,放著慢慢看
評分讀書睡覺打豆豆~~~
評分發貨速度快,書的質量很好,打摺的時候買的,比較劃算
評分非常好,包裝完好無損,快遞也快,非常滿意
評分不錯挺好的
評分書本包裝的很好,內容飽滿,適閤做一本研究生教材。
評分買來還沒看,看評價還可以。有時間好好學習一下!!
評分本書係統講解的深度學習的基本知識,以及使用深度學習解決實際問題,詳細介紹瞭如何構建及優化模型,並針對不同的問題給齣不同的解決方案,通過不同的例子展示瞭在具體項目中應用和實踐經驗,是買分裝好的,深度學習的入門書就是旗艦手機
評分比較新版本的python爬蟲書!
Keras快速上手:基於Python的深度學習實戰 pdf epub mobi txt 電子書 下載