Yuanyuan Li 作者Qing Lin编辑

CVPR 2019提前看:工业界与学术界的深度融合专题

2019 年对于人工智能领域的发展是关键的一年。一方面,许多趁着 AI 的风口展开的项目纷纷惨淡收场;另一方面,也有不少人工智能产品通过了市场的检验,并获得了宝贵的经验数据以进一步打磨产品。人工智能研究的发展离不开产业界的支持,研究成果又可以反过来推动产业升级。而人工智能产品的落地除了算法本身以外,更离不开商业上的场景适配及优秀的工程实现等支持,因此学界和业界关注点的差别是巨大的。

本次对于 CVPR2019 接收论文的探讨笔者想专注于学术研究于业界的贡献——以从业者的角度,讨论怎样的研究对于工业产品有更高的借鉴价值。当然,从产品角度看来有些「无用」的研究仍然是十分重要、需要投入资源的,只不过已经有大量关于学术会议的文章集中于讨论此类基础、创新的研究,因此笔者不妨「另辟蹊径」。

对于一位工程师来讲,应用于产品的算法需要明确应用范围、使用的损失函数/正则化手段等参数需要高效且有合理的理由、算法开发应当尽可能自动化。本篇文章从这三个方面各选取了 1-2 篇文章进行讨论。所选的文章的作者大都与工业界有些联系,希望能够从恰当的方面提升人工智能产品的表现,并且一定程度上保证算法落地的简单性。

论文讨论

1. Direct Object Recognition Without Line-of-Sight Using Optical Coherence

  • 链接:https://arxiv.org/pdf/1903.07705.pdf

本文一作 Xin Lei 来自合刃科技,这是一家专注于全息全频机器视觉系统研发的公司。曾经荣获机器之心评选的 2017 年中国 10 大最具潜力早期 AI 公司。

可能由于作者来自工业界,文章的出发点十分实际——目前的机器视觉算法主要集中研究有直接视线(direct line-of-sight)的物体,即传感器(相机、雷达、激光等)直接作用于物体成像。这些算法所取得的表现已经十分优秀,但在某些产品的实际应用中,我们往往希望算法即使在没有直接视线的时候也能够至少有一定的表现。比如在自动驾驶中,汽车如果能够识别拐角处的行人或障碍物,就能提前做出应对。

早于 2014 年, Singh 等人就提出过利用全息图像来达到无视线直接可视化物体的方法,不过,全息技术要在工业界产品中应用具有一定的挑战性。基于此,作者直接利用激光——在工业界的应用广泛得多的传感器——在墙面上的散射光来复原无直接视线的物体。

光不仅有强度(intensity)信息,更包含了相位信息。普通光源发出的是非相干光(incoherent light),据此获得的照片将会丢失相位信息。而根据激光等相干光的拍摄的照片强度依赖于反射光源的物体的几何形状和相对于图像的位置,因此,拍摄具有复杂表面几何形状的物体折射的相干光,图像上会呈现复杂的、看似随机的干涉图案,即散斑图案。相位信息由散斑图案中的光强度的明暗分布表示。

本质上,该方法和全息图像利用的都是激光的相干性,只是作者将实验设置简化成为只利用一束激光,这样之后在产品上的部署会更简单。

图 1.1: 左:手写数字的散斑图案模拟;右:人体姿势的散斑图案模拟 

上图左给出了一个例子——模拟手写数字的散斑图案。顶行中的图像是来自 MNIST 数据集的手写数字的原始图像,而底行中的图像是与顶行中的数字相对应的散斑图案。在人眼看来,上图中的底行图像未免有些嘈杂,并且没有明显的模式。作者在本文中证明了深度神经网络可以有效的学习散斑团中包含的对象信息并且执行对象识别。实际上,相位信息往往是十分重要的。虽然目前普遍的研究方法是将许多传感器信号直接转化为一般图像——如将声音信号转化为时频谱(spectrogram)然后使用 cnn 识别,这种方法的好处是更加直观——笔者在参与的研发项目中发现使用复数卷积将傅立叶变换后的雷达信号的虚数部分也纳入神经网络中能够带来准确率的大幅提升。

此外,从上图右可以看出,不仅仅不同的数字、姿势等模式可以形成不同的散斑图案,不同的人体折射的激光也会形成不同的散斑图案,因为不同人的身材等特征不同。这会给识别任务造成一定的困难。

