会“成果速览”系列文章旨在将图像图形领域会议期刊重要成果进行传播,通过短篇文章让读者用母语快速了解相关学术动态,欢迎关注和投稿~
◆ ◆ ◆ ◆
基于深度负相关学习的非线性回归
Le Zhang, Zenglin Shi, Ming-Ming Cheng, Yun Liu, Jia-Wang Bian, Joey Tianyi Zhou, Guoyan Zheng, Zeng Zeng
IEEE Transactions on Pattern Analysis and Machine Intelligence
撰稿人:张泰源
推荐理事:林宙辰
开源项目主页:https://mmcheng.net/dncl/
◆ ◆ ◆ ◆
引言
模型集成是公认的提高模型性能的有效途径,但是通常更耗资源,因此主要用于比赛屠榜,实际应用中较少使用。深度模型在集成过程中,不同模型其实前面很多层都很相似(例如第一个block主要是各种local edge)。这个方法在最后一层用group conv把特征分成多个组,每个组接一个子模型。同时,将损失函数分解为bias,variance,和co-variance,通过负相关学习的方式系统的控制每个模型的预测精度和不同模型之间的差异性。这个方法不用增加运算量和资源消耗。在最新录用的PAMI论文中,我们展示了在人群计数、年龄估计、性格属性分析、图像超分辨率等很多应用中SOTA的性能。
项目简介
非线性回归在许多计算机视觉问题(如人群计数、年龄估计、情感计算、图像超分辨率、视觉跟踪等)中都得到了较广泛的应用。在深度学习的框架下,有两种常见的解决方案:
(1)将非线性回归转化为与深度卷积网络可共同优化的鲁棒损失函数;
(2)利用深度网络集成。
现有的大部分基于深度学习的回归方法借助正则化项优化L2损失函数,目标是最小化网络预测与实际情况之间的均方误差。然而,众所周知均方误差对异常值很敏感。
而模型集成虽然可以有效提高模型性能,但通常更耗资源,主要用于比赛屠榜,实际应用中很少使用。
我们建议以一种有效的“分而治之”的方式进行回归。我们方法继承了传统负相关学习的优点,核心是对负相关学习的推广。其实在深度模型集成过程中,不同模型前面很多层都比较相似(例如第一个block主要是各种local edge)。这个方法在最后一层用group conv把特征分成多个组,每个组接一个子模型。同时,将损失函数分解为偏差,方差,和协方差,通过负相关学习的方式系统的控制每个模型的预测精度和不同模型之间的差异性,这样系统整体复杂度更低更利于优化。这个方法不用增加运算量和资源消耗。
这项工作的初步版本在CVPR2018中曾有所展现。在最新录用的PAMI论文中在以下几个方面对原始版本进行了补充:
  • 我们提供了关于Rademacher复杂性的更多理论见解。
  • 我们扩展了原有的工作,以处理更多的基于回归的问题,进而允许使用最先进的网络结构,为所提出的方法提供重要的性能提升。
  • 更全面的文献综述,相对于初步结果添加了大量的新颖分析和直观的解释。
  • 我们展示了在人群计数、年龄估计、性格属性分析、图像超分辨率等很多应用中SOTA的性能。
