當前位置:
首頁 > 新聞 > 揭開對機器學習的七點誤解

揭開對機器學習的七點誤解

雷鋒網 AI 科技評論按,近日,哥倫比亞大學計算機科學專業博士生 Oscar Chang 發博闡述了關於機器學習的七個誤解,雷鋒網 AI 科技評論將原文編譯整理如下。

在了解深度學習的過程中盛傳著 7 個誤解,它們中很多都是以前固有的偏見,但在最近又被新的研究提出了質疑,現在我們把它整理出來:

誤解 1: TensorFlow 是個張量運算庫

誤解 2: 圖像數據集反映了自然世界真實圖像分布

誤解 3: 機器學習研究者並不使用測試集進行驗證

誤解 4: 神經網路訓練過程會使用訓練集中的所有數據點

誤解 5: 我們需要批標準化來訓練超深度殘差網路

誤解 6: 注意力優於卷積

誤解 7: 顯著圖是解釋神經網路的一種穩健方法

以下將分別說明:

誤解1:TensorFlow 是個張量運算庫?

事實上,TensorFlow 是一個矩陣運算庫,這與張量運算庫存在顯著差異。

在 NeurIPS 2018 的論文 Computing Higher Order Derivatives of Matrix and Tensor Expressions 中,研究者表明,他們基於張量微積分(Tensor Calculus)所建立的新自動微分庫具有明顯更緊湊(compact)的表達式樹(expression trees)。這是因為,張量微積分使用了索引標識,這使得前向模式和反向模式的處理方式相同。

南轅北轍的是——矩陣微積分為了標識方便而隱藏了索引,這通常會導致自動微分的表達式樹顯得過於冗雜。

若有矩陣的乘法運算:C=AB。在前向模式中,有:

而在反向模式中,則有:

為了正確完成乘法計算,我們需要注意乘法的順序和轉置的使用。對於機器學習開發者而言,這只是在標識上的一點困惑,但對於程序而言,需要計算花銷。

下一個例子顯然意義更加重大:對於求行列式 c=det(A)。在前向模式中,有:

而在反向模式中,則有:

這裡可以明顯看出,無法使用同一個表達式樹來表示兩種模式,因為二者是由不同運算組成的。

總的來說,TensorFlow 和其他庫(如 Mathematica、Maple、 Sage、SimPy、ADOL-C、TAPENADE、TensorFlow, Theano、PyTorch 和 HIPS autograd)實現的自動微分方法,會在前向模式和反向模式中,得出不同的、低效的表達式樹。而在張量微積分中,通過索引標識保留了乘法的可交換性,進而輕鬆避免了這些問題(具體的實現原理,請閱讀論文原文)。

研究者在三個不同的問題上測試了他們進行反向模式自動微分的方法,也就是反向傳播,並測試了其計算 Hessian 矩陣所消耗的時間。

揭開對機器學習的七點誤解

第一個問題是優化一個形如 xAx 的二次函數;第二個問題是求解一個邏輯回歸;第三個問題是求解矩陣分解。

在 CPU 上,新方法與當下流行的 TensorFlow、Theano、PyTorch 和 HIPS autograd 等自動微分庫相比,要快兩個數量級。

揭開對機器學習的七點誤解

在 GPU 上,研究者發現,新方法的提速更加明顯,超出流行庫的速度近似三個數量級。

意義:利用目前的深度學習庫完成對二次或更高階函數的求導,所花費的成本比本應消耗的更高。這包含了計算諸如 Hessian 的通用四階張量(例:在 MAML 中,以及二階牛頓法)。幸運的是,在深度學習中,二階函數並不常見。但在傳統機器學習中,它們卻廣泛存在:SVM 對偶問題、最小二乘回歸、LASSO,高斯過程……

誤解2:圖像數據集反映了自然世界真實圖像分布

人們大概會認為,如今的神經網路在目標識別任務上,水平已經超過真人。其實並不盡然。也許在 ImageNet 等篩選出來的圖像數據集上,它們的效果的確比人工優秀;但對於自然界的真實圖像,它們在目標識別上絕對無法比過任何一個正常的成年人。這是因為,從目前的圖像數據集中抽取的圖像,和從真實世界整體中抽取的圖像的分布不同。