作者一共提供了 4 种实验情况,分别是 1. 以墙壁阻挡物体和相机之间的直接视线,激光位于物体一侧; 2. 以墙壁阻挡物体和相机之间的直接视线,激光位于相机一侧;3. 以旋转的墙壁阻挡物体和相机之间的直接视线,激光位于物体一侧;4. 以墙壁两次阻挡物体和相机之间的直接视线,激光位于物体一侧。见下图示意:

图 1.2: 实验的 4 种设置作者使用了两种神经网络——simpleNet(由 4 个卷积层和一个全连接层)和 Resnet18,前者用于手写数字的识别,后者则用于人体姿势的识别。最终的模型表现如下:

表 1.1:神经网络识别手写数字散斑图案结果表中提供的结果有基于实验的,也有基于仿真的,为什么做出这样的选择作者没有做出解释。总体来说模型的准确率非常高,全部高于 90%,相对于目前手写数字识别准确率可以达到 99% 以上的表现也没有差很多。这里值得注意的是模型在实验设置 1、2、4 的模拟数据上表现完全一样,笔者本来期待的准确率是实验设置 1>2>4,因为光强度在经过墙壁漫反射后应该会降低,从而导致信噪比低得多,识别精度也应该相应降低。这里没有出现这种情况笔者猜测是实验环境比较理想,加上距离较近,在几次反射中也没有损失太多信息。

图 1.3:神经网络识别人体姿势散斑模拟图案结果图 3 显示了神经网络(resnet-18)识别人体姿势散斑模拟图案结果,这里的结果全部是基于仿真得到的结果,且仅使用了第一种实验设置,因此可以预见在实验数据上准确度应该还会进一步下降。10 个姿势的平均识别准确率为 78.18%,最高可以达到 91%,最低则只有 56%,相对于手写数字识别的表现来说是一个比较大的下降。不过,如果使用的神经网络经过更细致的调优,这部分准确率的损失也许能够被弥补。

这里作者使用的数据质量已经是在相当理想的情况下才可能获得的——无背景、仅有检测目标且需识别的动作也较明显。另外一些离落地还较远的点有:在大部分实验场景中作者将激光设置在物体一侧而非相机一侧;实验场景较小,激光离物体和墙壁都非常近——作者也提到未来可以使用边缘发光二极管激光器等能够发射发散光束的激光器来增加面积。

但本文提出的方法也有其他突出优点——因为相干源是单色的神经网络仅需要使用灰度图像,这可以减小模型大小并加快运行速度;图像中的每个区域都包含被拍摄物体的全部信息,即便部分图案被遮挡也不影响算法的工作,相对来说不像一般的 CNN 那么依赖成像的质量,同时也可以减小参数的数量。

总体来看,笔者认为目前该算法在作者举例的自动驾驶等场景中得到应用的可能性暂时还比较小——仅考虑相机需要拍摄到被折射的激光所形成的散斑图案就已经是一个很大的问题——但在一些单调的场景中也许已经可以找到用武之地。

2. Precise Detection in Densely Packed Scenes

  • 链接:https://arxiv.org/pdf/1904.00853.pdf

本文一作 Eran Goldman 来自 Trax retail,是一名高级研发工程师。专门开发大规模细粒度结构化分类解决方案,以及在拥挤场景中进行物体检测

本文也是在 Eran Goldman 所专注的领域——拥挤场景——下所做出的研究,这些场景通常是人造的,例如货架上密集拜访的商品、交通和城市景观图像。尽管在现实世界存在着大量此类环境,但它们在目前常用的神经网络训练/检测数据集中却较少被收录。因此,现有模型的表现往往在这种数据集上大幅下降。这一点也是笔者在前文中提到的,目前很多工程师都诟病深度学习使用的数据集仍然与产品真正面对的情况相去甚远——大部分物体识别的图片都以目标识别物为前景,图片内容干净,即便图片是基于真实世界场景,它们所展现的也是一个「更好版本的世界」。

为了解决这类问题,作者提出了使用 Soft-IoU 层学习 Jaccard 指数,然后将 IoU 分数转换为高斯混合分布(MoG),利用期望最大化(EM)求解并将重叠检测合并为单一检测。下图图示了整个神经网络的运作流程。

