第四范式联合港科大提出样本自适应在线卷积稀疏编码

在瑞典斯德哥尔摩国际会展中心举行的国际机器学习大会 (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 应用到卷积神经网络模型中。这将增加神经网络迁移学习的能力同时减少其所需要的计算量,使得这些网络在高维度低样本数据上也适用。

理论ICML 2018
22
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

噪音技术

噪音是一个随机误差或观测变量的方差。在拟合数据的过程中,我们常见的公式$y=f(x)+\epsilon$中$\epsilon$即为噪音。 数据通常包含噪音,错误,例外或不确定性,或者不完整。 错误和噪音可能会混淆数据挖掘过程,从而导致错误模式的衍生。去除噪音是数据挖掘(data mining)或知识发现(Knowledge Discovery in Database,KDD)的一个重要步骤。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

图像处理技术

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

推荐文章
机器之心的编辑你好,我是数智泉公众号的编辑,可以转载这篇文章吗?
有木有详解卷积稀疏编码的文章呀