代码已开源:https://mmcheng.net/dncl/
方法思想及理论分析见解
(1)背景知识
在阐述所提出的回归方法之前,我们首先简要介绍相关的符号和背景知识。我们通过学习一个映射函数G:X→Y来实现我们的目标。学习问题是用训练样本集合X学习一个映射函数G,尽可能精准预测它们的标签Y我们用速记期望运算符表示测试数据上的泛化能力。
损失函数分解
偏差分解定理表明预测回归误差可以被分解为偏差
和方差
考虑平均每个
得到的集成输出
将集合作为一个单一的学习单元,其偏差分解可由下式表示:
考虑等式(4)中的集成输出,显然:
其中
表示协方差。
等式(6)中的偏差-方差-协方差分解表明,除内部偏差和方差外,总体的泛化误差也取决于个体间的协方差。
显然可得:
进而易得:
等式(7)通过说明集合预测的二次误差保证小于或等于分量预测的平均二次误差来解释集合模型中误差相关的影响。
(2)DNCL
(i)我们的方法
如等式(7)所示,传统的集成学习方法对多个模型进行独立训练可能不是最优的,因为集合误差包括个体误差和集合内的相互作用。在此基础上,我们提出了一种“分而治之”的深度学习方法,即学习一种基于深度网络的相关正则化集合,其目标为:
图1:人造螺旋数据集分类的决策曲面(i)传统的集成学习(ii)NCL学习。背景的色差显示了特定类的决策面。图1的上半部分对应NCL学习,下半部分对应传统的集成学习。(b)-(d)表示单个模型的决策面,(e)表示对单个模型进行平均得到的集合决策面。(b)-(e)中的NCL使得决策面更加多样化,各个模型的误差可以相互抵消,从而提高泛化能力。彩色效果最佳。
图2:演示了传统集成学习和NCL的训练过程。中心的实心灰线代表真实情况,其他所有的线代表不同的基本模型。虽然传统的集成学习(左侧)和NCL(右侧)都可以通过简单的模型平均得到正确的估计,但是NCL产生了非常多样化的个体模型,使得测试数据上的错误消除成为可能。
等式(8)可以被视为等式(7)的平滑后的版本以提高集成模型的泛化能力。由于训练集和测试集间的差异,λ的最优值不一定是0.5。通过设置λ=0,我们实际上实现了传统的集成学习(不强化类型),其中每一个模型都是独立优化的。因此通过介绍公式(8)的第二部分,我们旨在通过负相关基本模型来提高“多样性”,以平衡偏差方差的成分,并通过总体协方差来减少总体均方误差(MSE)。
为了证明这个,考虑图2中的场景。我们使用由6个回归量组成的回归系综,其中基本真值为-1.5。图2中的每条曲线说明了一个回归变量在梯度下降训练下的演化过程,尽管传统的集成学习(图2a)和NCL(图2b)也许可以通过简单的模型平均得到正确的估计,而NCL产生了多种多样的个体模型,使测试数据上的错误消除成为可能。至于泛化,考虑图1(a)中的人工螺旋数据集,对三层单隐层前馈网络(SLFN)进行训练。然后对在x-y平面上密集采样的数据样本进行总体评估。与图1第二行表明的传统集成学习相比,图1中的第一行表明NCL的集成使得SLFN更加多样化,因此使得到的集合对测试数据有很好的泛化效果。
(ii)网络结构
这个方法具有丰富的特征层次,可以有效地封装到已有的深度CNN中。在我们的实现中,如图3所示,为了提高效率,每个预测器共享较低级别的特征提取器。
在集成学习的子空间思想的启发下,通过建立良好的group conv策略,我们将最高级特征提取器的输出分割为了不同的子集,每一个再作为不同回归量的输入以提高多样性。每一个回归量通过等式(8)中定义的修正过的成本函数进行最优化。一般来说,回归量的网络规范是与问题相关的,我们证明了该方法是端到端可训练的,并且与骨干网络架构无关。
图3:所提出的DNCL的细节。回归被表述为与单个CNN参数相同的集成学习。DNCL通过一堆典型的卷积和池化层处理输入。最后,采用“分而治之”策略,学习一组回归量来对顶层的每个卷积特征映射的输出进行回归。每一个回归变量都通过修正的成本函数与CNN共同优化,修正的成本函数会惩罚与其他变量的相关性,从而更好地平衡集成中的偏差-方差-协方差。
人群计数:我们针对这个任务使用了一个经过深度预训练的VGG16网络并做了一些修改。首先,第四个最大池化层的步长设置为1。其次,删除第五个池化层。这为我们提供了具有更丰富信息的特征图。为了处理感受野由于第四个池化层步长的去除而导致失配,我们在第四个最大池化层后通过使用holes技术将卷积层的感受野翻倍。
个性分析:我们使用一个20层截取版本的人格分析的SphereFace模型,我们先用已经固定的MTCNN对每个输入图片进行检测和脸部对准。当我们处理视频时为了加快训练速度并且降低过拟合风险,我们采取了与[78]中所做的类似方法,首先以随机的方法从每个视频稀疏采样10帧。平均池化对聚合同一视频的多个结果更有用。
年龄估计:针对年龄估计,我们使用deep forest的网络骨架。它将决策forest的分割节点重新构造成一个CNN的全连通层,并对分割节点和叶节点进行迭代学习。更具体地说,通过固定叶节点,通过反向传播优化分裂节点和CNN参数。然后,通过固定分裂节点,通过迭代由变化边界导出的步长自由且快速收敛的更新规则来优化叶节点。我们不使用这种迭代策略,而是在每个节点上使用提出的NCL损耗,使它们既准确又多样化。
图像超分辨率:对于图像超分辨率,我们选择最先进的DRRN作为我们网络的骨架并用所提出的NCL损失代替L2损失。
实验验证
这里我们探讨所提出的方法在四个回归任务上的可行性:人群计数、个性分析、年龄估计和单图像超分辨率。该方法在Caffe中实现。我们用红色标出每种情况下的最佳结果。第二和第三最好的方法分别用绿色和蓝色标出。由于在不同应用中可能使用不同的评估协议,我们在每个度量后面加上一个↑来表示哪个值越大越好。类似的,↓表示值越小性能越好。
(1)人群计数:
我们在三个基准数据集上评估了所提出的方法:UCF_CC_50数据Shanghaitech数据集和WorldExpo’10数据集。所提出的网络是运用最小批量为1,固定常量动量值为0.9的随机梯度下降算法训练的。定值为0.0005的重量衰减作为正则化器。在我们的人群模型的最后一层卷积中,我们使用固定学习速率
来放大梯度信号进行有效的参数更新,在其他层中我们使用相对较低的学习速率为
。我们将集合的大小设置为64。更具体地说,我们使用的卷积层的核为64x8x1x1作为回归量在每个输出特征图上得到最终的人群密度图。具体来说,每个回归变量稀疏地连接到VGG16网络最后一个卷积层(conv5_3)的一小部分特征图,通过完善的“群卷积”策略[30],[89]实现。通过广泛使用的平均绝对误差(MAE)和均方根误差(RMSE)来评价不同方法的性能。MAE和RMSE的定义如下:
这里N表示测试数据集中的图像总数。第
图像的本真值和估计值分别为
UCF_CC_50 数据集
表格1
Shanghaitech 数据集
表格2
WorldExpo’10 数据集
表格3
(2)个性分析
集合大小设置为16。我们使用ChaLearn个性数据集[3],其中包括10k的共41.6h(4.5帧)的短视频片段。在这个数据集中,人们面对镜头说话。每个视频都有注释将人格属性列为五大人格特征(外向性、亲和性、尽责性、敏感性和开发性)[3]在[0,1]中。注释是通过Amazon Mechanical Turk完成的。至于评价,我们遵循ECCV 2016 ChaLearn第一印象挑战赛的标准协议并用平均精准度A和判定系数
,定义如下:
其中
为测试样本总数,
为本真值,
为预测值,
为本真值的平均值。我们以初始值为0.01的学习率训练整个网络。对于每个最小批量,我们随机挑选10个视频,从而产生了总批大小为100的视频。在这个实验中我们设置
并训练网络28k次迭代,在第
迭代将学习率降低10倍。
表格4
表格5
(3)年龄估计
我们首先使用一个标准人脸检测器来检测人脸,并进一步用AAM定位面部坐标。集合规模为5,我们使面部对齐,以保证所有眼球在图像中保持同一位置。我们通过以下策略进一步增加训练数据:
(a)裁剪带有随机偏移量的图像;
(b)对原始图像添加高斯噪声;
(c)随机从左向右翻转。
我们在两个标准基准:MORPH和FG-NET上将所提出的方法与各种现有方法进行了比较。在评价指标上,我们沿用了已有的方法,选择了平均绝对误差(MAE)和累积
分数(CS)。CS由
计算,其中
是测试图像的总数,
是人脸图像的检测次数,其估计年龄与本真年龄之间的绝对误差不大于
岁。
表格6
(4)图像超分辨率
依循一个291张图像的训练数据集,其中91张图像来自Yang等人和其他来自Berkeley Segmentation数据集的200张图像用于训练。最后,方法以Set5,Set14,BSD100和Urban100数据集,分别有5,14,100和100张图像。初始学习速率设置为0.1,然后每10个周期降低一半。由于在我们的工作中使用了较大的学习速率,我们采用可调的梯度裁剪来提高收敛速度,同时抑制梯度爆炸。使用Peak Signal-to-Noise Ratio (PSNR), Structural SIMilarity(SSIM)和Information Fidelity Criterion(IFC)用来进行定量评估。
表格7
DNCL和传统集成学习的比较
表格8
不同集成策略在年龄和人群数据集上的结果
表格9
不同集成策略在个性和Urban100数据集上的结果

