總金額: 會員:NT$ 0 非會員:NT$ 0 
(此金額尚未加上運費)
電子電信技術 電腦技術 自動化基礎理論
 
 
 
 
移動深度學習(配件另行下載)^tn
 作  者: 李永會
 出版單位: 電子工業
 出版日期: 2019.10
 進貨日期: 2019/11/14
 ISBN: 9787121371820
 開  本: 16 開    
 定  價: 563
 售  價: 450
  會 員 價: 413
推到Facebook 推到Plurk 推到Twitter
前往新書區 書籍介紹 購物流程  
 
編輯推薦:

√ 移動端部署神經網路稀缺資源:ARM彙編|NEON指令|Winograd等實戰經驗。

√ 深入行動計算裝置體系結構的 PaddlePaddle 移動深度學習系統 Paddle-Lite。

√ 將深度學習模型以zui小體積和資源消耗運行在移動設備上,同時追求高性能。

√ 商業場景中克服技術挑戰如模型壓縮|編譯裁剪|代碼精簡|多平臺支持|彙編優化。

√ 覆蓋移動設備內部結構|彙編指令|CPU性能優化|GPU程式設計|移動端深度學習框架。

√ 底層框架|上層應用開發雙重視角,從應用需求到底層技術優化,再到產品落地。


內容簡介:

《移動深度學習》由淺入深地介紹了如何將深度學習技術應用到移動端運算領域,書中儘量避免羅列公式,嘗試用淺顯的語言和幾何圖形去解釋相關內容。

本書第1章展示了在移動端應用深度學習技術的Demo,?明讀者建立直觀的認識;第2章至第4章講述了如何在移動端專案中應用深度學習技術;第5章至第8章的難度略大,主要講述如何深入地調整框架,適配並定制自己的框架。《移動深度學習》適合移動端研發工程師閱讀,也適合所有對移動端運算領域感興趣的朋友閱讀。


作者簡介:

李永會 百度App移動研發部資深工程師。2015年起在百度從事圖像搜索和語音搜索用戶端研發工作,主持了多個重要創新項目,包括百度Lens、即時翻譯等。同時負責開源移動端深度學習框架Paddle-Lite的開發,長期從事移動端AI高性能計算優化工作,在多種軟硬體平臺上高性能運行深度學習技術。在工作之余有讀史、書法等愛好。


圖書目錄:

