基于随机化网络的自主平台实时场景分类方法研究

2022-12-20 12:07代英鹏王军政李静
北京理工大学学报 2022年12期
关键词:复杂度卷积神经网络

代英鹏,王军政,李静

(北京理工大学 自动化学院, 北京 100081)

自主平台在许多领域有着广泛的应用. 场景分类作为自主平台的关键技术,用于理解环境信息以执行后续任务. 对于场景分类任务,卷积神经网络(convolutional neural networks, CNN)具有优异的性能.然而,这些方法往往通过误差反向传播来调整参数,从而导致收敛速度慢[1].

基于随机化的神经网络[2−4]随机分配隐藏层的参数,以获得更好的泛化能力和提高参数的训练效率. 其在各种各样的任务上都取得了显著的效果,近年来受到了越来越多的关注[5−12]. 为了进一步提高随机特征表示能力,基于随机化的神经网络设计了核函数[13−14],实验结果表明,这些算法具有较快的收敛速度和良好的泛化性能. 由于单一隐藏层结构的特征提取能力有限,为克服这一问题,常用的解决方法是深化网络结构[7,15−19]. 例如,提出了多层极限学习机[15]实现逐层无监督学习. 与深度网络类似,多层极限学习机基于自动编码器获得多层网络. 相对于单隐藏层随机化网络,多层极限学习机的分割精度大幅度提高. H-ELM 算法由无监督的多层特征编码和有监督的特征分类两部分组成. 对于实际的计算机视觉应用,H-ELM 算法比其他许多方法具有更快的收敛速度和更好的泛化性能. 此外,基于随机化的神经 网 络 与CNN 结 合[19−23],CNN 被 用 于 特 征 提 取 器,随机化神经网络被用于分类器. 卷积随机向量函数连接(convolutional random vector function link network,CRVFL)网络[20]结合了随机向量函数连接(random vector function link network,RVFL)网络和卷积操作.在CRVFL 网络中,卷积层的参数被随机初始化并保持固定,只需要学习全连接层的参数. 与现有基于RVFL 的方法相比,CRVFL 具有良好的性能和较高的训练效率. 基于随机化的神经网络避免了传统反向传播神经网络的缺陷,具有更快的训练速度和良好的学习性能. 然而,基于随机化的方法中的全连接结构导致网络具有许多参数. 同时,基于随机化的方法提取局部特征的能力较差.

目前对于分类任务,基于随机化的网络结构能够进行实时处理,但其全连接结构导致模型不能有效地提取局部特征,从而导致单隐层随机化网络的精度受限. 集成算法能够有效提升算法的准确性早已被证明,通过集成结构提高单隐层随机化网络的精度是一种有效的方法,但集成结构通过大量增加模型的复杂度及引入大量参数实现精度的提高,不利于实时任务. 为了解决上述问题,从提高随机化网络提取特征能力以及保持集成性能的同时降低集成结构的复杂性两方面入手,设计了一种随机化网络集成结构E-MCRNet. 作为集成网络的核心,MCRNet 引入了多尺度卷积层. 大步长卷积运算可以保留更多的细节信息并减少计算量;大膨胀率有利于扩大感受野;多种卷积模板能够提取多尺度特征信息.这些操作可以提取丰富的特征并更好地描述目标.为进一步提高网络泛化能力,多个MCRNet 构成集成框架E-MCRNet,并且每个分支网络共享部分隐藏层加快推理速度和降低模型复杂度.

主要贡献如下:

①针对实时场景分类任务,提出了一种轻量级网络集成体系结构E-MCRNet. 在单一网络的基础上,E-MCRNet 可以有效地提高精度和泛化能力. 每个分支网络共享部分隐藏层,可以加快推理速度和减少参数数量. 该算法部署到自主平台上,并在真实环境中进行了测试,能够快速有效地识别场景信息.

②提出基于多级卷积随机化的神经网络MCRNet,用多尺度卷积层代替全连接层,可以提取多尺度局部特征信息,更好地表达随机特征,从而提高模型性能,降低模型复杂度.