图 2.1:检测系统图示。(a)输入图像;(b)基础网络,带有边界框(BB)和 objectness (Obj.) heads,以及 Soft-IoU 层;(c)利用 EM 算法(EM-Merge)将 Soft-IoU 转换为 Gaussian heat-map;(d)被多个重叠边界框检测到的对象;(e)合并重叠检测。作者也使用了 Resnet 作为神经网络的主干,然后连接了三个 FPN (Feature Pyramid Network) 来检测对象,一个为 detection head(图 2.1 中的 BB),为每个对象生成一个 4 元组边界框,(x,y,h,w),分别为边界框的中心坐标、边界框高度和宽度;另一个为 classification head(图 2.2 中的 objectness (Obj.) heads),用于预测表示有无检测目标的标签 c;最后一个即是作者提出的 Soft-IoU。

IoU,即 Jaccard index,用于衡量回归检测框和对象位置的重合程度,在目标检测中十分常见。这里笔者仅简单给出文中的定义——给定 N 个预测,预测的边界框$b_i$,i∈{1..N} 与实际边界框$\hat{b_i}$之间的 IoU 定义为:

作者从概率角度理解上式,并用交叉熵(binary cross-entropy loss)让 Soft-IoU 层学习该 IoU 值。Soft-IoU 层的预测则被称为 Soft-IoU 得分,$c^{iou}∈[0, 1]$。

网络的损失函数则由三部分组成,即 detection head 的回归损失,classification head 的分类损失,以及 Soft-IoU 的交叉熵

接下来的部分作者称其为 EM-Merger 单元——现在,给定测试图像,网络会输出 N 个预测的边界框位置,每个位置都有其对应的检测目标标签 c 和 Soft-IoU 得分$c^{iou}$。

作者将网络生成的 N 个边界框视为一组二维高斯分布

其中p为 2D 图像坐标,因此,第 i 个检测的 4 元组边界框,(x_i,y_i,h_i,w_i),中的框的中心点 (x_i,y_i) 可以由$\mu_i$表示,框的大小 (h_i,w_i) 则可以由协方差矩阵$\Sigma_i = [(h_i/4)^2, 0; 0, (w_i/4)^2] 表示。

将这些高斯分布结合起来,则可以用一个高斯混合分布(MoG) 表达:

其中混合系数$\alpha_i = \frac{c^{iou}}{\sum_{k=1}^N c^{iou}_k}$由模型给出,故与实际边界框重合更多的预测会被分配更多权重

图 2.2:可视化 EM-Merger 单元的输出。图 2.2 将高斯混合分布(MoG) 转换为 heat map 进行了可视化,可以达到像素精度,每个检测区域的高斯混合分布密度由累积的 Soft-IoU 加权计算得出。

接下来,作者将问题定义为找到一组由 k 个高斯分布组成的混合高斯分布来逼近上文中得出的 N 个高斯分布组成的混合高斯分布,其中 k 应该远小于 N。即,给出高斯混合分布:

我们希望两个高斯混合分布之间的 KL 散度尽可能的小:

上述优化问题可以用 EM 算法求解,E-step 将每个边界框分配到最近的边界框集群,其中边界框相似性由相应高斯分布之间的 KL 距离定义;M-step 随后对模型的参数($\beta$, $\mu$, $\Sigma$)重新进行估计。

虽然这样做模型多了一定计算量,但由于作者使用的是 EM 算法,该算法在 2D 空间的矩阵计算十分快,并且由于检测框是轴对齐的,协方差矩阵是对角协方差(diagonal covariances),可以进一步提高计算速度。

表 2.1:检测运行时比较

表 2.2:检测精度比较作者还对所提出的方法进行了 runtime 分析,与目前运行较快的目标检测神经网络进行了分析,表 2.1 中报告了每秒平均帧数(FPS)和每秒检测数(DPS)。基线方法是基于 RetinaNet 所以两者的运行时间是相同的,可以看到,添加 Soft-IoU 层不会影响表现。添加了 EM-Merger 单元后基线方法的 FPS 和 DPS 直接降低了一半,运行速度有明显下降,作者认为这是因为 GPU 和 CPU / RAM 之间需要进行内存交换,并且说明其 GPU 优化版本几乎与基线方法一样快,但文中并没有看到具体数据。

