Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

CVPR 2019:一个高阶张量搞定整个全卷积网络

最近的研究表明,虽然过度参数化对成功训练深度神经网络至关重要,但也会产生大量冗余。大量的研究工作利用张量来降低冗余,提高CNN的效率。但本文作者却另辟蹊径,提出了一种利用CNN参数冗余的新方法,即使用单个高阶张量来参数化表示整个CNN。目前,该论文已被接收为CVPR 2019 Poster论文。

对于识别、检测、语义分割、人体姿势检测等富有挑战性的任务,当前最佳性能通常是通过卷积神经网络(CNN)取得的。有证据表明,这些方法成功背后的关键特征是过度参数化(over-parametrization),其有助于找出良好的局部最小值。但与此同时,过度参数化导致大量冗余,并且从统计学角度看,由于过度参数化增加的参数过多,它或许会阻碍泛化。

近来,大量的研究工作利用张量来降低冗余,提高CCN的效率,并且多数研究集中于重新确定单层的参数

本文提出一种利用CNN参数冗余的新方法,即使用张量方法来联合参数化整个网络。

本文从根本上区别于以往的研究方向,即与以往使用不同张量参数化表示单层不同,本文使用单个高阶张量参数化表示整个CNN。研究人员特别提出以单个高阶张量参数化表示CNN,而单个高阶张量的各维数分别表示该网络的不同架构设计参数

图1:整体网络架构。全卷积网络中的每个块是都基本块模块(内部为蓝色的块),其中包括拥有3 × 3 内核的b_depth 卷积层、BatchNorm和ReLU。

对于此处考虑的具有编码器-解码器结构的全卷积网络(FCN)(也参见图1),八维张量的各维数分别表示该网络的不同架构设计参数,如FCN使用的堆栈数、各网络的深度值、每一卷积块(convolutional block)的输入和输出特征数以及每一卷积核的空间维数。

通过单个张量对整个FCN建模,本文提出的方法可以学习不同张量维数(tensor dimension)之间的相关性,因而能够完全捕捉该网络的结构。此外,通过将一个低秩结构强加于张量,这种参数化(parametrization)可以隐式地正则化整个网络,大幅减少参数数量。基于这些属性,相较于以往研究,本文提出的框架具有更强的通用性和灵活性,也能提供更高的准确率和高压缩率。

总之,本文的贡献如下:

研究人员提出以单个高阶张量对整个网络进行张量化,并将其用于捕捉全卷积网络的丰富结构。本文提出的端到端可训练方法可以实现广泛的网络分解和压缩率,而后两者可以针对特殊应用进行选择和优化。

研究人员指出,对于大范围压缩率(高压缩率和低压缩率)来说,本文提出的方法保持了高准确性。相较于以往基于单卷积层张量化的研究,该方法能够持续实现高准确性,特别适用于高压缩率的情况。此外,研究人员还指出,对于低压缩率而言,该方法优于原始未压缩网络。

研究人员对具有挑战性的人体姿势估计进行了大量实验和控制变量研究,阐明了该方法的良好性能。这些实验揭示了该方法的几个有趣方面,包括改变各个模式张量的秩所带来的影响以及所使用的分解方法。研究人员进一步在一个不同的密集预测任务(即面部语义分割)上验证了他们的结论。

论文:T-Net: Parametrizing Fully Convolutional Nets with a Single High-Order Tensor

论文链接:https://arxiv.org/pdf/1904.02698.pdf

摘要:最近的研究结果表明,虽然过度参数化对成功训练深度神经网络至关重要,但也会产生大量冗余。张量方法有可能利用这种冗余有效地参数化过完备(over-complete)表征。在本文中,研究人员提出以单个高阶、低秩张量来完全参数卷积神经网络(CNN)。

以往的网络张量化研究仅集中于参数化单个(卷积或全连接)层,并且逐层单独执行张量化。与之相反,研究人员提出以单个高阶张量参数神经网络,从而共同获取该神经网络的完整结构,而单个高阶张量的模式表示该网络的每一个架构设计参数(如卷积块数量、深度值、堆栈数和输入特征数等)。这种参数化可以正则化整个网络,大幅减少参数数量。

本文提出的模型是施加给权重张量的端到端可训练和低秩结构,充当隐式正则化。本文研究了具有丰富结构的全卷积网络(FCN),并提出以单个8阶张量对该网络进行参数化表示。研究人员表明其方法可以通过低压缩率(small compression rate)实现卓越性能,并且对于富有挑战性的人体姿势估计任务,这种方法可以通过微小的准确率下降来实现高压缩率。

结果

研究人员进行的多数实验是为了解决人体姿势估计任务。同时,他们还针对于一项不同的密集预测任务(即人脸分割)进行实验,进而对一些结论予以验证。

表2显示了通过压缩其中一种模式获得的准确率(PCKh)和压缩率、各自对应的HG数量(#hg)、每个HG的深度值(hg_depth)、每个HG的三种路径(hg_subnet)、每个块的卷积层数(b_depth)以及每个卷积核的输入特征数(f_in)、输出特征数(f_out)、高度值(h)和宽度值(w)。

表2:人体姿势估计任务。每种模式下8阶权重张量的冗余性研究。研究人员通过降低每一维度在Tucker张量中的相应秩来对其进行压缩。报告的准确率以PCKh表示。

基于先前实验中获得的见解,研究人员挑选了有前景的配置,并同时对多个维度进行压缩。之后,研究人员将这些配置与基准和当前最先进的方法相比较。结果如下表(表3)所示:

表3:人体姿势估计任务。T-Net与不同基准和当前最先进方法的比较。准确率以PCKh表示。对于基于张量分解的方法,研究人员展示了秩,对于其他方法,研究人员展示了卷积层中通道的数量。

最后,研究人员挑选了两种表现最好的模型,并就人脸语义分割任务对这两种模型进行再训练。本文提出的方法得出了显著的压缩率(达到7x),并且准确率几乎没有损失(见表4)。

表4:人脸分割任务。一个网络具有与压缩网络相同的架构和特征数,T-Net与该网络之间的比较。即使是在高压缩率下,本文提出的方法依然能够保持高准确率

理论CVPR 2019论文张量卷积神经网络
1
相关数据
全卷积网络技术

全卷积网络最开始在论文 Fully Convolutional Networks for Semantic Segmentation(2015)中提出,它将传统卷积神经网络最后几个全连接层替换为卷积层。引入全卷积的意义在于它能实现密集型的预测,即在二维卷积下对图像实现像素级的分类,在一维卷积下对序列实现元素级的预测。

张量分解技术

张量(tensor)是一个多维的数据存储形式,数据的的维度被称为张量的阶。传统的方法(例如ICA,PCA、SVD和NMF)对于维数比较高的数据,一般将数据展成二维的数据形式(矩阵)进行处理,这种处理方式使得数据的结构信息丢失(比如说图像的邻域信息丢失),使得求解往往病态。而采用张量对数据进行存储,能够保留数据的结构信 息,因此近些年在图像处理以及计算机视觉等领域得到了一些广泛的应用。张量分解(Tensor decomposition)中常见的两种分解是CP分解(Canonical Polyadic Decomposition (CPD)和Tucker分解(Tucker Decomposition)。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

神经网络技术

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

卷积神经网络技术

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

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

语义分割技术

语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类。图像语义分割是AI领域中一个重要的分支,是机器视觉技术中关于图像理解的重要一环。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~