萬(wàn)萬(wàn)沒想到,枯燥的“機(jī)器學(xué)習(xí)”還可以這樣學(xué)!
機(jī)器學(xué)習(xí)是人工智能的核心之一,涉及領(lǐng)域包括概率論、統(tǒng)計(jì)學(xué)等復(fù)雜學(xué)科。對(duì)于非專業(yè)人士來說,想要理解它著實(shí)不容易。
最近,螞蟻 AI 平臺(tái)部的栢檸,卻在遛彎中找到解釋“機(jī)器學(xué)習(xí)”的關(guān)鍵所在,以深入淺出的方式把“機(jī)器學(xué)習(xí)”解釋得趣味盎然。下面一起來學(xué)下吧!
本文作者:螞蟻金服 AI 平臺(tái)部資深產(chǎn)品專家栢檸(朱百寧)
5 月末的一天中午,螞蟻 AI 平臺(tái)部的幾個(gè) PD 同學(xué)吃完老娘舅,在Z空間樓下遛彎。
期間,某同學(xué)提到一則“小孩子因?yàn)殡u毛蒜皮的小事,想不開而做出傻事”的新聞。
當(dāng)大家在紛紛感嘆的時(shí)候,一位產(chǎn)品專家同學(xué)形象地說了一句——這個(gè)孩子的“模型過擬合、泛化能力太差”。
這個(gè)比喻確實(shí)一針見血、入木三分??!眾人均表示,以此悟性,該同學(xué)“晉升研究員,入主組織部”就指日可待了!
的確如此,嬌生慣養(yǎng)(過擬合:overfitting)形成的脆弱心智(模型),在面臨真實(shí)世界當(dāng)中的種種不如意時(shí),往往不能正確地處理(預(yù)測(cè)不準(zhǔn)、泛化能力差),從而非常容易釀成悲劇。
在機(jī)器學(xué)習(xí)當(dāng)中,在訓(xùn)練模型時(shí),如果樣本太單一或者特征選擇不當(dāng),就會(huì)出現(xiàn)過擬合。即把訓(xùn)練樣本當(dāng)中的特殊情況,當(dāng)成普遍情況。這樣,在面對(duì)新的樣本時(shí),就無法正確處理。
我們常說的應(yīng)試教育和素質(zhì)教育,也有泛化能力的巨大差異。
應(yīng)試教育整天讓學(xué)生做卷子、刷題庫(kù),訓(xùn)練出來模型過擬合、泛化能力差,就會(huì)出現(xiàn)“高分低能”的情況。而素質(zhì)教育則注重能力鍛煉、比較多元化,訓(xùn)練出來的模型泛化能力強(qiáng),學(xué)生們將來在生活和工作方面都不會(huì)有太大的問題。
其實(shí),如果你把人的成長(zhǎng)與機(jī)器學(xué)習(xí)進(jìn)行仔細(xì)比對(duì),你就會(huì)發(fā)現(xiàn),兩者還有更多異曲同工之妙。
一個(gè)嬰兒呱呱墜地,他天生就會(huì)具備一些能力(自帶算法庫(kù)),比如心跳、呼吸、哭、笑、恐懼等等。
這些能力,都是神奇的進(jìn)化和偉大的基因帶給我們的。否則,讓我們重新掌握一遍這些技能那就太費(fèi)勁了。
當(dāng)然,為了正常的生活,僅僅有這些自帶的初級(jí)算法和模型是還不夠,你還要不斷地掌握一些新的技能(自研算法)。
比如,吃飯、走路、說話等等。
要掌握這些技能,需要父母日復(fù)一日,年復(fù)一年,不辭辛苦地反復(fù)教我們,訓(xùn)練我們咿呀學(xué)語(yǔ)、蹣跚學(xué)步。
這就像在機(jī)器學(xué)習(xí)中,需要足夠多的樣本(成千上萬(wàn)),耗費(fèi)很多計(jì)算資源,經(jīng)過數(shù)分鐘甚至數(shù)小時(shí)、數(shù)天的持續(xù)訓(xùn)練,才能獲得一個(gè)模型。
其實(shí),在人的大腦當(dāng)中,不光有常年累月不斷訓(xùn)練而掌握的技能(模型),還會(huì)有一些強(qiáng)規(guī)則。
這些規(guī)則,有些是父母教給我們的,有的是社會(huì)道德規(guī)范、法律法規(guī)形成的 。
比如,父母會(huì)對(duì)小孩子說:“不要隨便吃陌生人給的食物”、“過馬路時(shí)要左右看”。
在生活當(dāng)中,要尊老愛幼、禮尚往來,要遵紀(jì)守法、踐行社會(huì)主義核心價(jià)值觀等等。
對(duì)于這些規(guī)則,我們記住,以后照做就行了。
由此可見,我們的大腦就像一個(gè)決策中心或者決策中樞,其中包含了無數(shù)規(guī)則和模型
。每次決策,就是組合地使用這些規(guī)則和模型。
在實(shí)際的機(jī)器學(xué)習(xí)應(yīng)用場(chǎng)景中,在各個(gè)業(yè)務(wù)線當(dāng)中,也有各種各樣類似的“決策中心”,比如大安全的 UCT、微貸的 AGDS 以及 DecisionX 這樣的“通用決策中心”。
這個(gè)決策中心,就包含了成百上千復(fù)雜的規(guī)則(或者稱為“策略”)以及訓(xùn)練得到的模型。對(duì)于某一個(gè),用策略 and/or 模型的組合來進(jìn)行判斷和決策。
而且,往往是先判斷策略,如果不滿足某個(gè)策略,那么就直接給出決策。
隨著年齡的增長(zhǎng),除了吃喝拉撒這些基本技能,我們的決策中心還需要掌握更多的技能,比如語(yǔ)文、數(shù)學(xué)、音樂、舞蹈、體育等等。
在這方面,經(jīng)常會(huì)看到某些孩子“天賦異稟”,即系統(tǒng)自帶超牛的算法——他的爸媽給他遺傳了更好的算法。
不過,我們普通人也不要?dú)怵H,我們可以付出更多努力(大樣本),不斷刻意、刻苦地訓(xùn)練(模型不斷 retrain 和演進(jìn)),也能取得好的成績(jī)。
人生是場(chǎng)馬拉松,模型訓(xùn)練也是如此。
相比之下,在這場(chǎng)馬拉松當(dāng)中,在人生的不同年齡階段,我們所使用的學(xué)習(xí)方法也不盡相同。
在小時(shí)候,我們大多數(shù)采用的是有監(jiān)督的機(jī)器學(xué)習(xí)。
比如,父母會(huì)拿著各種各樣的水果教我們:“這是蘋果,這是桔子”。
動(dòng)畫片和故事書經(jīng)常告訴我們:哪些是好人,哪些是壞人。
于是,我們最常用的就是二分類算法:大/小、長(zhǎng)/短、是/否、好/壞。
而長(zhǎng)大以后,我們遇到更多的是無監(jiān)督或者半監(jiān)督的學(xué)習(xí),很多事物并不會(huì)帶著明確的是非對(duì)錯(cuò)的標(biāo)簽。
因此,我們會(huì)用一些聚類算法。跟遇到的人經(jīng)過一段時(shí)間熟悉后,才會(huì)把他們分為“講義氣”、“酒量大”、“會(huì)修電腦”、“愛吃老娘舅”等各個(gè)類別。
盡管學(xué)習(xí)的方法各異,但大道至簡(jiǎn)、萬(wàn)物相同。
我們知道,一個(gè)人在某個(gè)方面有所成就,就很容易在其他領(lǐng)域表現(xiàn)優(yōu)異(遷移學(xué)習(xí)) 。
比如,愛因斯坦不僅是杰出的科學(xué)家,他還精通小提琴。一個(gè)C語(yǔ)言高手,很快就能變身 Java 大拿。
當(dāng)然,細(xì)究起來,人腦與機(jī)器學(xué)習(xí)也有不少差異。
比如,給小孩玩幾個(gè)玩具汽車、看幾張汽車圖片,他就會(huì)能認(rèn)識(shí)許多造型各異、圖片風(fēng)格迥異的汽車。
相比之下,要讓機(jī)器達(dá)到這樣看似簡(jiǎn)單的能力,則需要需要數(shù)萬(wàn)、數(shù)百萬(wàn)的樣本來訓(xùn)練。
幾年來,有關(guān) AutoML 的一個(gè)研究方向,就是解決如何用少量的樣本完成模型的訓(xùn)練。
此外,我們發(fā)現(xiàn),人類“下意識(shí)、一瞬間”能做的事情,對(duì)于人工智能來說卻很難。
比如,認(rèn)識(shí)物體和人像(圖像識(shí)別能力)、喜怒哀樂的情緒以及行走奔跑的能力。究其原因,還是歸功于偉大的進(jìn)化——我們的這些模型,是經(jīng)歷了億萬(wàn)年的進(jìn)化,經(jīng)過了無數(shù)次地模型演進(jìn)才獲得的。
反過來說,人類花很長(zhǎng)時(shí)間才能做完的事情,對(duì)電腦來說卻易如反掌。例如,在短時(shí)間內(nèi),對(duì) 100 萬(wàn)個(gè)數(shù)字求和,或者把圓周率的精確到小數(shù)點(diǎn)后 100 萬(wàn)位。
然而,要找到人腦和人工智能的能力差異背后的真實(shí)原因,人類還有很長(zhǎng)一段路要走。
盡管現(xiàn)在科技日新月異,盡管人們已經(jīng)發(fā)明出了“深度神經(jīng)網(wǎng)絡(luò)”來實(shí)現(xiàn)人工智能(深度學(xué)習(xí)),讓機(jī)器認(rèn)識(shí)貓、下圍棋,但人類對(duì)自己大腦的運(yùn)作機(jī)制仍然知之甚少。
可以說,人們用自己那神奇的、原理尚不清楚(不可解釋) 的大腦,造出了種種機(jī)理尚不清楚(不可解釋)的模型。
也就是說,盡管你用深度學(xué)習(xí)訓(xùn)練出了一個(gè)可以識(shí)別貓的模型,但這個(gè)模型沒有可解釋性。即,你無法說出這個(gè)你訓(xùn)練出的這個(gè)牛逼的模型,究竟是靠哪些特征、哪些原則來識(shí)別出貓的。
人的心智,就是由無數(shù)個(gè)如此諱莫如深的模型以及清晰明了的規(guī)則組成。
人的一生,就是不斷迭代舊算法、retrain 舊模型,研發(fā)新算法、訓(xùn)練新模型的過程。
所謂“讀萬(wàn)卷書、行萬(wàn)里路、與萬(wàn)人談”,這就是讓我們掌握更多的算法,擁有更全面的樣本,從而訓(xùn)練出更多樣的模型。
不過,可惜的是,不像“長(zhǎng)相、哭、笑”這類特征或技能,人類的大部分模型并不能通過基因來遺傳給我們的孩子。
比如,一個(gè)“精通 Java/Python,擅 debug、調(diào) core”的高級(jí)技術(shù)專家(P8),與一個(gè)“深諳用戶體驗(yàn)和人性本質(zhì)”的資深產(chǎn)品經(jīng)理(P6)合體之后,繁衍的后代并不能天生就會(huì)寫碼或畫線框圖。
也就是說,你窮盡一生訓(xùn)練出來的各色優(yōu)雅的模型,有朝一日都會(huì)下線(模型下線)。
但是,并不要因此感到悲傷,人生本來就是一個(gè)體驗(yàn)美好和精彩的過程。
人常說,活到老學(xué)到老,這樣的人生才是完整的,才是值得期待的。
總而言之,螞蟻金服 AI 平臺(tái)部匯聚了機(jī)器學(xué)習(xí)、大數(shù)據(jù)智能等領(lǐng)域的來自五湖四海、國(guó)內(nèi)國(guó)外的眾多精英,部門的產(chǎn)品支持了螞蟻金服多個(gè)核心產(chǎn)品和業(yè)務(wù)。
這個(gè)團(tuán)隊(duì)不光有才、有料,還有情、有義、有趣!