「稀疏編碼」從理論走向實用!馬毅教授NeurIPS 2022新作:稀疏卷積性能與穩健性超越ResNet
儘管深度神經網路在圖像分類方面具有很強的經驗性能(empirical performance),但這類模型往往被視為「黑盒子」,最為人詬病的就是「難以解釋」 。
相較之下,稀疏卷積模型(sparse convolutional models)也是分析自然影像的強大工具,其假設一個訊號可以由卷積字典(convolutional dictionary)中的幾個元素的線性組合來表達,具有良好的理論可解釋性和生物合理性。
但在實際應用中,稀疏卷積模型雖然原理上行得通,但與經驗設計的深層網絡相比並沒有展現出應有的性能優勢。
最近,馬毅教授研究小組在NeurIPS 2022上發表了一篇新論文,回顧了稀疏卷積模型在圖像分類中的應用,並成功解決了稀疏卷積模型的經驗性能和可解釋性之間的不匹配問題。
論文連結:https://arxiv.org/pdf/2210.12945.pdf
#程式碼連結:https://github.com/Delay-Xili/SDNet
文中提出的可微優化層使用卷積稀疏編碼(CSC)對標準卷積層進行替換。
結果表明,與傳統的神經網路相比,這些模型在 CIFAR-10、 CIFAR-100和 ImageNet 資料集上具有同樣強的經驗性能。
透過利用稀疏建模的穩定恢復特性,研究人員進一步表明,只需要在稀疏正則化和資料重構項之間進行簡單的適當權衡,這些模型就可以對輸入損壞以及測試中的對抗性擾動具有更強的穩健性。
馬毅教授於1995年取得清華大學自動化與應用數學雙學士學位,後求學於美國柏克萊加州大學,並於1997年獲EECS碩士學位,2000年獲數學碩士學位與EECS博士學位。
畢業後在美國伊利諾大學香檳分校任教,並成為該校電機與電腦工程係史上最年輕的副教授。
2009年任微軟亞洲研究院視覺運算組資深研究員。 2014年全職加入上海科技大學資訊科學與技術學院。
2018年加入柏克萊加州大學和清華-柏克萊深圳學院,目前是加州大學柏克萊分校電子工程與電腦科學系教授,同時也是IEEE Fellow, ACM Fellow, SIAM Fellow
馬毅教授的研究興趣包括3D 電腦視覺、高維度資料的低維度模型、可擴展性最佳化和機器學習,近來的研究主題包括大規模3D 幾何重構和交互作用以及低維模型與深度網絡的關係。
稀疏卷積
雖然深度卷積網絡(ConvNets)已經是圖像分類的主流方法,並且性能上也超越其他模型,但其內部的組件如卷積、非線性函數和歸一化等的具體數據意義還沒有解釋。
而稀疏資料建模在學習可解釋表徵的能力和強大的理論保證的支持下(例如處理損壞的資料),已被廣泛用於許多訊號和影像處理應用,但其在ImageNet等資料集上的分類性能仍然不如經驗性的深度模型。
即便效能較強的稀疏模型仍存在缺陷:
1)需要專門設計網路結構,限制了模型的適用性;
2)訓練的計算速度要慢幾個數量級;
#3)在可解釋性和穩健性上沒有表現出明顯優勢。
研究人員在這篇論文中提出了視覺識別框架,透過一個簡單的設計證明稀疏建模可以與深度學習相結合,假設層輸入可以由所有數據點所共享的字典中的幾個原子(atoms)來表示,從而獲得了與標準ConvNets相同的性能,同時具有更好的層級可解釋性和穩定性。
此方法將稀疏建模封裝在一個隱層(implicit layer)中,並將其作為標準ConvNets中卷積層的替代。
相對於經典的全連接或卷積層中所使用的明確函數(explicit function),隱層使用隱函數。這篇論文中的隱層是基於此層輸入和權重參數的最佳化問題來定義,隱層的輸出就是最佳化問題的解。
給定一個多維輸入訊號,可以將層的函數定義為執行反向映射到一個更好的稀疏輸出,輸出通道數可與輸入不同,從而可以找到上述Lasso類型最佳化問題的一個最優的稀疏解。
該隱層實作了卷積稀疏編碼(CSC)模型,其中輸入訊號被捲積字典中的原子稀疏線性組合所逼近。這種卷積詞典可以看作是CSC層的參數,透過反向傳播進行訓練。
CSC模型的目標是透過A(z)算子重構輸入訊號,其中特徵圖z指定了A中卷積濾波器的位置和值。為了對建模差異具有容錯度,重建並不要求精確。
基於確定的CSC層的輸入-輸出映射,就可以透過解決相關的最佳化來進行前向傳播,並透過得出最優係數解相對於輸入x和參數A的梯度來進行反向傳播。
然後,帶有CSC層的整個網路可以透過最小化交叉熵損失,以端到端的方式從標記的資料中進行訓練。
實驗結果
#分類效能比較
實驗用到的資料集為CIFAR-10和CIFAR-100,每個資料集包含50,000張訓練影像和10,000張測試影像,每張影像的尺寸為32 ×32,RGB頻道。
除了將此方法與標準網路架構ResNet-18和ResNet-34進行比較外,研究人員還與具有隱層架構的MDEQ模型和具有稀疏建模架構的SCN進行比較。
實驗結果可以看到,在相似的模型規模下,SDNet-18/34的Top-1準確率與ResNet-18/ 34相近或更高,同時具有相似的推理速度。結果顯示該網路有潛力作為現有資料驅動模型的強大替代品,因為SDNet模型在處理受損影像上有額外的優勢。
將SDNet-18模型與模型規模相似的MDEQ模型進行了比較後,可以發現SDNet-18不僅比MDEQ更準確,而且速度也快得多(>7倍)。需要注意的是,MDEQ不能像SDNet一樣處理受損的資料。
同樣使用稀疏建模的SCN網路獲得了Top-1的準確度,但SCN的一個重要缺點是它的訓練速度非常慢,原因可能是SCN對影像使用了基於patch的稀疏編碼模型,與卷積稀疏編碼模型相比,它需要在每個前向傳播中解決更多稀疏編碼問題,無法從平行計算中受益。
穩健推理處理輸入擾動
#為了測試方法對輸入擾動的穩健性,研究人員使用了CIFAR-10-C資料集,其中的資料被不同類型的合成雜訊和不同嚴重程度所破壞。
由於模型中CSC層對輸入訊號和重建訊號之間的entry-wise差異進行懲罰,所以SDNet理論上應該更適合處理additive雜訊。
所以實驗部分主要關注CIFAR-10-C中四種類型的additive噪聲,即高斯噪聲、shot噪聲、speckle噪聲和impulse噪聲,然後評估SDNet-18的準確性,並將其性能與ResNet-18進行比較。
可以看到,對於各種類型的雜訊和不同的嚴重程度(除了0、1和2級的impulse雜訊),適當選擇一個不同於訓練時使用的λ值有助於提高測試效能。
特別地,作為λ的函數的準確度曲線表現出一個單模態的形狀,性能首先增加,然後減少。此外,在每種資料破壞類型中,達到效能峰值的λ值隨著破壞嚴重程度上升而單調地增加,觀察結果與預期一致。
處理對抗擾動
#研究人員在CIFAR-10測試資料集上使用PGD對SDNet(λ =0.1)生成對抗性擾動,擾動的L∞範式為8/255,擾動的L2範式為0.5。
與ResNet-18進行比較可以看到,在λ=0.1的情況下,SDNet的表現並不比ResNet好多少,但可以透過調整參數λ來大幅提升穩健性精確度。
以上是「稀疏編碼」從理論走向實用!馬毅教授NeurIPS 2022新作:稀疏卷積性能與穩健性超越ResNet的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP5.4版本新功能:如何使用callable類型提示參數接受可呼叫的函數或方法引言:PHP5.4版本引入了一個非常便利的新功能-可以使用callable類型提示參數來接受可呼叫的函數或方法。這個新功能使得函數和方法可以直接指定對應的可呼叫參數,而無需進行額外的檢查和轉換。在本文中,我們將介紹callable類型提示的使用方法,並提供一些程式碼範例,

