本文是一篇计算机论文,本文以基于计算机视觉的无人冰箱商品零售为实验场景,完成了系统环境的搭建、商品数据集的获取以及相关预处理工作,采用 AutoML 的思想,以 ENAS 方法为研究目标提出了基于创建临时权重的方式改进 ENAS 方法自动搜索最优网络结构,并基于 NAT 对搜索到的网络结构完成进一步优化,从而获取性能上表现更优的网络结构。
1 绪论
1.1 研究背景与意义
零售业是一国经济命脉中极其重要的一个行业,从一开始的以物易物到现在畅行无阻的分销零售,不光提高了就业率,也推动了经济发展。依据国家统计局数据表明,2010 至 2018年零售业相关工作人员的工资经历了大幅度增长,从 33635 元提高至 80551 元,在将近 10年的时间里提升了快 2.4 倍,所以传统零售不得不考虑向无人零售转型来缩减人力资源成本。无人零售是指在没有收银员或是导购存在的情况下通过人工智能技术实现的新零售服务。自无人零售在 2017 年迅速崛起后,它的市场规模始终处于飞速增长状态,如图 1-1,从最初的十几亿已增长至三百多亿,使得年均复合增长率已至 68%。与传统零售相比,无人零售不仅以自助服务或自动结算的特点降低了人力资源成本,提高了管理效率,而且以便捷支付、购买便利等特点大大提高了复购率,除此之外,还可以通过记录顾客的消费数据进一步分析顾客的消费行为,从而带给顾客更贴合需求的购物体验。
1.2 国内外研究现状
深度学习目标检测算法在计算机视觉领域已取得很多优秀成果,也有很多成熟的网络模型,但依然在数据预处理、特征工程、模型选择及评估过程需耗费大量的时间和资源,且严重依赖专业领域知识。AutoML 可以针对特定任务自动化的搜索网络模型,并以最小的深度学习知识去训练,使得学习到的模型的期望性能达到最优[10]。
1.2.1 基于深度学习的目标检测算法
自从 2012 年 AlexNet 在 ImageNet 大规模视觉识别挑战赛中大获全胜,使得大众的视野再次被深度神经网络所占据。深度学习在目标检测任务中主要有 One-Stage 和 Two-Stage 两种类型算法。前者没有产生候选区域的过程,只需在网络中提取特征信息单次即可预测目标类别及位置,该类方法在检测速度上占优。后者是首先生成一系列包含目标大概位置信息的候选区域,然后对其进行分类和位置修正,该类方法在检测精度上有着出色表现[11]。
对于 Two-Stage 算法,2014 年 Girshick 等人提出的 R-CNN[12]基于选择性搜索方法[13]生成候选区域[14],在归一化后使用 CNN[15]提取特征,最后使用多个 SVM 对目标进行分类以及微调。其在效果上超越了当时 Sermanet 等人提出的 OverFeat[16]算法,但在算法速度以及性能方面仍有劣势。由于 R-CNN 算法对于生成的候选区域都需要完成特征提取,而何恺明等人在 2015 年提出的 SPP-Net[17]算法可以通过卷积操作一次提取单张图片特征,大大节省了计算成本。2015 年 Girshick 等人提出的 Fast RCNN[18]算法借鉴 SPP-Net 网络结构,将分类任务和边框回归任务的损失合并进行训练,通过使用显存保存提取的特征信息,同时也可以空出大量磁盘空间,但依然在生成候选区域过程中包含大量计算。2015 年 Girshick 提出的Faster RCNN[19]算法使用 RPN 网络代替 Selective Search,使得检测速度以及精度都得到提升,但小目标检测效果不是很好。2017 年何恺明等人提出了 Mask RCNN[20],在 Faster RCNN基础上集成了实例分割分支合并训练。
2 相关理论介绍
2.1 自动机器学习
事实上,深度学习算法已经在目标检测、自动驾驶、语音识别等领域成功应用。但是,考虑到面对一个全新的任务时,在没有人工干预以及专业领域知识的情况下设计一个最适合的网络结构极其困难。因此,如果针对特定任务可以自动化地完成最优网络结构的输出,成本将会大大降低。在这样的情况下,AutoML 应运而生。AutoML 针对特定任务,仅需要用户提供数据,它会将模型生成过程中与特征、模型、优化以及评价有关的步骤进行自动化地学习,使得整个过程无需人工干预即可得到最优输出。AutoML 流程如图 2-1 所示。
在数据准备阶段需完成数据收集及预处理过程;在特征工程阶段主要进行特征选择、特征构建和特征提取,目的是依据特定任务自动地发掘并构造相关的特征;模型生成方式,一种是基于传统的机器学习模型,例如 KNN[44],SVM[45]、决策树[46]等进行选择,另一种是神经结构搜索方法,可全程自动化地搜索最优网络结构;模型评估阶段,需要对训练好的网络结构在校验集上进行评估,并使用合适的算法优化以生成更好的架构。一些可以加快模型评估过程的算法被提出:早停法(Early Stopping)[47],通过在校验集上进行预测在发现模型性能下降时将训练终止,防止因为继续训练出现的过拟合现象。低保真度评估方法(Low fidelity)[48],评估时可以减少训练集、降低数据集的分辨率及降低 cell 堆叠的层数等,缺点是最终的模型不是全局最优的。权重共享(Weight sharing),通过共享参数可以避免子模型从头开始训练,加快模型收敛速度。代理模型(Surrogote Model)[49],通过提前训练一些模型来学习一个预测器,实现一个输入是网络结构、输出是网络性能的近似黑盒函数的有效工具。
2.2 神经结构搜索
NAS 可以实现全程自动化设计网络结构,基于选定算法在数据集上自动化搜索出具有较高准确率的神经网络结构,在某些任务上能够搜索到与专家设计的性能持平的网络结构,有时也会搜索到人类专家没有提出过的网络结构,将有关神经网络的设计成本大大降低。
待搜索网络结构的候选集合称之为搜索空间。因为计算机本身不会编程或建模,所以在给定搜索空间里,NAS 只能搜索到性能较好的网络结构。将目前的 NAS 算法按照搜索空间的使用分为两类,一是基于 cell 结构的搜索空间,它通过搜索一些小的网络结构并将其按照预先定义的方式进行堆叠构建完整网络;二是全局搜索空间,它直接搜索的是完整网络[50]。
(1)基于 cell 结构的搜索空间。目前将一些重复的结构单元堆叠构建完整网络是很多专家设计的一个有效方式[51],像 ResNet 网络基于残差单元堆叠构成,GoogLeNet 网络基于模块化结构 Inception 堆叠构成。将基于 cell 堆叠实现完整网络结构的思想也用到了 NAS 领域。这里的 cell 指 normal cell 和 reduction cell,前者输入输出尺寸相同,后者输出尺寸减半,在完成 cell 结构设计后按照算法起初定义的方式将两种 cell 结构堆叠即可完成完整网络的搜索。如图 2-3,cell 结构确定后整个网络结构便会随之确定。此方式一方面减少了需要优化的参数数量,另一方面便于迁移学习。同时,不仅缩小了搜索空间,而且在不同的应用场景中可以通过调整 cell 堆叠数量灵活控制网络深度以及复杂性,提高了搜索效率以及模型性能。
(2)全局搜索空间。以链式结构为主,如图 2-4,左图即为链式结构空间,由很多层组成。相比基于 cell 结构的搜索空间,其网络结构的局部设计比较简单,只需要在 NAS 搜索过程将其需要的所有计算类型以及参数确定。同时,基于 ResNet 等网络结构的设计将跳跃连接以及分支结构引入。右图为多分支结构空间,其中,跳跃连接能够将从神经网络中某层获得的激活快速的反馈至其更深处的某层[52]。随着网络结构深度的增加,由于存在梯度消失问题,训练起来会更难,但梯度消失是时间步的函数,可以通过使用跳跃连接提高循环神经网络学习长距离依赖的能力来解决梯度消失,且便于梯度反向传播,加快训练过程。再者,越深的网络结构越能提取到越高级的图像特征,分支结构的提出可以解决现有的深度神经网络结构中出现的过拟合问题。全局搜索空间在设计网络结构时均衡了局部设计以及整体设计的时间复杂度,搜索轻量化的网络结构比较适用。
3 基于创建临时权重的 ENAS 对于商品检测的改进 .......................... 17
3.1 ENAS 介绍以及缺陷分析 ................................ 17
3.1.1 ENAS 介绍 ...................................... 17
3.1.2 缺陷分析 ..................................... 23
4 基于 NAT 的商品检测网络结构优化 ...................................... 39
4.1 缺陷分析 ......................................... 39
4.2 算法描述 ............................................... 39
5 工作总结与展望 ........................................... 51
5.1 工作总结 ..................................................... 51
5.2 工作展望 ............................................. 52
4 基于 NAT 的商品检测网络结构优化
4.1 缺陷分析
通常在衡量一个算法时,时间复杂度和空间复杂度是其中很重要的角色,分别在时间上和空间上对算法进行估量。对于搜索到的网络模型,时间复杂度关注模型的检测时间,过高计算成本增加以及网络性能变差,空间复杂度关注模型的参数数量,过多内存占比会越大,会导致训练时长增加,同时,需要的数据量也会增加,预测也会变慢。所以降低时间复杂度和空间复杂度变得尤其重要。
无论是专家依赖经验知识设计的网络结构,还是 NAS 方法搜索的网络结构,有相关研究表明,与前者方法相比,后者方法存在一定的局限性[71]。事实上,由于存在非常大的搜索空间,这些方法通常产生的是次优架构,导致有限的性能或巨大的计算成本。由于这些网络结构中可能存在那些非必要的计算操作,这不仅带来了巨大的内存占用以及计算花销,而且会让检测性能降低,因此,这些网络结构都存在可优化的空间。为了获得计算成本更低并且性能更好的神经网络结构,在不影响现有检测性能的前提下,同时降低计算成本并尽可能的优化现有神经网络结构内部操作是极其有必要的,这样的方式不仅可以将时间复杂度和空间复杂度降低,同时也能提高检测模型的鲁棒性以及精度。
5 工作总结与展望
5.1 工作总结
随着人工智能的强势崛起,零售业之无人零售的形式得到了快速推广以及广泛应用,带给了消费者们更加便利、快捷的购物体验。虽然传统机器学习算法和深度学习技术在无人零售关键技术商品检测任务上已经取得了很不错的成绩,但是 AutoML 的提出利用其全程自动化的特点、以及使用更少的专业领域知识能够自动搜索到搜索空间中最优的网络结构,这种方式能够以更少的人工带来更大的效益,更能吸引人们的眼球。
本文以基于计算机视觉的无人冰箱商品零售为实验场景,完成了系统环境的搭建、商品数据集的获取以及相关预处理工作,采用 AutoML 的思想,以 ENAS 方法为研究目标提出了基于创建临时权重的方式改进 ENAS 方法自动搜索最优网络结构,并基于 NAT 对搜索到的网络结构完成进一步优化,从而获取性能上表现更优的网络结构。本文主要包括以下工作
(1)文献调研以及商品检测问题研究
本文首先介绍了商品检测的研究背景与意义,其次对目标检测的研究现状进行了调研,之后详细描述了 AutoML、NAS 方法,最后对 RNN、LSTM 以及 CNN 相关理论基础进行了具体阐述。
(2)ENAS 方法研究
考虑到算法准确率以及硬件支持等因素,本文选定了 ENAS 为研究内容,ENAS 使用有向无环图 DAG 表示网络结构,图中节点代表某种操作,边代表数据的流动,基于此通过参数共享的方式改进了子网络结构的训练方式,避免了所有子网络从头开始训练的弊端,提升了 NAS 的效率。
(3)实验环境搭建以及数据集的准备
基于视觉冰箱为实验场景,本文完成了实验平台的选择以及运行环境的搭建,并根据市场调研确定了研究商品,之后以实验场景为拍摄环境完成了数据集的获取以及预处理等工作。
(4)基于创建临时权重的 ENAS 对于商品检测的改进
针对 ENAS 权重共享方式存在的训练偏置以及耦合问题,本文提出了一种改进方法,通过生成临时权重最大化验证精度以此更新控制器网络,并将原始权重应用于最小化训练损失,使得这两个阶段解耦,有效的降低了算法耦合度,减少了算法成本。同时,临时权重的产生解决了训练时不公平的现象,避免了只使用一组权重让其他所有模型复用并进行评估的弊端。基于改进算法搜索的神经网络结构替换 Faster RCNN 算法的主干网络进行目标检测,最后完成训练并设计对比实验,验证了提出方法的有效性。
参考文献(略)