萬萬沒想到,高深的“機器學習”還可以這樣學……

這幾年,“人工智能/機器學習”可謂是大行其道、如火如荼,但非專業人士想要不掉隊,要理解這些高深的技術、晦澀的術語,確實挺難。最近,我就在研究人工智能和機器學習。(因此,導致經常斷更……)前幾天,我寫了一篇以人的成長過程來類比機器學習的文章,想必能讓即使零基礎的你,看完之後也能對這個高科技略知一二了。

万万没想到,高深的“机器学习”还可以这样学……

5月末的一天中午,幾位同事吃完午飯,在公司樓下遛彎。

期間,某同學提到一則“小孩子因為雞毛蒜皮的小事,想不開而做出傻事”的新聞。

當大家在紛紛感嘆的時候,一位產品專家同學形象地說了一句——這個孩子的“模型過擬合、泛化能力太差”

這個比喻確實一針見血、入木三分啊!眾人均表示,以此悟性,該同學“晉升研究員,入主組織部”就指日可待了!

的確如此,嬌生慣養(過擬合:overfitting)形成的脆弱心智(模型),在面臨真實世界當中的種種不如意時,往往不能正確處理(預測不準、泛化能力差),從而非常容易釀成悲劇。

在機器學習當中,在訓練模型時,如果樣本太單一或者特徵選擇不當,就會出現過擬合。即,把訓練樣本當中的特殊情況,當成普遍情況。這樣,在面對新的樣本時,就無法正確處理。

万万没想到,高深的“机器学习”还可以这样学……

我們常說的應試教育和素質教育,也有泛化能力的巨大差異。

應試教育整天讓學生做卷子、刷題庫,訓練出來模型過擬合、泛化能力差,就會出現“高分低能”的情況。而素質教育則注重能力鍛鍊、比較多元化,訓練出來的模型泛化能力強,學生們將來在生活和工作方面都不會有太大的問題。

万万没想到,高深的“机器学习”还可以这样学……

其實,如果你把人的成長與機器學習進行仔細比對,你就會發現,兩者還有更多異曲同工之妙。

一個嬰兒呱呱墜地,他天生就會具備一些能力(

自帶算法庫),比如心跳、呼吸、哭、笑、恐懼等等。

這些能力,都是神奇的進化和偉大的基因帶給我們的。否則,讓我們重新掌握一遍這些技能那就太費勁了。

万万没想到,高深的“机器学习”还可以这样学……

當然,為了正常的生活,僅僅有這些自帶的初級算法和模型是還不夠,你還要不斷地掌握一些新的技能(自研算法)。

比如,吃飯、走路、說話等等。

要掌握這些技能,需要父母日復一日年復一年,不辭辛苦地反覆教我們,訓練我們咿呀學語、蹣跚學步。

這就像在機器學習中,需要足夠多的樣本(成千上萬),耗費很多計算資源,經過數分鐘甚至數小時、數天的持續訓練,才能獲得一個模型。

其實,在人的大腦當中,不光有成年累月不斷訓練而掌握的技能(模型),還會有一些強規則。

這些規則,有些是父母教給我們的,有的是社會道德規範、法律法規形成的 。

比如,父母會對小孩子說:“不要隨便吃陌生人給的食物”、“過馬路時要左右看”。

在生活當中,要尊老愛幼、禮尚往來,要遵紀守法、踐行社會主義核心價值觀等等。

對於這些規則,我們記住,以後照做就行了。

万万没想到,高深的“机器学习”还可以这样学……

由此可見,我們的大腦就像一個決策中心或者決策中樞,其中包含了無數規則和模型組成的。每次決策,就是組合地使用這些規則和模型。

在實際的機器學習應用場景中,在各個業務線當中,也有各種各樣類似的“決策中心”。這個決策中心,就包含了成百上千複雜的規則(或者稱為“策略”)以及訓練得到的模型。對於某一個,用策略and/or模型的組合來進行判斷和決策。而且,往往是先判斷策略,如果不滿足某個策略,那麼就直接給出決策。

隨著年齡的增長,除了吃喝拉撒這些基本技能,我們的決策中心還需要掌握更多的技能,比如語文、數學、音樂、舞蹈、體育等等。

在這方面,經常會看到某些孩子“天賦異稟”,即系統自帶超牛的算法——他的爸媽給他遺傳了更好的算法。

不過,我們普通人也不要氣餒,我們可以付出更多努力(大樣本),不斷刻意、刻苦地訓練(模型不斷retrain和演進),也能取得好的成績。

