机器之心发布
机器之心编辑部
在瑞典斯德哥尔摩国际会展中心举行的国际机器学习大会 (ICML) 受到全世界科技界的关注。来自国内人工智能企业队代表第四范式的姚权铭与来自香港科技大学的研究者提出的「Online Convolutional Sparse Coding with Sample-Dependent Dictionary:样本自适应的在线卷积稀疏编码」入选 ICML 2018。
论文链接:http://proceedings.mlr.press/v80/wang18k.html
随着卷积神经网络(CNN)在图像识别的效果越来越好,CNN 越来越受 AI 学者的青睐,越来越多的应用也开始尝试采用 CNN 方法,但是,随着对 CNN 的尝试和研究的深入,它的不可解释性以及实验的不可复制重复的问题变的越来越严重,相比与处理图像分类问题的 CNN,卷积稀疏编码(CSC)是一个线性卷积的无监督的学习的方法。CSC 模型更简单,更直观容易分析理解。因此,最近一些机器学习&机器视觉大牛 (e.g. Michael Elad - 稀疏编码的创始人之一) 开始尝试着用 CSC 解决应用问题和理解 CNN,在应用层面上,医疗/生物图片数据,例如脑磁图 (Magnetoencephalography, MEG),(电子显微镜获得),还有频谱 (hyperspectral image) 和光场 (light field) 数据上都使用 CSC 取得了非常不错的成果。
不同于传统的 CSC 算法使用由所有样本共享的字典来卷积,此篇论文中的 SCSC 使用的是样本自适应的字典,其中每个过滤器是从数据中学习的一组基础滤波器的线性组合。这种增加的灵活性允许捕获大量依赖于样本的模式,这在处理大型或高维数据集时特别有用。在计算上,所得到的模型可以通过在线学习有效地学习。在大型的数据集上的实验结果表明,所提出的 SCSC 算法优于现有的 CSC 算法,具有显著减少的时间和空间复杂度。
这篇论文提出的样本自适应的卷积稀疏编码 (SCSC) 主要解决传统卷积稀疏编码 (CSC) 不能适用于高维度数据 (P 表示) 和较多过滤器 (K 表示) 的问题。SCSC 的核心有两点:
(a) 首先将 CSC 过滤器用两部分表示,第一部分是基础滤波器 (base filters) 所有样本共享,第二部分是样本自适应系数 (sample-dependent weights) 每个样本单独学习。这样一来,和标准 CSC 比较,SCSC 方法中并没有全局的滤波器,而是对每个样本从一堆基础滤波器中通过样本自适应系数组合出来自己的滤波器。
(b) 基于以上模型,只有基础滤波器是依赖于全部数据的。方法的第二点在于我们使用在线学习的方法去快速并且小内存的学习基础滤波器。
下图对比了标准的 CSC 算法与研究人员提出的样本自适应 SCSC 算法:
左边是标准 CSC 算法,右边是论文提出的样本自适应 SCSC 算法。相比而言,对于每个测试样本,研究人员都会用样本独立的系数 Wi 和基础滤波器 B 组合出来一个样本自适应的新滤波器。
表 1:SCSC 与其他 CSC 算法在时间/空间复杂度的比较
与目前的最新的 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 和 CCSC(分布式 CSC 的算法)作对比,为了公平的比较,所有的方法只使用一台机器。值得一提的是,由于 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 的字典也在可以使其他图像处理应用发挥更好的性能。
未来工作
同时研究人员也表示,未来将结合自适应在线卷积稀疏编码 SCSC 和神经网络模型的优势,将样本自适应的 idea 应用到卷积神经网络模型中。这将增加神经网络迁移学习的能力同时减少其所需要的计算量,使得这些网络在高维度低样本数据上也适用。
本文为机器之心发布,转载请联系本公众号获得授权。
✄------------------------------------------------
加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告 & 商务合作:bd@jiqizhixin.com