摘要: 深度神经网络在图像识别、语言识别和机器翻译等
人工智能任务中取得了巨大进展,很大程度上归功于优秀的神经网络结构设计。 神经网络大都由手工设计,需要专业的机器学习知识以及大量的试错。 为此,自动化的神经网络结构搜索成为研究热点。 神经网络结构搜索(neural architecture search, NAS)主要由搜索空间、搜索策 略与性能评估方法 3 部分组成。 在搜索空间设计上,出于计算量的考虑,通常不会搜索整个网络结构,而是先将网 络分成几块,然后搜索块中的结构。 根据实际情况的不同,可以共享不同块中的结构,也可以对每个块单独搜索不 同的结构。 在搜索策略上,主流的优化方法包含强化学习、进化算法、贝叶斯优化和基于梯度的优化等。 在性能评估上,为了节省计算时间,通常不会将每一个网络都充分训练到收敛,而是通过权值共享、早停等方法尽可能减小 单个网络的训练时间。 与手工设计的网络相比,神经网络结构搜索得到的深度神经网络具有更好的性能。 在Ima- geNet分类任务上,与手工设计的MobileNetV2相比,通过神经网络结构搜索得到的MobileNetV3减少了近30%的计 算量,并且top-1分类精度提升了3.2%;在 Cityscapes语义分割任务上,与手工设计的DeepLabv3+相比,通过神经网络结构搜索得到的Auto-DeepLab-L可以在没有ImageNet预训练的情况下,达到比 DeepLabv3+ 更高的平均交并 比(mean intersection over union,mIOU),同时减小一半以上的计算量。 神经网络结构搜索得到的深度神经网络通常 比手工设计的神经网络有着更好的表现,是未来神经网络设计的发展趋势。
关键词:人工智能;计算机视觉;深度神经网络;强化学习;进化算法;神经网络结构搜索(NAS)
1、深度神经网络相关概念与回顾
1. 1 深度神经网络发展历程
神经网络的概念最早出现在20世纪40年代, 由于在性能上改进甚微,神经网络的发展一度陷入 沉寂,直到90年代LeCun等人(1998) 提出里程碑 式的 LeNet 模型后才被打破。 LeNet 模型基于对卷 积神经网络(convolutional neural network,CNN)的改 进,在原始像素中以分层的方式提取特征表示,成功 推广到邮编识别等诸多任务和应用场景中,神经网 络的概念又重新回到了人们的视野。 2011 年微软开发的语音识别系统( Deng 等, 2013)和 AlexNet(Krizhevsky 等,2012)的问世,直接 颠覆了整个图像识别领域的传统算法,这些方法使 用了行之有效的深度神经网络训练策略( Hinton, 2007),大幅提升了模型的准确度,直接推动了深度 神经网络的广泛应用。 使得通过卷积、池化和非线 性激活等操作提取高层次的特征、提高算法性能的 一系列流程成为整个领域的潮流,推动了图像识别 的检测领域甚至整个人工智能领域的发展浪潮。 自 此,深度卷积神经网络应用再也不局限于手写数字 识别, DeepFace 和 DeepID 作为两个高性能人脸识 别与认证模型,开拓了 DNN 在
人脸识别领域的疆 土。 此外,DNN 作为一种新的特征学习算法引入 后,Kalchbrenner 等人(2014)成功地用 DNN 和 Max 池化等操作提取单词之间的关系,推动了自然语言 处理( natural language processing,NLP) 领域语言建 模或语句建模的结构性变革。
1. 2 卷积神经网络的相关术语及核心部件
1. 2. 1 卷积层 卷积层(ConvLayer)是深度卷积神经网络的重 要组成部分,每个卷积层都包含了比较复杂的高维 卷积运算,其输出的每一幅特征图,称为
通道(chan- nel),是对某一输入特征图与所有的卷积核/ 滤波 (fi
LTEr)进行卷积运算(通过 stride 窗口得到的小的 特征图与卷积核之间,对应位置相乘再相加) 得到 的结果。 以正常的 RGB 图像为例,其卷积过程如 图 2 所示,星号代表卷积运算,H、W、C 与 H′、W′、C′ 分别为输入/ 输出的高度,宽度,通道数。
具体地,卷积的计算过程可以表示为:
式中,I 是输入特征图,通道数为 C,空间维度分别是 H 和 W,其中每个元素为Ihi,wj,c,而 O 是有 C′个通道 的输出特征图,空间维度变成 H′和 W′,其中每个元 素为Oh′,w′,c′,卷积核 K 是 C′个连续的 3-D 卷积核, 其空间维度为 k × k × C × C′。 从图 2 可以看出,输 入特征图通过多层卷积操作,将空间信息经过线性变换转换到通道信息上,用以有效地提取特征信息。
1. 2. 2 全连接层
全连接层在整个深度卷积神经网络中起着分类 器的作用,其将学到的“
分布式特征表示”映射到样 本标记空间,是一种特殊的、卷积核大小为 1 的卷 积,输入特征图与输出特征图之间是密集连接的关 系,其具体的计算方式为 Z = WX ,其中,X 为全连 接层的输入特征图,W 为权重,Z 为输出特征矩阵。
1. 2. 3 池化层
池化层模拟人眼视觉对物像降维和抽象的概 念,是神经网络中一种非常重要的降采样操作,能够 有效减少特征图的空间尺寸,减少计算量,使模型更 加关注是否存在某些特征而不是特征具体的位置, 并在一定程度上减少了过拟合现象。 最常见的方法 是最大池化(max pooling)和平均池化( average poo- ling),这些操作通常将输入的图像划分为若干矩形 区域,分别取这些矩形区域的最大值或者平均值,组 成新的特征图。 图 3 是以 2 维矩阵的方式展现的两 种不同池化的特征转换过程。 同时,因为最大池化 和平均池化分别提取了小 patch 特征区域的最大值 和平均值,很多研究致力于探索这两种方法之间的 平衡。
1. 2. 4 激活层
只有卷积操作的神经网络只是对输入特征图进 行线性变化。 为了使神经网络去学习、理解非线性 的函数和场景,在神经网络中引入了激活层,使得神 经网络可以任意逼近任何非线性函数。 常用的激活 函数有 Sigmoid、ReLU 和 Tanh 等。
更多详细内容请下载附件查看