文章所提出的方法相较 faster-rcnn 和 yolo9000 在运行速度上仍然有明显的差距,不过其检测精度大大优于后两个网络。模型的 precision 和 recall 并没有比 RetinaNet 高很多,但 MAE 和 RMSE 小了很多,说明模型预测的每一个检测框几乎都更准确的检测到了目标(RetinaNet 有很多多余的检测框),在其后报告的计数任务上的表现也证明了模型在这方面的能力。

笔者个人很欣赏这篇文章的算法设计,引入的 Soft-IoU 和 M-Merger 单元及其简单精巧的求解,但模型表现的提升仍有些不够惊艳,不过这也说明了这些密集的场景仍然是未来工作的一个挑战性前沿。另外,笔者认为在这类场景中传统计算机视觉算法也许能够取得不错的结果——如从灰度图像的边缘/线条检测出发——如果能够看到模型与这类传统模型的表现和运行速度的比较就更好了。

3. RegularFace: Deep Face Recognition via Exclusive Regularization

  • 链接:http://mftp.mmcheng.net/Papers/19cvprRegularFace.pdf

  • 作者个人主页:http://kaizhao.net/cn/

本文一作赵凯,目前是南开大学博士生,导师是程明明教授。赵凯在上海大学完成了本科和硕士学业,研究兴趣主要在计算机视觉,统计学习和强化学习

损失函数的设计和正则化深度学习算法的表现有着极大的影响,笔者在此前的文章中也探讨过这方面的论文。本篇论文以人脸识别为背景,通过惩罚同一性与其最近邻居之间的角度, 明确区分身份, 从而形成判别面的表示。本文笔者想讨论的是不同损失函数对算法表现的影响。

对于分类任务来说,传统上我们使用 softmax 来引导 cnn 将输入数据转化为可分的特征,但由于特征的类内方差较大,会出现某些类内距离大于类间距离的情况,造成分类困难。学习辨别性特征(discriminative feature)是准确识别不同类别的关键。类间分散程度 (inter-class separability) 与类内紧凑程度 (intra-class compactness) 是具有辨别性的两个重要因素:属于同一类的特征应当在表示空间中更接近,而属于不同类的特征在表示空间中则应该比较疏远。

本文中作者主要比较了几个损失函数的效果:Softmax loss,Angular softmax loss,Center loss,SphereFace 以及作者提出的 RegularFace。

softmax 这里笔者不过多赘述,仅给出定义。

1(.) 是一个指标函数,当条件为真时值为 1,否则值为 0。y_i 为输入数据对应的标签,C 是标签类的数量。然后我们将偏置归零并归一化 W 的每一列以推导角度 Angular softmax loss,给定的向量 x_i 属于类 c 的 xi 的后验是:

在上式中,是$\phi_{i,j}$是 x_i 特征和权重向量 W_j 之间的角度。显然,最小化 softmax loss 相当于最小化$\phi_{i,y_i}$。因此,权重向量 W_j 可以被视为所有 y_i = j 的 xi 的聚类中心。由于偏置 b 为 0,权重的模为 1,决策边界的角度现在只取决于角度,可以大大简化问题。

SphereFace 本质上使用的就是 Angular softmax loss,但其在决策边界引入了角度余量,以便在超球面空间中压缩相同类别的特征表示。

其中 m 是参数,来控类别之间的 angular margin。当 m = 1 时,上式完全等价于 Angular softmax loss 的后验分布。

笔者认为这个思想和 svm 的设计有些相像:面对一系列能够区分来自不同的类的特征的决策边界,svm 试图找到能够最大化到不同类的例子的距离的决策边界。并且由于 svm 可以将训练数据映射到更高维的空间内,找到合适的决策边界的难度也大大降低了。

Center loss 的思想则有些类似 k-means 算法。它的特征与其相应中心之间的欧几里德距离,目的是在表示空间中强加类内紧凑性:

其中 x_i 是样本 i 的对应特征,c_{yi} 则是相应的中心。

作者认为,利用数据可视化将训练数据对应的特征在低维空间(2D 或 3D)中表示的方法实际上是有误导性的——由于在这种情况下,数据标签的类别大于表示维度,聚类算法倾向于拉伸数据以减少分类错误。这样会造成聚类中心少在某种程度上均匀地分布在特征空间中的错觉,并认为在这些聚类中心附近有更好的可分性——显然,如果中心点均匀的分布在特征空间中,距离其他中心点距离最远的就是该中心点。然而,在实际训练中,我们往往在维度远大于数据标签的类别的空间中表示数据,作者认为这种情况下集群中心可能分布不是很均匀。