產品參數是指產品屬性的意思。例如服裝參數有品牌、材質、型號、大小、風格、布料、適應人群和顏色等;食品參數有品牌、重量、材質、衛生許可證號碼、適應人群和顏色等;家電參數有品牌、尺寸、顏色、產地、適應電壓、訊號、介面和功率等。

大型語言模式(LLM)具有產生流暢和連貫文字的能力,為人工智慧的對話、創意寫作等領域帶來了新的前景。然而,LLM也存在一些關鍵限制。首先,它們的知識僅限於從訓練資料中辨識出的模式,缺乏對世界的真正理解。其次,推理能力有限,不能進行邏輯推理或從多個資料來源融合事實。面對更複雜、更開放的問題時,LLM的回答可能變得荒謬或矛盾,被稱為「幻覺」。因此,儘管LLM在某些方面非常有用,但在處理複雜問題和真實世界情境時,仍存在一定的限制。為了彌補這些差距,近年來出現了檢索增強生成(RAG)系統,其核心思想是

在開發過程中,我們可能會遇到這樣一個錯誤提示:PHPWarning:in_array()expectsparameter。這個錯誤提示會在使用in_array()函數時出現,有可能是因為函數的參數傳遞不正確所導致的。以下我們來看看這個錯誤提示的解決方法。首先,需要明確in_array()函數的作用:檢查一個值是否在陣列中存在。此函數的原型為:in_a