1 E-MCRNet 算法

在本节中,将详细介绍总体集成结构和分支网络. 首先,介绍作为核心组件的MCRNet 的设计思想、理论基础以及网络结构;然后,在MCRNet 的基础上,设计网络集成框架结构E-MCRNet. 本文主要研究在保证精度的基础上如何加快推理速度以及降低模型复杂度.

1.1 MCRNet 框架设计

基于随机化的神经网络,如基于ELM、基于RVFL和基于宽度学习(broad learning system,BLS)的算法,随机生成隐藏层权重并解析计算输出权重. 因此,这些模型具有良好的泛化能力. 然而,输入层和隐藏层之间的全连接方法会产生大量参数,增加计算复杂度. 此外,全连接方法也不能有效地提取局部特征.这些将导致基于随机化的神经网络花费更多的计算资源训练其权重. 为了解决这些问题,将全连接层替换为卷积层. 图1 展示了MCRNet 框架.

图1 MCRNet 框架Fig.1 MCRNet architecture

MCRNet 框架结构包括输入层、隐藏层和输出层. 在输入层和隐藏层之间,采用多尺度卷积运算提取局部特征. 与全连接方法相比,卷积运算可以引入较少的参数提取隐藏层的特征,并且能够同时处理二维数据和一维数据. 在这里,“卷积+最大池”操作被大步长卷积操作取代,以降低特征维数,这可以保留更多的空间特征信息. 此外,采用不同膨胀率的卷积运算进一步提取丰富的特征信息. 这一过程表现为

式中:Hmain和Hsub为不同特征空间中的隐藏层特征;σ和 ⊗分别表示激活函数和卷积运算;X、W和b分别为输入数据、卷积模板和偏差. 提取随机特征后,将不同的二维隐藏层特征映射展平并进行级联操作.最后,将串联的一维隐藏层特征输入分类器,表示如下

式中:Y为预测分类结果;Fβ为关于权重β的全连接操作. 对于给定的标签T,使用J来描述预测结果Y和真实值T之间的差异. 此处,价值函数定义如下

为寻找最佳的β,令 ∇βJ为0. 此时,最佳权重矩阵β可以通过下式得到

定义H=[HmainHsub].Hξ为H的伪逆矩阵,表示为Hξ=(HTH)−1HT. 由此,预测的类别可以用下式表示

MCRNet 将全连接层替换为卷积层,并且卷积层使用不同大小的卷积核在不同的特征空间提取局部特征. 与CRVFL 相比,MCRNet 能够以更少的计算资源提取更丰富的空间特征和保留更多的细节特征.

1.2 E-MCRNet 集成框架设计

集成框架具有更强的泛化能力,从而提高精度.然而,这种架构极大的降低了推理速度,并引入大量的参数. 为了解决这个问题,设计E-MCRNet 集成框架,如图2 所示.

图2 E-MCRNet 框架Fig.2 E-MCRNet architecture

E-MCRNet 结构堆叠多个MCRNet 以预测结果.与并行集成结构不同,E-MCRNet 的每个分支学习器共享隐藏层的部分通道,以降低计算复杂度,加快推理速度. 对于E-MCRNet 架构,首先生成一个主隐藏层和多个子隐藏层以提取随机特征. 然后,将主隐藏层分别与每个子隐藏层级联形成多个分支学习器.利用伪逆运算计算每个分支学习器的输出层权重,并预测结果. 最后使用投票法等集成机制对每个分支学习器的预测结果进行处理,得到最终的预测分类结果. 在此,使用相对多数投票法对每个分支学习器的预测结果进行集成

2 实验结果与分析

