2.793

                    2018影響因子

                    (CJCR)

                    • 中文核心
                    • EI
                    • 中國科技核心
                    • Scopus
                    • CSCD
                    • 英國科學文摘

                    留言板

                    尊敬的讀者、作者、審稿人, 關于本刊的投稿、審稿、編輯和出版的任何問題, 您可以本頁添加留言。我們將盡快給您答復。謝謝您的支持!

                    姓名
                    郵箱
                    手機號碼
                    標題
                    留言內容
                    驗證碼

                    多層局部塊坐標下降法及其驅動的分類重構網絡

                    王金甲 張玉珍 夏靜 王鳳嬪

                    王金甲, 張玉珍, 夏靜, 王鳳嬪. 多層局部塊坐標下降法及其驅動的分類重構網絡. 自動化學報, 2020, 46(x): 1?16. doi: 10.16383/j.aas.c190540
                    引用本文: 王金甲, 張玉珍, 夏靜, 王鳳嬪. 多層局部塊坐標下降法及其驅動的分類重構網絡. 自動化學報, 2020, 46(x): 1?16. doi: 10.16383/j.aas.c190540
                    Wang Jin-Jia, Zhang Yu-Zhen, Xia Jing, Wang Feng-Pin. Multi-layer local block coordinate descent algorithm-inspired classification and reconstructionan networks. Acta Automatica Sinica, 2020, 46(x): 1?16. doi: 10.16383/j.aas.c190540
                    Citation: Wang Jin-Jia, Zhang Yu-Zhen, Xia Jing, Wang Feng-Pin. Multi-layer local block coordinate descent algorithm-inspired classification and reconstructionan networks. Acta Automatica Sinica, 2020, 46(x): 1?16. doi: 10.16383/j.aas.c190540

                    多層局部塊坐標下降法及其驅動的分類重構網絡


                    DOI: 10.16383/j.aas.c190540
                    詳細信息
                      作者簡介:

                      燕山大學信息科學與工程學院教授,主要研究方向為信號處理和模式識別,本文通信作者. E-mail: wjj@ysu.edu.cn

                      燕山大學信息科學與工程學院碩士研究生,主要研究方向為信號與信息處理. E-mail: 13091375387@163.com

                      燕山大學信息科學與工程學院碩士研究生,主要研究方向為信號處理. E-mail: xiajing_527@sina.com

                      燕山大學信息科學與工程學院博士研究生,主要研究方向為模式識別. E-mail: landywang1105@163.com

                    •  收稿日期?2019-07-19????錄用日期?2019-12-23 Manuscript?received?July?19,?2019;?accepted?December?23, 2019 國家自然科學基金 (61473339),?首批?“河北省青年拔尖人才”([2013]17) 資助項目;京津冀基礎研究合作專項?(F2019203583) Supported?by?National?Natural?Science?Foundation?of China(61473339),?The?First?Batch?of?"Top?Young?Talents?in Hebei?Province"([2013]17);Basic?Research?Cooperation?Projects?of Beijing,?Tianjin?and?Hebei?(F2019203583)
                    •  本文責任編委?黎銘 Recommended?by?Associate?Editor?LI?Ming 1.?燕山大學信息科學與工程學院?河北省秦皇島?066004????2.?河北省信息傳輸與信號處理重點實驗室?河北省秦皇島?066004 1.?School?of?Information?Science?and?Engineering,?Yanshan University,?Qinhuangdao,?Hebei?Province?066004????2.?Hebei?key laboratory?of?information?transmission?and?signal?processing, Yanshan?University,?Qinhuangdao,?Hebei?Province?066004
                    • 基金項目:  國家自然科學基金(61473339), 首批“河北省青年拔尖人才”([2013]17)資助項目;京津冀基礎研究合作專項 (F2019203583)

                    Multi-layer Local Block Coordinate Descent Algorithm-Inspired Classification and Reconstructionan Networks

                    More Information
                    • Fund Project:  Supported by National Natural Science Foundation of China(61473339), The First Batch of "Top Young Talents in Hebei Province"([2013]17);Basic Research Cooperation Projects of Beijing, Tianjin and Hebei (F2019203583)
                    • 摘要: 卷積稀疏編碼(CSC)已廣泛應用于信號或圖像處理、重構和分類等任務中, 基于深度學習思想的多層卷積稀疏編碼(MLCSC)模型的多層基追蹤問題和多層字典學習問題成為研究熱點. 但基于傅里葉域的交替方向乘子法(ADMM)求解器和基于圖像塊(patch)空間域思想的傳統基追蹤算法不能容易地擴展到多層情況. 在切片(slice)局部處理思想的基礎上, 本文提出了一種新的多層基追蹤(Ml-BP)算法: 多層局部塊坐標下降算法(ML-LoBCoD). 在多層迭代軟閾值算法(ML-ISTA)和對應的迭代展開網絡ML-ISTA-Net 的啟發下, 提出了對應的迭代展開網絡ML-LoBCoD-Net. ML-LoBCoD-Net實現信號的表征學習功能, 輸出的最深層卷積稀疏編碼用于分類. 此外, 為了獲得更好的信號重構, 本文提出了一種新的多層切片卷積重構網絡(ML-SCRN-Net), ML-SCRN-Net實現從信號稀疏編碼到信號重構, 并且對這兩個網絡分別進行實驗驗證. 然后將ML-LoBCoD-Net和ML-SCRN-Net 進行級聯得到ML-LoBCoD-SCRN合并網, 同時實現圖像的分類和重構. 與傳統基于全連接層對圖像進行重建的方法相比, 本文提出的ML-LoBCoD-SCRN合并網所需參數少, 收斂速度快, 重構精度高. 本文將ML-ISTA和ML-FISTA 構建為ML-ISTA-SCRN和ML-FISTA-SCRN進行對比實驗, 初步證明了所提出的ML-LoBCoD-SCRN分類重構網在MNIST、CIFAR10和CIFAR100數據集上是有效的, 分類正確率、損失函數和信號重構結果都優于ML-ISTA-SCRN和ML-FISTA-SCRN.
                       收稿日期?2019-07-19????錄用日期?2019-12-23 Manuscript?received?July?19,?2019;?accepted?December?23, 2019 國家自然科學基金 (61473339),?首批?“河北省青年拔尖人才”([2013]17) 資助項目;京津冀基礎研究合作專項?(F2019203583) Supported?by?National?Natural?Science?Foundation?of China(61473339),?The?First?Batch?of?"Top?Young?Talents?in Hebei?Province"([2013]17);Basic?Research?Cooperation?Projects?of Beijing,?Tianjin?and?Hebei?(F2019203583)
                       本文責任編委?黎銘 Recommended?by?Associate?Editor?LI?Ming 1.?燕山大學信息科學與工程學院?河北省秦皇島?066004????2.?河北省信息傳輸與信號處理重點實驗室?河北省秦皇島?066004 1.?School?of?Information?Science?and?Engineering,?Yanshan University,?Qinhuangdao,?Hebei?Province?066004????2.?Hebei?key laboratory?of?information?transmission?and?signal?processing, Yanshan?University,?Qinhuangdao,?Hebei?Province?066004
                    • 圖  1  三次迭代展開的 ML-LoBCoD-Net

                      Fig.  1  3 unfoldings ML-LoBCoD-Net

                      圖  2  ML-LoBCoD 算法第 j 層一次迭代流程圖

                      Fig.  2  ML-LoBCoD algorithm j-layer one iteration flowchart

                      圖  3  j 層切片卷積層

                      Fig.  3  J-layer slice convolution layer$ (SCL_j) $

                      圖  4  基于切片多層卷積重構神經網絡(ML-SCRN)

                      Fig.  4  Neural network reconstruction based on slice multi-layer convolution (ML-SCRN)

                      圖  5  ML-LoBCoD-SCRN 分類重構網絡

                      Fig.  5  ML-LoBCoD-SCRN classification reconstruction network

                      圖  6  ML-LoBCoD-SCRN和LoBCoD-SCRN在MNIST數據集中的分類準確率

                      Fig.  6  Classification accuracy of ML-LoBCoD-SCRN and LoBCoD-SCRN in the MNIST dataset

                      圖  7  ML-LoBCoD-SCRN和LoBCoD-SCRN在MNIST數據集中的損失函數值隨迭代次數的變化

                      Fig.  7  Change of loss function values of ML-LoBCoD-SCRN and LoBCoD-SCRN in the MNIST dataset with the number of iterations

                      圖  8  $ \rho $在不同值時ML-LoBCoD-SCRN在MNIST數據集中的分類準確率

                      Fig.  8  Classification accuracy of ML-LoBCoD-SCRN in the MNIST dataset at different values of $ \rho $

                      圖  9  $ \rho $在不同值時ML-LoBCoD-SCRN重構結果

                      Fig.  9  ML-LoBCoD-SCRN reconstruction results at different values of $ \rho $

                      圖  10  $ \rho $在不同值時ML-LoBCoD-SCRN損失函數值隨迭代次數的變化

                      Fig.  10  Change of ML-LoBCoD-SCRN loss function with iterations at different values of $ \rho $

                      圖  11  $ \rho = 0 $時三種方法的分類準確率

                      Fig.  11  Classification accuracy of the three methods at $ \rho = 0 $

                      圖  12  ML-SCRN網絡的重構結果

                      Fig.  12  Reconstruction results of ML-SCRN network

                      圖  13  逐層放松模型的分類對比圖

                      Fig.  13  Classification comparison chart of layer-by-layer relaxation model

                      圖  14  逐層放松模型重構損失函數對比圖

                      Fig.  14  Comparison chart of layer-by-layer relaxation model reconstruction loss function

                      圖  15  逐層放松模型重構結果對比圖

                      Fig.  15  Comparison chart of layer-by-layer relaxation model reconstruction results

                      圖  16  兩種分類重構網絡在MNIST數據集的重構結果

                      Fig.  16  Reconstruction results of two classification reconstruction networks in MNIST dataset

                      圖  17  兩種分類重構網在MNIST 數據集的損失函數

                      Fig.  17  Loss function of two classification reconstruction networks in MNIST dataset

                      圖  18  三種網絡在MNIST數據集下的重構結果

                      Fig.  18  Reconstruction results of three networks under the MNIST dataset

                      圖  19  三種網絡在CIFAR10數據集下的重構結果

                      Fig.  19  Reconstruction results of three networks under the CIFAR10 dataset

                      圖  20  三種網絡在CIFAR100數據集下的重構結果

                      Fig.  20  Reconstruction results of three networks under the CIFAR10 dataset

                      圖  21  三種分類重構網在MNIST 數據集下的分類正確率

                      Fig.  21  Classification accuracy of three classification reconstruction networks under the MNIST dataset

                      圖  22  三種分類重構網在CIFAR10數據集下的分類正確率

                      Fig.  22  Classification accuracy of three classification reconstruction networks under the CIFAR10 dataset

                      圖  23  三種分類重構網在MNIST 數據集下的損失函數

                      Fig.  23  Loss function of three classification reconstruction networks under MNIST dataset

                      圖  24  三種分類重構網在CIFAR10數據集下的損失函數

                      Fig.  24  Loss function of three classification reconstruction networks under CIFAR10 dataset

                      表  1  幾種分類網絡在迭代100次時的分類正確率

                      Table  1  Classification accuracy of several classification networks at 100 iterations

                      模型 Acc(MNIST) Acc(CIFAR10)
                      CNN 98.74% 79.00%
                      ML-ISTA 99.11% 82.93%
                      ML-FISTA 99.16% 82.79%
                      ML-LISTA 98.80% 82.68%
                      LBP 99.19% 80.73%
                      ML-LoBCoD 99.15% 85.53%
                      下載: 導出CSV

                      表  2  兩種分類重構網絡在迭代100次對比

                      Table  2  Comparison of two classification reconstruction networks over 100 iterations

                      模型 ML-LoBCoD-SCRN ML-LoBCoD-FC
                      分類正確率ρ=0 99.15% 98.91%
                      重構誤差 3.03×10?6 1.38×10?5
                      avgpsnr 30.77 dB 22.79 dB
                      時間 1 h 47 m 2 h 34 m
                      下載: 導出CSV

                      表  3  兩種分類重構網絡參數數量的比較

                      Table  3  Comparison of the parameters of two classification reconstruction networks

                      模型 ML-LoBCoD-SCRN ML-LoBCoD-FC
                      1stlayer 6×6×1×64+64 6×6×1×64+64
                      2stlayer 6×6×64×128+128 6×6×64×128+128
                      3stlayer 4×4×128×512+512 4×4×128×512+512
                      4stlayer 512×10+10 512×10+512×784+784
                      Total 1352330 1753818
                      下載: 導出CSV

                      表  4  三種網絡在MNIST、CIFAR10和CIFAR100數據集下迭代100次各參數對比

                      Table  4  Comparison of the parameters of the three networks under the MNIST, CIFAR10 and CIFAR100 datasets 100 times

                      模型 ML-LoBCoD-SCRN ML-ISTA-SCRN ML-FISTA-SCRN
                      Acc(MNIST) 98.90% 98.65% 98.41%
                      Acc(CIFAR10) 84.40% 82.62% 83.48%
                      Acc(CIFAR100) 83.41% 81.26% 80.34%
                      Loss(MNIST) 3.03×10?6 3.87×10?6 3.42×10?6
                      Loss(CIFAR10) 1.44×10?6 5.28×10?6 6.52×10?6
                      Loss(CIFAR100) 3.14×10?6 6.75×10?6 8.95×10?6
                      Time(MNIST) 1h47m 1h54m 1h56m
                      Time(CIFAR10) 1h12m 1h20m 1h25m
                      Time(CIFAR100) 57 m 1 h 1h05m
                      avgpsnr(MNIST) 30.77 dB 26.51 dB 29.75 dB
                      avgpsnr(CIFAR10) 32.46 dB 28.21 dB 27.63 dB
                      avgpsnr(CIFAR100) 29.97 dB 27.00 dB 25.14 dB
                      下載: 導出CSV
                      360彩票
                    • [1] Sulam J, Papyan V, Romano Y, and Elad M. Projecting onto the muti-layer convolutional sparse conding model. IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), IEEE, 2018.
                      [2] 2 Sulam J, Papyan V, Romano Y, and Elad M. Multi-layer convolutional sparse modeling: pursuit and dictionary learning. IEEE Transactions on Signal Processing, 2018, 66(15): 4090?4104
                      [3] 張芳, 王萌, 肖志濤, 吳駿, 耿磊, 童軍, 王雯. 基于全卷積神經網絡與低秩稀疏分解的顯著性檢測. 自動化學報, 2019, 45(11): 2148?2158

                      3 Zhang Fang, Wang meng, Xiao zhi-tao, et.al. Saliency detection based on full convolutional neural network and low rank sparse decomposition. Journal of Automation, 2019, 45(11): 2148?2158
                      [4] 4 Bristow H, Eriksson A, and Lucey S. Fast convolutional sparse coding. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2013, : 391?398
                      [5] 陳善雄, 熊海靈, 廖劍偉, 周駿, 左俊森. 一種基于 CGLS 和 LSQR 的聯合優化的匹配追蹤算法. 自動化學報, 2018, 44(7): 1293?1303

                      5 Chan Shan-hsiung, Xiong Hai-ling, Liao Jian-wei, Zhou Jun, Zuo Jun-sen. A joint optimized matching tracking algorithm based on CGLS and LSQR. Journal of Automation, 2018, 44(7): 1293?1303
                      [6] 6 Heide F, Heidrich W, and Wetzstein G. Fast and flexible convolutional sparse coding. In IEEE Conference on Computer Vision and Pattern Recognition, 2015, : 5135?5143
                      [7] 7 Papyan V, Romano Y, Sulam J, and Elad M. Convolutional dictionary learning via local processing. in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2017, : 5296?5304
                      [8] 8 Zisselman E, Sulam J, and Elad M. A Local Block Coordinate Descent Algorithm for the Convolutional Sparse Coding Model. The IEEE Conference on Computer Vision and Pattern Recognition, 2019, : 8208?821
                      [9] 9 Papyan V, Romano Y, and Elad M. Convolutional neural networks analyzed via convolutional sparse coding. The Journal of Machine Learning Research, 2017, : 2887?2938
                      [10] 10 Krizhevsky A, Sutskever I, and Hinton G E. Imagenet classification with deep convolutional neural networks. Advances in Neural Information Processing Systems (NIPS), 2012, : 1097?1105
                      [11] 11 Lecun Y, Bengio Y, and Hinton G. Deep learning. Nature, 2015, 521(7553): 436?444 doi:  10.1038/nature14539
                      [12] 12 Sulam J, Aberdam A, Beck A, and Elad M. On Multi-Layer Basis Pursuit, Efficient Algorithms and Convolutional Neural Networks. ?IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011, : 1?6
                      [13] 13 Aberdam A, Sulam J, and Elad M. Multi-Layer Sparse Coding: The Holistic Way. SIAM Journal on Mathematics of Data Science, 2019, : 46?77
                      [14] 常亮, 鄧小明, 周明全, 武仲科, 袁野, 楊碩, 王宏安. 圖像理解中的卷積神經網絡. 自動化學報, 2016, 42(9): 1300?1312

                      14 Chang liang, Deng Xiao ping, Zhou Ming quanet.al. Convolution neural network in image understanding. Journal of Automation, 2016, 42(9): 1300?1312
                      [15] 15 Zhu X X, Li L X, Liu J, Peng H P, and Niu X X. Captioning Transformer with Stacked Attention Modules. Applied Sciences, 2018,
                      [16] Szlam A, Kavukcuoglu K, and LeCun Y. Convolutional matching pursuit and dictionary training. arxiv, 2018.[Online]. Available: https://arxiv.org/abs/1010.0422
                      [17] 17 Wohlberg B. Effificient algorithms for convolutional sparse representations. IEEE Transactions on Image Processing, 2016, : 301?315
                      [18] Sreter H, and Giryes R. Learned Convolutional Sparse Coding. arxiv, 2018.[Online]. Available: http://arxiv.org/abs/1806.00701
                      [19] 19 Liu J, Garcia-Cardona C, and Wohlberg B, Yin W. First and second order methods for online convolutional dictionary learning. SIAM Journal on Imaging Sciences, 2018, : 1589?1628
                      [20] 20 Garcia-Cardona C, Wohlberg B. Convolutional dictionary learning: A comparative review and new algorithms. IEEE Transactions on Computational Imaging, 2018, : 933?941
                      [21] Song A H, Flores F, and Ba D. Spike Sorting by Convolutional Dictionary Learning. Arxiv, 2018.[Online]. Available: https://arxiv.org/abs/1806.01979
                      [22] 22 Papyan V, Sulam J, and Elad M. Working locally thinking globally: Theoretical guarantees for convolutional sparse coding. IEEE Transactions on Computational Imaging, 2018, : 321?325
                    • [1] 張宇, 包研科, 邵良杉, 劉威. 面向分布式數據流大數據分類的多變量決策樹[J]. 自動化學報, doi: 10.16383/j.aas.2017.c160809
                      [2] 顧曉清, 蔣亦樟, 王士同. 用于不平衡數據分類的0階TSK型模糊系統[J]. 自動化學報, doi: 10.16383/j.aas.2017.c160200
                      [3] 劉明, 李國軍, 郝華青, 侯增廣, 劉秀玲. 基于卷積神經網絡的T波形態分類[J]. 自動化學報, doi: 10.16383/j.aas.2016.c150817
                      [4] 劉鵬, 葉志鵬, 趙巍, 唐降龍. 一種多層次抽象語義決策圖像分類方法[J]. 自動化學報, doi: 10.16383/j.aas.2015.c140238
                      [5] 倪鼎, 馬洪兵. 基于近鄰協同的高光譜圖像譜-空聯合分類[J]. 自動化學報, doi: 10.16383/j.aas.2015.c140043
                      [6] 周全, 王磊, 周亮, 鄭寶玉. 基于多尺度上下文的圖像標注算法[J]. 自動化學報, doi: 10.3724/SP.J.1004.2014.02944
                      [7] 張景祥, 王士同, 鄧趙紅, 蔣亦樟, 李奕. 融合異構特征的子空間遷移學習算法[J]. 自動化學報, doi: 10.3724/SP.J.1004.2014.00236
                      [8] 顧鑫, 王士同, 許敏. 基于多源的跨領域數據分類快速新算法[J]. 自動化學報, doi: 10.3724/SP.J.1004.2014.00531
                      [9] 朱群, 張玉紅, 胡學鋼, 李培培. 一種基于雙層窗口的概念漂移數據流分類算法[J]. 自動化學報, doi: 10.3724/SP.J.1004.2011.01077
                      [10] 張戰成, 王士同, 鐘富禮. 協作式整體和局部的分類機[J]. 自動化學報, doi: 10.3724/SP.J.1004.2011.01256
                      [11] 練秋生, 陳書貞. 基于混合基稀疏圖像表示的壓縮傳感圖像重構[J]. 自動化學報, doi: 10.3724/SP.J.1004.2010.00385
                      [12] 殷慧, 曹永鋒, 孫洪. 基于多維金字塔表達和AdaBoost的高分辨率SAR圖像城區場景分類算法[J]. 自動化學報, doi: 10.3724/SP.J.1004.2010.01099
                      [13] 王紅衛, 祁超, 魏永長, 李彬, 朱松. 基于數據的決策方法綜述[J]. 自動化學報, doi: 10.3724/SP.J.1004.2009.00820
                      [14] 周佳立, 張樹有, 楊國平. 基于雙目被動立體視覺的三維人臉重構與識別[J]. 自動化學報, doi: 10.3724/SP.J.1004.2009.00123
                      [15] 胡包鋼, 王泳. 關于互信息準則在分類(包括拒識類別)問題中的應用[J]. 自動化學報, doi: 10.3724/SP.J.1004.2008.01396
                      [16] 李俊, 戴先中, 孟正大. 可重構制造系統監督控制器的自動重構[J]. 自動化學報, doi: 10.3724/SP.J.1004.2008.01337
                      [17] 許力. 多層感知器的局部化設計[J]. 自動化學報
                      [18] 劉雷健, 楊靜宇, 曹雨龍, 鄔永革, 汪華峰. 肺癌細胞識別彩色圖像處理系統[J]. 自動化學報
                      [19] 姚增起. 考慮輸入錯誤時一個BP網絡的高可靠重構[J]. 自動化學報
                      [20] 毛建昌, 萬嘉若, 王成道. 用于紋理分類的多元旋轉不變自回歸模型[J]. 自動化學報
                    • 加載中
                    計量
                    • 文章訪問數:  661
                    • HTML全文瀏覽量:  1079
                    • 被引次數: 0
                    出版歷程
                    • 收稿日期:  2019-07-19
                    • 錄用日期:  2019-12-23
                    • 網絡出版日期:  2020-01-17

                    多層局部塊坐標下降法及其驅動的分類重構網絡

                    doi: 10.16383/j.aas.c190540
                      基金項目:  國家自然科學基金(61473339), 首批“河北省青年拔尖人才”([2013]17)資助項目;京津冀基礎研究合作專項 (F2019203583)
                      作者簡介:

                      燕山大學信息科學與工程學院教授,主要研究方向為信號處理和模式識別,本文通信作者. E-mail: wjj@ysu.edu.cn

                      燕山大學信息科學與工程學院碩士研究生,主要研究方向為信號與信息處理. E-mail: 13091375387@163.com

                      燕山大學信息科學與工程學院碩士研究生,主要研究方向為信號處理. E-mail: xiajing_527@sina.com

                      燕山大學信息科學與工程學院博士研究生,主要研究方向為模式識別. E-mail: landywang1105@163.com

                    •  收稿日期?2019-07-19????錄用日期?2019-12-23 Manuscript?received?July?19,?2019;?accepted?December?23, 2019 國家自然科學基金 (61473339),?首批?“河北省青年拔尖人才”([2013]17) 資助項目;京津冀基礎研究合作專項?(F2019203583) Supported?by?National?Natural?Science?Foundation?of China(61473339),?The?First?Batch?of?"Top?Young?Talents?in Hebei?Province"([2013]17);Basic?Research?Cooperation?Projects?of Beijing,?Tianjin?and?Hebei?(F2019203583)
                    •  本文責任編委?黎銘 Recommended?by?Associate?Editor?LI?Ming 1.?燕山大學信息科學與工程學院?河北省秦皇島?066004????2.?河北省信息傳輸與信號處理重點實驗室?河北省秦皇島?066004 1.?School?of?Information?Science?and?Engineering,?Yanshan University,?Qinhuangdao,?Hebei?Province?066004????2.?Hebei?key laboratory?of?information?transmission?and?signal?processing, Yanshan?University,?Qinhuangdao,?Hebei?Province?066004

                    摘要: 卷積稀疏編碼(CSC)已廣泛應用于信號或圖像處理、重構和分類等任務中, 基于深度學習思想的多層卷積稀疏編碼(MLCSC)模型的多層基追蹤問題和多層字典學習問題成為研究熱點. 但基于傅里葉域的交替方向乘子法(ADMM)求解器和基于圖像塊(patch)空間域思想的傳統基追蹤算法不能容易地擴展到多層情況. 在切片(slice)局部處理思想的基礎上, 本文提出了一種新的多層基追蹤(Ml-BP)算法: 多層局部塊坐標下降算法(ML-LoBCoD). 在多層迭代軟閾值算法(ML-ISTA)和對應的迭代展開網絡ML-ISTA-Net 的啟發下, 提出了對應的迭代展開網絡ML-LoBCoD-Net. ML-LoBCoD-Net實現信號的表征學習功能, 輸出的最深層卷積稀疏編碼用于分類. 此外, 為了獲得更好的信號重構, 本文提出了一種新的多層切片卷積重構網絡(ML-SCRN-Net), ML-SCRN-Net實現從信號稀疏編碼到信號重構, 并且對這兩個網絡分別進行實驗驗證. 然后將ML-LoBCoD-Net和ML-SCRN-Net 進行級聯得到ML-LoBCoD-SCRN合并網, 同時實現圖像的分類和重構. 與傳統基于全連接層對圖像進行重建的方法相比, 本文提出的ML-LoBCoD-SCRN合并網所需參數少, 收斂速度快, 重構精度高. 本文將ML-ISTA和ML-FISTA 構建為ML-ISTA-SCRN和ML-FISTA-SCRN進行對比實驗, 初步證明了所提出的ML-LoBCoD-SCRN分類重構網在MNIST、CIFAR10和CIFAR100數據集上是有效的, 分類正確率、損失函數和信號重構結果都優于ML-ISTA-SCRN和ML-FISTA-SCRN.

                     收稿日期?2019-07-19????錄用日期?2019-12-23 Manuscript?received?July?19,?2019;?accepted?December?23, 2019 國家自然科學基金 (61473339),?首批?“河北省青年拔尖人才”([2013]17) 資助項目;京津冀基礎研究合作專項?(F2019203583) Supported?by?National?Natural?Science?Foundation?of China(61473339),?The?First?Batch?of?"Top?Young?Talents?in Hebei?Province"([2013]17);Basic?Research?Cooperation?Projects?of Beijing,?Tianjin?and?Hebei?(F2019203583)
                     本文責任編委?黎銘 Recommended?by?Associate?Editor?LI?Ming 1.?燕山大學信息科學與工程學院?河北省秦皇島?066004????2.?河北省信息傳輸與信號處理重點實驗室?河北省秦皇島?066004 1.?School?of?Information?Science?and?Engineering,?Yanshan University,?Qinhuangdao,?Hebei?Province?066004????2.?Hebei?key laboratory?of?information?transmission?and?signal?processing, Yanshan?University,?Qinhuangdao,?Hebei?Province?066004

                    English Abstract

                    王金甲, 張玉珍, 夏靜, 王鳳嬪. 多層局部塊坐標下降法及其驅動的分類重構網絡. 自動化學報, 2020, 46(x): 1?16. doi: 10.16383/j.aas.c190540
                    引用本文: 王金甲, 張玉珍, 夏靜, 王鳳嬪. 多層局部塊坐標下降法及其驅動的分類重構網絡. 自動化學報, 2020, 46(x): 1?16. doi: 10.16383/j.aas.c190540
                    Wang Jin-Jia, Zhang Yu-Zhen, Xia Jing, Wang Feng-Pin. Multi-layer local block coordinate descent algorithm-inspired classification and reconstructionan networks. Acta Automatica Sinica, 2020, 46(x): 1?16. doi: 10.16383/j.aas.c190540
                    Citation: Wang Jin-Jia, Zhang Yu-Zhen, Xia Jing, Wang Feng-Pin. Multi-layer local block coordinate descent algorithm-inspired classification and reconstructionan networks. Acta Automatica Sinica, 2020, 46(x): 1?16. doi: 10.16383/j.aas.c190540
                    • 在稀疏表示模型中, 一維信號或二維圖像可以看成是多個基函數的線性組合, 本文將基函數稱為原子, 所有原子組合為字典. 大部分稀疏編碼的值為零, 只有少數有非零值. 對于稀疏編碼問題, 以圖像為例, 利用從圖像提取的部分重疊片段來訓練局部模型, 使用局部先驗獨立處理這些圖像塊, 然后對結果進行平均以獲得近似全局估計[1]. 盡管稀疏編碼很受歡迎, 但它是針對圖像塊進行單獨編碼, 忽略了圖像塊之間的相關性, 導致編碼高度冗余[2].

                      基于稀疏編碼的缺陷和卷積神經網絡的成功[3], Bristow 等[4]提出了卷積稀疏編碼(CSC), 完全字典被卷積字典替代, 矩陣操作被卷積算子替代, 通過直接在信號內建立平移不變性來彌補稀疏編碼的根本性的缺點. 用于信號恢復的稀疏重構算法主要分為 兩大類: 凸優化算法和貪婪算法[5]. 凸優化算法重建速度慢, 貪婪算法在重建效率 上并不是很理想. 為了解決信號恢復問題, 目前領先的稀疏重構算法幾乎都依賴于傅里葉域中的交替方向乘子法(ADMM)[6]. Papyan等[7] 提出了基于局部切片處理思想的卷積稀疏編碼(SCSC)方法, 其是在圖像切片(slice)上進行局部操作而不是在圖像塊(patch) 上, 巧妙地利用傳統稀疏編碼和傳統字典學習算法解決了卷積稀疏編碼(CSC)和卷積字典學習(CDL)問題. 但這種算法還是依賴于ADMM算法, 需要引入輔助變量, 增加內存需求. Zisselman等[8]在此基礎上提出了基于局部塊坐標下降(LoBCod)算法的卷積稀疏編碼, 該算法在追蹤階段沒有輔助變量也沒有額外參數, 而且可以對卷積稀疏編碼的每個針單獨優化, 提供了局部稀疏度量的保證, 而且并行處理更能加快編碼速度.

                      從形式上看, 卷積稀疏編碼類似于一層卷積神經網絡, 因此Papyan等[9]和Krizhevsky等[10]提出了多層卷積稀疏編碼(ML-CSC). 它從稀疏表示的觀點提供了對CNN 的新解釋: CNN的前向過程等同于ML-CSC的多層卷積稀疏編碼求解過程. Papyan等人[9]提出了第一個多層卷積稀疏編碼求解算法: 層基追蹤算法(LBP)[11]. 盡管這種是算法已經在CNN與稀疏建模之間的建立了聯系, 但仍然缺乏對ML-CSC 的更深入理解. ML-CSC模型的層基追蹤算法[11] 不能提供滿足多層模型假設的信號, 信號恢復誤差隨著網絡的深化而累積. 緊接著, Sulam[2] 提出了第一個多層卷積字典學習算法, 首先使用FISTA 算法求解最深層的稀疏編碼, 然后使用卷積投影計算中間層的卷積稀疏編碼并重構信號, 最后利用隨機梯度下降算法更新卷積字典. 這個模型利用的投影追蹤算法[2] 通過先計算最深層卷積稀疏編碼然后計算中間層卷積稀疏編碼, 從而解決了誤差累積的缺點. 但投影追蹤算法產生次優性, 因為它們沒有充分利用對所有中間層信息[12,13]. Aberdam 等[13]提出了一種綜合-整體- 替代方案和整體追蹤算法, 可以同時估計模型中的所有表示, 在合成和分析稀疏編碼步驟之間交替, 解決整個模型的整體學習問題. 雖然在[13] 中提出了一種追蹤算法, 但該算法本質是貪婪的并且不能很好的擴展到高維信號. 更重要的是, 目前還不清楚如何根據該方法從真實數據中訓練字典. 2018年, Sulam 等人[12]提出了用于多層卷積稀疏編碼問題的多層迭代軟閾值算法(ML-ISTA)和多層快速軟閾值算法(ML-FISTA), 可以近似地收斂到多層公式的全局最優; 并給出了對應的迭代展開網絡結構ML-ISTA-Net和ML-FISTA-Net, 可以利用反向傳播算法更新字典. 但這些多層模型都是基于圖像塊進行操作的, 忽略了圖像的局部特征.

                      在切片(Slice)局部處理思想、LoBCoD算法和ML-ISTA算法的啟發下, 本文提出了基于切片的多層局部塊坐標下降算法(ML-LoBCod)用于多層卷積稀疏編碼的多層基追蹤問題. 這種方法是在迭代過程中, 沿碼針方向進行逐一更新, 不需要求解目標函數的梯度, 僅需求解一維搜索問題, 收斂速度較快. 卷積神經網絡應用于圖像分類效果顯著[14], 在ML-ISTA-NET的啟發下, 本文提出了對應的迭代展開網絡ML-LoBCoD-Net, 網絡正向過程被用于分類任務, 網絡逆向過程利用分類誤差和反向傳播算法更新卷積字典. 在投影追蹤算法[12]和切片局部處理思想的啟發下, 本文提出了多層切片卷積重構網絡(ML-SCRN)用于重構任務, 輸入是最深層的卷積稀疏編碼, 輸出是重構信號. 為了提高信號重構質量, 本文提出了ML-LoBCoD-SCRN 的重構分類網, 在[15]的編碼器和解碼器框架的啟發下, 將ML-LoBCoD-Net 作為編碼器提取圖像特征, 將ML-SCRN 作為解碼器得到重構信號. ML-LoBCoD-Net完成編碼器和信號分類功能, ML-SCRN完成解碼器和信號重構功能. ML-LoBCoD-SCRN 網絡逆向過程利用編碼器分類誤差、解碼器重構誤差和反向傳播算法更新卷積字典.

                      • 傳統卷積稀疏編碼模型(CSC)的研究問題如下, 假設全局信號$ X \in {\bf R}^N $滿足,

                        $$ \begin{array}{l} X = D\Gamma = \sum\limits _{i = 1}^M d_i * \gamma_i \end{array} $$ (1)

                        其中 $ X $ 是要分解的信號, $ D\in {\bf R}^{N\times NM} $ 是全局卷積字典, $ \Gamma \in {\bf R}^{NM} $ 是相應的稀疏表示. 全局字典 D 由大小為 $ N \times\; M $ 的局部字典 $ D_L $ 一系列移位組成, $ d_i \in {\bf R}^N $ 表示卷積濾波器矩陣 $ D_L^{N\times M} $ 的列原子, $ \gamma_i \in {\bf R}^N $ 表示相應稀疏表示,“$ * $”符號表示 $ d_i $$ \gamma_i $ 的卷積操作.

                        傳統卷積稀疏編碼(CSC)和卷積字典學習(CDL)算法有空間域, 傅立葉域和混合域三種方法. 如卷積稀疏編碼問題有卷積 MP[16]、卷積 BP[17] 和卷積 LISTA[18], 卷積字典學習問題有在線卷積字典學習[19]、卷積 FISTA[20] 和卷積 K-SVD[21].[17],[22] 中提供了關于卷積稀疏表示的完整歷史的討論.

                        CSC都是基于傅里葉域在圖像塊上進行操作的, 忽略了圖像的局部特征. 在[7] 中做出了改進, 提出基于切片的卷積稀疏編碼(SCSC), 它是在 CSC 模型的基礎上將圖像塊進行切片, 原理是將全局稀疏矢量 $ \Gamma $ 分成一組非重疊矢量 $ \{\alpha_i\}_{i = 1}^N $, 即針, 字典 D 由局部卷積字典矩陣 $ D_L $ 通過移位得到帶狀卷積字典矩陣, 則全局信號 X 可以表示為,

                        $$ \begin{array}{l} X = D\Gamma = \sum\limits _{i = 1}^N P_{i}^T D_L \alpha_i = \sum\limits _{i = 1}^N P_{i}^T s_i \end{array} $$ (2)

                        其中 N 表示原圖像信號 X 被分成 N 個切片, $ P_{i}^T \in $${\bf R}^{N\times n} $ 是將 $ D_L\alpha_i $ 置于第 i 個位置并用零填充其余部分的運算符, $ s_i $ 表示第 i 個切片.

                        已知卷積字典 $ D_L $, 從信號 X 發現最佳稀疏表示 $ \Gamma $ 的問題被稱為基于切片的卷積稀疏編碼(SCSC)或基于切片的卷積稀疏編碼基追蹤問題. 如下式:

                        $$ \begin{array}{l} \min\limits _{\alpha_i }\ \frac {1}{2} \|X-\sum\limits _{i = 1}^N P_{i}^T D_L \alpha_i\|_{2}^{2} + \lambda \sum\limits _{i = 1}^N \|\alpha_i\|_{1} \end{array} $$ (3)

                        基于切片的卷積稀疏編碼(SCSC)是利用交替方向乘子法(ADMM)進行基追蹤求解的, 需要引入輔助變量, 增加內存需求, 收斂速度較慢.

                      • Zisselman等[8]提出了基于切片的局部塊坐標下降法(LoBCoD)用于解決基追蹤問題, 利用塊坐標下降算法來更新局部稀疏向量(針), 無需定義任何其他變量. 這種方法避免了調整額外的參數, 節省內存. 它的原理是采用局部策略將全局稀疏向量 $ \Gamma $ 分成局部向量 $ \{\alpha_i\}_{i = 1}^N $. 該模型并不是對所有的針一起優化, 而是將取自全局矢量 $ \Gamma $ 的每一個針 $ \alpha_i $ 作為坐標塊, 并且對于這樣的塊單獨地并有順序地優化. 因此, 單個針的更新規則可以寫為:

                        $$ \begin{array}{l} \min\limits _{\alpha_i }\ \frac {1}{2} \|(X-\sum\limits _{\substack{{j = 1}\\{j\neq i}}}^N P_{j}^T D_L \alpha_j)-P_{i}^T D_L \alpha_i\|_{2}^{2} + \lambda \|\alpha_i\|_{1} \end{array} $$ (4)

                        LoBCoD避免了額外參數的引入, 但仍然是將卷積稀疏編碼(CSC)和卷積字典學習(CDL)分開進行求解, 計算較為復雜.

                      • 全局信號 $ X\in {\bf R}^N $ 可以由卷積字典 $ D_1 $ 和對應稀疏矢量 $ \Gamma_1 $ 組成, 即 $ X = D_1\Gamma_1 $. 在多層模型中, 假設另一個字典 $ D_2 $ 和稀疏表示 $ \Gamma_2 $ 滿足 $ \Gamma_1 = D_2 $, 將這個結構級聯到多層[12]. 將其命名為多層卷積稀疏編碼(ML-CSC), 則全局信號 X 與層稀疏編碼 $ \{\Gamma_j\}_{j = 1}^J $ 定義如下,

                        $$ \begin{array}{l} \begin{array}{c} X = D_1\Gamma_1, \\ \Gamma_1 = D_2\Gamma_2, \\ \vdots \\ \Gamma_{J-1} = D_J\Gamma_J . \end{array} \end{array} $$ (5)

                        其中$ D_{(1,J)} $ 定義為全局卷積字典, 則 $ D_{(1,J)} =$$ D_1D_2\cdots D_J $. 全局信號 X 可以表示為

                        $$ \begin{array}{l} X = D_{(1,J)}\Gamma_J \end{array} $$ (6)

                        在最簡單的形式中, 給定一組全局卷積字典 $ \{D_j\}_{j = 1}^J $, 從被噪聲 w 污染為 $ y = X+w $ 的信號中發現最佳的稀疏表示問題稱為多層卷積稀疏編碼, 也稱為多層基追蹤去噪(BPDN)問題. 在[12]的工作表明, 這個問題可以歸結為求解信號深度卷積稀疏編碼, 則可以簡明扼要地寫成

                        $$ \begin{array}{l} \min\limits _{\Gamma_J }\ \frac {1}{2} \|y-D_{(1,J)}\Gamma_J\|_{2}^{2} + \lambda \|\Gamma_J\|_{1} \end{array} $$ (7)

                        對于求解多層卷積稀疏編碼問題在[12] 提出的方法主要有層基追蹤算法(LBP)、多層迭代軟閾值算法(ML-ISTA)、多層迭代快速軟閾值算法(ML-FISTA)和多層可學習的迭代軟閾值算法(ML-LISTA).[12]提出的方法與神經網絡結合, 前向過程求解卷積稀疏編碼, 逆向過程求解字典學習, 但都是基于圖像塊進行操作的, 忽略了圖像局部與全局的關系.

                      • 在本節中將卷積稀疏表示和卷積神經網絡(CNN)之間建立聯系, 令卷積稀疏編碼相當于一層卷積神經網絡. 這樣可以將傳統基追蹤回歸問題推廣到多層, 將1.1 節中基于切片的卷積稀疏編碼 (SCSC) 擴展到多層, 稱為基于切片的多層卷積稀疏編碼 (ML-SCSC). 給定一組具有適當維度的卷積字典 $ \{D_j\}_{j = 1}^J $, 全局信號X 和ML-CSC中的層卷積稀疏表示可以寫為

                        $$ \begin{array}{l} \begin{array}{l} X = D_1\Gamma_1 = \sum\limits_{i = 1}^N P_{1,i}^T D_{L,1}\alpha_{1,i}, \|\Gamma_1\|_{0,\infty} \leq \lambda_1, \\ \Gamma_1 = D_2\Gamma_2 = \sum\limits_{i = 1}^N P_{2,i}^T D_{L,2}\alpha_{2,i}, \|\Gamma_2\|_{0,\infty} \leq \lambda_2, \\ \qquad \qquad \qquad \qquad \qquad \vdots \\ \Gamma_{J-1} = D_J\Gamma_J = \sum\limits_{i = 1}^N P_{J,i}^T D_{L,J}\alpha_{J,i}, \|\Gamma_J\|_{0,\infty} \leq \lambda_J. \end{array} \end{array} $$ (8)

                        其中層稀疏表示 $ \Gamma_j $ 是局部矢量 $ \{\alpha_{j,i}\}_{i = 1}^N $ 的全局形式, $ \alpha_{j,i} $ 稱為碼針. $ P_{j,i}^T,i = 1, \cdots N $ 為將第 j 層的 $ D_{L,j}\alpha_{j,i} $ 置于第 i 個位置并用零填充其余部分的運算符, N 是切片的數量, 各層中的 N 應該是不同的. 為簡單起見, 假設所有層的 N 都相同. 令 $ \Gamma_0 $ 表示信號 X, 可以將模型 Ml-SCSC 重寫為

                        $$ \begin{array}{l} \begin{array}{c} \Gamma_{j-1} = D_j\Gamma_j = \sum\limits_{i = 1}^N P_{j,i}^T D_{L,j}\alpha_{j,i}, \|\Gamma_j\|_{0,\infty} \leq \lambda_j,\\ \forall 1\leq j\leq J \end{array} \end{array} $$ (9)

                        給定全局卷積字典 $ \{D_j\}_{j = 1}^J $, 從信號 X 發現最佳底層稀疏 $ \Gamma_J $$ \{\alpha_{J,i}\}_{i = 1}^N $ 稱為基于切片局部處理的深度卷積稀疏編碼, 或深度追蹤問題, 則公式(7)可以寫為

                        $$ \begin{array}{l} \min\limits _{\{\alpha_{J,i}\}_{i = 1}^N}\ \frac {1}{2} \|y-\sum\limits _{i = 1}^N P_{J,i}^T D_{(1,J)} \alpha_{J,i}\|_{2}^{2} + \lambda \sum\limits _{i = 1}^N \|\alpha_{J,i}\|_{1} \end{array} $$ (10)

                        根據公式(9)和(10)本文提出了分層基追蹤問題.

                        $$ \begin{array}{l} \min\limits _{\{\alpha_{j,i}\}_{i = 1}^N}\ \frac {1}{2} \|\Gamma_{j-1}-\sum\limits _{i = 1}^N P_{j,i}^T D_{(1,j)} \alpha_{j,i}\|_{2}^{2} + \lambda_j \sum\limits _{i = 1}^N \|\alpha_{j,i}\|_{1} \end{array} $$ (11)
                      • 本文將基于切片的局部塊坐標下降法單層模型擴展為多層, 提出了基于切片的多層局部塊坐標下降法(ML-LoBCoD). 為簡單起見, 在本節只介紹層稀疏編碼. ML-LoBCoD 算法是將層稀疏向量 $ \Gamma_j $ 分成局部矢量 $ \{\alpha_{j,i}\}_{i = 1}^N $, 然后對每一個碼針在定義域內尋求最優解, 其他碼針固定不變, 視為常數, 則可以將公式(11)轉換為單個碼針的層基追蹤問題

                        $$ \begin{array}{l} \begin{array}{l} \!\! \min \limits_{\alpha_{j,i} }\ \frac {1}{2} \|(\Gamma_{j-1}-\sum \limits_{\substack{{n = 1}\\{n\neq i}}}^N P_{j,n}^T D_{L,j} \alpha_{j,n})-P_{j,i}^T D_{L,j} \alpha_{j,i}\|_{2}^{2}+\\ \lambda_j \|\alpha_{j,i}\|_{1} \end{array} \end{array} $$ (12)

                        定義 $ R_{j,i} = (\Gamma_{j-1}-\sum\limits_{\substack{{n = 1}\\{n\neq i}}}^N P_{j,n}^T D_{L,j} \alpha_{j,n}) $ 作為各層中無碼針 $ \alpha_{j,i} $ 貢獻的層殘差, 可以將等式(12)重寫為,

                        $$ \begin{array}{l} \displaystyle \min _{\alpha_{j,i} }\ \frac {1}{2} \|R_{j,i}-P_{j,i}^T D_{L,j} \alpha_{j,i}\|_{2}^{2} + \lambda_j \|\alpha_{j,i}\|_{1} \end{array} $$ (13)

                        最小化公式(13)會涉及到全局變量如 $ R_{j,i} $, 但本文可以將其轉化為等效的局部問題. 單位矩陣I定義為非重疊片段的總和$ \sum\limits_{k = 1}^N P_{j,k}^T P_{j,k} = I $, 其中$ P_{j,i} \in $$\{P_{j,k}\}_{k = 1}^N $. 將單位矩陣帶入公式(13), 可以等效為(詳細過程見附錄A).

                        $$ \begin{array}{l} \min\limits _{\alpha_{j,i} }\ \displaystyle\frac {1}{2} \|P_{j,i} R_{j,i}- D_{L,j} \alpha_{j,i}\|_{2}^{2} + \lambda_j \|\alpha_{j,i}\|_{1} \end{array} $$ (14)

                        其中 $ P_{j,i} \in \{P_{j,k}\}_{k = 1}^N $. 本文將 $ P_{j,i}\in {\bf R}^{N\times n} $ 定義為從 j 層卷積稀疏編碼 $ \Gamma_j $ 中提取第 in 維切片的運算符.

                        利用軟閾值通過對公式(14)的二次項進行線性化, 更新每一層最優稀疏表示, 更新形式為 $\displaystyle \alpha^k \leftarrow \alpha^{k-1}-\frac{\partial f}{\partial\alpha^{k-1}} $, 其中 f 表示公式(14)的目標函數, 導數公式如下

                        $$ \begin{array}{l} \displaystyle \frac{\partial f}{\partial\alpha_{j,i}} = D_{L,j}^T(P_{j,i} R_{j,i}-D_{L,j}\alpha_{j,i}) \end{array} $$ (15)

                        類似算法 ML-ISTA 的推導過程, 碼針 $ \alpha_{j,i} $ 表示為

                        $$ \begin{array}{l} \alpha_{j,i}^k = S_{\lambda}(\alpha_{j,i}^{k-1}+D_{L,j}^T(P_{j,i} R_{j,i}-D_{L,j}\alpha_{j,i}^{k-1})) \end{array} $$ (16)

                        基于切片的多層局部塊坐標下降(ML-LoBCoD)算法雖然看起來很復雜, 但是這個算法可以分解為簡單的遞歸分層操作, 即一個全局追蹤的分層閾值操作. 如算法 1 所示, 輸入信號為被噪聲 w 污染的信號 y, 輸出為層稀疏表示 $ \{\Gamma_j\}_{j = 1}^J $ 或碼針 $ \ \{\{\alpha_{j,i}\}_{i = 1}^N\}_{j = 1}^J $. 對局部卷積字典 $ \{D_j\}_{j = 1}^J $、頂層卷積稀疏編碼 $ \Gamma_0 $ 和頂層殘差 $ R_0 $ 進行初始化. 在每一次迭代展開過程中, 以第 j 層為例, 選定一個方向碼針 $ \alpha_{j,i} $, 根據上一次迭代的層殘差 $ R_j $ 和該層卷積稀疏編碼的第 i 個碼針 $ \alpha_{j,i} $ 得出殘差 $ R_{j,i} $, 優化公式(12)更新碼針 $ \alpha_{j,i} $. 再選定 $ \alpha_{j,i+1} $, 固定其他的碼針進行更新. 依次將更新的碼針進行累加得出該層的卷積稀疏編碼 $ \Gamma_j = \{\alpha_{j,i}\}_{i = 1}^N $, 與上一層的卷積稀疏編碼 $ \Gamma_{j-1} $ 得出第 j 層的層殘差$ R_{j,i} $. 類似地更新第 $ j+1 $ 層卷積稀疏編碼, 循環此過程直到得出最佳的深層卷積稀疏編碼. 算法過程相當于圖1中點線框中.

                        圖  1  三次迭代展開的 ML-LoBCoD-Net

                        Figure 1.  3 unfoldings ML-LoBCoD-Net

                        Algorithm 1 基于切片的多層局部塊坐標下降(ML-LoBCoD) 算法

                        輸入: 信號y

                         輸出: 層卷積稀疏表示$ \{\Gamma_j\}_{j=1}^J $或碼針$ \ \{\{\alpha_{j,i}\}_{i=1}^N\}_{j=1}^J $

                        初始化: 局部卷積字典 $ \{D_j\}_{j=1}^J $, $ \Gamma_0=y $, $ R_1=\Gamma_0 $

                        迭代: $ k=1:K $

                        層數: $ j=1:J $

                         碼針數: $ i=1:N $

                          計算局部殘差: $R_{j,i}^k =R_{j}^{k-1}+ P_{j,i}^T D_{L,j}$$ \alpha_{j,i}^{k-1} $

                          碼針更新: $\alpha_{j,i}^k=S_{\lambda}(\alpha_{j,i}^{k-1}+ D_{L,j}^T(P_{j,i} R_{j,i}-$$D_{L,j}\alpha_{j,i}^{k-1})) $

                         更新層殘差: $ R_{j}^k=\Gamma_{j-1}^k-D_{L,j}\Gamma_{j}^k $

                      • 如上所述, 基于切片的多層局部塊坐標下降法(ML-LoBCoD)為多層基追蹤提供了有效的方法, 在本節中介紹通過神經網絡解釋多層基追蹤(ML-BP)問題, 將ML-LoBCoD 算法構建為一個類似LeNet風格的多層模型網絡, 即利用簡單的遞歸分層操作將ML-LoBCoD算法看作一層神經網絡層(圖1點線框). 在圖1中, 本節以三層神經網絡層為例, 將ML-LoBCoD迭代展開三次構成ML-LoBCoD-Net, 稱為迭代展開的多層局部塊坐標下降網絡(ML-LoBCoD-Net). ML-LoBCoD-Net可以看作是神經網絡中的前向傳遞, 網絡的參數與傳統的前向傳輸類型完全相同, 可以在模型中不引入任何參數的情況下改善典型CNN的性能. ML-LoBCoD-Net首先輸入原始信號X, 即第0層卷積稀疏編碼$ \Gamma_0 $, 通過卷積操作得出三層卷積稀疏編碼的初始值$ \Gamma_1 $、$ \Gamma_2 $、和 $ \Gamma_3 $, 根據公式$ \Gamma_2 = D_3\Gamma_3 $, $ \Gamma_1 =$$ D_2\Gamma_2 $得出新的初始值$ \Gamma_1 $、$ \Gamma_2 $、和 $ \Gamma_3 $. 引入超參數 $ \beta $, 對模型進行分層放松. 再通過算法1基于切片的多層局部塊坐標下降算法(ML-LoBCoD)估算出$ \hat{\Gamma_1} $、$ \hat{\Gamma_2} $$ \hat{\Gamma_3} $. 接著將 $ \hat{\Gamma_1} $、$ \hat{\Gamma_2} $$ \hat{\Gamma_3} $作為第二次迭代展開的卷積稀疏編碼的初始值, 估算出第二次迭代展開的卷積稀疏編碼$ \hat{\Gamma_1} $、$ \hat{\Gamma_2} $$ \hat{\Gamma_3} $. 以此類推, 得出最終的第三層卷積稀疏編碼卷積稀疏編碼$ \hat{\Gamma_3} $. 最后在網絡中加入一個全連接層作為分類器, 利用$ \hat{\Gamma_3} $得出重構標簽$ \hat{Y} $, 實現網絡的分類功能.

                        圖2是ML-LoBCoD算法在第j層卷積稀疏編碼的更新流程圖, 它表示圖1中虛線框中的操作, 也就是算法1中一層卷積稀疏編碼更新部分. 它通過第$ j-1 $層卷積稀疏編碼$ \Gamma_{j-1} $和上一次迭代展開的卷積稀疏編碼$ \Gamma_{j} $得出本次迭代展開的第j層卷積稀疏編碼$ \Gamma_{j} $.

                        圖  2  ML-LoBCoD 算法第 j 層一次迭代流程圖

                        Figure 2.  ML-LoBCoD algorithm j-layer one iteration flowchart

                        圖2 中模型通過反向循環強制地執行模型約束, 從而可以得到重構信號為$ \hat{X} = D_{1}D_{2}\cdots D_{J}\Gamma_{J} $.但是因子$ D_j $乘積的加深會導致優化問題高度非凸. 以分層的方式放松模型, 可以避免這種情況. 即每一層的近似模型約束, $ \Gamma_{j-1}\approx D_{j}\Gamma_{j} $, 更容易最小化優化目標. 通過引入控制全局模型一致性的超參數 $ \beta $, 可以很容易地實現這一點. 在循環過程中, 首先用$ \beta = 0 $訓練模型, 對應于逐層松弛模型, 隨著迭代次數的增加逐漸過渡到$ \beta = 1 $, 從而產生連貫的全局 ML-CSC 模型. (詳細介紹見附錄B)

                      • 在上一節中提出的迭代展開的基于局部的多層局部塊坐標下降網絡(ML-LoBCoD-Net)是利用被噪聲污染的信號求取最深層的卷積稀疏編碼和分類標簽. 在本節中主要解決利用最深層卷積稀疏編碼得到重構信號 $ \hat{X} $.

                        對于多層模型, 給定底層卷積稀疏編碼$ \Gamma_J $和卷積字典$ \{D_j\}_{j = 1}^J $得到信號$ \hat{X}(\Gamma_J,\{D_j\}_{j = 1}^J) $, 稱為多層卷積稀疏投影. 可以由下式得出

                        $$ \begin{array}{l} \hat{X}(\Gamma_J,\{D_j\}_{j = 1}^J) = D_1D_2 \cdots D_J\Gamma_J \end{array} $$ (17)

                        本文在基于切片局部處理的卷積稀疏編碼的基礎上提出了基于切片的多層卷積稀疏投影. 為簡單起見, 在本節中只介紹層卷積稀疏編碼的更新規則, 即第$ j-1 $層卷積稀疏編碼$ \Gamma_{j-1} $由第j$ \Gamma_j =$$ \{\alpha_{j,i}\}_{i = 1}^N $決定

                        $$ \begin{array}{l} \Gamma_{j-1} = \sum\limits_{i = 1}^N P_{j,i}^T D_{L,j}\alpha_{j,i} \end{array} $$ (18)

                        其中定義$ s_{j,i} = D_{L,j}\alpha_{j,i} $為第j層第i個切片, 則公式(18)可以寫為

                        $$ \begin{array}{l} \Gamma_{j-1} = \sum\limits_{i = 1}^N P_{j,i}^Ts_{j,i} \end{array} $$ (19)

                        圖3 為層卷積稀疏解碼的更新規則, 稱為切片卷積層 $ (SCL_j) $. 輸入第 j 層卷積稀疏編碼碼 $ \Gamma_{j} $, 將碼針 $ \alpha_{j,i} $ 與局部卷積字典 $ D_{L,j} $ 相乘得到切片 $ s_{j,i} $, 然后將 $ P_{j,i}^T $ 操作應用于切片得到第 $ j-1 $ 層卷積稀疏編碼 $ \Gamma_{j-1} $.

                        圖  3  第 j 層切片卷積層

                        Figure 3.  J-layer slice convolution layer$ (SCL_j) $

                        根據圖3 可以由j層卷積稀疏編碼$ \Gamma_{j} $得出第$ j-1 $層卷積稀疏編碼$ \Gamma_{j-1} $, 在此基礎上本文提出從最深層卷積稀疏編碼層層遞進得出重構信號$ \hat{X} $的算法過程, 稱為“基于切片的多層卷積重構神經網絡 (ML-SCRN)”. ML-SCRN 網絡結構如圖4 所示, 輸入最深層卷積稀疏編碼$ \Gamma_J $, 利用切片卷積層$ (SCL_{J}) $得出$ \Gamma_{J-1} $, 以此類推得出頂層卷積稀疏編碼$ \Gamma_{0} $, 即重構信號$ \hat{X} $.

                        圖  4  基于切片多層卷積重構神經網絡(ML-SCRN)

                        Figure 4.  Neural network reconstruction based on slice multi-layer convolution (ML-SCRN)

                        Algorithm 2 基于切片的多層卷積重構神經網絡(ML-SCRN)

                        輸入: 底層卷積稀疏編碼 $ \Gamma_J=\{\alpha_{j,i}\}_{i=1}^N $, $ \{D_j\}_{j=1}^J $

                        輸出: 重構信號 $ \hat{X}(\Gamma_J,\{D_j\}_{j=1}^J) $

                        初始化: 局部卷積字典 $ \{D_j\}_{j=1}^J $, $ \Gamma_0=y $, $ R_1=\Gamma_0 $

                        迭代: $ k=1:K $

                         層數: $ j=1:J $

                          切片重構: $ s_{j,i}=D_{L,j}\alpha_{j,i} $

                          更新層殘卷積稀疏編碼: $ \Gamma_{j-1}^k= $$\sum\limits_{i=1}^NP_{j,i}^T s_{j,i}^k $

                         更新重構信號: $ \hat{X}=\Gamma_{0}^k=\sum\limits_{i=1}^NP_{1,i}^T s_{1,i}^k $

                        算法 2 介紹了ML-SCRN網絡的算法過程: 輸入是通過迭代展開的多層局部塊坐標下降網絡(ML-LoBCoD-Net)得到的最深層卷積稀疏編碼$ \Gamma_J $和局部卷積字典$ \{D_j\}_{j = 1}^J) $, 輸出是重構信號$ \hat{X}(\Gamma_J,\{D_j\}_{j = 1}^J) $. 在每一次迭代過程中, 以第j層為例, 由碼針$ \alpha_{j,i} $與局部卷積字典$ D_{L,j} $得到切片$ s_{j,i} = D_{L,j}\alpha_{j,i} $, 通過$ P_{j,i}^T $操作得到第$ j-1 $層卷積稀疏編碼. 循環此過程得到第$ 0 $層卷積稀疏編碼 $ \Gamma_0 $即重構信號$ \hat{X} = \sum\limits_{i = 1}^NP_{1,i}^T D_{L,1}\alpha_{1,i} $.

                        顯然, ML-SCRN是一個特殊的重構網絡, 輸入不是信號, 而是卷積稀疏編碼. 此外, ML-SCRN網絡能夠獲得中間層和重構信號的稀疏編碼, 因此它的前向傳遞實現了新穎的投影尋蹤算法和信號投影算法.

                      • 在本小節中, 將本文提出的ML-LoBCoD-Net和ML-SCRN-Net進行級聯得到基于ML-LoBCoD的分類與重構合并網(ML-LoBCoD-SCRN), 同時實現分類和重構功能. 通過神經網絡的成功的啟發, 本文提出了編碼器- 解碼器框架, 將ML-LoBCoD-Net作為編碼器提取圖像特征, 將ML-SCRN作為解碼器得到重構信號.

                        ML-LoBCoD-SCRN 的前向過程包括倆部分: 第一部分將基于切片的多層局部塊坐標下降的迭代展開網絡(ML-LoBCoD-Net)作為編碼器, 通過算法 1 得到圖像的最深層卷積稀疏編碼 $ \Gamma_J $ 和分類標簽$ \hat{Y} $. 第二部分將基于切片的多層卷積重構神經網絡 (ML-SCRN) 作為解碼器, 通過算法 2 得到頂層卷積稀疏編碼$ \Gamma_0 $, 即重構信號$ \hat{X} = \Gamma_0 $.

                        ML-LoBCoD-SCRN 的后向過程是最小化總的損失函數$ F_{loss} $, 利用深度學習中函數 Adam()或 SGD ()通過反向傳播算法更新全局卷積字典$ \{D_j\}_{j = 1}^J $. 本文用均方損失函數$ MSE(X,\hat{X}) $表示原始信號 X 和重構信號$ \hat{X} $的重構誤差, 用多分類的負對數似然損失函數$ NLL(Y,\hat{Y}) $表示最深層卷積稀疏編碼$ \Gamma_J $產生的分類標簽$ \hat{Y} $與信號真實標簽 Y 之間的分類誤差.

                        本文定義損失函數$ F_{loss} $是由重構誤差$MSE $$ (X,\hat{X}) $和分類誤差$ NLL(Y,\hat{Y}) $加權得到, 如下式

                        $$ \begin{array}{l} F_{loss} = \rho *MSE(X,\hat{X})+(1-\rho)*NLL(Y,\hat{Y}) \end{array} $$ (20)

                        $ \rho = 0 $時, 相當于ML-LoBCoD分類網絡; 當$ 0<\rho<1 $時是ML-LoBCoD-SCRN重構分類網絡; 當$ \rho = 1 $時, 相當于ML-LoBCoD-SCRN重構網絡. 圖5為 ML-LoBCoD-SCRN 圖像重構分類網絡圖.

                        圖  5  ML-LoBCoD-SCRN 分類重構網絡

                        Figure 5.  ML-LoBCoD-SCRN classification reconstruction network

                        Algorithm 3 基于局部塊坐標下降法的多層分類重構網絡(ML-LoBCoD-SCRN)

                        輸入: 原始圖像信號 X

                        輸出: 重構信號 $ \hat{X}(\{\{\alpha_{j,i}\}_{j=1}^J\}_{i=1}^N,\{D_j\}_{j=1}^J) $

                        初始化: 局部卷積字典 $ \{D_j\}_{j=1}^J $

                        引入噪聲 w: $ y=X+w $

                        迭代: $ k=1:K $

                         通過算法 1 更新最深層的卷積稀疏編碼 $ \Gamma_J $ 和分類標簽 $ \hat{Y} $

                         通過算法 2 更新切片與重構信號

                         損失函數:

                        $ F_{loss}=\rho *MSE(X,\hat{X})+(1-\rho)*NLL(Y,\hat{Y}) $

                         更新卷積字典: $ D_j\!=\!D_j\!+\!\eta \partial \frac{F_loss}{D_j},j\!=\!1 \cdots J $

                        同理, 本文將多層迭代軟閾值網絡(ML-ISTA-Net)與 ML-SCRN 進行級聯得到基于 ML-ISTA 的分類與重構合并網(ML-ISTA-SCRN), 將多層迭代軟閾值網絡(ML-FISTA-Net)與 ML-SCRN 進行級聯得到基于 ML-FISTA 的分類與重構合并網(ML-FISTA-SCRN), 以便之后的實驗對比.

                        算法 3 介紹了 ML-LoBCoD-SCRN 重構分類網絡的算法流程. 輸入是原始圖像信號 X, 輸出是重構信號$ \hat{X} $. 首先引入噪聲w得到被污染的信號y, 然后隨機選擇小批量訓練樣本, 并隨機初始化卷積字典$ \{D_j\}_{j = 1}^J $, 通過算法 1 得到最深層的卷積稀疏編碼$ \Gamma_J $和分類標簽$ \hat{Y} $, 通過算法 2 利用$ \Gamma_J $得到重構信號$ \hat{X} $. 最后最小化損失函數$ F_{loss} $更新局部卷積字典, 循環此過程直到收斂.

                      • 在本節中將展示如何將提出的網絡在MNIST、CIFAR10和CIFAR100數據集上對圖像進行分類和重構. 實驗是在單個Nvidia Geforce 1080 Ti GPU系統上運行的. 實驗中多層卷積稀疏編碼模型的層數選擇為3層, 3個卷積層(即卷積字典)分別具有64, 128, 512個濾波器, 在MNIST數據集中卷積核的大小分別為(6,6), (6,6), (4,4), 在CIFAR10和CIFAR100數據集中卷積核的大小分別為(4,4), (5,5), (6,6). 本文提出的重構分類網的融合損失函數的超參數$ \rho $設置為0.0, 0.01, 0.25, 0.5, 0.75, 0.99, 1.0, 用于比較$ \rho $ 在不同的值時ML-LoBCoD-SCRN網絡和ML-ISTA-SCRN、ML-FISTA-SCRN分類重構網圖像分類重構效果. 其中$ \rho = 0 $時的分類重構網就是ML-LoBCoD-Net、ML-ISTA-Net、ML-FISTA-Net 分類網.

                      • 本文所提出的多層局部塊坐標下降的分類與重構網絡(ML-LoBCoD-SCRN)設定的層數為三層, 在本小節中提出單層的局部塊坐標下降的分類與重構網絡(LoBCoD-SCRN)進行對比試驗. LoBCoD-SCRN是將原始信號X通過單層局部塊坐標下降網絡(LoBCoD)得到卷積稀疏編碼表示$ \Gamma $, 再通過基于切片的單層卷積重構網絡(SCRN)得到重構信號$ \hat{X} $.

                        圖6圖7分別為 ML-LoBCoD-SCRN 和 LoBCoD -SCRN 兩個模型在MNIST數據集下迭代100次的分類準確率和重構損失值的對比圖, 可以看出單層模型的分類和重構結果要遠遠低于多層模型結果. 由此可見雖然單層模型由于只用到一層的卷積稀疏編碼, 所以網絡結構簡單, 參數少, 運行時間短, 但無法較成功的實現分類與重構功能.

                        圖  6  ML-LoBCoD-SCRN和LoBCoD-SCRN在MNIST數據集中的分類準確率

                        Figure 6.  Classification accuracy of ML-LoBCoD-SCRN and LoBCoD-SCRN in the MNIST dataset

                        圖  7  ML-LoBCoD-SCRN和LoBCoD-SCRN在MNIST數據集中的損失函數值隨迭代次數的變化

                        Figure 7.  Change of loss function values of ML-LoBCoD-SCRN and LoBCoD-SCRN in the MNIST dataset with the number of iterations

                      • 以MNIST數據集為例(與CIFAR10結果一致), 圖8給出了$ \rho $的值在不同的情況下, 模型訓練100次ML-LoBCoD-SCRN的分類正確率. 可以看出$ \rho $的值在變化時, ML-LoBCoD-SCRN的分類結果變化不大.

                        圖  8  $ \rho $在不同值時ML-LoBCoD-SCRN在MNIST數據集中的分類準確率

                        Figure 8.  Classification accuracy of ML-LoBCoD-SCRN in the MNIST dataset at different values of $ \rho $

                        圖9$ \rho $的值在不同的情況下, 模型訓練100次ML-LoBCoD-SCRN對于數字5的重構結果. 從圖中可以看出, 隨著$ \rho $的值不斷變大圖像重構效果越好. 當$ \rho = 0 $時, 網絡只能實現分類功能, 無法得出清晰的重構結果. 當$ \rho = 0.99 $時, 網絡可以實現非常完整的重構圖像. 當$ \rho = 1.0 $時, 網絡的重構圖像與$ \rho = 0.99 $時相當, 但它無法實現分類功能.

                        圖  9  $ \rho $在不同值時ML-LoBCoD-SCRN重構結果

                        Figure 9.  ML-LoBCoD-SCRN reconstruction results at different values of $ \rho $

                        圖10$ \rho $的值在不同的情況下ML-LoBCoD-SCRN網絡損失函數值隨迭代次數變化關系圖, 由于當 $ \rho = 0 $$ \rho = 1.0 $時只有分類和重構一個功能, 不具參考意義, 所以將其舍去. 在圖8中可以看出參數 $ \rho = 0.99 $的損失函數最小, 實驗中也發現$ \rho $的值越大圖像重構效果越好. 由上述可見, 本文選擇$ \rho = 0.99 $ 進行實驗, 可以同時實現重構和分類功能.

                        圖  10  $ \rho $在不同值時ML-LoBCoD-SCRN損失函數值隨迭代次數的變化

                        Figure 10.  Change of ML-LoBCoD-SCRN loss function with iterations at different values of $ \rho $

                      • 圖11給出了$ \rho = 0 $時, ML-LoBCoD-Net、ML-ISTA-Net、ML-FISTA-Net 三種分類網絡模型訓練100次的分類準確率, 可以看出ML-LoBCoD分類結果優于ML-FISTA 但和ML-ISTA相當.

                        圖  11  $ \rho = 0 $時三種方法的分類準確率

                        Figure 11.  Classification accuracy of the three methods at $ \rho = 0 $

                        表1是CNN、ML-ISTA、ML-FISTA、ML-LISTA、LBP 和ML-LoBCoD分類網絡分別在MNIST和CIFAR10數據集下模型訓練100次的分類正確率. 可以看出在沒有任何額外參數的情況下, 本文提出的ML-LoBCoD算法的分類準確率要高于其他網絡.

                        表 1  幾種分類網絡在迭代100次時的分類正確率

                        Table 1.  Classification accuracy of several classification networks at 100 iterations

                        模型 Acc(MNIST) Acc(CIFAR10)
                        CNN 98.74% 79.00%
                        ML-ISTA 99.11% 82.93%
                        ML-FISTA 99.16% 82.79%
                        ML-LISTA 98.80% 82.68%
                        LBP 99.19% 80.73%
                        ML-LoBCoD 99.15% 85.53%
                      • ML-SCRN重構是先利用卷積操作得出三層卷積稀疏編碼的初始值$ \Gamma_1,\Gamma_2,\Gamma_3 $,再利用ML-SCRN對圖像進行重構. 圖12是迭代100次時ML-SCRN 重構網的部分測試數據的原始數字圖像與重構數字圖像對比, 可以看出僅僅重構網絡不能學習到復雜的數字圖像結構進而很多重構數字出現了部分缺失或模糊現象.

                        圖  12  ML-SCRN網絡的重構結果

                        Figure 12.  Reconstruction results of ML-SCRN network

                      • 本文為避免因子$ D_i $積的加深, 而導致優化問題高度非凸, 提出利用分層的方式放松模型. 圖13圖14分別是超參數$ (\beta = 0) $和逐層放松$ (\beta = 0\rightarrow 1) $ 時ML-LoBCoD-SCRN模型的分類準確率和重構損失值的變化圖.

                        圖  13  逐層放松模型的分類對比圖

                        Figure 13.  Classification comparison chart of layer-by-layer relaxation model

                        圖  14  逐層放松模型重構損失函數對比圖

                        Figure 14.  Comparison chart of layer-by-layer relaxation model reconstruction loss function

                        圖15為在MNIST數據集下逐層放松模型對比圖, 圖(a)為原始圖像, 圖(b)為超參數$ \beta = 0 $的模型重構結果, 圖(c)是超參數$ \beta = 0\rightarrow 1 $逐層放松模型重構結果圖. 從圖13-15可以看出在沒有加入超參數$ \beta $的情況下模型的收斂速度慢, 分類和重構結果都低于有超參數時的模型結果.

                        圖  15  逐層放松模型重構結果對比圖

                        Figure 15.  Comparison chart of layer-by-layer relaxation model reconstruction results

                      • 傳統的方法是基于全連接層對圖像進行重建的, 即將編碼器的輸出送到解碼器中實現圖像重建, 該解碼器由一個全連接的層組成[21]. 本文將多層局部塊坐標下降網絡(ML-LoBCoD-Net)與全連接層進行級聯得到基于ML-LoBCoD的分類與重構合并網(ML-LoBCoD-FC). 先通過ML-LoBCoD-Net得到最深層的卷積稀疏編碼, 再利用全連接層得出圖像的分類標簽和重構圖像. 在本節將 ML-LoBCoD-SCRN與ML-LoBCoD-FC的分類與重構結果進行比較. 表2給出了ML-LoBCoD-SCRN與ML-LoBCoD-FC在迭代100 次時的分類正確率、重構誤差、avgpsnr、運行時間對比. 重構誤差是所有測試集原圖像與重構圖像均方損失函數相加求平均得到的值. avgpsnr是所有測試集原圖像與重構圖像的psnr相加求平均得到的值. 可以看出ML-LoBCoD-SCRN網絡與ML-LoBCoD-FC網絡相比, 所占用的內存小, 收斂速度塊, 重構的精度高.

                        表 2  兩種分類重構網絡在迭代100次對比

                        Table 2.  Comparison of two classification reconstruction networks over 100 iterations

                        模型 ML-LoBCoD-SCRN ML-LoBCoD-FC
                        分類正確率ρ=0 99.15% 98.91%
                        重構誤差 3.03×10?6 1.38×10?5
                        avgpsnr 30.77 dB 22.79 dB
                        時間 1 h 47 m 2 h 34 m

                        圖16是 ML-LoBCoD-SCRN與ML-LoBCoD-FC 分類重構網迭代100次時的部分測試數據的原始數字圖像與重構數字圖像對比, 圖(a)為原始圖像, 圖(b)為ML-LoBCoD-FC 重構結果, 圖(c) 為ML-LoBCoD-SCRN重構結果, 可以看出ML-LoBCoD-FC重構網絡不能學習到復雜的數字圖像結構進而很多重構數字出現了模糊現象. 圖17是迭代100 次時的ML-LoBCoD-SCRN分類重構網絡和ML-LoBCoD-FC分類重構網絡的損失函數值對比圖. 可以看出ML-LoBCoD-SCRN網絡重構結果優于ML-LoBCoD-FC.

                        圖  16  兩種分類重構網絡在MNIST數據集的重構結果

                        Figure 16.  Reconstruction results of two classification reconstruction networks in MNIST dataset

                        圖  17  兩種分類重構網在MNIST 數據集的損失函數

                        Figure 17.  Loss function of two classification reconstruction networks in MNIST dataset

                        在本節中就算法的時間復雜度而言, 將ML-LoBCoD-SCRN 與ML-LoBCoD-FC進行比較. 本文提出的方法中的參數數量不會隨著模型的深度而增加. ML-LoBCoD-SCRN 在圖像的重構過程中并沒有增加參數, 而ML-LoBCoD-FC在重構過程中參數數量明顯增多. 因此, 與ML-LoBCoD-FC相比, 本文提出的模型使用的參數少, 運行速率快, 如表3所示.

                        表 3  兩種分類重構網絡參數數量的比較

                        Table 3.  Comparison of the parameters of two classification reconstruction networks

                        模型 ML-LoBCoD-SCRN ML-LoBCoD-FC
                        1stlayer 6×6×1×64+64 6×6×1×64+64
                        2stlayer 6×6×64×128+128 6×6×64×128+128
                        3stlayer 4×4×128×512+512 4×4×128×512+512
                        4stlayer 512×10+10 512×10+512×784+784
                        Total 1352330 1753818
                      • 本文將多層局部塊坐標下降網絡(ML-LoBCoD-NET)與ML-SCRN-NET進行級聯得到基于ML-LoBCoD的分類與重構合并網(ML-LoBCoD-SCRN). 同理將多層迭代軟閾值網絡(ML-ISTA-NET)和多層快速迭代軟閾值網絡(ML-FISTA-NET)[12]與ML-SCRN-NET進行級聯得到基于ML-ISTA和ML-FISTA的分類與重構合并網(ML-ISTA-SCRN和ML-FISTA-SCRN), 以便進行實驗對比.

                        圖18-20分別是 $ \rho = 0.99 $ 時ML-LoBCoD-SCRN、ML-ISTA-SCRN和ML-FISTA-SCRN重構分類網在MNIST、CIFAR10和CIFAR100 數據集下迭代100 次的部分測試數據的原始數字圖像與重構數字圖像對比. 圖(a)為原始圖像, 圖(b)為ML-ISTA-SCRN重構結果, 圖(c)為ML-FISTA-SCRN重構結果, 圖(d)為ML-LoBCoD-SCRN重構結果. 可以看出ML-ISTA-SCRN和ML-FISTA-SCRN兩個模型雖然可以較完整的將原圖像重構出來, 但重構圖像結果的清晰度沒有ML-LoBCoD-SCRN 重構網絡的效果好.

                        圖  18  三種網絡在MNIST數據集下的重構結果

                        Figure 18.  Reconstruction results of three networks under the MNIST dataset

                        圖  19  三種網絡在CIFAR10數據集下的重構結果

                        Figure 19.  Reconstruction results of three networks under the CIFAR10 dataset

                        圖  20  三種網絡在CIFAR100數據集下的重構結果

                        Figure 20.  Reconstruction results of three networks under the CIFAR10 dataset

                        圖21圖22分別是$ \rho = 0.99 $時ML-LoBCoD-SCRN分類重構網絡、ML-ISTA-SCRN分類重構網絡和ML-FISTA-SCRN分類重構網絡在MNIST和CIFAR10數據集下分類準確率對比圖. 圖23圖24分別是$ \rho = 0.99 $ 時ML-LoBCoD-SCRN分類重構網絡、ML-ISTA-SCRN分類重構網絡和ML-FISTA-SCRN分類重構網絡在MNIST和CIFAR10數據集下的損失函數值對比圖. 從中可以看出ML-LoBCoD-SCRN模型的收斂速度要比ML-ISTA-SCRN和ML-FISTA-SCRN快, 分類與重構的結果高于這些模型. 表4給出了三種網絡在MNIST和CIFAR10 數據集下迭代100 次時的分類正確率、重構誤差、運行時間、avgpsnr對比. 重構誤差是所有測試集原圖像與重構圖像均方損失函數$ MSE(X,\hat{X}) $ 相加求平均得到的值. avgpsnr是所有測試集原圖像與重構圖像的psnr相加求平均得到的值. 可以看出ML-LoBCoD-SCRN網絡的各參數結果優于ML-ISTA-SCRN網絡和ML-FISTA-SCRN 網絡.

                        表 4  三種網絡在MNIST、CIFAR10和CIFAR100數據集下迭代100次各參數對比

                        Table 4.  Comparison of the parameters of the three networks under the MNIST, CIFAR10 and CIFAR100 datasets 100 times

                        模型 ML-LoBCoD-SCRN ML-ISTA-SCRN ML-FISTA-SCRN
                        Acc(MNIST) 98.90% 98.65% 98.41%
                        Acc(CIFAR10) 84.40% 82.62% 83.48%
                        Acc(CIFAR100) 83.41% 81.26% 80.34%
                        Loss(MNIST) 3.03×10?6 3.87×10?6 3.42×10?6
                        Loss(CIFAR10) 1.44×10?6 5.28×10?6 6.52×10?6
                        Loss(CIFAR100) 3.14×10?6 6.75×10?6 8.95×10?6
                        Time(MNIST) 1h47m 1h54m 1h56m
                        Time(CIFAR10) 1h12m 1h20m 1h25m
                        Time(CIFAR100) 57 m 1 h 1h05m
                        avgpsnr(MNIST) 30.77 dB 26.51 dB 29.75 dB
                        avgpsnr(CIFAR10) 32.46 dB 28.21 dB 27.63 dB
                        avgpsnr(CIFAR100) 29.97 dB 27.00 dB 25.14 dB

                        圖  21  三種分類重構網在MNIST 數據集下的分類正確率

                        Figure 21.  Classification accuracy of three classification reconstruction networks under the MNIST dataset

                        圖  22  三種分類重構網在CIFAR10數據集下的分類正確率

                        Figure 22.  Classification accuracy of three classification reconstruction networks under the CIFAR10 dataset

                        圖  23  三種分類重構網在MNIST 數據集下的損失函數

                        Figure 23.  Loss function of three classification reconstruction networks under MNIST dataset

                        圖  24  三種分類重構網在CIFAR10數據集下的損失函數

                        Figure 24.  Loss function of three classification reconstruction networks under CIFAR10 dataset

                      • 本文在多層卷積稀疏編碼模型(ML-CSC)和基于切片的局部塊坐標下降法(LoBCoD)思想的基礎上, 首先提出了基于切片的多層卷積稀疏(ML-SCSC)表示模型, 接著提出了多層局部塊坐標下降(ML-LoBCoD)算法實現了多層基追蹤問題的求解, 之后ML-LoBCoD 算法充分利用了信號局部與全局的關系, 采用遞歸神經網絡原理, 將ML-LoBCoD 算法進行迭代展開, 在不增加網絡參數情況下, 提出了迭代展開的ML-LoBCoD-Net 計算深層卷積稀疏編碼, 將其用于分類任務, 分類結果優于CNN 網絡. 基于切片(slice)局部處理思想, 本文提出了多層卷積重構網絡(ML-SCRN), 進一步實現從深層卷積稀疏編碼到信號的重構. 本文提出了三種分類重構網絡ML-ISTA-SCRN、ML-FISTA-SCRN和ML-LoBCoD-SCRN, 實現了從信號到編碼再到信號重構的級聯網絡. 本文還提出了基于編碼分類損失和信號重構損失的融合損失函數, 并采用反向傳播算法訓練網絡. 將ML-LoBCoD-Net 與傳統的基于全連接層重構方法相結合提出ML-LoBCoD-FC 進行對比, ML-LoBCoD-SCRN的網絡參數少, 運行時間少, 重構準確率高. 本文在MNIST、CIFAR10和CIFAR100數據集進行了大量實驗, 實驗結果表明, ML-LoBCoD算法與多層迭代軟閾值算法(ML- ISTA)和多層快速迭代軟閾值算法(ML- FISTA)相比, ML-LoBCoD-Net比ML-ISTA-Net 和ML-FISTA-Net的分類效果更好或相當. ML-LoBCoD-SCRN比ML-ISTA-SCRN 和ML- FISTA -SCRN 分類準確率有所提高, 而且信號重構誤差有所減小. 端到端的ML-LoBCoD-SCRN 重構出的圖像明顯優于ML-SCRN重構出的圖像質量. 這說明分類信息和信號信息的聯合利用會進一步提高信號重構質量.

                    WeChat 關注分享

                    返回頂部

                    目錄

                      /

                      返回文章
                      返回