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