第1章初窺移動端深度學習技術的應用1
1.1本書示例代碼簡介1
1.1.1安裝編譯好的文件1
1.1.2在DemoApp中應用神經網路技術2
1.2移動端主體檢測和分類2
1.3線上上產品中以“雲 端計算”的方式應用深度學習技術4
1.4在移動端應用深度學習技術的業界案例6
1.4.1植物花卉識別6
1.4.2奇妙的風格化效果7
1.4.3視頻主體檢測技術在App中的應用7
1.5在移動端應用深度學習技術的難點8
1.5.1在伺服器端和移動端應用深度學習技術的難點對比8
1.5.2實現AR即時翻譯功能9
1.6編譯運行深度學習App12
1.6.1mobile-deep-learning項目環境簡介12
1.6.2mobile-deep-learning專案整體代碼結構13
1.6.3mobile-deep-learning通用環境依賴14
1.7在iOS平臺上搭建深度學習框架15
1.7.1在iOS平臺上搭建mobile-deep-learning專案15
1.7.2在OSX平臺上編譯mobile-deep-learning專案16
1.7.3iOS平臺上mobile-deep-learning專案的Demo代碼結構17
1.8在Android平臺上搭建深度學習框架18
1.8.1Android平臺上mobile-deep-learning專案的環境依賴18
1.8.2Android平臺上mobile-deep-learning專案的Demo代碼結構19
1.8.3用Paddle-Lite框架編譯與開發Android應用20
1.8.4開發一個基於移動端深度學習框架的AndroidApp22
第2章以幾何方式理解線性代數基礎知識32
2.1線性代數基礎32
2.1.1標準平面直角坐標系32
2.1.2改變坐標系的基向量34
2.2向量的幾何意義35
2.2.1向量的加減運算36
2.2.2向量的數乘運算37
2.3線性組合的幾何意義38
2.4線性空間40
2.5矩陣和變換41
2.6矩陣乘法43
2.7行列式46
2.8矩陣的逆48
2.9秩49
2.10零空間50
2.11點積和叉積的幾何表示與含義51
2.11.1點積的幾何意義51
2.11.2叉積的幾何意義52
2.12線性代數的特徵概念53
2.13抽象向量空間54
第3章什麼是機器學習和卷積神經網絡56
3.1移動端機器學習的全過程56
3.2預測過程57
3.3數學表達59
3.3.1預測過程涉及的數學公式59
3.3.2訓練過程涉及的數學公式60
3.4神經元和神經網路61
3.4.1神經元61
3.4.2神經網路63
3.5卷積神經網路63
3.6圖像卷積效果65
3.6.1從全域瞭解視覺相關的神經網路65
3.6.2卷積核和矩陣乘法的關係66
3.6.3多通道卷積核的應用69
3.7卷積後的圖片效果70
3.8卷積相關的兩個重要概念:padding和stride75
3.8.1讓卷積核“出界”:padding75
3.8.2讓卷積核“跳躍”:stride75
3.9卷積後的降維操作:池化76
3.10卷積的重要性77
第4章移動端常見網路結構78
4.1早期的卷積神經網路78
4.2AlexNet網路結構79
4.3GoogLeNet網路結構79
4.3.1模型體積問題80
4.3.2計算量問題80
4.4嘗試在App中運行GoogLeNet81
4.4.1將32位float參數轉化為8位int參數以降低傳輸量82
4.4.2將CPU版本伺服器端框架移植到移動端83
4.4.3應用在產品中的效果84
4.5輕量化模型SqueezeNet85
4.5.1SqueezeNet的優化策略85
4.5.2fire模組86
4.5.3SqueezeNet的全域86
4.6輕量高性能的MobileNet88
4.6.1什麼是深度可分離卷積(DepthwiseSeparableConvolution)88
4.6.2MobileNetv1網路結構89
4.6.3MobileNetv2網路結構91
4.7移動端神經網路模型的優化方向92
第5章ARMCPU組成94
5.1現代電腦與ARMCPU架構的現狀94
5.1.1馮?諾依曼電腦的基本結構94
5.1.2行動計算裝置的分工96
5.2簡單的CPU模型98
5.2.1取指過程98
5.2.2解碼過程99
5.2.3執行過程100
5.2.4回寫過程101
5.2.5細化分工:流水線技術102
5.3彙編指令初探102
5.3.1組合語言程式的第一行102
5.3.2這些指令是什麼105
5.4彙編指令概況106
5.4.1ARMCPU家族106
5.4.2ARMv7-A處理器架構107
5.4.3ARMv7彙編指令介紹109
5.5ARM指令集架構111
5.6ARM手機晶片的現狀與格局113
第6章存儲金字塔與ARM彙編115
6.1ARMCPU的完整結構115
6.2存放裝置的金字塔結構117
6.3ARM晶片的緩存設計原理119
6.3.1緩存的基本理解119
6.3.2簡單的緩存映射結構:直接映射121
6.3.3靈活高效的緩存結構:組相聯映射123
6.3.4利用一個簡單的公式優化訪存性能125
6.4ARM彙編知識126
6.4.1ARM彙編資料類型和寄存器127
6.4.2ARM指令集130
6.4.3ARM彙編的記憶體操作131
6.5NEON彙編指令133
6.5.1NEON寄存器與指令類型134
6.5.2NEON存儲操作指令135
6.5.3NEON通用資料操作指令137
6.5.4NEON通用算術操作指令138
6.5.5NEON乘法指令139
6.5.6運用NEON指令計算矩陣乘法140
第7章移動端CPU預測性能優化142
7.1工具及體積優化142
7.1.1工具使用143
7.1.2模型體積優化148
7.1.3深度學習庫檔體積優化149
7.2CPU高性能通用優化150
7.2.1編譯選項優化150
7.2.2記憶體性能和耗電量優化151
7.2.3迴圈展開153
7.2.4並行優化與流水線重排154
7.3卷積性能優化方式157
7.3.1滑窗卷積和GEMM性能對比157
7.3.2基於Winograd演算法進行卷積性能優化160
7.3.3快速傅裡葉變換162
7.3.4卷積計算基本優化163
7.4開發問題與經驗總結164
第8章移動端GPU程式設計及深度學習框架落地實踐166
8.1異構計算程式設計框架OpenCL166
8.1.1開發移動端GPU應用程式167
8.1.2OpenCL中的一些概念168
8.2移動端視覺搜索研發169
8.2.1初次探索移動端AI能力170
8.2.2取消拍照按鈕,提升視覺搜索體驗171
8.2.3使用深度學習技術提速視覺搜索172
8.2.4通過AI工程技術提升視覺搜索體驗174
8.3解決歷史問題:研發Paddle-Lite框架176
8.3.1體積壓縮178
8.3.2工程結構編碼前重新設計178
8.3.3視覺搜索的高級形態:即時視頻流式搜索184


