一個自然語言處理煉丹師的自白
往期:
上一期說完英語,這一期當(dāng)然就是三大巨頭中的另一個,數(shù)學(xué)。相信很多領(lǐng)域,特別是理工相關(guān)領(lǐng)域的童鞋,對數(shù)學(xué)的重要性深有所感。數(shù)學(xué)好,不光能很容易讀懂論文,還能讓你有能力推導(dǎo)自己的算法。有時讀用數(shù)學(xué)推導(dǎo)出一個簡潔 idea 的論文時,真的非常有趣。比如之前 Wasserstein GAN 論文,先用數(shù)學(xué)推了幾大頁,最后得出一個很簡單的改進(jìn)方法,非常精彩。我這樣的數(shù)學(xué)渣渣,只能看著這樣的論文流口水。

當(dāng)然,其實(shí)數(shù)學(xué)最重要的用途還是,讓你學(xué)東西的速度加快好幾倍。因?yàn)榇蟛糠掷砉た频臇|西都是建立在數(shù)學(xué)理論基礎(chǔ)上的,所以數(shù)學(xué)好的話,基本上一看就懂。核心的數(shù)學(xué)骨架都一樣,不同的只是外面的衣服。這也是數(shù)學(xué)系轉(zhuǎn)專業(yè)比較簡單的原因。
這里還想說說自己對數(shù)學(xué)的心態(tài)變化。首先不得不提之前看到過的一句話,中國教育最大失敗是讓學(xué)生們本能地憎恨學(xué)習(xí)。數(shù)學(xué)上也是,更多時提的不是數(shù)學(xué)之美,而是這里分?jǐn)?shù)比較多(敲黑板聲)。自己小時候?qū)?shù)學(xué)還是很感興趣的,特別是讀過一本至今都印象很深的數(shù)學(xué)啟蒙書《小木頭趣游魔數(shù)世界》(現(xiàn)在怎么找都找不到了)。這本書里面把數(shù)學(xué)問題和各種歷史天文地理結(jié)合起來講,非常有趣。

但到之后,數(shù)學(xué)就只與分?jǐn)?shù)有關(guān),也就不喜歡了。 很多時候自己都不知道自己在學(xué)習(xí)什么,為什么要學(xué),只是因?yàn)楸仨毜脤W(xué)才學(xué),這造成了逆反心理。說實(shí)話,直到大學(xué)畢業(yè)前,我對數(shù)學(xué)也是討厭至極。之后進(jìn)入修士階段,得補(bǔ)基礎(chǔ)知識,上了些公開課還有看了些國外作者寫的數(shù)學(xué)書,才慢慢又開始喜歡數(shù)學(xué),是因?yàn)?strong>對數(shù)學(xué)之美的喜愛,還有對其廣闊應(yīng)用的意識。這也是我個人的體會,國內(nèi)和國外學(xué)習(xí)材料兩個很大的不同之處在于,對學(xué)科本身透露出的熱愛,還有對其與實(shí)際應(yīng)用結(jié)合的強(qiáng)烈意識。想想也知道,一本全篇都透露出作者對這個話題熱情的書,和一本冰冷冷只是把知識全部列出來的書,你更想讀哪本呢。
線性代數(shù)
考研時沒意識到那小小一本線性代數(shù)有什么用。其實(shí)說到底,是還沒有明白線性代數(shù)背后真正的含義。直到上了MIT OCW 上的 Strang 教授 (MIT有很多上課非常棒的老師) 的線性代數(shù)課。Strang 可以說是我最喜歡的老師之一了。不光是因?yàn)橹v課特別好,也不光是因?yàn)樗看沃v課都會很呆萌地雙手?jǐn)傞_問問題,更主要的是他那種對數(shù)學(xué)本身的熱愛很感染人,讓我們也情不自禁地想去了解這個讓他癡迷的東西。

當(dāng)然還有課程的配套書《Introduction to Linear Algebra》,這個書封面是我見過最有意思的封面之一。最開始看很不明覺厲,但是當(dāng)看完書之后回來再看,就不得不為這個設(shè)計拍手叫絕。

刷完之后,對線代有興趣的可以讀讀更進(jìn)階的《Linear Algebra Done Right (線性代數(shù)應(yīng)該這樣學(xué))》。
至于線代的用途,可以這樣說吧,基本上現(xiàn)在計算機(jī)底層那些運(yùn)算其實(shí)都是在用線代。更別提當(dāng)前這些深度學(xué)習(xí)框架了,里面的所謂 Tensor (張量)其實(shí)就是多維矩陣,運(yùn)算時也都是用線代的方法在計算。還有機(jī)器學(xué)習(xí)里面的 PCA(主成分分析)和降維這些也與線代有著密切關(guān)系。
概率論和信息論
概率論和信息論,如果說現(xiàn)代計算機(jī)科學(xué)底層運(yùn)算很多都在用線代的話,那么上層很多算法就都是建立在概率論和信息論基礎(chǔ)上了。深度學(xué)習(xí)之前,機(jī)器學(xué)習(xí)的主流是統(tǒng)計學(xué)習(xí),基本上都是在搭建在概率論和信息論之上的。
這兩個想要一起大概稍微了解的話,就直接看 Goodfellow 那本深度學(xué)習(xí)書的第三章:Probability and Information Theory。
概率論這方面的資源很多,稍微列舉一下:
- 首先關(guān)于概率論非常推薦哈佛大學(xué)的 Statistics 110: Probability :雖然不是很有名,但內(nèi)容非常扎實(shí),介紹了很多關(guān)于概率論和統(tǒng)計學(xué)的內(nèi)容
- 當(dāng)然還有 MIT OCW 上的課 Probabilistic Systems Analysis and Applied Probability
- 之后關(guān)于統(tǒng)計學(xué)也挺推薦 Udacity 上的 Element Statistics: 分成 Descriptive 和 Inferential 兩部分來講,因?yàn)槭嵌桃曨l,所以很生動容易看
概率論還有一本700多頁的神書《Probability: The Logic of Science (概率論沉思錄)》,很慚愧的是,自己都沒看完過,每次都是中途棄。

信息論的話,因?yàn)樾薜氖亲约簩W(xué)校的信息論課,沒有上什么公開課所以不很了解。關(guān)于書,那么就是那本經(jīng)典的《Element of Information Theory》,還有《Information Theory, Inference and Learning Algorithms》這本,網(wǎng)上有配套公開課。

其他
最后告訴大家一個好消息,關(guān)于微積分,實(shí)際上用到的不太多,感覺最有用的就是怎么求導(dǎo)。而深度學(xué)習(xí)框架里面,因?yàn)橛杏嬎銏D的幫助,所以反向傳播什么都是自動求導(dǎo)。想仔細(xì)看的話,直接上MIT OCW 找 Single Variable Calculus 和 Multivariable Calculus 看就可以了,Multi 的老師特別萌
還有一個好消息,其實(shí)上面提到大部分內(nèi)容,如果不是特別感興趣想深入了解的話,其實(shí)不看也是可以的。直接簡單地讀讀那本 Deep Learning 的第二章和第三章就行了。但這樣也少了很多學(xué)習(xí)數(shù)學(xué)的樂趣。
這期就先這樣吧,下期講講語言學(xué)。