为了证明这一观点,作者使用将特征映射到标签置信度的分类矩阵 W ∈ R^{K×C} 来定量评估类间可分性。W_i 是 W 的第 i 列,其表示第 i 个标签类的权重向量,K 是特征向量的维度。则类间可分性可以定义为:

其中$\phi_{i,j}$是 W_i 和_Wj 之间的角度。理想情况下,聚类中心应该是均匀分布的,并且尽可能远离其他聚类中心,因此,cos 值应当较小。换句话说,Sep 的平均值和标准差应该尽可能小。下表列出了用不同损失函数训练的模型的定量比较。模型使用的网络和数据集都是一样的。

表 3.1:不同不同损失函数的类间可分性。「随机」表示模型参数是从均匀分布中提取的。表 3.1 的统计数据证明了以上方法的聚类中心分布不是很好。不过,从上述数据也很难看出这种区别是否具有统计显著性。另外,SphereFace 的数据实际上不错,将偏置归零并将权重能够明显减小方差,angular margin 的引入则能减小均值。

回归到作者提出的损失函数,作者从另一角度出发,不是增加类内的紧凑性,而是增加类间的分散程度。前文提到,在 angular softmax loss 中,权重向量 W_j 可以被视为所有 x_i 在 y_i = j 上的聚类中心。为了为了增加来自不同类的样本之间的角度距离,作者引入了正则化函数:

实际上就是将作者提出的类间可分性指标作为正则化

下图 3.1 对上文提到的损失函数进行了可视化表示。

图 3.1: 可视化不同损失函数决策边界,点代表数据对应的特征,不同颜色表示不同类别。可以看到,Softmax loss 仅学习可分离的决策边界;Angular softmax loss 和 Softmax loss 本质上是等价的,但学习的是角度可分离的决策边界; Center loss 将属于同一类的特征表示「拉」到其中心,以便获得紧凑和有辨别力的表示;SphereFace 将数据点的外边界「推远」; RegularFace 将数据点的中心「推远」。

在实际应用中,将这一正则化与 Angular softmax loss——或其他损失函数——加在一起,就是完整的 RegularFace。这样,Angular softmax loss 将样本 x_i 对应的特征拉向其聚类中心 W_{yi}。同时,正则化项将推动不同的聚类中心分离。

作者还在多个数据集上进行了测试,使用 RegularFace 几乎都取得了最优结果,特别是 RegularFace 结合 SphereFace。看来「双管齐下」还是有效果的。

从这篇文章其实可以看到,目前很多神经网络研究的思路和过去几十年学者优化传统统计模型的思路还有相似之处。如果这样,不妨也研究一下如何将 svm 等传统模型应用在海量数据上,特别是二阶矩阵运算所带来的限制。此外,本文中损失函数的设计其实和笛卡尔坐标系和极坐标系之间的转换很相似,在许多问题中,如信号处理,坐标的选择也十分重要,「换个角度看世界」,可能问题就简单许多。

4. Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation

  • 链接:https://arxiv.org/pdf/1901.02985.pdf

  • 作者个人主页:https://www.cs.jhu.edu/~cxliu/

文章作者 Chenxi Liu 是 Johns Hopkins University 大学的博士生,师从 Alan Yuille,Chenxi Liu 此前于加州大学洛杉矶分校取得硕士学位,清华大学取得本科学位。他还曾在谷歌,Adobe,丰田技术学院,多伦多大学和莱斯大学展开过研究。Chenxi Liu 的研究领域在于计算机视觉自然语言处理,特别是它们的交集。

神经网络结构搜索 (NAS) 一直是一个值得关注的研究领域,和 auto-ML 的愿景一样,NAS 领域的研究者希望能够最大化的降低深度学习算法构建对人的依赖性。图像分类是 NAS 的一个很好的起点,因为它是最基础和最被充分研究的识别任务。并且,CIFAR-10 和 MNIST 等小图像基准数据集的存在便于展开探索性研究。

