淺談深度學習中潛藏的稀疏表達
“王楊盧駱當時體,輕薄為文哂未休。 爾曹身與名俱滅,不廢江河萬古流。”
— 唐 杜甫《戲為六絕句》(其二)
【不要為我為啥放這首在開頭,千人千面千理解吧】
深度學習:概述和一孔之見
深度學習(DL),或說深度神經網絡(DNN), 作為傳統機器學習中神經網絡(NN)、感知機(perceptron)模型的擴展延伸,正掀起鋪天蓋地的熱潮。DNN火箭般的研究速度,在短短數年內帶來了能“讀懂”照片內容的圖像識別系統,能和人對話到毫無PS痕跡的語音助手,能擊敗圍棋世界冠軍、引發滔滔議論的AlphaGo…… DNN在眾多應用領域的成功無可置疑。然而,在眾多(負責任的和不負責任的)媒體宣傳推波助瀾下,一部分人過於樂觀,覺得攻克智能奇點堡壘近在眼前;另一部分則惶惶不可終日,覺得天網統治人類行將實現。作者君對此的態度如下圖所示:
- 小品里,黑土老大爺對頭腦發熱的白雲大媽說過:“什么名人,不就是個人名?”
- 對於DNN,作者君也想說:“什么怪力亂神,不就是個計算模型?”
言歸正傳,如果不把DNN看成上帝/天網/人工智能終點etc., 也暫不考慮當前DL和人腦思維之間若有若無的聯系,那么DNN和K-Means、主成分分析(PCA)、稀疏編碼(sparse coding或Lasso)等眾多耳熟能詳的模型並無二致,都屬於機器學習中特征學習(feature learning)范疇。假如硬說DNN有什么不同,那么大概就在一個“深”字上。從數據x中學習特征y,如果(絕大多數)傳統模型寫成y = f(x)(即學習“一個”特征變換),DNN則可以寫成y = fN (… (f2 (f1 (x)))) (即學習“若干個級聯”的特征變換)。那么究竟什么使得DNN如此效果拔群?作者君本人歸納了三點:
1)空前龐大的參數(parameter)量(動輒成百上千萬),遠遠超過以往任何模型的參數數量級,使得模型對於復雜映射(mapping)的表達能力極大增強;
2)端到端(end-to-end)的訓練方式,克服了以往模型分模塊訓練(hierarchical)、各模塊沒有彼此優化的劣勢;
3)前兩點主要是理念上的升華,而實際中最重要的進步,是終於找到了能有效訓練這樣巨大模型的一套手段。盡管這些手段(如后向傳播算法)不免simple & naïve,很多也缺乏嚴格的證明和解釋;然而在大數據的東風、GPU高性能計算的魔力、及無窮無盡的tricks(如dropout、batch normalization等)加持下,這條荊棘路還是硬生生被踏出來了。
應用上的巨大成功並不能掩蓋DNN本身理論缺失、“沙上築塔”的隱憂。傳統方法的優良性質和可解釋性,在DNN中損失殆盡:原因既歸咎於DNN本身函數的高度非線性和非凸性,也不免受困於求解算法本身的粗糙和經驗化。深度學習結構過於錯綜復雜、性質難以分析的“黑盒子”特質,引發了學術界的眾多顧慮和好奇。從2013年開始,已經有學者陸續從不同的角度,研究DNN和各類傳統機器學習模型之間(如小波分析、稀疏表示、高斯過程、條件隨機場 )的內在關系,以期理解DNN的工作原理,甚至可能從傳統模型的分析方法中掘得金礦,為DNN的理論框架添磚加瓦。本文以下,僅擷滄海之一珠,主要從稀疏編碼(sparse coding)角度,初步分析和解釋DNN中的一些經驗性成功。
從正則回歸模型談起
讓我們暫時忘記DNN,從下面這個簡單的帶正則項(線性)回歸模型看起:
其中XX是輸入數據,YY是帶求解的特征,DD是表示基(basis)。YY除了要求相對於DD能很好地表示(重建)XX外,還受到一個額外正則項r(Y)r(Y)的約束。注意這個模型看似簡單,實則眾多著名模型(PCA,LDA, sparse coding, etc.)都可以看成其具體例子。以上模型的求解算法可以寫成一個迭代的一般表示形式 (k = 0, 1, 2,…):
Y(k)Y(k)是k-iteration的輸出,L1L1、L2L2、NN是三個變換算子。這一迭代算法可以等價表示成下圖中帶反饋系統的形式(目標是求解系統不動點):
對上圖反饋循環形式,我們接着做前向展開(unfolding),獲得一個有無限個前向傳播單元的級聯結構;然后再將這個結構截斷(truncate),獲得一個固定長度的前向結構:
上圖即是一個“展開&截斷”后的前向結構示意圖(到k=2k=2)。首先,這一結構避免了環形結構/反饋回路的出現,所有信息流都是前向的。其次,讀者可以順着信息前進方向,逐步寫出關系式(例如每個N的輸入),不難發現這一結構等價於將原有迭代算法做k步近似,獲得一個有限固定迭代步數下“不精確”的回歸解。更有趣的是,在很多例子中,L1L1、L2L2是帶參數的線性變換,而NN是不帶參數的非線性變換。我們注意到,這和DNN的結構形成了精妙的巧合對應:如果將L1L1、L2L2看做是DNN中可以訓練的“層”(layer),看做DNN中的非線性操作如神經元(neuron)或池化(pooling),那么以上“展開&截斷”后的前向結構(到k=2)完全可以看做一個k+1k+1層、有一定特殊結構的DNN。
當然,我們也可以考慮卷積(convolution)情況下的帶正則回歸問題:
這一問題的形式、解法和結論都和前面的線性回歸模型相仿。事實上,線性回歸模型的結論將自然對應DNN的全連接層,而卷積回歸模型的結論將對應到DNN的卷積層。
深度網絡中潛藏的稀疏表示
現在,我們考慮引入1范數約束的稀疏性作為回歸模型的正則項:
上式是經典的稀疏表示問題。對應的迭代算法形式如下:
則是著名的軟門限算子(soft-thresholding), 形式如下圖左所示。熟悉DNN的讀者可能很容易從它的形狀聯想到DNN中最成功的ReLU(Rectified Linear Unit)神經元,其形式如下圖右所示。既然ReLU很牛,那么我們能不能把它請進我們的框架里呢?
我們的策略是,加一個對YY的非負(non-negativity)約束到原稀疏表示問題中:
這一約束的直接效果是把軟門限算子的負半側砍掉歸0。進一步,我們可以把原本軟門限算子中的門限參數c,移到線性變換當中。最后迭代形式里:
一個小問題:為什么可以“硬湊”一個非負約束到原稀疏表示問題中呢?首先“哲學”上,稀疏表達將“部分”線性組合為“整體”,如果這些“部分”還會相互抵消,總覺得不太自然 -– 當然此屬怪力亂神,不聽也罷。不過生物建模上,其實早將稀疏表達和神經元編碼聯系了起來:稀疏特征的值對應於神經元的“激發率”(firing rate, i.e., the average number of spikes per unit time),自然而然需要非負。另外,圖像處理和計算機視覺的研究者,很多都熟悉非負稀疏編碼(nonnegative sparse coding, NSC)的大名;此前NSC 亦是學習視覺特征的最成功方法之一。如今風水輪流轉,DNN大火,經過各種神經元的經驗化設計嘗試、大浪淘沙,ReLU脫穎而出 。而從前的非負性和稀疏性假設經過改頭換面,又於無意識間悄悄潛伏進了ReLU中;這不能不說是個有趣的發現。
再進一步,上面那個對應非負稀疏編碼的“展開&截斷”前向結構,如果我們想避免那些不“特別典型”的中間連接(事實上,這些“捷徑”的設計正在成為DNN的新熱點,參加ResNet等工作)和權重共享(被重復展開),一個選擇是只保留最開始的一部分計算而刪掉后面,即讓迭代算法從初始值開始只跑一步近似:Y=ReLU(DTX–c)Y=ReLU(DTX–c):
如此便獲得了DNN中最典型的構成單元:全連接層 + 偏置 + 神經元ReLU。偏置 來源於原本1范數正則項的加權;在原優化問題中,調整c即調整Y的稀疏度。不難想到,如果將非負稀疏編碼換成非負稀疏卷積編碼,那么同樣可以得到由卷積層 + 偏置 +神經元ReLU組成的單元。這一角度對一般DNN結構的分析提供了很多意味深長的提示。這里限於篇幅,不再展開。
最后,簡單講講另外兩種形式的稀疏性。其一是將稀疏編碼中1范數換成0范數:
按照以上1范數情況下的推導結果,不難解出的形式為經典的硬門限算子(hard-thresholding)。相較軟門限,硬門限容易獲得零值更多、更稀疏的解,常有利於分類等任務。尤其有趣的是,這一算子在2015年的國際表示學習大會(ICLR)上被DNN研究者們“經驗性”地設計出來,並被冠名以thresholded linear unit;實則未免稍稍有重造輪子之憾。另一個更有意義的例子是:
該問題中的約束條件可以看作池化算子(pooling):即將輸入中絕對值最大的M個值保留、其余歸0。考慮到0范數約束問題是特征選擇的經典形式之一,這也讓我們對原本被視作單純工程“瞎湊”的池化操作的實際作用,有了更多遐想。
總結一下,我們在這一部分都目擊了些什么:
- DNN中全連接層/卷積層,和線性/卷積回歸模型間的密切結構對應關系
- ReLU神經元隱含對特征“非負稀疏性”的要求
- 池化操作隱含對特征“強稀疏性”(特征選擇)的要求
- 參數層偏置隱含對特征“稀疏度“的調節
總結
DNN和稀疏編碼的關系深刻且本質;同樣,它和其余眾多傳統機器學習模型間也逐漸被揭示出了千絲萬縷的聯系。作者組的最近工作還發掘了傳統的一階/二階優化算法的結構,和今年大火的residual learning、fractal net等特殊網絡結構和學習策略,同樣有令人吃驚的精巧對應。除了作者組以外,諸如小波(wavelet)祖師Stéphane Mallat教授,壓縮感知宗師Richard Baraniuk教授,約翰霍普金斯大學Rene Vidal教授,杜克大學Guillermo Sapiro教授,微軟亞洲研究院Daivd Wipf博士…等多個一線研究組,近期也都對本方向投以極大關注,並陸續有優秀工作問世;方興未艾,可以預見。 限於篇幅,無法盡述,部分參考文獻列於文后以饗讀者。從以往的特征工程/人工設計特征(feature engineering / crafted feature), 走到今天的以DNN為代表的特征學習(feature learning) + 人工設計結構(crafted architecture), 到未來潛在的特征學習(feature learning) + 結構學習(architecture learning),我們處在變革的時代,但不是“魔法”的時代;而且這變革和進步顯然才到半途,亟待提升。上述工作的核心,是從傳統機器學習的角度“解釋”DNN中諸多經驗性的結構緣何而來;在“解釋“的基礎上,下一步便是”分析“結構性質,和有的放矢地”創造“新的結構。作者君本人堅信,萬事非偶然;這一系列經驗性的對應,實實在在向我們展示了歷史的螺旋上升,車輪轉過同樣的輻條。隨着更多此類結構對應關系的發掘,將極大幫助我們理解和選擇DNN的最優結構,創造新的可用結構,以及引入理論分析工具。
注:本文符號按照計算機科學領域習慣,統計學科同學務必注意和統計學習慣符號間的對應關系。
作者簡介
汪張揚,男,1991年出生;2012年中國科學技術大學電子通信工程本科畢業;2016年伊利諾伊大學香檳分校電子計算機工程博士畢業;2016年加入德州A&M大學計算機科學系任Assistant Professor。更多信息見主頁:www.atlaswang.com
拓展閱讀
Sparse Coding and Deep Learning
- K. Gregor and Y. LeCun. Learning Fast Approximations of Sparse Coding, ICML 2010.
- P. Sprechmann, A. M. Bronstein, and G. Sapiro, Learning Efficient Sparse and Low Rank Models, IEEE T-PAMI, 2015.
- Z. Wang, Q. Ling, and T. Huang, Learning Deep ℓ0 Encoders, AAAI 2016.
- Z. Wang, S. Chang, J. Zhou, M. Wang and T. Huang, Learning A Task-Specific Deep Architecture for Clustering, SDM 2016.
- B. Xin, Y. Wang, W. Gao, D. Wipf, Maximal Sparsity with Deep Networks? arxiv.org
- Z. Wang, D. Liu, J. Yang, W. Han, and T. Huang, Deep Networks for Image Super-Resolution with Sparse Prior, ICCV 2015.
- Z. Wang, D. Liu, S. Chang, Q. Ling, Y. Yang and T. Huang, D3: Deep Dual-Domain Based Fast Restoration of JPEG-Compressed Images, CVPR 2016.
Beyond Sparsity: Various Interpretations of Deep Learning and Connections to classical Machine Learning Models
- J. Bruna, Joan, S. Mallat. Invariant scattering convolution networks, IEEE T-PAMI, 2013.
- A. Patel, T. Nguyen, R. G. Baraniuk. “A probabilistic theory of deep learning.” arXiv 2015.
- S. Zheng, S. Jayasumana, B. Romera-Paredes, Vi. Vineet, Z. Su, D.Du, C. Huang, and P. Torr, Conditional Random Fields as Recurrent Neural Networks, ICCV 2015.
- Z. Wang, Y. Yang, S. Chang, Q. Ling, and T. Huang, Learning A Deep ℓ∞Encoder for Hashing, IJCAI 2016.
- R. Liu, Z. Lin, W. Zhang, and Z. Su, Learning PDEs for image restoration via optimal control, ECCV 2010.
- R. Liu, G. Zhong, J. Cao, Z. Lin, S. Shan, and Z. Luo, Learning to Diffuse: A New Perspective to Design PDEs for Visual Analysis, IEEE T-PAMI,2016.
- U. Schmidt and S. Roth, Shrinkage Fields for Effective Image Restoration, CVPR 2014.
- W. Zuo, D Ren, S. Gu, L. Lin, and L. Zhang, Discriminative Learning of Iteration-wise Priors for Blind Deconvolution, CVPR 2015.
- W. Zuo, D Ren, D. Zhang, S. Gu, and L. Zhang, Learning Iteration-wise Generalized Shrinkage–Thresholding Operators for Blind Deconvolution, IEEE T-IP, 2016.
- Y. Chen, Wei Yu, T. Pock, On learning optimized reaction diffusion processes for effective image restoration, CVPR 2015.
- Y. Chen and T. Pock, Trainable Nonlinear Reaction Diffusion: A Flexible Framework for Fast and Effective Image Restoration, arxiv 2015.