章節試讀:

推薦序一

在過去的十年,人工智慧技術尤其是深度學習(Deep Learning)技術得到了飛速發展,從理論到實踐都取得了長足的進步,成為解決很多學術和工程問題的利器。在自然語言處理、語音辨識、圖像識別等領域,利用深度學習技術訓練出了堪比人類、甚至超越人類的學習能力。人工智慧的成功離不開演算法、算力和資料三個要素的協同推進,而這些要素在不同的領域和場景下有不同的表現形式,吸引著人工智慧領域的學者、工程師和各個行業的專家們不斷探索。

在過去的十年,智慧手機快速普及。根據《工業和資訊化部關於電信服務品質的通告(2019年第2號)》,我國行動電話用戶數量已達到15.97億戶。智慧手機成為連接人和資訊的重要設備,對於很多人來說,甚至是唯一的設備。在智慧手機的底層能力支援下,智慧手機上的各類應用(App)蓬勃發展,以蘋果的App Store為例,截至2019年第二季度,App Store中可下載的App數量已經超過196萬個(資料來自Statista)。硬體和應用程式的共同發展極大地拓展、增強了人類感知、認知世界的能力,這使得智慧手機成為人類的“新感官”。

人工智慧技術的進步和智慧手機的普及是緊密結合、相得益彰的。人工智慧技術為智慧手機賦能,極大地拓展了智能手機的能力邊界;智慧手機為人工智慧技術提供了豐富的應用場景,為人工智慧技術的發展提供了動力。但是,二者的結合也充滿了挑戰。用戶對體驗有極致的追求,這就需要智慧手機及其上的應用程式能夠快速、準確地回應用戶的需求。然而,智慧手機在計算、存儲、續航等方面與電腦等設備的差異巨大,這使得很多人工智慧技術無法在智慧手機上直接應用,而手機端和伺服器端的頻繁通信又必然會導致延時和頻寬消耗。這些問題在智慧手機之外的其他移動設備上也同樣存在。

這些富有挑戰性的問題正是工程師們的動力源泉。本書作者正是在這樣的背景下與同事們一起做了大量探索,以期讓人工智慧技術在移動端的有限資源下充分發揮價值,並且已經在百度App上取得了非常好的效果。永會把他們團隊多年積累的經驗凝聚成此書,以饗讀者。

