上一篇TensorFlow的內核基礎介紹了TF Core中的基本構造塊,在介紹其強大的API之前,我們需要先明了TF所要解決的核心問題:機器學習。
什么是機器學習?
人類的學習
美索不達米亞文明
公元前4000年,在現今的伊拉克境內,有過世界最早的文明中心之一美索不達米亞(Mesopotamia)。那里的蘇美爾人根據觀察,發現月亮每隔28-29天就完成從新月到滿月再回到新月的周期,而且每過12-13個這樣的周期,太陽就回到了原來的位置,據此發明了太陰歷。從此,他們具有了預測日食和月食的能力,具有了安排農時的能力。
托勒密的地心說
公元2世紀,托勒密提出了“地心說”。托勒密基于過去上百年來的天文觀察數據,用最基本的、無法再簡化的原型(圓形)對行星運行軌道進行了建模,該模型在一定情況下是準確的,并可以用于預測。
現代人回頭看或許對此相當不以為然,可在當時的天文學界這算的上是最偉大的文明成就,直到14個世紀后才被哥白尼的“日心說”推翻。吳軍在其《智能時代》一書中,如此形容其發明者克羅狄斯·托勒密:
“在我看來,托勒密在近代之前是當之無愧的最偉大的天文學家,沒有之一”。
之所以托勒密有如此高的地位,并不完全是因為地心說,而是他的思維方式和方法論(影響了西方世界一千多年),簡單概括就是:“通過觀察獲得數學模型的雛形,然后利用數據來細化模型”。直到今天這種樸素的方法論依然管用。
人類的學習
前面兩個例子揭示了人類學習的一般規律,而文明的形成過程就是上面這個過程的無數次的迭代。現在人類的知識庫中積累了大量反應真實世界的模型,比如牛頓三大定律、萬有引力、質能方程等,基于這些模型,就可以安排火箭發射,登月,建立粒子加速器。
機器學習
在過去,積累觀測數據,動輒就是上百年,假設、調整并驗證一個模型又是一個漫長的過程。而當今我們面臨的是數據爆炸,全世界90%的數據,都是在最近幾年產生的。如果能讓機器根據大數據動態的發現、調整模型,直到得到一個穩定的、能代表真實世界規律的模型,那么人類就可以大大縮短找到規律的時間,并利用該模型改善自身環境。這就是基于大數據進行機器學習的思想。
休謨的問題
機器學習的挑戰之一,就是數據的完備性。也就是說數據的收集只有量大還不夠,如果不完備,就會得到錯誤的模型。經常聽到的黑天鵝、羅素的歸納主義者火雞、過擬合都是指向這個問題。
其實不僅機器學習會有這個問題,人也一樣。《終極算法》一書中,有一個真實例子:
一個白人小女孩,在商場看到拉美裔嬰兒時脫口而出:“看,媽媽,那是小女傭”。小女孩并非生下來就是偏執狂。那是因為在她短暫的人生閱歷里,她對見過的僅僅幾個拉美裔女傭進行了籠統的概括。
早在18世紀,最偉大的經驗主義哲學家休謨就提出了這個經典問題:
在概括我們見過的東西以及沒見過的東西時,怎樣才能做到合理?
從某種意義上說,每種學習算法都在嘗試回答這個問題。
共享協議:署名-非商業性使用-禁止演繹(CC BY-NC-ND 3.0 CN)
轉載請注明:作者黑猿大叔(簡書)