請比較一下深度學習和壓縮感知?

兄弟學習稀疏表示與壓縮感知(CS)數年,博士論文也是這個方面的應用研究。不過最近一段看來,深度學習(DL)無疑是ML中最火的。查查歷史,其實CS和DL的發端論文都在05、06年,CS在前幾年也曾熱極一時,但是DL卻真正落了實。很想請懂行的大俠比較比較這兩方面的研究,從理論性、實用性、未來前景上說說各自的優劣。還有就是CS和DL是否也有融合交叉的地方呢?謝謝哈!


深度學習和壓縮感知都是機器學習的一類思想方法,很多模型都是基於這些思想設計出來的。二者在基本思想上有一定的共通之處,最大的共同點是都強調特徵的學習與構造,因而也出現了很多將兩者結合的方法。但從根本上說,兩者的適用場景和motivation還是有著較大的差別。

深度學習方法強調特徵的逐層學習,雖然這種學習方式並沒有從根本上提高模型的表達能力,但是卻降低了學習的成本,同時也使得模型與人類理解的問題解決方法更加趨於一致。深度學習的思想既適用於監督學習的場景,也適用於無監督學習的場景。從原始特徵輸入開始,經過逐層的神經網路計算,最終得到的學習結果,既可以是分類的結果,也可以是提取出的高度抽象特徵。而每一層的計算過程,都可以看作是提取特徵的一個步驟,每一層計算的結果,都可以看成是中間層的特徵表達。

壓縮感知本質上是對輸入的特徵進行了基變換,形成了新的特徵表達,所以也可以看成是特徵學習的一種方法。但是與深度學習不同,壓縮感知本身只是一個單層的演算法。在給定了新的特徵表達空間下的一組基向量(通常成為詞典)後,對於新輸入的特徵,壓縮感知需要從這些基向量中選擇一部分向量,以完成對輸入特徵的重建。壓縮感知主要的特點是在重建過程中要求選擇的基向量盡量的少,也就是重建係數盡量的稀疏。這樣做可以更好的對信號進行壓縮,同時也在某種程度上提升了特徵的表達能力,使得這個特徵能夠在一些任務(如分類)中取得更好的效果。

這樣就很容易看出兩者的區別:深度學習是一個類更加通用的方法,幾乎可以解決傳統機器學習中遇到的各種問題,強調模型的層次性。而壓縮感知只是一個單層的無監督學習的方法,強調模型的稀疏性。

但另一個方面,兩者又存在著很多聯繫。比如Staked Sparse Autoencoder直接把多個單層基於壓縮感知的稀疏編碼機疊加在一起形成了一個深度學習的模型。也就是說,壓縮感知的思想可以非常方便的應用在深度學習的單層模型中,成為深度學習的一部分。其實不止於此,廣泛用於圖像識別的卷積神經網路中的pooling層其實也和壓縮感知的思想有很多共同之處。從本質上來說,深度學習的特徵提取都要經歷一個從底層到高層,從具體到抽象的過程。在這個過程中,從不同角度或者來源得到的底層特徵必然有一個匯總到高層特徵的過程。在這個匯總的過程中,也必然要保留或構造出那些最有價值的特徵,而丟棄掉那些價值較低的特徵。而這個過程,恰恰是壓縮感知可以發揮威力的地方,因為壓縮感知的基本思想就是去偽存真,只保留信號中最有價值的那一部分信息。


DL要論歷史得從感知器和前饋神經網路說起了,那是40,50年的歷史了,可以說DL這邊理論性的奠基工作早就被完成了,例如universal approximation theorem (Universal approximation theorem)。在DL出現前,龐大的計算量使得只有含有較少元隱層的三層網路這樣簡單的模型能被訓練得到。DL那是Hinton堅持神經網路研究幾十年,頂住了以SVM為代表的機器學習演算法流行十餘年的巨大壓力,最終才大放異彩(SVM和NN,以及Vapnik和Hinton的八卦你可以搜搜)。

而CS那是正二八經的全新工作啊,說不定你再堅持不懈耕耘40年也就...