本書以百度App中的一些實際案例為線索,簡要介紹了理解深度學習的一些必要知識,包括線性代數、卷積神經網路和其他網路結構,然後把更多的筆墨放在了移動設備的內部結構、彙編指令、CPU性能優化、GPU程式設計以及百度的移動端深度學習框架Paddle-Lite上。書中提供的一些優化技巧具有很好的啟發性,希望能夠對更多優秀的工程師起到引路作用,幫助大家投身這一領域,充分發揮移動端深度學習的價值,為廣大用戶提供極致的用戶體驗。

沈 抖

百度高級副總裁



推薦序二



收到永會的書稿,非常驚喜。永會在移動端深度學習技術的開發和應用領域深耕多年,積累了豐富的經驗,也是飛槳(PaddlePaddle)端側推測推理引擎的核心建設者之一。我想永會的這本書不論是對移動端的框架開發者,還是對應用開發者來說,都是很有價值的。

深度學習憑藉其突出的效果和良好的通用性,正推動著人工智慧技術邁進工業化階段。深度學習早已不局限於學術研究,它正在越來越廣闊的實際應用中發揮著重要作用。我們也注意到,深度學習應用已從雲端擴展到邊緣和終端設備。智慧手機的普及使得移動端的深度學習技術引起了廣泛關注,當然,使用者體驗和資料隱私等問題是需要考慮的。

百度作為國內深度學習技術研發和應用的領跑者,早在幾年之前就已經開始移動端深度學習計算的框架開發和應用工作了。永會作為最早的開發者之一,見證了百度移動端深度學習框架開發和應用的歷史,也收穫了豐碩的成果,他所做的工作極大地提升了百度App等諸多產品的體驗效果,相關技術沉澱也促使了飛槳端側推測推理引擎的發展和成熟。

雖然永會及其團隊所做的很多工作已經通過開原始程式碼展示出來,但是代碼庫無法全面展示開發者的開發經驗和思考感悟。移動端的深度學習開發有很強的特殊性,並且這個領域相對較新,目前還沒有太多講解深入的書籍和資料。這本書正當其時,很有意義。

永會既是底層框架開發者,也是上層應用開發者,這樣的雙重經驗非常難得,而本書的內容也充分體現了這一特質。本書從移動端深度學習應用講起,從實際應用需求講到驅動底層技術的優化,最終又通過產品落地收尾,展示移動端深度學習技術的研發對應用的推動。這樣的順序應該是便於大家閱讀和理解的。

在移動端應用深度學習技術,既要考慮深度學習技術應用的一般性問題,又要考慮移動端硬體平臺和應用的特殊性,想講好其實挺不容易的。本書的主體內容全面而又精要,顯然是下了功夫的。例如,書中對移動端常用演算法和硬體存儲計算特點的介紹很清晰,能夠幫助沒有移動端開發和應用經驗的讀者快速入門,而對於有經驗的開發者,也不失為一次系統學習和思考的機會;後面關於移動端CPU和GPU的性能優化部分,則介紹了作者積累的很多實戰經驗;此外,關於通用矩陣計算加速、快速卷積演算法、模型或框架體積優化、記憶體分析、編譯優化等各方面的描述也都做到了深入淺出、細緻周到。可以說,本書凝聚了永會長期在一線開發的心得體會,值得仔細品味。

移動端深度學習應用方興未艾,硬體平臺和演算法應用都在快速發展,並且正在向廣泛的終端設備和邊緣計算設備普及。端側深度學習的機會更多,挑戰也更大。最近,在之前移動端預測引擎的基礎上,百度飛槳發佈了Paddle-Lite,旨在通過高擴展性架構支援更多硬體平臺,提供更高性能的計算,目前還有很多工作要做。可以預見,未來會有更多的端側AI應用走進我們的生活,這將是非常激動人心的。

期待永會對Paddle-Lite做出更多的貢獻,當然也期待永會有更多的技術心得和大家分享。

於佃海

百度深度學習平臺飛槳總架構師


前言

深度學習技術在近兩年飛速發展,對互聯網的諸多方面產生了影響。各種互聯網產品都爭相應用深度學習技術,這將進一步影響人們的生活。隨著移動設備被廣泛使用,在移動互聯網產品中應用深度學習和神經網路技術已經成為必然趨勢。