在本节中,将在MNIST 手写数字数据集[24]和CIFAR-10 数据集[25]对E-MCRNet 的性能进行验证.在上述数据集,将E-MCRNet 与可训练网络(如FCCNN[26]、DC-GD[27]、BPNDSS[28]、Coarse-to-fine CNN[29])以及基于随机化的神经网络(如基于ELM 的算法、基于RVFL 的算法和基于BLS 的算法)在准确性和训练时间方面进行比较. 实验使用Python 2.7 进行测试,处理设备信息为:ubuntu 16.04 LTS 64 位,AMD Ryzen 72700 八核处理器×16,RAM 16 Gib. 算法的性能主要通过测试精度(ACC.)来衡量,如下所示

式中:N为测试数据的数量;yi和ti分别为预测结果和相应的标签; ϕ(yi,ti)为一个指示函数

模型的参数量由两部分组成,一是卷积操作的参数量,由下式表示

式中:Cin与Cout分别为相邻两层的通道数;K×M为卷积核的大小. 二是全连接操作的参数量,由下式表示

式中Nin和Nout分别为相邻两层的节点数.

2.1 在CIFAR-10 数据集上的性能估计

CIFAR-10 数据集由60 000 个32×32 彩色图像组成. 50 000 张图像用于训练,10 000 张图像用于测试.数据集有10 个类,每个类包含6 000 个图像,其中包含5 000 张训练图片和1 000 张测试图片. 训练数据集被划分为12 个分支训练数据集,每个分支训练数据集包含从50 000 张图像中随机选择的30 000 张图像.在CIFAR-10 数据集上,E-MCRNet 与ELM、ELMKMPE、V-ELM、RVFL 和CRVFL 等网络结构在测试精度、参数量及模型的计算复杂度三个方面进行比较,结果如表1 所示[30−34]. 其中,模型的计算复杂度使用浮点运算数(FLOPs)表示,1 MFLOPs=106FLOPs.N1表示经过全连接层输出的隐藏层节点数量,C1表示经过卷积层输出的隐藏层通道数量.

表1 在CIFAR-10 数据集上的结果Tab.1 Results on the CIFAR-10 dataset

ELM 的输出层仅与隐藏层连接,而RVFL 输入层与输出层之间存在直接连接. 因此,RVFL 利用隐藏层学习的非线性核增强原始数据来提高泛化能力. 表1 中,RVFL 的测试精度比ELM 高5.30%,同时参数低312.53 万. 但RVFL 所需的计算力比ELM 高6.25 MFLOPs. 与ELM 算法相比,ELM-KMPE 算法使用KMPE 作为损失函数以获得更好的性能. 表1 中ELM-KMPE 的测试精度比ELM 高2.85%. V-ELM 合并了多个独立的ELM,并通过多数表决法进行决策.与ELM 相比,V-ELM 的测试精度比其高5.72%. 但由于其平行的集成结构,V-ELM 的MFLOPs 约为ELM的11 倍. CRVFL 是为了简化视觉跟踪系统而提出的,它只需要学习全连接层中的参数. 在CIFAR-10数据集上的实验表明,CRVFL 的测试精度高于ELM、RVFL 和ELM-KMPE,但CRVFL 的参数量仅为10.51万. MCRNet 改变全连接提取随机特征的方式,采用多尺度卷积操作提取局部随机特征,同时使用大步长代替池化操作保留更多的空间特征信息. MCRNet 仅使用10.3 万个参数即可达到83.21%的测试精度,而其所需的算力仅为1.57 MFLOPs. 相对于ELM等全连接方式提取特征的网络,MCRNet 具有明显的精度、计算复杂度及参数优势. 为进一步提高MCRNet 的泛化性能,提出了E-MCRNet 集成框架结构.E-MCRNet 在CIFAR-10 数据集上的测试精度达到93.49%,远远高于表1 中的其他算法. 虽然E-MCRNet 比MCRNet 多了117.07 万个参数,但其测试精度比MCRNet 高10.28%. 总体来说,E-MCRNet 在CIFAR-10 数据集上实现了良好的性能.

2.2 在MNIST 数据集上的性能估计

