AI寒冬論作者再發文:「深」度學習對數據的理解太「淺」了
AI 寒冬論作者 Filip Piekniewski 再次發文,從計算機視覺的角度出發談論深度學習的效用和風險等。他認為經典計算機視覺不會消亡,深度學習只能應用於可接受偏差的場景中。
計算機視覺和 AI 領域研究者 Filip Piekniewski 曾經發表「AI 寒冬將至」的觀點,從大公司對 AI 研究的興趣、深度學習的擴展能力、炒作等角度展開,並認為 AI 寒冬必將到來。前不久,他再次發文,從矽谷的起落講述 AI 寒冬原理,聲稱人工智慧和區塊鏈終將走入死胡同。這次,他從老本行計算機視覺出發,認為經典計算機視覺技術非常強大並且短期內不會消亡,深度學習對數據的語義理解非常淺層,只能用於接受偏差的場景中。
目前,深度學習為很多領域(尤其是計算機視覺領域)提供了新功能,令很多人對之著迷。然而,深度網路是「黑匣子」,多數人不了解其工作原理(坦白說,我們中的大多數人都是如此,甚至受過該領域培訓的科學家也無法準確說出它們是如何工作的)。但是,深度學習的成功以及一系列令人意外的故障模式為我們處理數據留下了寶貴的經驗。
本文將展示深度學習的實際效能、深度學習與經典計算機視覺(離消亡還很遠)的聯繫,以及關鍵應用依賴深度學習的潛在危險。
傳統計算機視覺
傳統計算機視覺是一個廣泛的演算法集合,這些演算法可以從圖像中提取信息(通常表示為像素值數組)。各種應用可以使用的方法很多,如去噪、增強和目標檢測。一些方法旨在找出簡單的幾何基元,例如邊緣檢測、形態分析、霍夫變換、Blob 檢測、角點檢測(Corner dection),以及圖像閾值(image thresholding)的各種方法。同時還有一些特徵表示和變換方法,如方向梯度直方圖和哈爾級聯(Haar cascade),這些可以作為機器學習分類器的前端,以構建更複雜的檢測器。
與流行的理念不同,以上討論的這些工具結合起來可形成用於特定對象的非常強大和有效的檢測器。人們可以構建人臉檢測器、汽車檢測器和路標檢測器,並且對於這些特定對象來說,檢測器很可能會在準確率和計算複雜度兩方面優於深度學習解決方案。但問題是,每個檢測器都需要由專業人士從零開始構建,而這低效、昂貴且無法擴展。
因此,在歷史上,極好的檢測器只用於那些必須頻繁檢測且能夠證明前期投資合理的對象。很多這樣的檢測器屬於私人專有,不向公眾開放。還有一些很棒的人臉檢測器及汽車牌照閱讀器等。但是,沒有一個頭腦正常的人會投資編寫狗探測器或者對圖像中某一品種的狗進行分類的分類器。這樣做既昂貴又不實用。這時就需要深度學習了。
深度學習的祝福與詛咒
深度學習技術使用一種叫作梯度反向傳播的優化方法來生成「程序」(也被稱為「神經網路」)。這些「程序」和優化技術對這個世界一無所知,它們所關心的只是構建變換和條件集合,而這些將為數據集中的圖像分配正確的標籤。如果存在一些明顯的提示(如數據集中所有狗圖像的左上角為藍色),則程序會毫不猶豫地利用這一點「故意為之」。
這些偏差可以通過向訓練集添加更多數據來消除,但由反向傳播生成的「程序」非常大,也非常複雜,擁有數百萬的參數和數千個條件檢查(condition check),因此可以理解更小偏差組合。任何允許分配正確標籤以在統計學上優化目標函數的程序都會這樣做,而不管是否與任務中的「語義精神」(semantic spirit)有關。
這些網路最終是否可以理解「語義正確」的先驗呢?當然可以。但現在大量證據表明,這並不是網路實際做的事情。對抗樣本表明,對圖像進行極細微且察覺不到的修改即可完全顛覆這些結果。對與訓練數據集類似的新樣本進行研究後發現,原始數據集以外的泛化較數據集內的泛化更弱 [1],這表明網路理解的是給定數據集的低層級特徵。在某些情況下,修改單像素即可破壞一個深度網路分類器。
在某些方面,深度學習的最大優勢——自動創建人類無法想出的特徵——同時也是其最大弱點,因為毫不誇張地說,大多數這些特徵在語義上是「可疑的」。
什麼時候有用,什麼時候沒用
深度學習是計算機視覺工具箱的一種有趣補充。現在,我們可以較容易地「訓練」某些對象的檢測器,否則實現起來太貴且不切實際。在某種程度上,我們也可以擴展這些檢測器,以利用更多的計算能力。但是我們會為此付出很高的代價:我們不知道它們如何做出決策,同時我們明白分類的基礎很可能與任務的「語義精神」毫無關係。因此,只要輸入數據違反了訓練集中存在的低層級偏差,檢測器就會意外出現故障。實際上,這些故障條件無法描述。
因此在實踐中,深度學習很適合那些誤差不嚴重且能夠保證輸入與訓練數據集出入不大的應用,即僅需要性能達到 95% 的問題,包括圖像搜索、監控、自動零售,以及幾乎所有並非「關鍵性」並且之後可以進行檢查和改正的任務。諷刺的是,大多數人認為深度學習是應用空間的一場革命,這些應用需要實時做出決策,誤差很關鍵且可能導致致命性結果,如自動駕駛汽車和自動化機器人(例如,近期研究顯示,基於深度神經網路的自動駕駛解決方案的確易受到現實生活中對抗攻擊的影響)。我只能說這種觀念是一種「不幸的」誤解。
一些人對深度學習在醫療和診斷領域的應用寄予厚望。然而,這個領域也有一些令人擔憂的發現,如在一個機構數據上訓練的模型出現故障,卻在另一個機構數據上驗證良好。這種情況再次與以下觀點保持一致,即這些模型獲取的數據比很多研究人員所希望的更淺層。
數據比我們想的要淺
令人意外的是,深度學習教給我們一些有關視覺數據(通常是高維數據)的有趣東西:以一些較我們過去認為的更「淺」的方式。相比在統計意義上分離一個擁有高級人工分類標籤的視覺數據集,基於「語義正確」分離數據集的方法比較少。換言之,在統計學上,低級圖像特徵集比我們想像的更強大。這是深度學習的重大發現。如何生成按「語義合理」方式分離視覺數據集的模型,這個問題仍然是開放性的,事實上現在這個問題更難回答了。
結論
現在,深度學習已經成為計算機視覺工具箱的重要組成部分。但是,傳統計算機視覺仍然用於構建非常強大的檢測器。這些手工製作的檢測器在一些特定的數據集指標上或許無法實現高效能,但可以保證它們依賴於輸入的「語義相關」特徵集。所以,檢測器的故障模式可被更好地描述和預測。深度學習在無需特徵工程的情況下提供統計意義上強大的檢測器,不過這依然需要大量標註數據、GPU 和深度學習專家。但是,這些強大的檢測器會意外出現故障,它們的適用範圍也無法輕易界定(或者更進一步說,根本無法界定)。對於一些可以接受偶爾災難性故障的應用,深度學習運行良好。但對於那些在給定條件集中性能和計算複雜度更重要的應用,它們會在未來很多年裡使用經典的機器視覺管道。
※脫髮、禿頭防不勝防?這裡有一份給碼農的減壓指南
※你已經是一個成熟的碼農了,這些思維習慣你要有
TAG:機器之心 |