一直以來,由於技術門檻和硬體條件的限制,在移動端應用深度學習的成功案例不多。傳統移動端UI工程師在編寫神經網路代碼時,可以查閱的移動端深度學習資料也很少。而另一方面,時下的互聯網競爭又頗為激烈,率先將深度學習技術在移動端應用起來,可以取得先發制人的優勢。

移動端設備的運算能力比PC端弱很多。移動端的CPU要將功耗指標維持在很低的水準,這就給性能指標的提升帶來了限制。在App中做神經網路運算,會使CPU的運算量猛增。如何協調好使用者功耗指標和性能指標就顯得至關重要。另外,App的體積限制也是重大考驗,如果為了讓用戶體驗一個深度學習功能而要求其下載200MB甚至更大的模型檔,想必使用者是不會愉快接受的。這些都是在移動端應用深度學習技術必須解決的問題。

筆者從2015年開始嘗試將深度學習技術應用在移動端,在這個過程中遇到的很多問題是關於性能和功耗的,這些問題最終被逐一解決。現在相關項目代碼已經在很多App上運行,這些App有日PV達億級的產品,也有創業期的產品。2017年9月,筆者所帶領的團隊在GitHub上開源了該專案的全部代碼及腳本,專案名稱是mobile-deep-learning,希望它在社區的帶動下能夠得到更好的發展。本書也是以該項目的代碼作為示例進行講解的。

我們已經在多個重要會議上分享了該方向的成果,聽眾非常感興趣,會後和我們討論了很多問題,我也感覺到這些成果值得分享給更多人,於是產生了撰寫本書的想法。

目前,國內外已經有很多關於深度學習的書籍,其中一些對演算法的講述非常精闢且有深度。然而這些書籍基本上都是介紹如何在伺服器端使用深度學習技術的,針對在移動端應用深度學習技術的書籍還相對較少。

本書內容

本書力求系統而全面地描繪移動端深度學習技術的實踐細節和全景,對iOS和Android兩個平臺的神經網路實踐都會詳細講述。需求不同的讀者可以根據自己的情況有重點地閱讀。精妙的演算法必須加上良好的工業實現,才能給用戶提供極致的體驗,本書以代碼實現為主線講述工程實踐,由淺入深,逐步增加難度,最終會將體系結構和彙編知識應用到實踐案例中。

這裡需要說明兩點:

l筆者將書中出現的Paddle-Lite代碼壓縮並放到了博文視點的官網,讀者可以掃描“讀者服務”中的二維碼查看。如果想體驗最新版本的Paddle-Lite,可以直接到GitHub上搜索查看。

l筆者將書中的連結列在表格中並放在了博文視點的官網,讀者同樣可以掃描“讀者服務”中的二維碼查看表格,並點擊其中的連結直接訪問。

本書可以作為移動端研發工程師的前沿讀物,讀者閱讀本書後,完全可以將所學知識應用到自己的產品中去;同時本書也適合對移動端運算領域感興趣的朋友閱讀。

致謝

特別感謝我的同事在本書編寫過程中提供的巨大幫助,由於本書涉獵的技術方向較廣——從體系結構到框架程式設計,從CPU到GPU程式設計,所以有些內容請教了在相關方向更資深的同事。感謝趙家英和秦雨兩位元同事對CPU性能優化部分提供的?明,感謝劉瑞龍和謝柏淵兩位同事對深度學習框架和GPU部分提供的?明,有了你們的?明,本書的內容才更完善、有深度,在此深表謝意。

李永會

2019年7月於北京

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

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

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

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

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

● 至2018年起,因中國大陸環保政策,部分書籍配件以QR CODE取代光盤音頻mp3或dvd,已無提供實體光盤。如需使用學習配件,請掃描QR CODE 連結至當地網站註冊並通過驗證程序,方可下載使用。造成不便,敬請見諒。

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

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