MNIST 手写数字数据库由70 000 个0~9 的灰度数字图像组成,图像大小为28×28. 其中,60 000 张图像用于训练,10 000 张图像用于测试. 实验中,卷积步长为2,隐藏层通道数为30,分支网络数量为15.由于可训练卷积神经网络的计算复杂度远高于随机化网络,并且对于相同的随机化网络,在不同数据集中模型复杂度的相对大小是不变的. 所以在MNIST数据集,将E-MCRNet 与可训练神经网络和基于随机化的神经网络仅在精度方面进行了比较,分类结果如表2 所示.

表2 在MNIST 数据集上的结果Tab.2 Results on the MNIST dataset

作为早期的神经网络,LeNet-5 的测试精度达到98.96%. 其他的可训练网络也取得与LeNet-5 类似或者更加优异的性能. 特别是Coarse-to-fine CNN 产生99.29%的准确率. 总体来说,大多数可训练神经网络的误差在2%以内. 然而,这些模型通常要花很长的时间来训练它们的权重. 此外,这些深而宽的网络结构引入了大量的参数及高的计算复杂度. 基于随机化的神经网络,如ELM 和BLS 可以在一定程度上缓解这些问题. 它们像可训练的神经网络一样产生高精度,但却花费更少的时间训练权重. 同时浅层架构引入了较低的模型复杂性. 在表2 中,除ELM 外,其他随机化神经网络产生的精度均高于98%. 基于随机化网络设计的MCRNet,用带有不同卷积模板的卷积层代替全连接层,进一步降低了模型的复杂性和参数. 随后,将多个MCRNet 叠加形成E-MCRNet. 在MNIST 手写数字数据库上,E-MCRNet 达到99.47%的测试准确率. 与可训练神经网络和基于随机化的神经网络相比,E-MCRNet 在保持较低计算复杂度和较少参数的同时,产生了具有竞争力的精度.

2.3 真实环境场景分类

在工程应用中,自主平台需要判别场景信息. 在实际环境中,本地校园环境作为测试环境,自主平台[36−37]如图3 所示. CCD 摄像机用于捕捉图像. 然后,这些图像被传输到AI 嵌入式设备(Nvidia Jetson AGX Xavier),并通过E-MCRNet 进行处理. 控制系统根据处理结果做出相应的响应. 图4 显示了场景分类的结果. 根据环境信息,局部的校园环境分为4 种情况:停车场/建筑、道路、道路/建筑、汽车/道路/花园. 自主平台识别不同的场景以调整其自身的状态.例如,在速度方面,当在当前场景中识别停车场时,自主平台需要减速. 在该测试中,E-MCRNet 能够很好地识别每个场景信息.

图3 自主平台Fig.3 Autonomous platform

图4 场景分类结果Fig.4 Scene classification results

3 结 论

基于随机化的神经网络,提出MCRNet 网络结构. MCRNet 将全连接层替换为卷积层. 利用多尺度卷积模板提取多尺度特征信息;大步长能够在降低计算量的同时保留更多大的空间信息. 为进一步提高精度,多个MCRNet 框架形成E-MCRNet 集成框架. 与广泛使用的并行集成结构不同,E-MCRNet 中的分支网络彼此共享部分隐藏层,达到减少参数量及降低集成模型复杂度的目的. 在MNIST 和CIFAR-10 数据集上,E-MCRNet 的准确率分别达到99.44%和93.51%. 与其他类似的算法相比,E-MCRNet 在保持可接受的模型运行速度的同时,产生具有竞争力的精度. 实际环境中的实验显示,E-MCRNet 能够很好地在移动平台运行. 总体而言,E-MCRNet 能够克服嵌入式设备有限内存的影响,很好地完成场景分类任务.

猜你喜欢
复杂度卷积神经网络
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
一种低复杂度的惯性/GNSS矢量深组合方法
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
求图上广探树的时间复杂度
基于神经网络的拉矫机控制模型建立
某雷达导51 头中心控制软件圈复杂度分析与改进