在本文中,作者试图将 NAS 的应用延伸到语义图像分割任务中。但这样做首先面临着分辨率变化带来的问题——NAS 在图像分类任务中的搜索一般是在低分辨率图像上进行的,而高分辨率对语义分割准确率是相当重要的。因此,作者提出两个要求:(1)更宽松和通用的搜索空间来捕捉更高分辨率带来的架构变化,以及(2)更高效的架构搜索技术,因为更高的分辨率会带来更大的计算量。

作为一个搜索问题,自然的,执行任务之前需要对搜索空间定义。在 NAS 任务中,神经架构搜索空间是定义的子空间,通过对一般的神经架构施加约束来定义可能的神经架构,并且形成一个有限的运算空间。搜索空间可以分为两类:全局搜索空间 和 cell-based 搜索空间。

由于目前取得优秀表现的神经架构几乎都基于重复的固定结构,然后由这个固定结构堆叠起来形成神经网络的大概架构。因此,神经架构搜索可以对这样的固定结构——一般称为单元(cell)——进行搜索。而全局搜索空间中假设有一个架构模版,用于限制搜索架构时可以选择的运算,整体来说,自由度较大。对于 NAS 的更多介绍,可以参考机器之心的这篇文章:神经架构搜索方法知多少

回到本文中,作者没有像现有的工作一样仅集中在搜索可重复的单元结构,他们的算法同时试图在一定程度上搜索全局搜索空间。

首先看作者对 cell-based 搜索空间的定义:作者将一个单元定义为一个小的卷积模块,更具体地,单元是由 B 个模块组成的有向无环图。每个模块是双分支结构,从 2 个输入张量映射到 1 个输出张量。单元 l 中的模块 i 可以定义为 5 元组(I_1,I_2,O_1,O_2,C),其中 I_1,I_2 是输入张量,O_1,O_2 是应用于相应输入张量的层的类型,C 是用于组合这个模块的两个分支的输出,以形成该模块的输出张量 H_i^l 的方法。则单元的输出张量 H^l 就是每个模块的输出张量 H_1^l,..., H_B^l 的串联。

从数学上,可以定义为每个模块的输出张量 H_i^l 都连接到输入 I_i^l 中的所有隐藏状态:

这里 O_{j→I} 可以用它的连续松弛Ōj→i 近似:

其中:

换句话说,α_{j→i}^k 是与每个运算符 O^k 相关联的归一化标量,容易实现为 softmax,从而容易对备选的层类型做出选择。在一个单元内,所有张量都具有相同的 shape,这使得方程中的(加权)总和成为可能。

单元 l 中的模块 i 的输入张量 I_i^l 的集合包括前一个单元 H^{l-1} 的输出,前前一个单元 H^{l-2} 的输出,以及当前单元中的此前的模块的输出 {H_1^l, ..., H_i^l}。因此,随着模块的增加,下一个模块的输入张量集合会不断增加。作者定义了 8 个常见的运算符组成可能的层类型集合 O:

图 4.1: 层类型集合 O由于 H^{l-1} 和 H^{l-2} 总是包含在 I_i^l 中,并且 H^l 是 {H_1^l,..., H_B^l} 的串联。结合此前的数学表达,单元的更新方程可以表达为:

可能的组合运算符 C 的集合则仅包括元素添加(element-wise addition)。

全局搜索空间方面,网络的搜索起点总是一个两层「骨干」神经网络,用于将分辨率降低两倍。此后,神经网络可以最多有 L 层,每层可以下采样或维持目前的分辨率,最终分辨率可以被降低 4-32 倍。下图给出了这个搜索思路的图示,搜索目标是在这个 L 层的空间中找到合适的路径。

图 4.2: NAS 搜索策略图示图 4.2 中的左侧图解了全局搜索空间,灰色节点表示固定的「骨干」神经网络,沿蓝色节点的路径表示候选神经架构。灰色箭头代表了标量β,用于控制网络整体架构。网络的更新方程为:

其中 s=4,8,16,32,即下采样倍数,l=1,2,...,L。因此,蓝色节点连接的三个箭头代表着该层之后神经网络应该下采样、维持分辨率不变或上采样,分别对应上式的三个部分。

标量β需要被归一化,以保证β也容易实现为 softmax:

网络的更新方程实际上显示了本文中两个层次(单元层次和全局层析)的连续松弛如何能够组合在一起。引入这种连续松弛是必要的,它使得标量$\alpha,\beta$变得可微,便于优化。从作用上看,β控制外部网络级别,因此取决于空间大小和层索引。β中的每个标量控制整组α,而α指定既不依赖于空间大小也不依赖于层索引的结构。

