深度學(xué)習(xí)的局限性,你了解嗎?
簡評:AI、機器學(xué)習(xí)、深度學(xué)習(xí)是近年大熱的領(lǐng)域,但我們要清楚,深度學(xué)習(xí)的局限性,即雖然可以使用連續(xù)幾何變換把 X 映射到 Y,但缺乏推理能力和抽象能力。訓(xùn)練集樣本不足,有些數(shù)據(jù)無法用連續(xù)的幾何變換表示。雖然現(xiàn)在機器學(xué)習(xí)能夠改變很多行業(yè)的游戲規(guī)則,但距離人性化 AI 還有很遠的路要走。
深度學(xué)習(xí):幾何視圖
關(guān)于深度學(xué)習(xí)最令人驚訝的它把復(fù)雜簡單化。十年前,沒人能想到,通過梯度下降的訓(xùn)練簡單的參數(shù)模型,就能實現(xiàn)機器感知方面的如此驚人的結(jié)果。現(xiàn)在,事實證明,你只需要考慮足夠多的例子以及所需要的大量參數(shù)模型就夠了。費曼曾經(jīng)這么描述過宇宙,「It’s not complicated, it’s just a lot of it」。
在深度學(xué)習(xí)中,所有東西都是向量,即一切都是幾何空間的一個點。模型輸入(它可以是文本,圖像等)和目標(biāo)首先被「矢量化」,即變成一些初始輸入向量空間和目標(biāo)向量空間。深度學(xué)習(xí)模型中的每層都對通過它的數(shù)據(jù)進行一個簡單的幾何變換。他們集合在一起,模型的層鏈形成一個非常復(fù)雜的幾何變換,然后分解成一系列簡單的幾何變換。這種復(fù)雜的轉(zhuǎn)換嘗試將輸入空間映射到目標(biāo)空間,一次一個點。該變換根據(jù)不同層的權(quán)重參數(shù)而改變,這些層根據(jù)模型在當(dāng)前執(zhí)行的程度上進行迭代更新。這種幾何變換的一個關(guān)鍵特征是它必須是可微分的,這是為了使我們能夠通過梯度下降來研究其參數(shù)的必要條件。直觀地說,這意味著從輸入到輸出的幾何變形必須是平滑和連續(xù)的。
整個過程都是把復(fù)雜的幾何變換到輸入數(shù)據(jù)。
這就是深度學(xué)習(xí)的魔力:將意義轉(zhuǎn)化為向量,轉(zhuǎn)化為幾何空間,然后逐步學(xué)習(xí)復(fù)雜的幾何變換,將一個空間映射到另一個空間。
深度學(xué)習(xí)的局限性
通過簡單的策略,我們就能擁有幾乎無限的實現(xiàn)應(yīng)用的可能性。然而,目前即使有大量的人為注釋的數(shù)據(jù),也有很多的深度學(xué)習(xí)無法完成。比方說,你可以整理一個數(shù)據(jù)集,規(guī)模可能是數(shù)百、數(shù)千、數(shù)十萬、甚至數(shù)百萬的語言來描述軟件產(chǎn)品的功能。即使有這些數(shù)據(jù),您也無法訓(xùn)練一個深度的學(xué)習(xí)模型來簡單地閱讀產(chǎn)品描述并生成相應(yīng)的代碼庫。這只是其中的一個例子。一般來說,任何需要推理的程序設(shè)計,或應(yīng)用科學(xué)的方法(長期規(guī)劃和類似算法的數(shù)據(jù)操作),無論您投入多少數(shù)據(jù),深度學(xué)習(xí)模型都是無法完成的。即使學(xué)習(xí)具有深層神經(jīng)網(wǎng)絡(luò)的排序算法也是難以實現(xiàn)的。
這是因為一個深度學(xué)習(xí)模型是「簡單的」 連續(xù)的幾何變換鏈,將一個向量空間映射到另一個空間。它能做的就是標(biāo)記數(shù)據(jù) X,對應(yīng)關(guān)聯(lián)到到數(shù)據(jù) Y 上,假設(shè)存在從 X 到 Y 的可學(xué)習(xí)的連續(xù)變換,并且存在密集的可用的 XY 訓(xùn)練集,深度學(xué)習(xí)模型才能夠成立。但大多數(shù)程序不能被稱為深度學(xué)習(xí)模型 – 對于大多數(shù)任務(wù),要么沒有相應(yīng)的實際多的深層神經(jīng)網(wǎng)絡(luò)來解決任務(wù),要么即使存在神經(jīng)網(wǎng)絡(luò),它可能無法自我學(xué)習(xí),即對應(yīng)的幾何變換可能太復(fù)雜,或者沒有可以學(xué)習(xí)的基礎(chǔ)數(shù)據(jù)集作參考。
通過堆疊更多層和使用更多的訓(xùn)練數(shù)據(jù)來擴展當(dāng)前的深度學(xué)習(xí)技術(shù),只能表面緩解其中的一些問題。這些所代表的范圍非常有限,這不會解決深度學(xué)習(xí)模型的更根本的問題,而且,大多數(shù)可能采取深度學(xué)習(xí)的程序不能用多樣的數(shù)據(jù)連續(xù)幾何變形來表示。
擬人機器學(xué)習(xí)模型的風(fēng)險
當(dāng)代 AI 的一個非常突出的風(fēng)險是「誤解了深度學(xué)習(xí),并高估了其能力」。人類思想的一個根本特征是依據(jù)人類物種的「思想理論和體系」,我們傾向把人類的意圖、信仰、了解加于身邊的事務(wù)上。就像在巖石上畫一個笑臉?biāo)镁拖裨谛Γ@些都是我們的想象。在深度學(xué)習(xí)方面,例如,當(dāng)我們能夠有些成功地培養(yǎng)一個模型,它看到圖片就生成題目,我們常誤以為該模型「理解」了圖片的內(nèi)容從而生成了標(biāo)題。然后,當(dāng)訓(xùn)練數(shù)據(jù)中存在的圖像類型輕微偏離導(dǎo)致模型開始產(chǎn)生完全荒謬的字幕時,我們會非常驚訝。
(當(dāng)我們以為機器學(xué)習(xí)產(chǎn)生了「理解能力」后,若機器學(xué)習(xí)輸出的結(jié)果發(fā)生偏離,我們會非常吃驚,圖字:這個男孩拿著一個棒球棒)
經(jīng)常有些「對抗性案例」能夠證明其辨識度的脆弱性,輸入案例會特地放一些欺騙模型的樣本,作為深度學(xué)習(xí)的輸入資料。通過梯度上升,可以稍微修改圖像,以便最大化給定類的類預(yù)測。通過拍攝一只熊貓,并添加一個「長臂猿」梯度,我們可以看到,一個神經(jīng)網(wǎng)絡(luò)將熊貓分類為長臂猿。這證明了這些模型的脆弱性,以及它們運行的輸入到輸出映射與我們自己的人類感知之間的深刻差異。
(把長臂猿放入訓(xùn)練集,某個神經(jīng)網(wǎng)絡(luò)會判定照片上的熊貓是長臂猿)
我們?nèi)祟愖约簩D像,聲音和語言的理解,建立在我們作為人類的感受體驗中,地球上的生物也是如此感受和理解。機器學(xué)習(xí)模型無法獲得這種感受和理解,因此不能以人類的感覺去要求機器學(xué)習(xí)。通過注釋大量的訓(xùn)練示例來填充我們的模型,我們讓它們學(xué)習(xí)一個幾何變換,將數(shù)據(jù)映射到這個特定的一組示例上,但是這個映射只是我們思想中原始模型的簡單草圖,機器學(xué)習(xí)像個執(zhí)行者,執(zhí)行人類的思路,但沒有感情和理解,它們的行為準(zhǔn)則都是人類賦予。
作為一名機器學(xué)習(xí)從業(yè)者,始終要注意這一點,永遠不要陷入陷阱,認(rèn)為神經(jīng)網(wǎng)絡(luò)了解他們所執(zhí)行的任務(wù) 。
局部泛化與極端泛化
深度學(xué)習(xí)模型的輸入到輸出的直接幾何變形和人類思考和學(xué)習(xí)的方式,有本質(zhì)上的區(qū)別。人類從自我認(rèn)知和對外界的經(jīng)驗認(rèn)識中不斷學(xué)習(xí),這和機器學(xué)習(xí)的學(xué)習(xí)路徑不同,除了不同的學(xué)習(xí)過程之外,底層表征的性質(zhì)存在著根本性的差異。
人類對自身目前的情況,對自己和其他人保持復(fù)雜的、抽象的思考和行為模式,并可以使用這些模型來預(yù)測不同的未來可能性,并執(zhí)行長期規(guī)劃。人類能夠?qū)⒁阎拍钊诤显谝黄?,就算他們以前從未?jīng)歷過的事情,比如見到了一只穿牛仔褲的馬,中了彩票,他們會做什么。這種處理假設(shè)的能力,將我們的心理模式變得更復(fù)雜,可以說是人類認(rèn)知的定義特征。我稱之為「極端泛化」:適應(yīng)新奇的能力,在情境之前從未經(jīng)歷過,使用非常少的數(shù)據(jù)甚至沒有新的數(shù)據(jù)就能夠適應(yīng)。
這與深度神經(jīng)網(wǎng)絡(luò)形成了鮮明的對比,我稱其為「局部泛化」:如果新的輸入與之前的訓(xùn)練集有偏差,哪怕是一點點的差異化,都會加快深度神經(jīng)網(wǎng)絡(luò)的輸入與輸出的錯誤率從而停下一切。例如,用深度學(xué)習(xí)來完成火箭登月的問題,我們需要適當(dāng)?shù)陌l(fā)射參數(shù)。如果使用深度神經(jīng)網(wǎng)絡(luò)進行此項任務(wù),無論是使用監(jiān)督學(xué)習(xí)還是強化學(xué)習(xí)進行培訓(xùn),都需要為數(shù)千甚至數(shù)百萬次的啟動試驗提供補充,即需要密集的抽樣 的輸入空間,以便完成從輸入空間到輸出空間的可靠映射。相比之下,人類可以利用他們的抽象力來提出物理模型「火箭科學(xué)」,并在一個或幾個實驗中得出一個精確的解決方案,將火箭送上月球。
再舉個例子,如果你開發(fā)了一個能控制人身體的神經(jīng)網(wǎng)絡(luò),并希望它能夠在不被任何車碰撞的情況下游覽整個城市,那么神經(jīng)網(wǎng)路控制的人在各種情況下都要死掉數(shù)千次,直到可以判斷出車輛的情況以及各種危險,并制定執(zhí)行回避行為。而再去一個新的城市,神經(jīng)網(wǎng)絡(luò)必須重新學(xué)習(xí)大部分的知識。反過來,人類能夠?qū)W習(xí)安全的行為,而沒有用死亡試錯 的過程,這要歸功于人類假設(shè)情境的抽象建模。
(同樣的經(jīng)驗,左側(cè)是機器學(xué)習(xí)的局部泛化,缺乏抽象能力。右側(cè)是人類的極端泛華,可以通過假設(shè)而抽象建模,不必真的遍歷)
簡而言之,盡管我們在機器感知上取得了進步,但我們?nèi)匀贿h離感性的人文 AI:我們的模型只能執(zhí)行局部泛化,適應(yīng)與過去數(shù)據(jù)非常接近的新情況,而人類認(rèn)知能夠極端泛化,迅速適應(yīng)大膽新奇的情況,或為長遠未來的情況進行規(guī)劃。
結(jié)論
這是你應(yīng)該記住的:到目前為止,深入學(xué)習(xí)的唯一真正的成功是使用連續(xù)幾何變換將空間 X 映射到空間 Y 的能力,但還要給出了大量的人為注釋的數(shù)據(jù)。做好這一切,基本上能改變每一個行業(yè)的游戲規(guī)則,但是距離更人性化的 AI 還有很長一段路要走。
為了讓 AI 解決這些限制,并開始與人類大腦競爭,我們需要跳出「簡單的輸入到輸出映射」,關(guān)注推理和抽象。