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),据此获得的照片将会丢失相位信息。而根据激光等相干光的拍摄的照片强度依赖于反射光源的物体的几何形状和相对于图像的位置,因此,拍摄具有复杂表面几何形状的物体折射的相干光,图像上会呈现复杂的、看似随机的干涉图案,即散斑图案。相位信息由散斑图案中的光强度的明暗分布表示。
本质上,该方法和全息图像利用的都是激光的相干性,只是作者将实验设置简化成为只利用一束激光,这样之后在产品上的部署会更简单。
上图左给出了一个例子——模拟手写数字的散斑图案。顶行中的图像是来自 MNIST 数据集的手写数字的原始图像,而底行中的图像是与顶行中的数字相对应的散斑图案。在人眼看来,上图中的底行图像未免有些嘈杂,并且没有明显的模式。作者在本文中证明了深度神经网络可以有效的学习散斑团中包含的对象信息并且执行对象识别。实际上,相位信息往往是十分重要的。虽然目前普遍的研究方法是将许多传感器信号直接转化为一般图像——如将声音信号转化为时频谱(spectrogram)然后使用 cnn 识别,这种方法的好处是更加直观——笔者在参与的研发项目中发现使用复数卷积将傅立叶变换后的雷达信号的虚数部分也纳入神经网络中能够带来准确率的大幅提升。
此外,从上图右可以看出,不仅仅不同的数字、姿势等模式可以形成不同的散斑图案,不同的人体折射的激光也会形成不同的散斑图案,因为不同人的身材等特征不同。这会给识别任务造成一定的困难。
作者一共提供了 4 种实验情况,分别是 1. 以墙壁阻挡物体和相机之间的直接视线,激光位于物体一侧; 2. 以墙壁阻挡物体和相机之间的直接视线,激光位于相机一侧;3. 以旋转的墙壁阻挡物体和相机之间的直接视线,激光位于物体一侧;4. 以墙壁两次阻挡物体和相机之间的直接视线,激光位于物体一侧。见下图示意:
作者使用了两种神经网络——simpleNet(由 4 个卷积层和一个全连接层)和 Resnet18,前者用于手写数字的识别,后者则用于人体姿势的识别。最终的模型表现如下:
表中提供的结果有基于实验的,也有基于仿真的,为什么做出这样的选择作者没有做出解释。总体来说模型的准确率非常高,全部高于 90%,相对于目前手写数字识别准确率可以达到 99% 以上的表现也没有差很多。这里值得注意的是模型在实验设置 1、2、4 的模拟数据上表现完全一样,笔者本来期待的准确率是实验设置 1>2>4,因为光强度在经过墙壁漫反射后应该会降低,从而导致信噪比低得多,识别精度也应该相应降低。这里没有出现这种情况笔者猜测是实验环境比较理想,加上距离较近,在几次反射中也没有损失太多信息。
图 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)求解并将重叠检测合并为单一检测。下图图示了整个神经网络的运作流程。
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 将高斯混合分布(MoG) 转换为 heat map 进行了可视化,可以达到像素精度,每个检测区域的高斯混合分布密度由累积的 Soft-IoU 加权计算得出。
接下来,作者将问题定义为找到一组由 k 个高斯分布组成的混合高斯分布来逼近上文中得出的 N 个高斯分布组成的混合高斯分布,其中 k 应该远小于 N。即,给出高斯混合分布:
我们希望两个高斯混合分布之间的 KL 散度尽可能的小:
上述优化问题可以用 EM 算法求解,E-step 将每个边界框分配到最近的边界框集群,其中边界框相似性由相应高斯分布之间的 KL 距离定义;M-step 随后对模型的参数($\beta$, $\mu$, $\Sigma$)重新进行估计。
虽然这样做模型多了一定计算量,但由于作者使用的是 EM 算法,该算法在 2D 空间的矩阵计算十分快,并且由于检测框是轴对齐的,协方差矩阵是对角协方差(diagonal covariances),可以进一步提高计算速度。
作者还对所提出的方法进行了 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 的统计数据证明了以上方法的聚类中心分布不是很好。不过,从上述数据也很难看出这种区别是否具有统计显著性。另外,SphereFace 的数据实际上不错,将偏置归零并将权重能够明显减小方差,angular margin 的引入则能减小均值。
回归到作者提出的损失函数,作者从另一角度出发,不是增加类内的紧凑性,而是增加类间的分散程度。前文提到,在 angular softmax loss 中,权重向量 W_j 可以被视为所有 x_i 在 y_i = j 上的聚类中心。为了为了增加来自不同类的样本之间的角度距离,作者引入了正则化函数:
实际上就是将作者提出的类间可分性指标作为正则化。
下图 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:
由于 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 中的左侧图解了全局搜索空间,灰色节点表示固定的「骨干」神经网络,沿蓝色节点的路径表示候选神经架构。灰色箭头代表了标量β,用于控制网络整体架构。网络的更新方程为:
其中 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 相关联。
虽然笔者起初感觉这种全局搜索的设计有些「人工」,但令人惊讶的是,该设计的表示能力非常强大。
目前 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