編者按:深度學(xué)習(xí)在計算機(jī)視覺領(lǐng)域取得了巨大的成功,有研究者甚至一度期望這種端到端的學(xué)習(xí)策略可以完全替代傳統(tǒng)模型驅(qū)動的算法。然而,大量工作證明:當(dāng)我們面臨復(fù)雜問題的時候,完全拋棄領(lǐng)域知識是非常不明智的策略。因此,如何將領(lǐng)域知識和先驗融合到深度網(wǎng)絡(luò)中,成為深度學(xué)習(xí)領(lǐng)域一個新的研究熱點(diǎn)。其中,Deep Unrolling為我們提供了一種結(jié)合知識與數(shù)據(jù)的有效手段。
本文中,來自大連理工大學(xué)的劉日升副教授,將為大家介紹基于Unrolling的深度方法及應(yīng)用。文末提供文中提到參考文獻(xiàn)的下載鏈接。
本次報告主要向大家匯報一下基于Unrolling的深度學(xué)習(xí)方法,其在計算機(jī)視覺領(lǐng)域的各種應(yīng)用,以及我們近期針對該類型深度網(wǎng)絡(luò)的一些理論分析方面的工作。
近年來,深度學(xué)習(xí)相關(guān)工作大量涌現(xiàn)。在早期階段,研究者們大多基于經(jīng)驗和對問題的一些理解,啟發(fā)式地設(shè)計網(wǎng)絡(luò)結(jié)構(gòu),并通過端到端學(xué)習(xí)的方式得到解決具體問題的深度模型。該類方法在計算機(jī)視覺領(lǐng)域的一些問題中已經(jīng)取得了巨大成功。比如在人臉識別、目標(biāo)檢測等High-level問題中,各種深度網(wǎng)絡(luò)的性能已經(jīng)遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)方法。但隨著相關(guān)研究的逐漸深入,學(xué)者們也發(fā)現(xiàn)完全啟發(fā)式設(shè)計的深度網(wǎng)絡(luò)并不能在所有視覺問題中都取得令人滿意的結(jié)果。特別是在一些底層視覺問題中,直接使用端到端學(xué)習(xí)策略和經(jīng)驗設(shè)計網(wǎng)絡(luò)的性能并不能令人滿意。比如,現(xiàn)有的啟發(fā)式深度網(wǎng)絡(luò)在圖像盲去模糊問題中的性能仍然無法令人滿意。
為了更深刻理解深度網(wǎng)絡(luò)的本質(zhì)特點(diǎn),我們首先比較一下傳統(tǒng)模型驅(qū)動的思路和端到端學(xué)習(xí)深度網(wǎng)絡(luò)建模方法的區(qū)別與聯(lián)系。具體來說:模型驅(qū)動方法通常首先利用領(lǐng)域知識為問題建立數(shù)學(xué)模型,進(jìn)而通過特定的優(yōu)化算法或求解策略得到模型的最優(yōu)解。相對應(yīng)地,端到端學(xué)習(xí)方法則希望直接建立輸入數(shù)據(jù)與輸出結(jié)果的非線性映射關(guān)系,其性能往往與訓(xùn)練數(shù)據(jù)的質(zhì)量和規(guī)模有密切關(guān)系。總結(jié)起來,我們發(fā)現(xiàn)以上兩種方法分別主要側(cè)重于利用“領(lǐng)域知識”或者基于“數(shù)據(jù)(及經(jīng)驗)”來解決計算機(jī)視覺問題。很自然的,如果我們可以有效結(jié)合這兩種不同的策略,將非常有希望設(shè)計出更加強(qiáng)大、且可解釋性更強(qiáng)的深度網(wǎng)絡(luò)模型。這也引出了我們后面將向大家介紹的Deep Unrolling技術(shù)。
近年來,Unrolling技術(shù)為“領(lǐng)域知識”與“數(shù)據(jù)(“及經(jīng)驗)”結(jié)合提供了一種有效手段。具體來說,所謂Unrolling是指我們將求解一個給定連續(xù)模型的迭代優(yōu)化看成是一個動態(tài)系統(tǒng),進(jìn)而通過若干可學(xué)習(xí)模塊來離散化這一系統(tǒng),得到數(shù)據(jù)驅(qū)動的演化過程(Data-dependent Propagation)的方法。實際上,Unrolling過程與機(jī)器學(xué)習(xí)領(lǐng)域的元學(xué)習(xí)(Meta Learning)和近期LeCun等人提出的可微分編程(Differentiable Programming)概念也有著非常密切的內(nèi)在聯(lián)系。
在Unrolling方法中,我們首先需要設(shè)計一個迭代框架(Schematic Scheme),在此基礎(chǔ)上進(jìn)一步將可學(xué)習(xí)模塊嵌入到迭代中。更為重要的是,我們還需要對于所設(shè)計的演化過程進(jìn)行必要的理論分析。
接下來,我們將對計算機(jī)視覺領(lǐng)域中使用Unrolling思想的方法進(jìn)行簡要回顧。需要指出的是,在一些工作中,其原始論文雖然沒有顯式地使用Unrolling的概念,但我們?nèi)匀豢梢酝ㄟ^Unrolling框架對這些方法的原理和有效性進(jìn)行解釋和分析。
偏微分方程/擴(kuò)散過程是非常經(jīng)典的一類圖像處理方法。該類方法實質(zhì)上可以考慮為求解一個變分能量的梯度流。我們在2010年首先提出基于學(xué)習(xí)的偏微分方程(Learning-based PDE)解決各種不同的圖像處理(去噪、分割、去馬賽克等)問題。該方法最大的特點(diǎn)是通過學(xué)習(xí)旋轉(zhuǎn)與平移不變的基本微分不變量來實現(xiàn)對擴(kuò)散過程的Unrolling。并通過最優(yōu)控制技術(shù)實現(xiàn)系統(tǒng)參數(shù)的端到端學(xué)習(xí)。值得指出的是,基于學(xué)習(xí)的偏微分方程實際上就是一種基于微分算子的、結(jié)構(gòu)簡化的深度網(wǎng)絡(luò)模型。此外,我們所采用的最優(yōu)控制框架也與現(xiàn)在被廣泛使用的反向傳播技術(shù)有著深刻的本質(zhì)聯(lián)系。隨后,Chen 和Pork的工作則使用更高階的算子來進(jìn)行擴(kuò)散學(xué)習(xí),解決圖像去噪等問題。
MRF作為一類無向圖上的參數(shù)化先驗,也可以被用來刻畫不同類型圖像的潛在分布規(guī)律。近年來,通過使用不同的優(yōu)化策略(如半二次分裂、原始對偶、交替方向等)作為基礎(chǔ)迭代格式,并使用高階濾波器對MRF先驗進(jìn)行Unrolling,學(xué)者們提出了一系列不同的圖像增強(qiáng)算法,并在不同的應(yīng)用領(lǐng)域取得了較好的效果。
由于CNN實質(zhì)上也可以看成是一種高階的擴(kuò)散算子,因此直接使用CNN對優(yōu)化迭代過程進(jìn)行Unrolling成為最近一兩年來非常熱門的研究方向。各種不同的CNN結(jié)構(gòu)和Unrolling思路大量涌現(xiàn)。這里需要指出的是,Unrolling方法中CNN不再是一個端到端的回歸器。實質(zhì)上,我們更傾向于認(rèn)為其學(xué)習(xí)的是優(yōu)化算法在真實數(shù)據(jù)上每步計算所產(chǎn)生的迭代誤差(或模型誤差)。因此在這類Unrolling方法中,我們往往使用不同強(qiáng)度的高斯噪聲來訓(xùn)練迭代過程中的CNN模塊。
接下來,我們將進(jìn)一步使用Unrolling思想對幾類在底層視覺領(lǐng)域取得成功的深度網(wǎng)絡(luò)方法進(jìn)行分析與理解。
VDSR是一種將殘差結(jié)構(gòu)(Residual Structure)應(yīng)用到圖像處理問題上的深度學(xué)習(xí)方法,其在超分辨率問題上取得了非常好的效果。我們通過分析發(fā)現(xiàn),VDSR網(wǎng)絡(luò)結(jié)構(gòu)實際上可以被理解成為一個一步的梯度下降過程。而CNN則學(xué)習(xí)了我們從低分辨率輸入到高分辨率輸出的下降方向。 相對于較早期的超分辨率網(wǎng)絡(luò)(如SRCNN等,直接學(xué)習(xí)低分辨率到高分辨率的映射),VDSR通過學(xué)習(xí)下降方向(即殘差),顯著降低了網(wǎng)絡(luò)的學(xué)習(xí)難度,從而取得了更好的效果。
隨后,DnCNN將類似的思想成功應(yīng)用到了圖像去噪問題中,再次驗證了使用CNN學(xué)習(xí)下降方向在底層視覺問題中的有效性。
EDSR作為VDSR的改進(jìn),取得了更優(yōu)于VDSR的超分辨率效果。按照Unrolling的觀點(diǎn),我們可以非常直觀的發(fā)現(xiàn),在其網(wǎng)絡(luò)結(jié)構(gòu)中,作者實際上使用了更多的殘差單元來進(jìn)行梯度下降,而通過級聯(lián)更多的下降模塊,我們實際上得到了一個基于CNN的可學(xué)習(xí)迭代過程。從優(yōu)化角度來看,更多的迭代步數(shù)往往可以讓我們更容易得到復(fù)雜(如非凸)問題的最優(yōu)解。這也從一個側(cè)面給出了EDSR優(yōu)于VDSR的原因。
在非盲圖像去模糊問題中,IRCNN取得了非常好的性能。而該方法最大的成功就是將CNN網(wǎng)絡(luò)結(jié)構(gòu)引入到了圖像復(fù)原模型的優(yōu)化過程中。
在盲圖像復(fù)原領(lǐng)域,最近的一些方法將各種不同的CNN模塊集成到優(yōu)化模型中(如Li et al),或者通過級聯(lián)的方式模型構(gòu)建隱式的梯度流(如Nah et al)。以上方法所提出的網(wǎng)絡(luò)結(jié)構(gòu)也均可以被Unrolling思想解釋。
Ledig et al的工作給出了基于感知損失的殘差網(wǎng)絡(luò)訓(xùn)練方法。這一工作實際上表明我們可以使用對抗和感知損失函數(shù)來對級聯(lián)的梯度下降模塊(殘差單元)進(jìn)行訓(xùn)練,從而得到更加真實的圖像增強(qiáng)結(jié)果。
以上我們介紹的Unrolling方法均面向Low-level問題(如去噪,去模糊,超分辨等)。實際上,很多High-level問題也可以使用Unrolling方法解決。如LeCun等人提出的LISTA方法,就是將解決稀疏字典學(xué)習(xí)的一階優(yōu)化算法(ISTA)使用參數(shù)化網(wǎng)絡(luò)進(jìn)行Unrolling。而Xiong和De la Torre則通過將一個非線性回歸模型的每一步梯度下降迭代使用線性回歸進(jìn)行Unrolling,得到了解決人臉特征點(diǎn)檢測等問題的新方法。最近,研究者還嘗試將強(qiáng)化學(xué)習(xí)(Li 和Malik)和遞歸網(wǎng)絡(luò)結(jié)構(gòu)(Andrychowicz et al)引入到回歸、分類模型的Unrolling過程中。
總結(jié)起來,Unrolling主要包括三個核心步驟,即設(shè)計迭代格式、嵌入可學(xué)習(xí)模塊和理論分析。已有工作將注意力主要集中在前兩部分,而由于使用了可學(xué)習(xí)模塊對迭代格式進(jìn)行非精確展開和計算,原有數(shù)值算法的理論性質(zhì)(如收斂性等)已經(jīng)不再被保持。因此我們迫切需要對于Unrolling過程的理論性質(zhì)給出一些分析。此外,如何從理論上挖掘Unrolling過程的內(nèi)在屬性和有效性保證也是非常值得研究的內(nèi)容。以下將簡要介紹一下我們在相關(guān)問題上的一些初步嘗試。
我們首先基于一階非光滑優(yōu)化格式給出了一個通用的迭代框架。在此基礎(chǔ)上,我們進(jìn)一步使用殘差結(jié)構(gòu)設(shè)計了一個可學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)來進(jìn)行下降方向估計。我們注意到大多數(shù)已有的Unrolling算法往往直接使用網(wǎng)絡(luò)結(jié)構(gòu)代替部分迭代計算過程。而我們在使用可學(xué)習(xí)下降模塊進(jìn)行Unrolling的基礎(chǔ)上,還引入了一個額外的誤差矯正模塊。這一模塊的最主要作用就是可以及時控制迭代過程中網(wǎng)絡(luò)所產(chǎn)生的過大迭代誤差。
具體來說,通過分析基于網(wǎng)絡(luò)的Unrolling過程所引入的誤差,并使用臨近迭代輸出來控制網(wǎng)絡(luò)的非精確計算,我們得到了一種新的網(wǎng)絡(luò)前饋傳播精度控制準(zhǔn)則,即所謂的“松弛化最優(yōu)性準(zhǔn)側(cè)”。
基于以上的設(shè)計,我們可以在理論上證明,在求解一個非凸非光滑模型的最優(yōu)解的問題中,我們所提出的Unrolling框架,可以產(chǎn)生一個全局收斂的序列(注意,這里的“全局收斂”指的是序列整體上收斂到給定的點(diǎn),而非收斂到全局最優(yōu)解)。如果所處理的問題有一個明確的先驗正則化r時,我們可以證明該序列收斂到給定模型的一個Critical Point。此外,即使在不知道先驗r的情況下,我們產(chǎn)生的序列仍然可以全局收斂到一個Fixed Point。我們首先將這里提出的Unrolling方法考慮成是一個非精確的迭代算法,并與標(biāo)準(zhǔn)優(yōu)化策略進(jìn)行比較。我們發(fā)現(xiàn)通過引入網(wǎng)絡(luò)快速估計下降方向,我們的收斂速度(LBS)明顯快于傳統(tǒng)基于數(shù)學(xué)推導(dǎo)設(shè)計的迭代格式(如FBS,F(xiàn)ISTA,ADMM等)。右上方的圖示則給出了使用我們的誤差矯正(LBS)和直接進(jìn)行Unrolling(nLBS)的迭代曲線比較。我們可以看到不考慮誤差控制而直接使用網(wǎng)絡(luò)進(jìn)行Unrolling會產(chǎn)生嚴(yán)重的震蕩,甚至得到完全不收斂的迭代序列。而通過使用我們提出的自適應(yīng)誤差矯正策略,序列的收斂性得到顯著改善。
接下來,我們以盲圖像去模糊(反卷積)為例,展示如何利用我們提出的Unrolling框架解決具體的視覺問題。我們知道,由于盲圖像去模糊問題需要從一個已知觀測同時估計出未知的模糊核和清晰圖像,該問題是一個典型的病態(tài)反問題。因此傳統(tǒng)方法往往需要設(shè)計復(fù)雜的先驗,并根據(jù)經(jīng)驗人為改造迭代過程,來實現(xiàn)對特定類型圖像的去模糊。幸運(yùn)的是,基于我們的Unrolling框架,我們提出了一種“生成-矯正”式的網(wǎng)絡(luò)結(jié)構(gòu)。這里Generator是一個進(jìn)行圖像生成的殘差網(wǎng)絡(luò)模塊(反映數(shù)據(jù)和經(jīng)驗),Corrector則是一個基于反卷積模型設(shè)計的自適應(yīng)迭代矯正模塊(反映領(lǐng)域知識)。我們通過級聯(lián)這樣兩類模塊并進(jìn)行協(xié)同學(xué)習(xí),給出了一種可以在保證理論收斂的前提下,有效恢復(fù)各種不同類型模糊圖片的新方法。 這里需要指出的是,我們所提出的這一“生成-矯正”式協(xié)同學(xué)習(xí)結(jié)構(gòu),實際上是一種比“生成-對抗”網(wǎng)絡(luò)更加適合解決那些具有強(qiáng)領(lǐng)域知識的底層視覺問題。
我們在更多的視覺問題中嘗試使用以上的Unrolling策略,并在水下增強(qiáng),低光圖像增強(qiáng)、去除反射、去除雨層等問題中取得了非常好的效果。
在深度學(xué)習(xí)的發(fā)展過程中,研究者曾經(jīng)希望端到端學(xué)習(xí)策略可以完全替代傳統(tǒng)模型驅(qū)動的算法。但大量工作已經(jīng)證明當(dāng)我們面臨復(fù)雜問題的時候,完全拋棄領(lǐng)域知識是非常不明智的策略。這往往意味著我們需要使用更深的網(wǎng)絡(luò)結(jié)構(gòu)和更多的訓(xùn)練數(shù)據(jù)來學(xué)習(xí)問題中的潛在復(fù)雜回歸關(guān)系。在一些情況下我們甚至無法找到合適的網(wǎng)絡(luò)或訓(xùn)練數(shù)據(jù)。因此如何將領(lǐng)域知識和先驗融合到深度網(wǎng)絡(luò)中成為深度學(xué)習(xí)領(lǐng)域一個新的研究熱點(diǎn)。
Deep Unrolling為我們提供了一種結(jié)合知識與數(shù)據(jù)的有效手段。我們可以通過領(lǐng)域知識建立原始模型并給出基礎(chǔ)迭代格式。在此基礎(chǔ)上通過引入可學(xué)習(xí)模塊,進(jìn)而從給定訓(xùn)練數(shù)據(jù)中學(xué)習(xí)該問題的潛在規(guī)律和數(shù)據(jù)分布。最后通過Unrolling實現(xiàn)知識與數(shù)據(jù)的有效融合。而我們近期的工作則從理論上為Unrolling方法的收斂性和有效性給出分析,在此基礎(chǔ)上設(shè)計了一系列基于自適應(yīng)誤差矯正的Unrolling方法,并成功應(yīng)用到不同的底層視覺問題中。
我們最后指出,“學(xué)習(xí)如何學(xué)習(xí)”(即Learning to Learn或Meta Learning)是人工智能未來發(fā)展的重要方向。而我們相信Unrolling將會成為設(shè)計Meta Learning算法的一類重要手段。
-
計算機(jī)視覺
+關(guān)注
關(guān)注
9文章
1714瀏覽量
47454 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5590瀏覽量
123907
原文標(biāo)題:Deep Unrolling:深度網(wǎng)絡(luò)與傳統(tǒng)模型之間的橋梁
文章出處:【微信號:deeplearningclass,微信公眾號:深度學(xué)習(xí)大講堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
利用深度無盤快速制作通用包的方法
基于深度學(xué)習(xí)的異常檢測的研究方法
基于深度學(xué)習(xí)的異常檢測的研究方法
深度學(xué)習(xí)中圖像分割的方法和應(yīng)用
綜述深度神經(jīng)網(wǎng)絡(luò)的解釋方法及發(fā)展趨勢
基于深度神經(jīng)網(wǎng)絡(luò)的圖像語義分割方法

基于Unrolling的深度方法及應(yīng)用
評論