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

选自arXiv

作者:余凌凡、王敏捷、赵俊博、李金扬、张峥

机器之心编译

参与:杜伟、张倩

最近的研究表明,虽然过度参数化对成功训练深度神经网络至关重要,但也会产生大量冗余。大量的研究工作利用张量来降低冗余,提高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与该网络之间的比较。即使是在高压缩率下,本文提出的方法依然能够保持高准确率。

本文为机器之心编译,转载请联系本公众号获得授权。

------------------------------------------------

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190512A0715E00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券