Soft-to-Hard Vector Quantization for End-to-End Learning Compressible Representations
鄭重聲明:原文參見標題,如有侵權,請聯系作者,將會撤銷發布!
?
Abstract:
我們提出了一種新的方法,通過端到端的訓練策略來學習深度架構中的可壓縮表征。我們的方法是基于量化和熵的軟(連續)松弛,我們在整個訓練過程中對它們的離散對應體進行了退火。我們在兩個具有挑戰性的應用中展示了這種方法:圖像壓縮和神經網絡壓縮。雖然這些任務通常是用不同的方法來處理的,但我們的軟量化到硬量化方法給出的結果與這兩種方法的最先進水平具有可比性。
?
1 Introduction:
近年來,深度神經網絡(DNNs)在機器學習和計算機視覺方面取得了許多突破性的成果[20,28,9],目前已廣泛應用于工業領域。現代DNN模型通常有數百萬或數千萬個參數,導致無論是在他們生成的中間特征表示,還是在模型本身中,都存在高度冗余的結構。盡管DNN模型的過度參數化對訓練有良好的影響,但在實踐中,通常需要壓縮DNN模型進行推理,例如在內存有限的移動或嵌入式設備上部署它們時。另一方面,學習可壓縮表征的能力在為各種數據類型(如圖像、音頻、視頻和文本)開發(數據自適應)壓縮算法方面具有很大的潛力,這些數據類型現在都有各種DNN架構可用。
DNN模型壓縮和利用DNN進行有損圖像壓縮是近年來引起廣泛關注的兩種方法。為了壓縮一組連續的模型參數或特征,我們需要從一組量化級別(或矢量,在多維情況下)中選一個代表來近似每個參數或特征,其中每個量化級別與一個符號相關聯,然后存儲參數或特征的符號表示,以及量化級別。用相應的量化水平來表示一個DNN模型的每個參數或特征,將以失真D為代價,即性能損失(例如,量化模型參數后分類DNN的分類精度,或量化中間特征表示的自動編碼器內容中的重構錯誤)。碼率R,即符號流的熵,決定了編碼比特流中模型或特征的成本。
為了學習可壓縮的DNN模型或特征表示,我們需要最小化D+βR,其中β>0控制率失真的權衡。將熵包含到學習成本函數中可以看作是添加了一個正則化器,它促進了網絡的可壓縮表示或緊湊特征表示。然而,在將DNNs的D+βR最小化時,會遇到兩個主要的挑戰:i)處理成本函數D+βR的不可微性(由于量化操作),以及ii)獲得熵的精確可微估計(即R)。為了解決問題i),學界提出了許多方法,其中最流行的是隨機近似[39,19,6,32,4]和四舍五入光滑導數近似[15,30]。要解決ii),一個常見的方法是假設符號流為i.i.d.,并用參數模型(如高斯混合模型[30,34]、分段線性模型[4]或伯努利分布[33](如為二進制符號)對邊緣符號分布進行建模。
在本文中,我們提出了一個統一的端到端學習框架,用于學習可壓縮表征,聯合優化模型參數、量化水平和由此產生的符號流的熵,以壓縮網絡或模型本身(見插圖)。我們在DNN模型和特征壓縮中用新穎的方法來解決上述的挑戰i)和ii)。我們的主要貢獻是:
- 我們提供了第一個關于特征表示和DNN模型的端到端學習壓縮的統一方案。到目前為止,這兩個問題在文獻中基本上是獨立研究的。
- 我們的方法簡單直觀,依賴于給定標量或矢量的軟分配來量化到各個量化級別。用參數控制分配的“硬度”,并允許在訓練期間逐步從軟分配過渡到硬分配。與基于四舍五入或隨機量化的方案相比,我們的編碼方案是直接可微的,因此是可訓練的端到端方案。
- 我們的方法并不強制網絡適應特定的(給定的)量化輸出(例如整數),而是與權重一起學習量化級別,從而使其能夠應用于更廣泛的問題集。特別是,我們首次在所學壓縮的背景下探索矢量量化,并證明其優于標量量化。
- 與之前的所有工作不同,我們不假設特征或模型參數的邊緣分布,這些特征或模型參數是通過依賴于分配概率的柱狀圖而量化的,而不是文獻中常用的參數模型。
- 我們將我們的方法應用于32層ResNet模型[13]的DNN模型壓縮,并結合最近在[30]中提出的壓縮自動編碼器的變體來實現全分辨率圖像壓縮。在這兩種情況下,我們都取得了與最先進技術相當的性能,同時與原始作品相比,我們做了更少的模型假設,并顯著簡化了訓練程序[30,5]。
論文的其余部分組織如下。第2節回顧了相關工作,在第3節介紹從軟到硬的矢量量化方法。然后,我們分別在第4節和第5節中將其應用于壓縮自動編碼器進行圖像壓縮和ResNet進行DNN壓縮。第6節總結全文。
?
2 Related Work
人們對全分辨率圖像壓縮的DNN模型的興趣激增,最顯著的是[32,33,3,4,30],所有這些模型都優于JPEG[35],一些甚至超過了JPEG 2000[29],開創性的工作[32,33]表明,可通過卷積循環神經網絡(RNNs)學習漸進式圖像壓縮,在訓練過程中采用隨機量化方法。[3,30]都依賴卷積自動編碼器架構。這些工作將在第4節中進行更詳細的討論。
? 在DNN模型壓縮的背景下,一系列工作[12,11,5]采用一個多步驟的過程,先對預訓練DNN的權重進行修剪,然后使用類似k-means的算法對剩余的參數進行量化,接著對DNN進行再約束,最后對量化后的DNN模型進行熵編碼。[34]提出了一種值得注意的不同方法,使用最小描述長度原則來處理DNN壓縮任務,其具有堅實的信息理論基礎。
值得注意的是,許多最近工作的目標都是對DNN模型參數以及特征表示進行量化,用于加速在硬件上低精度算法的DNN評估,參見[15,23,38,43]。然而,這些工作中的大多數并沒有專門訓練DNN,因此量化參數在信息論意義上是可壓縮的。
在優化過程中,從一個簡單(凸或可微)問題逐漸過渡到實際的困難問題,正如我們在軟量化到硬量化框架中所做的那樣,已經在不同的環境中進行了研究,并且屬于連續方法的范疇(參見[2]以獲得概述)。形式上相關,但從概率角度出發的是用于最大熵聚類/矢量量化的確定性退火方法,參見,例如[24,42]。可以說,與我們的方法最相關的是[41],它也使用了最近鄰分配的拓展,但是在學習監督原型分類器的上下文中。據我們所知,在神經網絡圖像壓縮或DNN壓縮的端到端學習框架中,以前沒有采用連續方法。
?
3 Proposed Soft-to-Hard Vector Quantization
3.1 Problem Formulation
?
?
?
L個中心矢量,維度為d/m,將d維的特征轉化為[L]m;原始特征z由m個d/m維的矢量構成,每個矢量選擇采用最近鄰算法。
?
由于帶參數σ的softmax操作可以找到最近鄰,當σ趨向于正無窮的時候,對應標簽即為1,這就是硬分配;σ表示分配的硬度。
?
?
4 Image Compressin
現在我們展示如何使用我們的框架來實現一個簡單的圖像壓縮系統。對于其結構,我們使用了[30]中最近提出的卷積自動編碼器的變體(詳細信息請參見附錄A.1)。我們注意到,當我們使用[30]的結構時,我們使用軟到硬的熵最小化方法對其進行訓練,這與原方法有很大的不同,見下文。
我們的目標是學習自動編碼器瓶頸中的特性的可壓縮表示。因為我們不希望來自不同瓶頸通道的特征同分布,所以我們用不同的直方圖和熵損失對每個通道的分布進行建模,并使用相同的參數β將每個熵項添加到總損失中。為了將通道編碼成符號,我們將通道矩陣分為pw x ph維的片序列。這些片(矢量化)形成Z屬于Rd/m x m的列,其中m=d/(pwph),因此Z包含m(pwph)維的點。當ph或pw大于1時,符號可以捕獲瓶頸中的局部相關性,這是可取的,因為我們將符號建模為獨立同分布的隨機變量來進行熵編碼。然后,在測試時,符號編碼器E通過在一組L中心矢量C(C包含于Rpwph)上執行最近鄰分配來確定信道中的符號,從而產生^ z。在訓練過程中,我們使用了軟量化的~z,以及w.r.t.中心矢量C。
我們使用Adam[17]訓練不同的模型,見附錄A.2。我們的訓練集與[3]中描述的訓練集組成類似。我們使用了ImageNet[8]中90000張圖像的子集,我們用系數0.7對其進行了下采樣,并對128 x 128像素的片進行了訓練,批大小為15。為了估計優化(8)的概率分布p,我們在5000多個圖像上保持一個直方圖,每10次迭代更新一次當前批次的圖像。有關其他超參數的詳細信息,請參見附錄A.2。
?
Evaluation. 為了評估我們的軟-硬自動編碼器(SHA)方法的圖像壓縮性能,我們使用了四個數據集,即Kodak[1],B100[31],Urban100[14],ImageNet100(100個從ImageNet[25]隨機選擇的圖像)和三個標準質量度量,即峰值信噪比(PSNR)、結構相似性指數(SSIM)[37]和多尺度SSIM(MS-SSIM),詳見附錄A.5。我們將我們的SHA與標準的JPEG、JPEG 2000和BPG[10]進行了比較,重點放在壓縮率小于1比特每像素(bpp)(即傳統的基于積分變換的壓縮算法最受挑戰的情況)。如圖1所示,對于高壓縮率(小于0.4 bpp),我們的SHA在MS-SSIM方面優于JPEG和JPEG 2000,并且與BPG競爭。可以觀察到SSIM也存在類似趨勢(有關作為bpp函數的SSIM和PSNR圖,請參見附錄A.6中的圖4)。與JPEG 2000相比,SHA在ImageNet100上的表現最好,在Kodak上的挑戰最大。從視覺上看,SHA壓縮圖像的偽影比JPEG 2000壓縮圖像的偽影少(見圖1和附錄A.7)。
?
Related methods and discussion. JPEG 2000[29]使用基于小波變換和自適應EBCOT編碼。BPG[10]基于HEVC視頻壓縮標準的一個子集,是圖像壓縮的最新技術。它使用上下文自適應二進制算術編碼(CABAC)[21]。
最近的工作[30,4]也顯示出了與JPEG 2000的相當性能。雖然我們使用了[30]的結構,但這些工作之間存在著明顯的差異,相關總結在插圖表格中。[4]的工作使用多個廣義除數歸一化(GDN)層及其逆矩陣(IGDN)構建了一個深度模型,這是專門設計用來捕獲自然圖像局部聯合統計信息的層。此外,他們使用線性樣條對熵估計的邊緣進行建模,并使用CABAC[21]編碼。在這段時間,[16]的方法建立在[33]中提出的結構的基礎上,并表明通過將MS-SSIM度量合并到優化中(而不僅僅是最小化MSE),可以獲得令人印象深刻的MS-SSIM度量性能。
與這些最先進的方法所采用的領域特定技術相比,我們的學習可壓縮表示的框架可以實現有競爭力的圖像壓縮系統,只需使用卷積自動編碼器和簡單的熵編碼。
?
5 DNN Compression
對于DNN壓縮,我們研究了用于圖像分類的ResNet[13]體系結構。我們采用與[5]相同的設置,并考慮為CIFAR-10[18]訓練的32層體系結構。如[5]所示,我們的目標是學習模型所有464154可訓練參數的可壓縮表示。
我們的可壓縮模型在使用哈夫曼編碼達到壓縮因子19.15和使用算術編碼達到壓縮因子20.15的同時,達到了92.1%的測試精度。表1將我們的結果與[5]報告的最新方法進行了比較。我們注意到,盡管文獻中的頂級方法也達到了92%以上的精度和20%以上的壓縮因子,但它們采用了大量手工設計的步驟,如修剪、重訓練、各種類型的權重聚類、采用特殊編碼將稀疏權重矩陣編碼為基于索引差分的格式,最后采用熵編碼。相反,我們直接最小化訓練中權重的熵,得到一種使用標準熵編碼的高度可壓縮的表示法。
在附錄A.8的圖5中,我們展示了隨著網絡學習在優化(6)時將大部分權重壓縮到幾個中心,樣本熵H(p)是如何在訓練過程中衰減的,以及索引柱狀圖是如何發展的。相比之下,使用[12,11,5]的方法,通過修剪大約80%的網絡權重,手動將0作為最頻繁的中心。我們注意到[34]最近的工作還通過使用最小描述長度原則,在單個訓練過程中解決了這個問題。與我們的框架相比,它們采用貝葉斯視角,并依賴于符號分布的參數假設。
?
6 Conclusions
在本文中,我們提出了一個統一的框架,用于端到端學習深層架構的壓縮表示。通過軟-硬退火方案的訓練,逐步從樣本熵的軟松弛和網絡離散化過程轉移到實際的不可微量化過程,我們設法優化了原始網絡損耗和熵之間的率失真權衡。我們的框架可以便捷地捕獲不同的壓縮任務,從而獲得可以與最先進的圖像壓縮和DNN壓縮相競爭的結果。我們方法的簡潔性為將來的工作開辟了不同的方向,因為我們的框架可以很容易地適應其他需要可壓縮表示的任務。
?
Refences
[1] Kodak PhotoCD dataset. http://r0k.us/graphics/kodak/, 1999.
[2] Eugene L Allgower and Kurt Georg. Numerical continuation methods: an introduction, volume 13. Springer Science & Business Media, 2012.
[3] Johannes Ballé, Valero Laparra, and Eero P Simoncelli. End-to-end optimization of nonlinear transform codes for perceptual quality. arXiv preprint arXiv:1607.05006, 2016.
[4] Johannes Ballé, Valero Laparra, and Eero P Simoncelli. End-to-end optimized image compression. arXiv preprint arXiv:1611.01704, 2016.
[5] Yoojin Choi, Mostafa El-Khamy, and Jungwon Lee. Towards the limit of network quantization. arXiv preprint arXiv:1612.01543, 2016.
[6] Matthieu Courbariaux, Yoshua Bengio, and Jean-Pierre David. Binaryconnect: Training deep neural networks with binary weights during propagations. In Advances in Neural Information Processing Systems, pages 3123–3131, 2015.
[7] Thomas M Cover and Joy A Thomas. Elements of information theory. John Wiley & Sons, 2012.
[8] J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei. ImageNet: A Large-Scale Hierarchical Image Database. In CVPR09, 2009.
[9] Andre Esteva, Brett Kuprel, Roberto A Novoa, Justin Ko, Susan M Swetter, Helen M Blau, and Sebastian Thrun. Dermatologist-level classification of skin cancer with deep neural networks. Nature, 542(7639):115–118, 2017.
[10] Bellard Fabrice. BPG Image format. https://bellard.org/bpg/, 2014.
[11] Song Han, Huizi Mao, and William J Dally. Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding. arXiv preprint arXiv:1510.00149, 2015.
[12] Song Han, Jeff Pool, John Tran, and William Dally. Learning both weights and connections for efficient neural network. In Advances in Neural Information Processing Systems, pages 1135–1143, 2015.
[13] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2016.
[14] Jia-Bin Huang, Abhishek Singh, and Narendra Ahuja. Single image super-resolution from transformed self-exemplars. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 5197–5206, 2015.
[15] Itay Hubara, Matthieu Courbariaux, Daniel Soudry, Ran El-Yaniv, and Yoshua Bengio. Quantized neural networks: Training neural networks with low precision weights and activations. arXiv preprint arXiv:1609.07061, 2016.
[16] Nick Johnston, Damien Vincent, David Minnen, Michele Covell, Saurabh Singh, Troy Chinen, Sung Jin Hwang, Joel Shor, and George Toderici. Improved lossy image compression with priming and spatially adaptive bit rates for recurrent networks. arXiv preprint arXiv:1703.10114, 2017.
[17] Diederik P. Kingma and Jimmy Ba. Adam: A method for stochastic optimization. CoRR, abs/1412.6980, 2014.
[18] Alex Krizhevsky and Geoffrey Hinton. Learning multiple layers of features from tiny images. 2009.
[19] Alex Krizhevsky and Geoffrey E Hinton. Using very deep autoencoders for content-based image retrieval. In ESANN, 2011.
[20] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pages 1097–1105, 2012.
[21] Detlev Marpe, Heiko Schwarz, and Thomas Wiegand. Context-based adaptive binary arithmetic coding in the h. 264/avc video compression standard. IEEE Transactions on circuits and systems for video technology, 13(7):620–636, 2003.
[22] D. Martin, C. Fowlkes, D. Tal, and J. Malik. A database of human segmented natural images and its application to evaluating segmentation algorithms and measuring ecological statistics. In Proc. Int’l Conf. Computer Vision, volume 2, pages 416–423, July 2001.
[23] Mohammad Rastegari, Vicente Ordonez, Joseph Redmon, and Ali Farhadi. Xnor-net: Imagenet classification using binary convolutional neural networks. In European Conference on Computer Vision, pages 525–542. Springer, 2016.
[24] Kenneth Rose, Eitan Gurewitz, and Geoffrey C Fox. Vector quantization by deterministic annealing. IEEE Transactions on Information theory, 38(4):1249–1257, 1992.
[25] Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael Bernstein, Alexander C. Berg, and Li Fei-Fei. ImageNet Large Scale Visual Recognition Challenge. International Journal of Computer Vision (IJCV), 115(3):211–252, 2015.
[26] Wenzhe Shi, Jose Caballero, Ferenc Huszár, Johannes Totz, Andrew P Aitken, Rob Bishop, Daniel Rueckert, and Zehan Wang. Real-time single image and video super-resolution using an efficient sub-pixel convolutional neural network. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1874–1883, 2016.
[27] Wenzhe Shi, Jose Caballero, Lucas Theis, Ferenc Huszar, Andrew Aitken, Christian Ledig, and Zehan Wang. Is the deconvolution layer the same as a convolutional layer? arXiv preprint arXiv:1609.07009, 2016.
[28] David Silver, Aja Huang, Chris J Maddison, Arthur Guez, Laurent Sifre, George Van Den Driessche, Julian Schrittwieser, Ioannis Antonoglou, Veda Panneershelvam, Marc Lanctot, et al. Mastering the game of go with deep neural networks and tree search. Nature, 529(7587):484–489, 2016.
[29] David S. Taubman and Michael W. Marcellin. JPEG 2000: Image Compression Fundamentals, Standards and Practice. Kluwer Academic Publishers, Norwell, MA, USA, 2001.
[30] Lucas Theis, Wenzhe Shi, Andrew Cunningham, and Ferenc Huszar. Lossy image compression with compressive autoencoders. In ICLR 2017, 2017.
[31] Radu Timofte, Vincent De Smet, and Luc Van Gool. A+: Adjusted Anchored Neighborhood Regression for Fast Super-Resolution, pages 111–126. Springer International Publishing, Cham, 2015.
[32] George Toderici, Sean M O’Malley, Sung Jin Hwang, Damien Vincent, David Minnen, Shumeet Baluja, Michele Covell, and Rahul Sukthankar. Variable rate image compression with recurrent neural networks. arXiv preprint arXiv:1511.06085, 2015.
[33] George Toderici, Damien Vincent, Nick Johnston, Sung Jin Hwang, David Minnen, Joel Shor, and Michele Covell. Full resolution image compression with recurrent neural networks. arXiv preprint arXiv:1608.05148, 2016.
[34] Karen Ullrich, Edward Meeds, and Max Welling. Soft weight-sharing for neural network compression. arXiv preprint arXiv:1702.04008, 2017.
[35] Gregory K Wallace. The JPEG still picture compression standard. IEEE transactions on consumer electronics, 38(1):xviii–xxxiv, 1992.
[36] Z. Wang, E. P. Simoncelli, and A. C. Bovik. Multiscale structural similarity for image quality assessment. In Asilomar Conference on Signals, Systems Computers, 2003, volume 2, pages 1398–1402 Vol.2, Nov 2003.
[37] Zhou Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli. Image quality assessment: from error visibility to structural similarity. IEEE Transactions on Image Processing, 13(4):600–612, April 2004.
[38] WeiWen, ChunpengWu, YandanWang, Yiran Chen, and Hai Li. Learning structured sparsity in deep neural networks. In Advances in Neural Information Processing Systems, pages 2074–2082, 2016.
[39] Ronald J Williams. Simple statistical gradient-following algorithms for connectionist reinforcement learning. Machine learning, 8(3-4):229–256, 1992.
[40] Ian H. Witten, Radford M. Neal, and John G. Cleary. Arithmetic coding for data compression. Commun. ACM, 30(6):520–540, June 1987.
[41] Paul Wohlhart, Martin Kostinger, Michael Donoser, Peter M. Roth, and Horst Bischof. Optimizing 1-nearest prototype classifiers. In IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), June 2013.
[42] Eyal Yair, Kenneth Zeger, and Allen Gersho. Competitive learning and soft competition for vector quantizer design. IEEE transactions on Signal Processing, 40(2):294–309, 1992.
[43] Aojun Zhou, Anbang Yao, Yiwen Guo, Lin Xu, and Yurong Chen. Incremental network quantization: Towards lossless cnns with low-precision weights. arXiv preprint arXiv:1702.03044, 2017.
?
A Image Compression Details
A.1 Architecture
我們依賴于最近在[30]中提出的壓縮自動編碼器的變體,使用卷積神經網絡對圖像編碼器和圖像解碼器進行編碼。圖像編碼器中的前兩個卷積層,每個卷積層將輸入圖像縮小一個因子2,并將通道數從3增加到128。接下來是三個殘差塊,每個塊有128個過濾器。另一個卷積層然后再次減小一個因子2,并將通道數減少到c,其中c是一個超參數([30]使用64和96個通道)。對于w x h維的輸入圖像,圖像編碼器的輸出為w/8 x h/8 x c維的“瓶頸張量”。
轉載于:https://www.cnblogs.com/lucifer1997/p/11203729.html
總結
以上是生活随笔為你收集整理的Soft-to-Hard Vector Quantization for End-to-End Learning Compressible Representations的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑4g内存条跟8g内存条价格
- 下一篇: 一只小狗多少钱啊?