图 4.2 中的右图表明在搜索过程中,单元(cell)之间是密集连接的结构。每个黄色箭头与α_{j→i} 相关联。concat 之后的三个箭头分别与β_{s/2→s}^l,β_{s→s}^l,β_{2s→s}^l 相关联。

虽然笔者起初感觉这种全局搜索的设计有些「人工」,但令人惊讶的是,该设计的表示能力非常强大。

图 4.3: 目前流行的网络设计用文中的搜索空间表达目前 U-net 等需要和前 n 层连接的网络结构还不能被表示,但通过对搜索策略的简单更改就可以实现这一操作,作者也提到在未来他们计划进一步放宽这个搜索空间。

作者在 Cityscapes, PASCAL VOC 2012 和 ADE20K 数据上汇报了搜索到的最佳神经网络架构的表现,并与其他网络进行了对比。神经网络架构的搜索以语义分割准确率损失函数进行训练。在 Cityscapes 上,搜索到的架构准确率比 FRNN-B 等模型高出 8.6%,在 PASCAL VOC 2012 和 ADE20K 上,Auto-DeepLab 也优于多个基于 ImageNet 预训练的模型。

不过,笔者实际上更期待作者能够给出与基于其他搜索方法的模型表现对比。基于强化学习和进化算法的优化策略也是 NAS 研究中常用的手段,强化学习通过奖励函数的设置可以带来较强的引导性,而进化算法依赖的变异等操作不依赖梯度,在对搜索空间的探索上有优势。但缺点是效率太低。而作者在文章中强调 Auto-DeepLab 的优势之一就是搜索非常有效——在 Cityscapes 数据集上的搜索只需要大约 3 P100 GPU days。如果能够看到与目前效果比较好搜索方案的表现和耗时比较就更好了。

笔者个人非常喜欢这篇文章,也很期待 NAS 的进一步发展。NAS 研究的突破必然能够提高人工智能工业产品的开发速度。不过,从目前的发展水平来看,当前的 NAS 设计仍然非常局限于任务范围,或者说研究仅在有限种类的任务上进行。并且即使确定了搜索空间,在实际运用中仍然有许多需要人工确定的搜索条件,比如特征核的数量。这篇文章的亮点主要在于作者通过人工的搜索策略设计所能够达到惊艳的表示能力、将$\alpha,\beta$设计为可以轻易转换为 softmax 的设计、以及连续松弛带来的梯度优化。

小结

总体来看,笔者认为目前的人工智能研究陷入了一个看似「矛盾」的状态:一方面,人工智能的热度仍然热度很高,获得了学界和业界的密切关注;另一方面,唱衰人工智能的声音也随处可见,许多认为人工智能的寒冬已经近了。笔者认为,与其说人工智能的能力有限,不妨说简单的、入门的任务已经解决的差不多了。比如目前许多研究使用的神经网络主干都相似(resnet 等),然后在其上做一些适配修改,就可以在许多基准任务上取得还不错的结果。而更复杂的任务仍然十分困难,面对真实世界的嘈杂数据,神经网络仍然很难取得令人满意的结果,如上文 Precise Detection in Densely Packed Scenes 中取得的 average precision 也不过是 50% 左右。在这些任务上,仍然需要有突破性的创新,才可能解决真正的困难。

这种「矛盾」也适用于业界的人才的要求——一方面,数据爆发、知识增加,使得人们精通一门学科/研究越来越难;另一方面,跨学科的知识融合越来越重要。这似乎有些困难,不过笔者相信,热爱这份工作的人一定会对面对的困难感到兴奋,同时在新知识的学习中找到乐趣。毕竟在工作中能够自由地、名正言顺地探索、试错、测验自己的想法的机会并不多 :p

作者简介:YUANYUAN LI:几次转行,本科国际贸易,研究生转向统计,毕业后留在欧洲,选择从事农用机械研发工作,主要负责图像处理,实现计算机视觉算法的落地。欣赏一切简单、优雅但有效地算法,试图在深度学习的簇拥者和怀疑者之间找到一个平衡。我追求生活的宽度,这也是为什么在工作之外,我也是机器之心的一名兼职分析师。希望在这里通过分享自己的拙见、通过思想的碰撞可以拓宽自己的思路。