C++參數類型安全檢查透過編譯時檢查、執行時間檢查和靜態斷言確保函數只接受預期類型的值,防止意外行為和程式崩潰:編譯時類型檢查:編譯器檢查類型相容性。運行時類型檢查:使用dynamic_cast檢查類型相容性,不符則拋出異常。靜態斷言:在編譯時對型別條件進行斷言。

雙曲函數是使用雙曲線而不是圓定義的,與普通三角函數相當。它從提供的弧度角傳回雙曲正弦函數中的比率參數。但要做相反的事,或者換句話說。如果我們想要根據雙曲正弦值計算角度,我們需要像雙曲反正弦運算一樣的反雙曲三角運算。本課程將示範如何使用C++中的雙曲反正弦(asinh)函數,並使用雙曲正弦值(以弧度為單位)計算角度。雙曲反正弦運算遵循下列公式-$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})},其中\:In\:是\:自然對數\:(log_e\:k)

i9-12900H是14核心的處理器,使用的架構和工藝都是全新的,線程也很高,整體的工作都是很優秀的,一些參數都有提升特別的全面,是可以給用戶們帶來極佳體驗的。 i9-12900H參數評測大全評測:1、i9-12900H是14核心的處理器,採用了q1架構以及24576kb的製程工藝,提升到了20個執行緒。 2.最大的CPU頻率是1.80!5.00ghz,整體主要取決於工作的負載。 3.相比較價位來說還是特別合適的,性價比很不錯,對於一些需要正常使用的伙伴來說非常的合適。 i9-12900H參數評測大全性能跑分

常見的編碼方式有ASCII編碼、Unicode編碼、UTF-8編碼、UTF-16編碼、GBK編碼等。詳細介紹:1、ASCII編碼是最早的字符編碼標準,使用7位二進制數表示128個字符,包括英文字母、數字、標點符號以及控製字符等;2、Unicode編碼是一種用於表示世界上所有字元的標準編碼方式,它為每個字元分配了一個唯一的數字碼點;3、UTF-8編碼等等。