在一篇 2011 年舊論文 Unbiased Look at Dataset Bias 里,研究者根據 12 個流行的圖像數據集,嘗試通過訓練一個分類器用以判斷一個給定圖像來自於哪個數據集,來探索是否存在數據集偏差。

揭開對機器學習的七點誤解

隨機猜測的正確率應該是 1/12 = 8%,而實驗結果的準確率高於 75%。

揭開對機器學習的七點誤解

研究者在 HOG 特徵上訓練了一個 SVM,並發現其正確率達到 39%,高於隨機猜測水平。如今,如果使用最先進的 CNN 來複現這一實驗,分類器的表現可能更好。

如果圖像數據集確實能夠代表來自自然世界的真實圖像,就不應能夠分辨出某個特定圖像是來自於哪個數據集的。

揭開對機器學習的七點誤解

但數據中的偏差,使得每個數據集都與眾不同。例如,在 ImageNet 中,有非常多的「賽車」,不能認為這代表了通常意義上「汽車」的典型概念。

揭開對機器學習的七點誤解

研究者在某數據集訓練分類器,並在其他數據集上評估表現效果,進一步度量數據集的價值。根據這個指標,LabelMe 和 ImageNet 是偏差最小的數據集,在「一籃子貨幣(basket of currencies)」上得分 0.58。所有數據集的得分都小於 1,表明在其他數據集上訓練的模型都給出了更低的準確度。在沒有數據集偏差的理想情況下,應該有一些得分是高於 1 的。

作者做了悲觀的總結:

那麼,如果我們把現在用來訓練演算法的數據集部署在現實世界裡,它有什麼價值呢?總結下浮現出的答案會是:「比沒有好,但沒好太多。」

誤解 3:機器學習研究者並不使用測試集進行驗證

在機器學習的第一門課中,我們會學習到將數據集分為訓練集、驗證集以及測試集。將在訓練集上訓練得到模型,在驗證集上進行效果評估,用以指導開發者調節模型,以求在真實場景下獲得效果最好的模型。直到模型調節好之後,才應該使用測試集,提供模型在真實場景下實際表現的無偏估計。如果開發者「作弊」地在訓練或驗證階段使用了測試集,那麼模型就很可能遇到對數據集偏差產生過擬合的風險:這類偏差信息是無法在數據集外泛化得到的。

機器學習研究競爭激烈,對新演算法/模型的評估,通常都會使用其在測試集上的表現。因此對於研究者而言,沒有理由去寫/提交一篇測試集效果不 SOTA 的論文。這也說明在機器學習研究領域,總體而言,使用測試集進行驗證是一個普遍現象。

這種「作弊」行為的影響是什麼?

揭開對機器學習的七點誤解

在論文 DoCIFAR-10Classifiers Generalize to CIFAR-10? 中,研究者們通過在 CIFAR-10 上建立了一個新的測試集,來研究此問題。為此,他們解析標註了來自 Tiny Images 庫的圖像,在最初的數據採集過程也是如此。

研究者們之所以選擇 CIFAR-10,是因為它是機器學習界使用最廣泛的數據集之一,也是 NeurIPS 2017 中第二受歡迎的數據集(在 MNIST 之後)。CIFAR-10 數據集的創建過程也有完善公開的文檔記錄。而龐大的 Tiny Images 庫中,也有足夠的細粒度標籤數據,進而使得在盡量不引起分布偏移的情況下重建一個測試集成為可能。

揭開對機器學習的七點誤解

研究者發現,很多神經網路模型在從原來的測試集切換到新測試集的時候,都出現了明顯的準確率下降(4% - 15%)。但各模型的相對排名依然相對穩定。

揭開對機器學習的七點誤解

總的來說,相較於表現較差的模型,表現較好模型的準確率下降程度也相對更小。這是一個振奮人心的消息,因為至少在 CIFAR-10 上,隨著研究社群發明出更好的機器學習模型/方法,由於「作弊」得到的泛化損失,也變得更加輕微。

誤解4:神經網路訓練過程會使用訓練集中的所有數據點