人生是場馬拉松,模型訓練也是如此。

万万没想到,高深的“机器学习”还可以这样学……

相比之下,在這場馬拉松當中,在人生的不同年齡階段,我們所使用的學習方法也不盡相同。

在小時候,我們大多數採用的是有監督的機器學習

比如,父母會拿著各種各樣的水果教我們:“這是蘋果、這是桔子”。

動畫片和故事書中經常告訴我們,這是好人、那是壞人。

於是,我們最常用的就是二分類算法:大/小、長/短、是/否、好/壞。

万万没想到,高深的“机器学习”还可以这样学……

而長大以後,我們遇到更多的是無監督或者半監督的學習,很多事物並不會帶著明確的是非對錯的標籤。

因此,我們會用一些聚類算法。跟遇到的人經過一段時間熟悉後,才會把他們分為“講義氣”、“酒量大”、“會修電腦”、“愛吃老孃舅”等各個類別。

万万没想到,高深的“机器学习”还可以这样学……

儘管學習的方法各異,但大道至簡、萬物相同。

我們知道,一個人在某個方面有所成就,就很容易在其他領域表現優異(遷移學習) 。

比如,愛因斯坦不僅是傑出的科學家,他還精通小提琴。一個C語言高手,很快就能變身Java大拿。

當然,細究起來,人腦與機器學習也有不少差異。

比如,給小孩玩幾個玩具汽車、看幾張汽車圖片,他就會能認識許多造型各異、圖片風格迥異的汽車。

相比之下,要讓機器達到這樣看似簡單的能力,則需要需要數萬、數百萬的樣本來訓練。

幾年來,有關AutoML的一個研究方向,就是解決如何用少量的樣本完成模型的訓練。

万万没想到,高深的“机器学习”还可以这样学……

此外,我們發現,人類“下意識、一瞬間”能做的事情,對於機器來說卻很難

比如,認識物體和人像(圖像識別能力)、喜怒哀樂的情緒以及行走奔跑的能力。

究其原因,還是歸功於偉大的進化——我們的這些模型,是經歷了億萬年的進化,經過了無數次地模型演進才獲得的。

反過來說,人類花很長時間才能做完的事情,對電腦來說卻易如反掌

例如,在短時間內,對100萬個數字求和,或者把圓周率的精確到小數點後100萬位。

万万没想到,高深的“机器学习”还可以这样学……

然而,要找到人腦和人工智能的能力差異背後的真實原因,人類還有很長一段路要走。

儘管現在科技日新月異,儘管人們已經發明出了“深度神經網絡”來實現人工智能(深度學習),讓機器認識貓、下圍棋,但人類對自己大腦的運作機制仍然知之甚少。

可以說,人們用自己那神奇的、原理尚不清楚(不可解釋) 的大腦,造出了種種機理尚不清楚(不可解釋)的模型。

也就是說,儘管你用深度學習訓練出了一個可以識別貓的模型,但這個模型沒有可解釋性。即,你無法說出這個你訓練出的這個牛逼的模型,究竟是靠哪些特徵、哪些原則來識別出貓的。

万万没想到,高深的“机器学习”还可以这样学……
万万没想到,高深的“机器学习”还可以这样学……

人的心智,就是由無數個如此諱莫如深的模型以及清晰明瞭的規則組成。

人的一生,就是不斷迭代舊算法、retrain舊模型,研發新算法、訓練新模型的過程。

所謂“讀萬卷書、行萬里路、與萬人談”,這就是讓我們掌握更多的算法,擁有更全面的樣本,從而訓練出更多樣的模型。

不過,可惜的是,不像“長相、哭笑”這類特徵/技能,人類的大部分模型並不能通過基因來遺傳給我們的孩子。

比如,一個“精通Java/Python,擅debug、調core”的高級技術專家(P8),與一個“深諳用戶體驗和人性本質”的資深產品經理(P6)合體之後,繁衍的後代並不能天生就會寫碼或畫線框圖。

也就是說,你窮盡一生訓練出來的各色優雅的模型,有朝一日都會下線(模型下線)

万万没想到,高深的“机器学习”还可以这样学……

但是,並不要因此感到悲傷,人生本來就是一個體驗美好和精彩的過程。

人常說,活到老學到老,這樣的人生才是完整的,才是值得期待的。

#專欄作家#

題圖來自 Unsplash,基於 CC0 協議


分享到:


相關文章: