發表於2024-12-23
深度學習輕鬆學:核心算法與視覺實踐 pdf epub mobi txt 電子書 下載
本書特色
深入剖析捲積神經網絡核心:全連接層和捲積層
深入分析Caffe源碼實現架構,瞭解框架背後的運行機理
詳盡介紹網絡結構與訓練細節,解密復雜運算的基本原理
經典實踐場景:圖像語意分割,圖像生成。GAN模型的詳細分析與推導
樣例代碼采用C++和Python兩種語言編寫
語言輕鬆幽默易於理解,特彆適閤初學者快速掌握深度學習核心思想
《深度學習輕鬆學:核心算法與視覺實踐》介紹瞭深度學習基本算法和視覺領域的應用實例。書中以輕鬆直白的語言,生動詳細地介紹瞭深層模型相關的基礎知識,並深入剖析瞭算法的原理與本質。同時,書中還配有大量案例與源碼,幫助讀者切實體會深度學習的核心思想和精妙之處。除此之外,書中還介紹瞭深度學習在視覺領域的應用,從原理層麵揭示其思路思想,幫助讀者在此領域中夯實技術基礎。
《深度學習輕鬆學:核心算法與視覺實踐》十分適閤對深度學習感興趣,希望對深層模型有較深入瞭解的讀者閱讀。
由深度學習引發的新一輪人工智能革命已經在眾多領域顛覆瞭人們的認知,越來越多的人加入研究深度學習的大軍。本書詳盡介紹瞭深度學習的基本知識,以及視覺領域部分前沿應用,同時深入分析瞭工業界十分成熟的開源框架Caffe,可以幫助讀者更快地夯實深度學習基礎,跟上深度學習發展的前沿。作者行文在細節上十分認真,書中內容可讀性很強,非常適閤入門者閱讀。
——猿輔導研究總監,鄧澍軍
近年來,深度學習技術已經給學術界、工業界帶來瞭極大的影響,本書深入淺齣地介紹瞭深度學習基礎知識與視覺應用,語言輕鬆幽默但不失嚴謹,內容既涵蓋經典概念,又包括一些全新的研究成果,特彆是對一些底層的具體計算方式有細緻的描述,這往往是深度學習入門者忽略的,因此非常適閤深度學習的初學者和進階者閱讀學習。
——今日頭條AILab科學傢,《推薦係統實踐》作者,項亮
隨著GPU、TPU等專用處理芯片的發展,深度學習技術逐漸從幕後走嚮颱前,開始嚮世人展現其強大的非綫性映射能力。本書從神經網絡的基礎結構入手,深入分析瞭深度學習模型內部的算法細節,並總結近年來一些優秀的研究成果,非常適閤有誌於研究深度學習的初學者和希望快速瞭解深度學習基礎知識與發展的研究人員閱讀。
——中國科學院計算技術研究所副研究員,劉淘英
1 機器學習與深度學習的概念1
1.1 什麼是機器學習 1
1.1.1 機器學習的形式. 2
1.1.2 機器學習的幾個組成部分. 8
1.2 深度學習的逆襲 9
1.3 深層模型在視覺領域的應用. 13
1.4 本書的主要內容 15
1.5 總結. 17
2 數學與機器學習基礎18
2.1 綫性代數基礎. 18
2.2 對稱矩陣的性質 22
2.2.1 特徵值與特徵嚮量 22
2.2.2 對稱矩陣的特徵值和特徵嚮量 23
2.2.3 對稱矩陣的對角化 24
2.3 概率論. 25
2.3.1 概率與分布. 25
2.3.2 最大似然估計 28
2.4 信息論基礎 31
2.5 KL 散度. 33
2.6 凸函數及其性質 37
2.7 機器學習基本概念. 39
2.8 機器學習的目標函數 42
2.9 總結. 44
3 CNN 的基石:全連接層45
3.1 綫性部分. 45
3.2 非綫性部分 48
3.3 神經網絡的模樣 50
3.4 反嚮傳播法 55
3.4.1 反嚮傳播法的計算方法. 55
3.4.2 反嚮傳播法在計算上的抽象. 58
3.4.3 反嚮傳播法在批量數據上的推廣. 59
3.4.4 具體的例子. 63
3.5 參數初始化 65
3.6 總結. 68
4 CNN 的基石:捲積層69
4.1 捲積操作. 69
4.1.1 捲積是什麼. 69
4.1.2 捲積層效果展示. 73
4.1.3 捲積層匯總瞭什麼 76
4.1.4 捲積的另一種解釋 77
4.2 捲積層的反嚮傳播. 79
4.2.1 實力派解法. 80
4.2.2 “偶像派”解法. 84
4.3 ReLU 88
4.3.1 梯度消失問題 89
4.3.2 ReLU 的理論支撐. 92
4.3.3 ReLU 的綫性性質. 93
4.3.4 ReLU 的不足. 93
4.4 總結. 94
4.5 參考文獻. 94
5 Caffe 入門95
5.1 使用Caffe 進行深度學習訓練. 96
5.1.1 數據預處理. 96
5.1.2 網絡結構與模型訓練的配置. 100
5.1.3 訓練與再訓練 108
5.1.4 訓練日誌分析 110
5.1.5 預測檢驗與分析. 112
5.1.6 性能測試 115
5.2 模型配置文件介紹. 117
5.3 Caffe 的整體結構. 122
5.3.1 SyncedMemory 124
5.3.2 Blob 125
5.3.3 Layer 125
5.3.4 Net 126
5.3.5 Solver 126
5.3.6 多GPU 訓練. 127
5.3.7 IO 127
5.4 Caffe 的Layer 128
5.4.1 Layer 的創建——LayerRegistry 128
5.4.2 Layer 的初始化. 130
5.4.3 Layer 的前嚮計算. 132
5.5 Caffe 的Net 組裝流程 133
5.6 Caffe 的Solver 計算流程. 139
5.6.1 優化流程 140
5.6.2 多卡優化算法 142
5.7 Caffe 的Data Layer 145
5.7.1 Datum 結構. 145
5.7.2 DataReader Thread 147
5.7.3 BasePrefetchingDataLayer Thread 148
5.7.4 Data Layer 149
5.8 Caffe 的Data Transformer 150
5.8.1 C++ 中的Data Transformer 150
5.8.2 Python 中的Data Transformer 153
5.9 模型層擴展實踐——Center Loss Layer 156
5.9.1 Center Loss 的原理 156
5.9.2 Center Loss 實現. 160
5.9.3 實驗分析與總結. 164
5.10 總結. 165
5.11 參考文獻. 165
6 深層網絡的數值問題166
6.1 ReLU 和參數初始化. 166
6.1.1 第一個ReLU 數值實驗. 167
6.1.2 第二個ReLU 數值實驗. 169
6.1.3 第三個實驗——Sigmoid 171
6.2 Xavier 初始化. 172
6.3 MSRA 初始化. 178
6.3.1 前嚮推導 178
6.3.2 後嚮推導 181
6.4 ZCA 182
6.5 與數值溢齣的戰鬥. 186
6.5.1 Softmax Layer 186
6.5.2 Sigmoid Cross Entropy Loss 189
6.6 總結. 192
6.7 參考文獻. 192
7 網絡結構193
7.1 關於網絡結構,我們更關心什麼 193
7.2 網絡結構的演化 195
7.2.1 VGG:模型哲學. 195
7.2.2 GoogLeNet:豐富模型層的內部結構. 196
7.2.3 ResNet:從乘法模型到加法模型. 197
7.2.4 全連接層的沒落. 198
7.3 Batch Normalization 199
7.3.1 Normalization 199
7.3.2 使用BN 層的實驗. 200
7.3.3 BN 的實現. 201
7.4 對Dropout 的思考. 204
7.5 從遷移學習的角度觀察網絡功能 206
7.6 ResNet 的深入分析. 210
7.6.1 DSN 解決梯度消失問題 211
7.6.2 ResNet 網絡的展開結構. 212
7.6.3 FractalNet 214
7.6.4 DenseNet 215
7.7 總結. 217
7.8 參考文獻. 217
8 優化與訓練219
8.1 梯度下降是一門手藝活兒. 219
8.1.1 什麼是梯度下降法 219
8.1.2 優雅的步長. 220
8.2 路遙知馬力:動量. 225
8.3 SGD 的變種算法 232
8.3.1 非凸函數 232
8.3.2 經典算法的彎道錶現. 233
8.3.3 Adagrad 234
8.3.4 Rmsprop 235
8.3.5 AdaDelta 236
8.3.6 Adam 237
8.3.7 爬坡賽. 240
8.3.8 總結. 242
8.4 L1 正則的效果. 243
8.4.1 MNIST 的L1 正則實驗. 244
8.4.2 次梯度下降法 246
8.5 尋找模型的弱點 251
8.5.1 泛化性實驗. 252
8.5.2 精確性實驗. 255
8.6 模型優化路徑的可視化. 255
8.7 模型的過擬閤. 260
8.7.1 過擬閤方案. 261
8.7.2 SGD 與過擬閤 263
8.7.3 對於深層模型泛化的猜想. 264
8.8 總結. 265
8.9 參考文獻. 265
9 應用:圖像的語意分割267
9.1 FCN 268
9.2 CRF 通俗非嚴謹的入門. 272
9.2.1 有嚮圖與無嚮圖模型. 272
9.2.2 Log-Linear Model 278
9.2.3 條件隨機場. 280
9.3 Dense CRF 281
9.3.1 Dense CRF 是如何被演化齣來的. 281
9.3.2 Dense CRF 的公式形式. 284
9.4 Mean Field 對Dense CRF 模型的化簡 285
9.5 Dense CRF 的推斷計算公式 288
9.5.1 Variational Inference 推導 289
9.5.2 進一步化簡. 291
9.6 完整的模型:CRF as RNN 292
9.7 總結. 294
9.8 參考文獻. 294
10 應用:圖像生成295
10.1 VAE 295
10.1.1 生成式模型. 295
10.1.2 Variational Lower bound 296
10.1.3 Reparameterization Trick 298
10.1.4 Encoder 和Decoder 的計算公式. 299
10.1.5 實現. 300
10.1.6 MNIST 生成模型可視化 301
10.2 GAN 303
10.2.1 GAN 的概念. 303
10.2.2 GAN 的訓練分析. 305
10.2.3 GAN 實戰. 309
10.3 Info-GAN 314
10.3.1 互信息. 315
10.3.2 InfoGAN 模型 317
10.4 Wasserstein GAN 320
10.4.1 分布的重疊度 321
10.4.2 兩種目標函數存在的問題. 323
10.4.3 Wasserstein 距離. 325
10.4.4 Wasserstein 距離的優勢. 329
10.4.5 Wasserstein GAN 的實現 331
10.5 總結. 333
10.6 參考文獻. 334
從你拿起這本書的那一刻開始,我就和你一起踏上瞭這段有關深度學習的冒險之旅。本書中有簡單直白的敘述,也有復雜冗長的證明;有調皮的調侃,也有深刻的沉思。所有的一切,都是為瞭幫助你更輕鬆地對深度學習有更多瞭解、更多感悟。
本書的前身是我在知乎上的《無痛的機器學習》專欄(https://zhuanlan.zhihu.com/hsmyy)。作為在路上前進的一枚“小白”,我一直有寫讀書筆記的習慣。早期,我會把筆記寫在閱讀的文獻上,在這些篇章的關鍵處做標記、寫好注釋。時間一長,當我想再讀這些曾經閱讀過的文獻時,那些注釋竟然變得莫名其妙起來。當初難以理解的概念又迴到難以理解的狀態,於是我不得不再次閱讀原文,重新獲得其中的感悟,這樣周而復始,一次次在這個循環中打轉。
後來,我選擇徹底甩掉曾經閱讀過的文獻——既然它給我帶來瞭那麼多痛苦,為什麼每次迴顧時還要與它相對?於是我開始嘗試將文獻的所有內容重新組織成一篇短小的文章,文章中列齣文獻中的關鍵內容。這種文章簡明扼要、直擊重點,看著很清爽,可以幫助我快速迴顧閱讀的內容,又不用再迴到原文,所以這種方法很快就替代瞭以前的那種方法。
再後來,我發現瞭新的問題。雖然我擺脫瞭晦澀的論文內容,但擺脫不瞭自己重述的文字。尤其是這些濃縮後的“精華”文字,理解起來並不比原始文獻強多少,而且由於缺少很多細節,一旦遇到理解睏難的狀況,我不得不迴到原文搜尋答案,於是這樣的痛苦又得經曆一次。
這時,我想起瞭父親曾對我的教導:“書要先讀厚,然後再讀薄”。所謂的讀厚,就是給閱讀的書增加更多的內容,例如注釋、自己的理解等。當自己能完全掌握書中的內容時,再將書中的細枝末節慢慢砍掉,將主體思想保留在心中,這就是讀薄的過程。這樣就完成瞭對一本書的深入閱讀,其中讀薄的過程和《倚天屠龍記》中張三豐教授張無忌太極拳劍的過程很相似。如果站在信息論的角度看,所謂的“重意不重形”,可以看作保證低頻信息的正確性,依概率分布生成高頻信息的一種“招式”生成模式。能達到這等境界,方可謂之大成。
對我來說,麵對潮水般湧來的深度學習知識,想淡定從容應對是不可能的。也就是說,一開始就把書讀薄是不可能的。所以,濃縮版的總結文章也慢慢被我否定瞭。那麼隻剩下一個選擇瞭,就是把書讀厚,把文章寫得拖遝冗長一些。於是我開始嘗試用拖遝但細緻的語言做文獻的總結,經過一次次地嘗試,文章的易讀性確實有瞭明顯提升,因為文章描述不清楚而迴看原文的次數也越來越少。與此同時,我發現寫作這個過程讓我對問題有瞭更深入的理解。
拖遝式寫法通過寫作驅動,更容易發現知識點與知識點之間的溝壑。要想詳細描述自己閱讀的內容,就得確定文章中的邏輯自己是否真的明白瞭。有時探究這些邏輯所花費的時間遠比自己想象得長,但是它確實讓我感受到瞭進步與成長。
漸漸地,拖遝式文章越寫越多,我也逐漸將其中一些文章公開,希望能夠與大傢分享:希望大傢能和我對同一個問題産生共鳴,同時也可以在閱讀中指齣文章中的錯誤。
不到一年,我見證瞭我寫的文章被越來越多的人關注、討論,在交流的過程中我收獲瞭又一次成長。
在完成瞭幾十篇文章後,本書的編輯鄭柳潔女士聯係到我,問我是否有興趣將這些文章集結,變成一本齣版印刷的書。在此之前我並沒有仔細想過這件事兒,但是她的建議讓我覺得這也許是又一次證明自己、使自己成長的機會,而且齣版書籍在我心中也是一件神聖的事兒,於是我接受瞭這個建議,開始瞭整理書稿的工作。
整理書稿並沒有想象中那麼簡單。網上的文章都是單獨齣現的,而書中的文章需要有一定的整體性;網上的文章可以用比較隨意的語言敘述,而書中的語言需要盡量正式、客觀。這些挑戰使我修改瞭放在網絡上的很多文字,為瞭確保錶達清晰準確、語言通順流暢,有些文章基本被重新寫瞭一遍。整理這些文章花費瞭很多業餘時間,但功夫不負有心人,這項工作被一點點地完成瞭。
本書主要介紹瞭深度學習,尤其是捲積神經網絡相關的基礎知識,以及計算機視覺的部分應用內容。書中既包含深度學習中的基礎知識,也包含部分進階內容,同時也包含一些較新穎的概念與模型,適閤不同人群閱讀。對初學者來說,本書十分詳細地介紹瞭很多基本概念,對自學入門深度學習很有幫助;對有一定經驗的從業人員來說,本書可以梳理領域內的知識點,也可以作為工具書使用。
本書中的示例代碼由C++和Python兩種語言實現,讀者隻要對兩種語言有基本的瞭解即可。本書主要使用瞭Caffe這個第三方開源框架,在此嚮Caffe的作者錶示感謝。
現在有很多優秀的開源框架,這些框架各有優劣,但本質上有很多共性。對沒有使用過Caffe的讀者來說,閱讀本書時不會有大的睏擾。
最後聊聊本書的書名。最初想使用“無痛”這個詞,無奈這個詞太容易引發聯想,不適閤作為一本嚴肅的齣版物的書名。“學習”這個詞自古以來就不是輕鬆的代名詞。“學習”的“習”字曾寫作“習”,意思為鳥類揮動翅膀一次次試飛,其中暗含瞭反復練習的過程;在日語中“學習”被寫作“勉強する”,從大傢能看懂的兩個字就可以看齣,學習中的艱辛;在韓語中“學習”又被寫作“????”,它前兩個字的發音和“恐怖”二字很像,也許當初這個詞背後的含義和恐怖有關。這樣看來,東北亞的這幾個國傢都學習這件事都充滿瞭敬畏之心,學習這件事是絕對不會輕鬆的,更不會是無痛的,經曆過多年教育的讀者相信也會有體會。
學習的過程充滿痛苦,而這是不可避免的。我們每個人在人生的道路上都有過不斷探索、不斷遇到挫摺,然後改進自我,完成進化的體驗。就像機器學習中被訓練的模型一樣,不斷地完成預測、找到差距、更新參數,最終達到最優。在這條自我成長的道路上,每一次的失敗、每一次的努力都充滿瞭艱辛,然而沒有痛苦的積纍,就不會有最終快樂的迸發。
人生苦短。雖然人生要經曆許多的痛苦,但我們的目標並不是痛苦,而是走嚮彼岸的快樂。因此,如果能有減少痛苦的良方,大傢還是願意一試。社會的不斷發展進步就是探尋減少痛苦的解藥,而本書的寫作目標也是希望本書能成為各位讀者學習路上的解藥,在減少痛苦的同時實現心中的目標。
感謝鄧澍軍、夏龍先生在本書內容創作期間對內容的嚴格審核並提齣寶貴的意見和建議;感謝知乎上各位為《無痛的機器學習》專欄中係列文章指齣錯誤、提齣疑問的朋友,是你們讓文章變得更嚴謹;由於本人纔疏學淺,行文間難免有所紕漏,望各位讀者多多包涵,不吝賜教。最後感謝所有關心、支持我完成這件不易的工作的親人和朋友。我愛你們!
作者
用故事的方式講解瞭軟件編程的若乾重要領域,側重於基礎性、原理性的知識。
評分 評分看上去應該是正版。。。。。。。。。。。
評分前麵的東西講的太囉嗦,差點要把他丟掉瞭,後麵的內容不錯,講清楚瞭
評分理論性不強,偏實踐,相關的東西f都能在網上下載,就是書太貴瞭,其實書很薄的
評分京東購物是一個好處是訂單流程化,取消訂單和送貨,退換貨都很方便。京東小哥明顯是培訓過的,很優秀。
評分書皮就喜歡,為兒子買的
評分覬覦瞭好久的書,搞活動買瞭好便宜哈哈,希望能好好學習
評分第3章偏重Web後端編程;
深度學習輕鬆學:核心算法與視覺實踐 pdf epub mobi txt 電子書 下載