人們常說,數據是新型財富,數據量越大,我們就能將數據相對不足的、過參數化的深度學習模型訓練得越好。

在 ICLR 2019 的一篇論文 An Empirical Study of Example Forgetting During Deep Neural Network Learning 中,研究者們表示在多個常見的較小圖像數據集中,存在顯著冗餘。令人震驚的是,在 CIFAR-10 中,我們可以在不顯著影響測試集準確率的情況下剔除 30% 的數據點。

揭開對機器學習的七點誤解

當神經網路在時刻 t 給出準確分類,而在 t+1 時刻發生誤分類,此時稱為發生遺忘事件。這裡的時刻是指網路中 SGD 的更新次數。為了追蹤遺忘事件,研究者每次只在 SGD 更新時的小批次數據中的樣本上運行神經網路,而不是在數據集的每個樣本上運行。對於在訓練時不會發生遺忘事件的樣本,稱之為難忘性樣本。

研究者發現,MNIST 中 91.7%、permutedMNIST 中 75.3%、CIFAR-10 中 31.3% 以及 CIFAR-100 中 7.62% 的數據屬於難忘性樣本。這符合直觀理解,因為隨著圖像數據集的多樣性和複雜性上升,神經網路對數據的遺忘性越大。

揭開對機器學習的七點誤解

相較於難忘性樣本,可遺忘樣本似乎表現了更多不尋常的獨特特徵。研究者將其類比於 SVM 中的支持向量,因為它們似乎劃分了決策邊界。

揭開對機器學習的七點誤解

與此相反,難忘性樣本則編碼了絕大部分的冗餘信息。如果將樣本按難忘性進行排序,就可以通過刪除絕大部分的難忘性樣本,進而減小數據集。

在 CIFAR-10 中,在不影響測試集準確率的情況下,30% 的數據是可以移除的,刪除 35% 的數據後準確率會下降 0.2%。如果所移除的 30% 的數據是隨機挑選的,不是基於難忘性來選取,準確率將會顯著下降 1%。

揭開對機器學習的七點誤解

與此類似,在 CIFAR-100 上,8% 的數據可以在不影響測試集準確率的情況下移除。

這些發現表明,在神經網路的訓練中,存在明顯的數據冗餘,就像 SVM 的訓練中,非支持向量的數據可以在不影響模型決策的情況下移除。

意義:如果在開始訓練之前,就能確定哪些樣本是不可遺忘的,那麼我們就可以通過刪除這些數據來節省存儲空間和訓練時間。

誤解5:我們需要批標準化來訓練超深度殘差網路

長久以來,人們都相信「通過隨機初始參數值和梯度下降,直接優化有監督目標函數(如:正確分類的對數概率)來訓練深度網路,效果不會很好。」

從那時起,就有很多聰明的隨機初始化方法、激活函數、優化方法以及其他諸如殘差連接的結構創新,來降低利用梯度下降訓練深度神經網路的難度。

但真正的突破來自於批標準化(batch normalization)的引入(以及其他的後續標準化技術),批標準化通過限制深度網路每層的激活值,來緩和梯度消失、爆炸等問題。

值得注意的是,在今年的論文 Fixup Initialization: Residual Learning Without Normalization 中,研究表明在不引入任何標準化方法的情況下,通過使用 vanilla SGD,可以有效地訓練一個 10,000 層的深度網路。

揭開對機器學習的七點誤解

研究者比較了在 CIFAR-10 上,不同深度殘差網路訓練一個 epoch 的結果,並發現,標準初始化方法在 網路達到 100 層時就失敗了,但 Fixup 和批標準化在 10,000 層的網路都能成功。

揭開對機器學習的七點誤解

研究者通過理論分析,證明了「特定神經層的梯度範數,以某個隨網路深度增加而增大的數值為期望下界」,即梯度爆炸問題。

為避免此問題,Fixup 中的核心思想是在每 L 個殘差分支上,使用同時依賴於 L 和 m 的因子來調整 m 個神經層的權重。

揭開對機器學習的七點誤解