表格10
基础回归量的个数K的影响(Shanghai Part A数据集)
表格11
不同集成方法在Shanghaitech Part A数据集的比较
表格12
图4:4×不同超分辨率结果的视觉对比。图4b显示了从图4a中原始图像裁剪出来的本真值高分辨率图像。
图5:NCL中使用的多尺度滴模型
图6:所有64个基本模型的多样性可视化。第一行显示了输入的图像和人员的本真值数量。第二行分别显示了常规集成和NCL的预测密度图。括号中的数字表示基本真实的人数。第三行分别显示了传统集成和NCL中单个基模型预测之间的两两欧氏距离。由此可以看出,该方法使得基础模型更加多样化,可以产生更好的综合性能。
总结
本文提出了一种简单而有效的针对回归的学习策略。我们提出了一个典型的深度回归网络作为一个集成学习问题,并使用卷积特征映射学习一组弱回归量。该集成体系结构的主要组成部分是引入负相关学习(NCL),旨在提高集成模型的泛化能力。通过管理组织其固有的多样性,表明该方法具有良好的泛化能力。所提出的方法具有通用性,与骨干网络体系结构无关。在人群计数、人格分析、年龄估计和图像超分辨率等几个具有挑战性的任务上进行了大量的实验,证明了该方法相对于其他损失函数和当前最高水准的优越性。
往期精选
征文
第二十届全国图象图形学学术会议(NCIG2020)征文通知
丨更多
预告
”智能图形与交互前沿进展与应用“讲习班开始报名
丨更多
通知
2020年“CSIG图像图形中国行”承办方征集
丨更多
速览
ICLR2019 | Slimmable Neural Networks
丨更多
速览
ICCV2019 | 基于深度综合相关性挖掘的图像聚类算法
丨更多
速览
ICCV2019 | EMANet:期望最大化注意力网络
丨更多
-长按注册会员-
-立享会员优惠-
继续阅读
阅读原文