机器之心个人主页:https://www.jiqizhixin.com/users/a761197d-cdb9-4c9a-aa48-7a13fcb71f83

CVPR 提前看
CVPR 提前看

CVPR,英文全称Conference on Computer Vision and Pattern Recognition,中文全称是国际计算机视觉与模式识别会议。这个会议是由IEEE主办的一年一度的全球学术性顶级会议,会议的主要内容是计算机视觉与模式识别技术,每年CVPR都会有一个固定的研讨主题。会议一般在每年六月举行,大部分情况下会议都在美国西部地区举办,也会在美国中部和东部地区之间循环举办。

理论CVPR 2019
4
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

图像分割技术

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像索赋予相同的编号。

权重技术

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

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

高斯分布技术

正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

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

参数技术

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

有向无环图技术

在图论中,如果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。 因为有向图中一个点经过两种路线到达另一个点未必形成环,因此有向无环图未必能转化成树,但任何有向树均为有向无环图。

人脸识别技术

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

统计模型技术

统计模型[stochasticmodel;statisticmodel;probabilitymodel]指以概率论为基础,采用数学统计方法建立的模型。有些过程无法用理论分析方法导出其模型,但可通过试验测定数据,经过数理统计法求得各变量之间的函数关系,称为统计模型。常用的数理统计分析方法有最大事后概率估算法、最大似然率辨识法等。常用的统计模型有一般线性模型、广义线性模型和混合模型。统计模型的意义在对大量随机事件的规律性做推断时仍然具有统计性,因而称为统计推断。常用的统计模型软件有SPSS、SAS、Stata、SPLM、Epi-Info、Statistica等。

张量技术

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

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

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

协方差矩阵技术

在统计学与概率论中,协方差矩阵(也称离差矩阵、方差-协方差矩阵)是一个矩阵,其 i, j 位置的元素是第 i 个与第 j 个随机向量(即随机变量构成的向量)之间的协方差。这是从标量随机变量到高维度随机向量的自然推广。

决策边界技术

在具有两类的统计分类问题中,决策边界或决策曲面是一个超曲面,它将底层的向量空间分成两组,每组一个。分类器会将决策边界一侧的所有点分为属于一个类,而另一侧属于另一个类。也即二元分类或多类别分类问题中,模型学到的类别之间的分界线。

准确率技术

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

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

图像处理技术

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

正则化技术

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

上采样技术

在数字信号处理中,上采样、扩展和内插是与多速率数字信号处理系统中的重采样过程相关的术语。 上采样可以与扩展同义,也可以描述整个扩展和过滤(插值)过程。

物体识别技术

计算机视觉领域的一个分支,研究物体的识别任务

信号处理技术

信号处理涉及到信号的分析、合成和修改。信号被宽泛地定义为传递“关于某种现象的行为或属性的信息(如声音、图像和生物测量)”的函数。例如,信号处理技术用于提高信号传输的保真度、存储效率和主观质量,并在测量信号中强调或检测感兴趣的组件。我们熟悉的语音、图像都可以看做是一种信号形式。因此,对于语音、图像的增强、降噪、识别等等操作本质上都是信号处理。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

语义分割技术

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

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

深度神经网络技术

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

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

数据可视化技术

数据可视化被许多学科视为现代视觉传达的等价物。为了清晰有效地传递信息,数据可视化使用统计图形、图表、信息图和其他工具。数字数据可以使用点、线或条编码,以视觉传达定量消息。有效的可视化帮助用户对数据进行分析和推理。它使复杂的数据更容易理解和使用。用户可以根据特定的分析任务进行数据可视化,例如进行比较或理解因果关系,并且图形的设计原则(即,显示比较或显示因果关系)来进行可视化。表通常用于用户查找特定测量的地方,而各种类型的图表用于显示一个或多个变量的数据中的模式或关系。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

合刃科技机构

合刃科技致力于全息全频机器视觉系统的研发和商业化,用光电和人工智能技术改善机器视觉的实际效果。

机器视觉技术

机器视觉(Machine Vision,MV)是一种为自动化检测、过程控制和机器人导航等应用提供基于图像的自动检测和分析的技术和方法,通常用于工业领域。

暂无评论
暂无评论~