在瑞典斯德哥尔摩国际会展中心举行的国际机器学习大会(ICML)正在受到全世界科技界的关注。来自国内人工智能企业队代表第四范式的姚权铭与来自香港科技大学的研究者提出的“Online Convolutional Sparse Coding with Sample-Dependent Dictionary:样本自适应的在线卷积稀疏编码”,入选了ICML 2018中选论文榜单。
首先我们先通过思维导图来简要了解下这篇SCSC论文的整体结构:
WHAT
SCSC是什么?
卷积稀疏编码(CSC)已被广泛用于图像和信号处理中的平移不变字典(sample-dependent dictionary)的学习。不同于传统的CSC算法使用由所有样本共享的字典来卷积,此篇论文中的SCSC使用的是样本自适应的字典,其中每个过滤器是从数据中学习的一组基本滤波器的线性组合。这种增加的灵活性允许捕获大量依赖于样本的模式,这在处理大型或高维数据集时特别有用。在计算上,所得到的模型可以通过在线学习有效地学习。在大量的数据集上的实验结果表明,所提出的方法优于现有的CSC算法,具有显著减少的时间和空间复杂度。
WHY
SCSC的优势在哪里?
与目前的最新的CSC进行对比,SCSC的优势主要体现在三个方面:
1、数据集的大小
小样本数据集:
在小数据集的实验中,论文中将SCSC与批量CSC方法进行比较(包括DeconvNet、fast CSC、fast and flexible CSC等),其中也包括着与SCSC一样采用在线方法的OCSC,实验的检验指标采用的是PSNR(峰值信噪比 Peak Signal to Noise Ratio),得到的结果如下图:
上方的图表现了各种CSC方法在时钟时间(clock time)下的PSNR收敛性,实验表明了小数据集条件下,在线CSC方法比批量CSC方法收敛的更快,具有更好的PSNR,而同样是在线方法的OCSC,SCSC虽然与OCSC具有类似的PSNR,但SCSC收敛的更快。
大样本数据集:
而在大数据集实验中,所有的批处理CSC算法和两个在线CSC算法OCDL DEGRAUX和OCDLLU不能处理这样大的数据集。因此,我们只比较SCSC与OCSC,比较的结果如下:
在CIFAR-10数据集上,我们设定SCSC和OCSC的K(滤波器数量)=300。在Flower数据集上,SCSC的K值仍为300。然而,OCSC只能使用k=50,因为它的内存占用大得多。图7显示了测试的PSNR的收敛性。在这两种情况下,SCSC显著优于OCSC。
2、高维度数据集下的表现
高维数组采用的是三种数据集:视频数据集、光谱数据集、光场数据集。研究人员将SCSC与OCSC和CousSUS CSC(CCSC)作对比,为了公平的比较,所有的方法只使用一台机器。值得一提的是,由于SCSC的内存占用小,实验人员可以在GTX 1080 TI GPU上运行这个实验。OCSC也在GPU上运行用于视频。然而,OCSC只能在CPU上运行多光谱和光场。CCSC在处理过程中需要访问所有的样本和代码,只能在CPU 上运行,实验的结果如下图:
根据论文中的实验结果显示,SCSC是唯一的可以处理整个视频,多光谱和光场数据集在一台机器上的方法。相比之下,CCSC只能处理最多30个视频样本、40个多光谱样本和35个光场样本。OCSC可以处理整个视频和多光谱,但是在使用整个光场数据集的2天内不能收敛。
至于速度,如Table 4所示SCSC的速度是最快的。但是值得注意的是,这仅仅只是作为参考,因为SCSC是在GPU上运行的,而其他的(除了视频数据集上的OCSC)都是在CPU上运行。然而,这仍然表明SCSC的一个重要优点,即它的小内存占用可以受益于GPU的使用,而其他的则不能。
3、图像的去噪与修复
在以前的实验中,学习字典的优势是通过重建干净的图像来证明的。此篇论文中研究人员进一步研究学习字典中的两个应用:图像去噪和修复。研究人员使用SCSC与(批处理CSC)SBCSC和(在线)OCSC进行比较。结果如表5所示:
可以看出,由SCSC获得的PSNR始终高于其他方法。这同时也表明,在图像重建中产生高PSNR的字典也在可以使其他图像处理应用发挥更好的性能。
HOW
SCSC的使用细则
论文中提出的样本自适应的卷积稀疏编码(SCSC)主要解决传统卷积稀疏编码(CSC)不能适用于高维度数据(P表示)和较多过滤器(K表示)的问题;SCSC的核心有两点:
(a)首先将CSC过滤器用两部分表示,第一部分是基础滤波器(base filters)所有样本共享,第二部分是样本自适应系数(sample-dependent weights)每个样本单独学习。这样一来,和标准CSC比较,SCSC方法中并没有全局的滤波器,而是对每个样本从一堆基础滤波器中通过样本自适应系数组合出来自己的滤波器。
(b)基于以上模型,只有基础滤波器是依赖于全部数据的。方法的第二点在于我们使用在线学习的方法去快速并且小内存的学习基础滤波器。
具体的SCSC学习算法如下:
DICUSS
关于SCSC的讨论与思考
随着CNN(卷积神经网络)在图像识别的效果越来越好,CNN越来越受AI学者的青睐,越来越多的应用也开始尝试采用CNN方法,但是,随着对CNN的尝试和研究的深入,它的不可解释性以及实验的不可复制重复的问题变的越来越严重,CNN是个黑盒魔法已几乎成为共识,相比与处理图像分类问题的CNN,CSC是一个线性卷积的无监督的学习的方法。CSC模型更简单,更直观容易分析理解。因此,最近一些机器学习&机器视觉大牛(e.g. Michael Elad - 稀疏编码的创始人之一)开始尝试着用CSC解决应用问题和理解CNN,在应用层面上,医疗/生物图片数据,例如脑磁图(Magnetoencephalography, MEG),(电子显微镜获得),还有频谱(hyperspectral image)和光场(light field)数据上都使用CSC取得了非常不错的成果。
同时研究人员也表示,未来将结合自适应在线卷积稀疏编码SCSC和神经网络模型的优势,将样本自适应的idea应用到卷积神经网络模型中。这将增加神经网络迁移学习的能力同时减少其所需要的计算量,使得这些网络在高维度低样本数据上也适用。
论文链接:https://arxiv.org/pdf/1804.10366.pdf
才学疏浅,欢迎评论指导
欢迎前往我的个人小站:www.wengjj.ink