Fixup 使得能夠在 CIFAR-10 上以高學習速率訓練一個 110 層的深度殘差網路,得到的測試集表現和利用批標準化訓練的同結構網路效果相當。

揭開對機器學習的七點誤解

揭開對機器學習的七點誤解

研究者也進一步展示了在沒有任何標準化處理下,基於 Fixup 得到的神經網路在 ImageNet 數據集和英語-德語機器翻譯任務上與 LayerNorm 網路得分相當。

誤解6:注意力機制優於卷積

在機器學習領域,有一個正得到認同的說法,認為注意力機制是卷積的更優替代。重要的是 Vaswani et al 注意到「一個可分離卷積的計算成本,和一個自注意力層與一個逐點前饋層結合後的計算成本一致」。

即使是最新的 GAN 網路,也展示出自注意力相較於標準卷積,在對長期、多尺度依賴性的建模上效果更好。

在 ICLR 2019 的論文 Pay Less Attention with Lightweight and Dynamic Convolutions 中,研究者對自注意力機制在長期依賴性的建模中參數的有效性和效率提出了質疑,他們表示一個受自注意力啟發而得到的卷積變體,其參數效率更高。

揭開對機器學習的七點誤解

輕量級卷積(lightweight convolutions)是深度可分離(depthwise-separable)的,它在時間維度上進行了 softmax 標準化,通道維度上共享權重,且在每個時間步上重新使用相同權重(類似於 RNN 網路)。動態卷積(dynamic convolutions)則是在每個時間步上使用不同權重的輕量級卷積。

這些技巧使得輕量級卷積和動態卷積相較於傳統的不可分卷積,在效率上優越幾個數量級。

揭開對機器學習的七點誤解

揭開對機器學習的七點誤解

研究者也證明,在機器翻譯、語言建模和抽象總結等任務上,這些新卷積能夠使用數量相當或更少的參數,達到或超過基於自注意力的基準效果。

誤解7:顯著圖(saliency maps)是解釋神經網路的一個穩健方法

雖然神經網路通常被認為是黑匣子,但現在還是已經有了有非常多對其進行解釋的探索。顯著圖,或其他類似對特徵或訓練樣本賦予重要性得分的方法,是其中最受歡迎的形式。

我們很容易得出這樣的結論,即對給定的圖像進行某種分類的原因是由於圖像的特定部分對神經網路進行分類時的決策起了重要作用。已有的幾種計算顯著圖的方法,通常都基於神經網路在特定圖像上的激活情況,以及網路中所傳播的梯度。

在 AAAI 2019 的一篇論文 Interpretation of Neural Networks is Fragile 中,研究者表明,可以通過引入一個無法感知的擾動,從而扭曲給定圖像的顯著性圖。

揭開對機器學習的七點誤解

「帝王蝶之所以被分類為帝王蝶,並不是因為翅膀的圖案樣式,而是因為背景上一些不重要的綠色樹葉。」

揭開對機器學習的七點誤解

高維圖像通常都位於深度神經網路所建立的決策邊界附近,因此很容易受到對抗攻擊的影響。對抗攻擊會將圖像移動至決策邊界的另一邊,而對抗解釋攻擊則是將圖像在相同決策區域內,沿著決策邊界等高線移動。

揭開對機器學習的七點誤解

為實現此攻擊,研究者所使用的基本方法是 Goodfellow 提出的 FGSM(fast gradient sign method)方法的變體,這是最早的一種為實現有效對抗攻擊而引入的方法。這也表明,其他更近的、更複雜的對抗攻擊也可以用於攻擊神經網路的解釋性。

揭開對機器學習的七點誤解

揭開對機器學習的七點誤解

揭開對機器學習的七點誤解

意義:

隨著深度學習在醫學成像等高風險應用中變得越來越普遍,我們必須注意如何解釋神經網路做出的決定。例如,儘管 cnn 能將 mri 圖像上的一個點識別為惡性腫瘤是件好事,但如果這些結果是基於脆弱的解釋方法,那麼這些結果就不應該被信任。

via:https://crazyoscarchang.github.io/2019/02/16/seven-myths-in-machine-learning-research/

雷鋒網雷鋒網

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

TAG:雷鋒網 |