图像复原的神经网络稀疏表示
圖像復(fù)原的神經(jīng)網(wǎng)絡(luò)稀疏表示
Neural Sparse Representation for Image Restoration
paper: https://arxiv.org/abs/2006.04357
code: https://github.com/ychfan/nsr
摘要
受稀疏編碼圖像恢復(fù)模型中稀疏表示的魯棒性和有效性的啟發(fā),研究了深層網(wǎng)絡(luò)中神經(jīng)元的稀疏性。方法在結(jié)構(gòu)上加強(qiáng)了對隱藏神經(jīng)元的稀疏性約束。稀疏性約束有利于基于梯度的學(xué)習(xí)算法,并且可以附加到各種網(wǎng)絡(luò)中的卷積層。神經(jīng)元的稀疏性使得只對非零分量進(jìn)行運(yùn)算而不影響精度,從而節(jié)省了計算量。同時,該方法可以在不增加計算量的情況下,放大表示維數(shù)和模型容量。實(shí)驗表明,稀疏表示在深度神經(jīng)網(wǎng)絡(luò)中對于圖像超分辨率、圖像去噪、圖像壓縮偽影去除等多個圖像恢復(fù)任務(wù)都是至關(guān)重要的。
一. 基本原理和主要貢獻(xiàn)
- 基本原理
稀疏表示在圖像恢復(fù)問題中起著至關(guān)重要的作用,如圖像超分辨率[1,2,3]、去噪[4]、壓縮偽影去除[5]和許多其他[6,7]。這些任務(wù)本質(zhì)上是不適定的,其中輸入信號通常具有不充分的信息,而輸出具有許多相同輸入的解決方案。因此,人普遍認(rèn)為稀疏表示對解決方案的多樣性更為穩(wěn)健。稀疏編碼中的稀疏表示通常是高維的,但具有有限的非零分量。輸入信號表示為字典中標(biāo)記的稀疏線性組合。高維意味著較大的字典大小,通常會導(dǎo)致更好的恢復(fù)精度,因為更大的字典能夠更徹底地采樣底層信號空間,從而更精確地表示任何查詢信號。此外,非零元素的稀疏極限數(shù)作為圖像的一個重要先驗,已被廣泛研究和開發(fā),以使恢復(fù)具有魯棒性。
稀疏性通過忽略零部分也帶來了計算效率。用于圖像恢復(fù)的深卷積神經(jīng)網(wǎng)絡(luò)擴(kuò)展了基于稀疏編碼的重復(fù)級聯(lián)結(jié)構(gòu)方法。為了提高[8]中的性能,引入了基于深度網(wǎng)絡(luò)的方法,并在概念上與以前的基于稀疏編碼的方法相聯(lián)系。一個簡單的網(wǎng)絡(luò),其兩個卷積層由一個非線性激活層橋接,可以解釋為:激活表示稀疏表示;非線性增強(qiáng)稀疏性,卷積核由字典組成。SRResNet[9]擴(kuò)展了跳躍連接的基本結(jié)構(gòu),形成了一個剩余塊,并級聯(lián)了大量的塊來構(gòu)造非常深的剩余網(wǎng)絡(luò)。由于深層神經(jīng)網(wǎng)絡(luò)在推理過程中是前饋的,因此深層神經(jīng)網(wǎng)絡(luò)中隱藏表示的稀疏性不能作為稀疏編碼通過迭代優(yōu)化來解決。神經(jīng)元稀疏性通常是通過在每個神經(jīng)元中獨(dú)立地將負(fù)性閾值設(shè)為零來實(shí)現(xiàn)的。盡管如此,在隨機(jī)向量上的50%稀疏性與非零分量總數(shù)上的稀疏性定義相去甚遠(yuǎn)。相反,稀疏約束在模型參數(shù)中被更積極地使用,以實(shí)現(xiàn)網(wǎng)絡(luò)剪枝[11]。然而,在剪枝網(wǎng)絡(luò)中,隱藏的表示維數(shù)會降低,而且準(zhǔn)確性可能會受到影響。
- 主要貢獻(xiàn)
在本文中,提出了一種方法,可以在結(jié)構(gòu)上對深度網(wǎng)絡(luò)中的隱藏神經(jīng)元實(shí)施稀疏性約束。在給定高維神經(jīng)元的情況下,沿著通道將分成若干組,每次只允許一組神經(jīng)元為非零。非稀疏群的自適應(yīng)選擇由基于上下文特征的小邊網(wǎng)絡(luò)來建模。當(dāng)僅對非零組執(zhí)行時,計算也被保存。然而,選擇操作是不可微的,因此很難嵌入側(cè)網(wǎng)絡(luò)進(jìn)行聯(lián)合訓(xùn)練。將稀疏約束松弛為軟約束,并近似簡化為多卷積核的稀疏線性組合而不是硬選擇。進(jìn)一步引入額外的基維數(shù),將稀疏性預(yù)測分解為子問題,方法是將每個稀疏組分割,并在參數(shù)的基獨(dú)立組合之后進(jìn)行連接。為了證明神經(jīng)稀疏表示的重要性,對圖像恢復(fù)任務(wù)進(jìn)行了廣泛的實(shí)驗,包括圖像超分辨率、去噪和壓縮偽影去除。
實(shí)驗結(jié)論是:
(1) 專用約束對于實(shí)現(xiàn)神經(jīng)稀疏表示和受益于深層網(wǎng)絡(luò)至關(guān)重要;
(2) 在相同的模型足跡尺寸下,該方法能顯著降低計算成本,提高計算精度;
(3) 該方法可以在不增加計算量的情況下,大大提高模型容量和精度。
二.相關(guān)研究
在一個簡單的矩陣乘法例子中說明了具有稀疏隱節(jié)點(diǎn)的兩層神經(jīng)網(wǎng)絡(luò)的計算減少。左:具有稀疏約束的網(wǎng)絡(luò),該網(wǎng)絡(luò)只允許一個c隱藏節(jié)點(diǎn)的組在kc節(jié)點(diǎn)上不為零。右圖:由于其他激活節(jié)點(diǎn)為零,因此只使用Wi 1和Wj 2來減少計算。(灰度反映矩陣值的大小。矩陣乘法是從右到左的順序。)
三.研究方案
提出了新的稀疏約束來實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)中的稀疏表示。稀疏的軟限制對基于梯度的訓(xùn)練更為友好。附加的基數(shù)維數(shù)重新定義了約束條件,提高了稀疏表示的多樣性。
閾值法與選通法的比較
該方法將非零實(shí)體的數(shù)量限制在隱藏層表示中所有節(jié)點(diǎn)的1/k以下,閾值和選通方法更接近于等式1中的稀疏性定義。該方法只考慮自適應(yīng)選擇的組,大大降低了k倍的計算量,而閾值法和選通法都不可能做到這一點(diǎn)。
與節(jié)點(diǎn)修剪的比較
節(jié)點(diǎn)剪枝的目的是通過對所有相關(guān)的可訓(xùn)練參數(shù)歸零來減少激活節(jié)點(diǎn)。不管輸入信號如何變化,修剪后的節(jié)點(diǎn)都會保持為零,這大大降低了表示維數(shù)。在方法中,稀疏性自適應(yīng)地依賴于輸入。盡管輸入在表示上保持了高維性,但方法以窄模型的形式節(jié)省了計算和存儲成本。
松軟稀疏
類似于稀疏編碼中的L0范數(shù),等式6中的自適應(yīng)稀疏群選擇是不可微的,可以與神經(jīng)網(wǎng)絡(luò)聯(lián)合學(xué)習(xí)。盡管Gumbel技巧[21]被提出重新參數(shù)化argmax的條件概率分布,但在實(shí)驗設(shè)置中并沒有取得令人信服的結(jié)果。通過用softmax作為max的光滑逼近來替換選擇,從而稀疏了稀疏性約束。
條件卷積的比較
CondConv[22]的卷積核自適應(yīng)加權(quán)和運(yùn)算與松弛軟稀疏方法相似。然而,在方法中,CondConv使用sigmoid函數(shù)來規(guī)范化核的權(quán)重,而不是softmax函數(shù)。因此,在CondConv中沒有顯式地應(yīng)用稀疏性約束,并且實(shí)驗表明,稀疏性對模型精度非常重要。
稀疏群上的基數(shù)
用一個簡單的MLP來模擬組之間的稀疏性是一個挑戰(zhàn),特別是當(dāng)每個組的維數(shù)c增加時。此外,預(yù)先定義的組內(nèi)的連接通道限制了稀疏模式的多樣性。受ResNeXt[23]中組卷積的啟發(fā),將每個稀疏組的c個節(jié)點(diǎn)劃分為d個基數(shù)組,每個具有c/d節(jié)點(diǎn)的基數(shù)組沿著k個稀疏組獨(dú)立地受到約束,如圖3所示。
四.實(shí)驗測試
基數(shù)
基數(shù)維數(shù)降低了稀疏群信道間的實(shí)際維數(shù)和相關(guān)性,提高了卷積核上線性組合權(quán)值的多樣性。圖4中具有不同基數(shù)的模型的結(jié)果表明,不斷增加基數(shù)有助于提高精度。在相同的觸發(fā)器下,還比較了本方法的一個特例——壓縮激勵(SE)模型。模型明顯優(yōu)于SE模型。
效率
該方法在k個稀疏群的情況下,可近似節(jié)省k次計算量,但模型大小或參數(shù)個數(shù)不變。表2中的結(jié)果在列中具有相同的模型大小,并且表明方法可以節(jié)省至少一半的計算量,而不會對不同模型大小的精度造成一致的損害。
容量
方法也可以在k個稀疏群的情況下將模型容量或參數(shù)個數(shù)擴(kuò)展k倍,但只需很少的額外計算量。表3中的結(jié)果在列中具有相同的計算成本,并且表明方法可以通過將模型容量擴(kuò)展到16倍來不斷提高精度。
內(nèi)核選擇的可視化
直接可視化高維隱藏表示的稀疏性是困難的,以核的選擇作為替代。如圖5所示,在第一個塊中,權(quán)重幾乎在任何地方都是二進(jìn)制的,并且只取決于顏色和低級線索。在以后的塊中,權(quán)重更加平滑,更加關(guān)注紋理更加復(fù)雜的高頻位置。最后一層與語義更為相關(guān),例如,第一幅圖像中的樹枝和第二幅圖像中的獅子。
超分辨率
在EDSR[12]的基礎(chǔ)上對方法進(jìn)行了比較,EDSR[12]是目前最先進(jìn)的單圖像超分辨率方法,也與VDSR[32]的雙三次上采樣進(jìn)行了比較。如表4所示,小EDSR每層有16個殘差塊和64個神經(jīng)元,稀疏模型將其擴(kuò)展到4個基數(shù)為16的稀疏群,在4倍模型容量的所有基準(zhǔn)上都表現(xiàn)出色,但可以忽略額外的計算成本。大的EDSR(L)有32個殘差塊,每層256個神經(jīng)元,稀疏模型有32個殘差塊,每層128個神經(jīng)元,4個基數(shù)為16的稀疏群。然后他有一個相似的模型足跡和標(biāo)準(zhǔn)的精度,但4倍的計算成本差異。
去噪
將方法與最新的圖像去噪方法進(jìn)行了比較:BM3D[33]、WNNM[34]和DnCNN[28]。如表5所示,基線模型是16個塊的剩余網(wǎng)絡(luò),每層32個神經(jīng)元,2x寬度乘數(shù)[31],其足跡與DnCNN相似,但由于剩余連接,性能更好。稀疏模型具有2個稀疏組和1倍寬度乘法器,以保持模型的大小為基線,但計算量減少了2倍,性能更好。稀疏模型在基線模型的基礎(chǔ)上增加了2個稀疏組,使模型容量增加了一倍,并且在計算開銷可以忽略的情況下提高了性能。
壓縮偽影消除
將方法與最新的圖像壓縮偽影去除方法進(jìn)行了比較:JPEG、SA-DCT[35]、ARCNN[36]和dncnn[28]。如表6所示,基線模型和稀疏模型與去噪模型具有相同的結(jié)構(gòu)。方法在所有基準(zhǔn)數(shù)據(jù)集和不同的JPEG壓縮質(zhì)量上始終如一地節(jié)省了計算量并提高了性能。
總結(jié)
以上是生活随笔為你收集整理的图像复原的神经网络稀疏表示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单目和多目视觉统一标定
- 下一篇: 高效Tensor张量生成