
邱錫鵬
本書主要介紹神經網絡與深度學習中的基礎知識、主要模型(卷積神經網絡、遞歸神經網絡等)以及在計算機視覺、自然語言處理等領域的應用。
雖然我已經拿到了計算機專業的碩士文憑,但是直到讀完這本書才理清了很多概念,以前我都是直接用深度學習框架寫好的代碼,很多時候其實並不真的明白某行代碼背後真正的含義。 因爲有一些基礎,所以這本書看得也挺快,對於沒基礎的讀友,有一些小建議: 1. 無需過度關注公式。公式其實就是對所闡述的原理的一種更精準的表達形式,如果覺得公式有難度,完全可以跳過。 2. 釐清前因後果。我們在看論文的時候經常會重點關注這篇論文解決了前人無法解決的什麼問題,其實整本書也是一樣的,機器學習發展了百年,出現了各種各樣的算法,模型,其實都是爲了解決某些問題,明白了這些就更容易把這些內容串起來。 3. 藉助AI工具。在經過了這本書提到的各種探索之後,終於大語言模型在近幾年出現了,所以讀這本書中間我遇到不懂的概念也會用deepseek幫我解答,更好幫助理解。
由於每個符號的自信息通常都不是整數,因此在實際編碼中很難達到理論上的最優值.霍夫曼編碼(Huffman Coding)和算術編碼(Arithmetic Coding)是兩種最常見的熵編碼技術. [霍夫曼編碼參見算法15.1.] E.1.3 聯合熵和條件熵 對於兩個離散隨機變量X和Y,假設X取值集合爲[插圖];Y取值集合爲[插圖],其聯合概率分佈滿足爲p(x,y),則 X和Y的聯合熵(Joint Entropy)爲 [插圖] X和Y的條件熵(Conditional Entropy)爲 [插圖] 根據其定義,條件熵也可以寫爲 H(X|Y)=H(X,Y)−H(Y). (E.8) E.2 互信息 互信息(Mutual Information)是衡量已知一個變量時,另一個變量不確定性的減少程度.兩個離散隨機變量X和Y的互信息定義爲 [插圖] 互信息的一個性質爲 I(X;Y)=H(X)−H(X|Y) (E.10) =H(Y)−H(Y|X). (E.11) 如果變量X和Y互相獨立,它們的互信息爲零. E.3 交叉熵和散度 E.3.1 交叉熵 對於分佈爲p(x)的隨機變量,熵H(p)表示其最優編碼長度.交叉熵(Cross Entropy)是按照概率分佈q的最優編碼對真實分佈爲p的信息進行編碼的長度,定義爲 [插圖] 在給定p的情況下,如果q和p越接近,交叉熵越小;如果q和p越遠,交叉熵就越大. E.3.2 KL散度 KL散度(Kullback-Leibler Divergence),也叫KL距離或相對熵(Relative Entropy),是用概率分佈q來近似p時所造成的信息損失量.KL散度是按照概率分佈q的最優編碼對真實分佈爲p的信息進行編碼,其平均編碼長度(即交叉熵)H(p,q)和p的最優平均編碼長度(即熵)H(p)之間的差異.對於離散概率分佈p和q,從q到p的KL散度定義爲 [插圖] 其中爲了保證連續性,定義[插圖]. KL散度總是非負的,KL(p,q)≥0,可以衡量兩個概率分佈之間的距離.KL散度只有當p=q時,KL(p,q)=0.如果兩個分佈越接近,KL散度越小;如果兩個分佈越遠,KL散度就越大.但KL散度並不是一個真正的度量或距離,一是KL散度不滿足距離的對稱性,二是KL散度不滿足距離的三角不等式性質. E.3.3 JS散度 JS散度(Jensen-Shannon Divergence)是一種對稱的衡量兩個分佈相似度的度量方式,定義爲 [插圖] 其中[插圖]. JS散度是KL散度一種改進.但兩種散度都存在一個問題,即如果兩個分佈p,q沒有重疊或者重疊非常少時,KL散度和JS散度都很難衡量兩個分佈的距離. E.3.4 Wasserstein距離 Wasserstein距離(Wasserstein Distance)也用於衡量兩個分佈之間的距離.對於兩個分佈q1,q2,pth-Wasserstein距離定義爲 [插圖] 其中Γ(q1,q2)是邊際分佈爲q1和q2的所有可能的聯合分佈集合,d(x,y)爲x和y的距離,比如ℓp距離等. 如果將兩個分佈看作兩個土堆,聯合分佈γ(x,y)看作從土堆q1的位置x到土堆q2的位置y的搬運土的數量,並有 [插圖]
邱錫鵬老師寫的教材,上課的時候也是按照這本書的框架講的。實驗配套用書的框架是飛槳,講老實話不是很建議看那本實驗用書(現在主流框架都是pytorch)。 作爲理論學習還是不錯的,實操建議補一本別的書(比如李沐老師的)。
藉着大模型的解釋,略去所有公式,粗讀一遍,大有收穫。 1、更深度理解了端到端的學習的意義。從這個意義上說,深度學習可以看作一種強化學習 —— 每個內部組件並不能直接得到監督信息,需要通過整個模型的最終監督信息(獎勵)得到,並且有一定的延時性. 2、理解四個定理:PAC學習理論、天下沒有沒費的午餐、奧卡姆剃刀、醜小鴨。 3、理解CNN。卷積層,受感受野啓發,局部連接、權重共享;匯聚,降維提純、抗擾提效;全連接層和分類器。 4、理解LSTM,及其三個門,遺忘門、輸入門、輸出門。 5、自注意多頭注意力的原理,大概搞懂了。
書籍質量還算可以,沒有發現有嚴重的錯誤。但是這種書過多的數學內容,實踐性不強,而且有些地方讓人越讀越迷惑,不適合新手閱讀。如果你明白怎麼回事,書裏頭有些東西還是可以玩味。但是第一次學習深度學習,嚴重不推薦,只會增加困擾。而且讀這本書所帶來的智識上的樂趣對實際應用有多少價值,我覺得還是值得懷疑的。這種書就像花書和西瓜書一樣,可以作爲寫論文索引文獻時候使用的工具書。但是要閱讀這樣的書,不僅僅費勁,而且讀後往往還是一頭霧水。
豆瓣評分9.5!復旦大學邱錫鵬教授力作,周志華、李航聯袂推薦,深受好評的深度學習講義“蒲公英書”正式版!系統整理深度學習的知識體系,由淺入深地闡述深度學習的原理、模型以及方法。更適合中文讀者自學與入門的深度學習圖書!使你掌握神經網絡與深度學習技術的基本原理,知其然也知其所以然。
西方論文集錦罷了。吹得太過了,20年它是細糠,但如今24年了,可以選擇的書很多,不適合入門,更適合那些居高臨下的學術派子們拿去填自己的論文用
全書共15章,分爲三個部分。第一部分爲機器學習基礎:第1章是緒論,概要介紹人工智能、機器學習、深度學習;第2~3章介紹機器學習的基礎知識。第二部分是基礎模型:第4~6章分別講述三種主要的神經網絡模型:前饋神經網絡、卷積神經網絡和循環神經網絡;第7章介紹神經網絡的優化與正則化方法;第8章介紹神經網絡中的注意力機制和外部記憶;第9章簡要介紹一些無監督學習方法;第10章介紹一些模型獨立的機器學習方法,包括集成學習、自訓練、協同訓練、多任務學習、遷移學習、終身學習、元學習等。第三部分是進階模型:第11章介紹概率圖模型的基本概念;第12章介紹兩種早期的深度學習模型—玻爾茲曼機和深度信念網絡;第13章介紹深度生成模型,包括變分自編碼器和生成對抗網絡;第14章介紹深度強化學習;第15章介紹應用十分廣泛的序列生成模型。 本書可作爲高等院校人工智能、計算機、自動化、電子和通信等相關專業的研究生或本科生教材,也可供相關領域的研究人員和工程技術人員參考。
這都不推薦推薦誰啊(ó﹏ò。)
既深入講解了神經網絡的數學原理(如反向傳播、優化算法),又通過代碼示例和實踐練習幫助讀者將理論轉化爲實際應用,有助於提升解決實際問題的能力。