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