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