記得以前看過一個評論:「CS是數學上看上去很美,實際一用發現很搓。而DL是乍看上去不知所云,但是一用起來的確很爽」

DL的興起還是靠越來越多的數據和GPU,CS還是得靠數學家


馬毅老師的這篇文章很有意思:稀疏性和深度神經網路的關係

演講 | 今日頭條AI技術沙龍馬毅:低維模型與深度模型的殊途同歸


CS我實驗室還有人用,不過感覺是已經過了氣。

其實壓縮感知主要就是信號領域的,不像DL跟科幻小說似的可以無限遐想。本質上也就是數據傳輸突破了過去的極限而已。雖然很了不起,但是太基礎了,引不起外行人興趣。


給一點自己的理解:根據自己的領域,只談圖像識別和分類,理解題主說的壓縮感知(CS)為特徵編碼(Feature Coding)。

Feature Coding在圖像識別與分類領域的確熱了好幾年:從07年的BOVW視覺詞包,到10年的稀疏編碼(Sparse Coding),再到12年的Fisher Vector。理論不斷進步,從流型重構到差異化編碼,從使用K-means碼本到採用Gaussian mixture
model。相關的處理技術也不斷發展:各種不同的Pooling方法(Avg,Max,@n,MaxExp,ExaPro,AxMin…),Normalization 方法(Power-Norm, Intra-Norm)也不斷提出與改進,其識別能力增強,同時也具有更好的Scalable。好似到了天花板,但又好像可以再提高一點點。

然後。。。一切都終結在Krizhevsky在2012年那篇石破天驚的文章《Imagenet
classification with deep convolutional neural networks》,DNN突然顯示出其壓倒性的性能優勢,性能的提高令人咋舌。之後。。就是Deep learning的時代了

性能決定一切,大家都不傻,當然是「誰拳頭大,大家跟誰」。DNN的確表現搶眼,就是比CS效果好,自然現在熱的發燙,大家都進行研究,應用!

如果能出現一個比DP能力還強的演算法A,你也會有「DP在前幾年也曾熱極一時,但是A卻真正落了實」的感覺。


因為是和DL比較,所以這裡我把CS當做DL(dictionary learning)了,而DL這裡改成CNN。這兩個都可以用來extract learned features,就是說最終都是一個optimize的過程。區別是前者deep,後者shallow。也就是說前者的結構是分多層layer的,可以表示更複雜的疊加,後者就一層。形象點說,前者在做分類是擬合成多個簡單平面連在一起組成一個複雜的分類面,後者直接擬合成一個複雜的分類面。至於哪個效果好,目前我還沒有讀到過文章直接比較的。一直到去年DL都還算火,至於今年什麼發展等到夏天之後再總結不遲。題主是9系的?


隨便扯兩句。我並不太了解壓縮感知在幹嘛。但好幾個研究方向都在同一件事,那就是尋找R.Vs間的統計關係。(如果壓縮感知也是的話)相比起dl來說,我接觸的學術界更貼近的方法應當是pgm,graphical models/bayesian stats/hierarchical models。工程界當然就是dl方法。其次,dl框架並沒有嚴格的數學基礎。目前實際效果來說工程界比學術界現在做的好。還有,背後用的一些方法核心思想是gibbs sampling(DL里的一些演算法autoencoder實際是這回事)

值得一提,那就是dl框架包含feature learning。其它shallow learning method本質沒法做到對特徵的層次表示。

另外壓縮感知感覺不是在做一碼事。


我最近在研究CS的相關內容,發現CS在實際中的應用是比較少的。有沒有使用CS的比較大型的項目和工程,希望大俠來指點一下。


深度學習,據說是比較符合人類大腦的思考方式,可運用的領域多,只要是能用上監督學習的地方,估計都能用DL


插一句大神說的:大數據使得深度學習王者歸來~


推薦閱讀:

語音識別如何處理漢字中的「同音字」現象?
ICML2017 優化領域有什麼值得關注的論文?
Siri 的回答是由蘋果公司的工作人員手動輸入進去的嗎?如果是,工作量是不是很大?
為什麼 Siri 的中文化這麼差?

TAG:學習 | 人工智慧 | 計算機 | 機器學習 |