没有合适的资源?快使用搜索试试~ 我知道了~
卷积神经网络优化和加速:综述
制作和主办:Elsevier沙特国王大学学报卷积神经网络的优化和加速:综述古西亚·哈比卜·萨伊马·库雷希印度斯利那加国立技术学院计算机科学与工程系阿提奇莱因福奥文章历史记录:收到2020年2020年10月4日修订2020年10月6日接受2020年10月20日网上发售保留字:SGDReLuHyParAdamNADAMA B S T R A C T卷积神经网络(CNN)是人工神经网络(ANN)的一种特殊情况,并在计算机视觉和并行分布式计算中应用,用于处理传感器生成的大量数据,并满足物联网设备的功耗限制。近年来,卷积神经网络(CNN)在参数优化、正则化技术、激活函数和相应损失函数的改进、网络结构的改进等方面取得了很大的进展。神经网络的训练是繁琐的,需要大量的时间,可能需要几天甚至几周。这限制了卷积神经网络(CNN)在计算速度至关重要的实时研究领域的应用。因此,需要适当的和增强的计算速度,以满足这些实时应用的要求。本文详细介绍了CNN,总结了CNN从1998年到2019年的体系结构演变。已经解释了三种类型的策略,以提高CNN在算法级和实现级的计算速度。本文详细介绍了使用随机梯度下降(SGD)优化加速计算速度,快速卷积以及这些技术和最新进展在CNN中提出的并行化挑战本文的最终目的是探索所有这些最新的技术,通过这些技术,我们可以加快CNN的训练速度,而不会©2020作者由爱思唯尔公司出版代表沙特国王大学这是一个开放的访问CC BY-NC-ND许可证下的文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。内容1.导言42452.CNN背景42452.1.最近侵犯CNN 42462.2.超越欧几里得数据分类的CNN 42462.3.快速卷积42462.4.美国有线电视新闻网(CNN)42483.为什么CNN4.CNN组件42504.1.卷积层42504.1.1.池化层4250*通讯作者。电子邮件地址:gousiahabib_01phd19@nitsri.net(G. Habib),shaima@nitsri.net(S.库雷希)。沙特国王大学负责同行审查https://doi.org/10.1016/j.jksuci.2020.10.0041319-1578/©2020作者。由爱思唯尔公司出版代表沙特国王大学这是一个在CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表沙特国王大学学报杂志首页:www.sciencedirect.comG. Habib和S. Qureshi沙特国王大学学报42454.1.2.全连接层42504.1.3.激活函数42514.2.CNN架构总结5.卷积神经网络的训练42525.1.使用快速卷积提高训练和推理速度42525.2.通过利用Materelism 42635.2.1.数据并行化42635.2.2.模型并行度42646.结论4266参考文献42661. 介绍与人工神经网络(ANN)相同的高性能和有说服力的深度学习技术卷积神经网络(CNN)由神经元组成,具有可学习的权重和偏差。CNN的输入是通过这些神经元提供的,这些神经元负责执行输入与可学习权重和偏置之间的标量积。其次是非线性激活函数。常规的人工神经网络(ANN)不能很好地扩展到完整的图像。随着图像尺寸的增加,常规ANN中的全连接层不可能扩展到更大的图像。这导致参数数量的巨大增加,并导致过度拟合的网络。不太可能,CNN拥有三维层排列(宽度,高度,深度)。其中,Depth表示激活体积的第三维度,而不是整个神经网络的深度。层中的神经元与局部感受野相关联,而不是像正则ANN中那样完全连接。整个网络通过一些可微的分数函数将原始输入像素从一端映射到另一端的类分数,从而将完整图像减少到CNN架构末端的类分数的单个向量中CNN在最后一个全连接层(例如SVM/Softmax)也但CNN形成了ANN的特殊情况,因为它通过多层自动学习分层特征提取过程。自动特征提取和直接从原始输入中学习特征使CNN适用于各种领域,如图像分割,对象检测,注意力系统,语音识别,人脸识别,纹理分析,视频处理和自然语言处理。CNN的框架主要由五层组成,卷积层(Convo layer),池化层,归一化层和全连接层,在本文的前面部分中详细讨论。正则神经网络和CNN的可视化如下所示图 1a)显示具有两个隐藏层的常规3层ANN,输入和输出层。一个常规的人工神经网络有神经元在单一维度上,产生神经元的完全连接。然而,在图1b)所示的对流层的情况下。它具有神经元的三维排列(高度、宽度、深度),如图1b)所示。三维输入体积由convoNet接收,并转换神经元激活的三维输出体积。常规递归神经网络(RNN)中的输入层由3D图像表示,其高度为H,宽度为W,深度为3。深度为3表示图像为RGB。物联网设备、无线电逻辑图像、卫星图像每天产生的大量数据,以及CNN在硬件层面、算法层面和结构层面的惊人此外,利用不同的激活函数,池化技术,参数优化以及利用各种正则化方法,为CNN带来了巨大的进步CNN需要更少的预处理计算相比,手工设计的方法,如本地二进制模式(LBP),尺度不变特征变换(SIFT)和梯度直方图(HOG)。简单的CNN架构LeNet5最初是为使用MNIST数据集进行对象识别而开发的,如图所示。 二、尽管使用了CNN区别于其他神经网络的两个重要特性,即局部感受野和权重共享,但这导致参数数量的大幅减少,这大大有助于减少训练时间和推理。在当前的大数据时代,输入数据的维度不断增加,导致CNN架构复杂,用于处理此类大数据。ND数据的这种处理使得CNN计算密集,并限制了其实际实施。这是当今数据科学研究人员面临的最大挑战之一这就要求当前的研究集中在提高计算速度和减少推理上。本文主要研究了两种提高计算速度的方法,即快速卷积方法和并行化方法。此外,本文还详细介绍了CNNFig. 1. a)常规3层ANN b)具有3D输入和输出的CovoNet。G. Habib和S. Qureshi沙特国王大学学报4246图二.基本Lenet架构处理输入图像的大小。本文描述了CNN组件的结构,包括其组件和CNN组件的最新进展以及由每个组件(包括卷积、池化、激活函数等)提出的挑战。2. CNN背景CNN的框架是基于人类的视觉过程。在20世纪50通过各种研究,他们发现,他们的视觉皮层对较小的视觉区域(称为局部感受野)做出反应。感受野是视觉空间中的区域,如果刺激发生,它会激发单个神经元。相邻的细胞使用重叠的感受野,也称为权重共享。这是一个独特的属性,使卷积神经网络(CNN)不同于神经网络,并有助于减少输入增长时参数的指数增长(Hubel等人,1968年)。在1980年,一个独特的概念,新认知机介绍了(福岛,k等。1980),不需要相同的训练权重在所有的位置。后来,Le Cunn等人(2003年)将其推广并解开。他们提出了7层CNN,用于在32*32像素图像中采样的手写识别,称为LeNet模型,如图3所示。这是第一个在MNIST数据集上测试的目标检测模型。但由于当时巨大的内存需求和处理能力的限制,其应用受到限制。(Pal和Jesus在1993年)在他们的调查文章中预测神经网络将使OIT广泛应用于图像处理。他们的预测最终是正确的。(图)1993年)。(M.Egmont等人,2002年)回顾了一篇文章,并调查了为各种图像处理应用开发的神经系统的应用(Egmont-Petersen等人,2002年)。直到20世纪90年代,贝叶斯判别和Parzen窗口才广为人知。从那时起,神经网络被动态地用于作为另一种选择,伟大的例子,分类器和聚类技术。2.1. CNN最近的入侵(Manrous Mohammad等人,2015)提出了一种使用优化的脉冲耦合神经网络进行基于内容的图像分类和检索的新方法(MahrousMohammed等人,2015年)。Euijoon Ahn等人在2016年设计了一种新算法,该算法基于深域转移CNN和稀疏空间金字塔(SSP)的融合,以从局部图像字典中提取特征。从算法的实验评估中观察到,与现有方法相比,该方法实现了最低的错误率(Euijoon Ahn等人,2016年)。后来,Xiang Bai et al. 2017提出了一种新的CNN不变量方法,称为多尺度空间分区网络(MSP-Net),它通过从巨大的自然图像数据库中识别输入图像的不同尺度的空间段中识别文本的存在来区分文本图像。该方法能够获得高卷积神经网络不仅可以用于非文本图像的分类,而且可以用于基于文本的图像分类。除了监督学习之外,CNN通过探索迁移学习的思想,可以将从CNN中提取的一般和特定特征转移到通用分类任务中。从1998年到2018年,开发了许多CNN框架,如LeNet,AlexNet,Vgg 16,VGG 19 , fractalNet GoogleNet , Google 给 出 的 Inception 模 块 ,ResNet引入的Skip连接,如Inception ResNet,ResNeXt,以及其他一 些 框 架 , 如 PolyNet , DenseNet 和 SeeNEt 。 表 5 中 给 出 了MNISST、CIFAR 10和大型数据库ImageNet上错误率最高的5个框架的总结。2.2. 超越欧几里得数据分类的除了CNN在欧几里德数据分类中的应用外,CNN现在还被用于深度学习的大多数扩展领域几何深度学习处理现有CNN方法无法处理的非欧几里得数据这种类型的数据存在于几个应用中,如社交网络数据,其可以由图表示,其中边表示数据的传输,节点表示用户。传感器网络可以被建模为分布式传感器连接的图。基因表达也可以作为图形模型。在神经科学中,大脑的功能和结构解剖也可以使用这些图形模型进行建模这些方法包括对数据进行预处理以获得几何视图,然后通过CNN进行进一步的特征提取和分类。最近,Junjie yin等人在2020年提出了一个基于多视图卷积神经网络(MVCNN)的框架3V-DepthPano(Su等人,2015年12月),用于训练模型,以提取高精度特征图,该特征图可以在以后用于3D形状检索(Yin等人, 2020年)。Zonghan Wu et al.2019年提出了图神经网络(GNN)的详细调查及其在特定领域的应用 这些GNN大致分为四类,如CNN图神经网络,时空图神经网络,图自动编码器和RNN图神经网络。Bronstein等人在2017年提出了深度学习技术在非欧几里德数据中应用的详细概述,其中包括对图和人的描述(Bronstein等人,2017年)。Hamilton等人在2017年描述了GNNS在解决网络嵌入问题方面的有限应用(Hamilton等人, 2017年)。Dong等人在2019年开发了3D CNN,用于使用多模态脑图像预测脑肿瘤,并实现了90:66% 的 准 确 率 , 优 于 现 有 方 法 ( Dong 等 人 , YYYY ) 。 现 在CNNCNN的分层分区可以用于以低功耗和低功耗有效地处理这种大量数据。G. Habib和S. Qureshi沙特国王大学学报4247---ð Þ ðÞ ð Þ ðÞ×--- --- --Þ.Σð ðþ ÞÞ用于特定IoT应用的内存Fabiola Martins等人2019年,设计了深度神经网络,用于为受限的物联网设备划分网络,以实现高效的分布式执行。据观察,该算法产生最大的推理率,同时最大限度地减少设备之间的通信成本(Fabiola和Edson,2019)。2.3. 快速卷积卷积运算被认为是CNN中计算量最大的运算之一,许多算法的设计都是为了在不降低精度的前提下降低卷积运算的计算复杂度。(Yuke Wang Keshab Parhi,2000)提出了一种用于线性卷积的显式Cook-Toom算法。Cook-Toom算法是最重要的算法之一,因为它构成了大型卷积算法的基本构造块。该算法在L N M1个实数点上使用Lagrange插值。然而,该算法带来了巨大的计算成本,并限制了其仅适用于特殊整数。如果仔细选择L数,可以显着减少运算次数。YukeWang等人进一步增强了该基本cook-Toom算法。提出了在L2非零点上插值的线性卷积的一般公式,并提出利用超大规模集成电路(VLSI)实现可大大减少运算次数,与软件实现相比,这是因为在VLSI中数字的2k这在软件实现中不是一个选项。基本库克托姆算法是给定为:若x0;x1;...... :x NM-1是L<$NM-1个唯一的相对数。cook-Toom算法计算Dx i Gx i和SX iD x i Gx iS X i可以从S x0;S x1...... 用拉格朗日插值公式计算S ×N~(TM-2)然后迭代地实现长卷积。利用矩阵形式的张量分解,从混合基算法中导出了短卷积的一般算法,然后将这些迭代卷积变换为快速并行FIR滤波器。FIR滤波器的效率取决于选择性地选择短卷积算法作者(Jaderberg Vedaldi Zisserman,2014年)CNN在图像处理和计算机视觉领域带来了值得注意的结果,但卷积层的大量处理时间限制了它们在其他需要低内存,低功耗和高处理速度的受限设备中的部署。卷积层中这种批量处理时间的主要原因是滤波器冗余。为了消除CNN中的这种内核冗余。作者主要集中在两个主要的想法,大大加快处理速度。该方法通过构造低秩滤波器基(实际上为空域秩1),充分利用了交叉通道或滤波器冗余的特点,不依赖于底层结构,可应用于所有现有的图形处理器(GPU加快而只会降低分类精度。&作者还观察到如果将所提出的方法与快速四阶变换(FFT)相比较,则所提出的方法的性能更好并且实现了更大的加速(Jaderberg等人,2014年)。该方法可以进一步适用于分层的可分离滤波器,即水平基本层,然后是垂直基本层,最后是线性组合层。(Cheng Tai Tong Xiao et all in 2016)CNN如果计算成本和内存需求的设备。S X ¼ L-1 S XI Pj- i。X-xjð1ÞCNNð Þ1/4 我是Pj- i。xi-xj上述作者使用张量的低秩分解的概念来消除核的冗余,后来对Cook-Toom算法进行了修改,利用pop-L插值的正则中国剩余定理1NM2实数。给出了一个更一般的算法,它只需要LWang和Parhi(2000)给出了线性卷积的显式公式,并给出了证明和例子,因此,在他们的文章中,给出了一个一般的显式公式,它只需要NM3个插值点,而不是传统的算法,如Cook-Toom算法需要NM1个插值点。Cook-Toom算法及其改进算法的主要缺点是,虽然乘法运算次数减少了,但加法运算次数却呈指数增长,而且随着问题规模的增大,算法的效率也变得很低。对于较大的问题,另一种算法开始存在,这是由维诺梯度称为维诺梯度算法。Wino grad的发言该算法的公式如下:‘‘It’s possible to uniquely determine a non-negative integergiven(Chao Cheng Keshab Parhi在2004年提出了一种基于混合基算法和快速卷积的迭代短卷积(ISC)算法。该算法基本上将长卷积分解为较短的卷积。一旦为短卷积设计了快速卷积算法,卷积层基于张量分解,他们从头开始开发了训练低秩约束CNN的新技术实现了显着的速度提升,并且他们观察到,与非约束CNN相比,低秩约束CNN他们分析了他们在最知名的数据集CIFAR 10上的性能结果,他们提出的网络中网络(NIN)模型达到了93: 31%的准确率,使用数据增强。 低秩约束CNN实现了非约束CNN的 d倍加速直接卷积的计算成本为O d2NCXY:.该计算机-所提出的技术的总成本为O dK N C XY,从而实现约d倍的加速 从该论文的经验分析表明,基于低秩张量分解的方法可以广泛用于大CNN训练速度,而不会降低准确度(准确度下降高达1%(Tai等人,2015年)。(玉林赵东辉王等2018年)虽然CNN在计算机视觉(图像和视频识别)领域取得了令人瞩目的革命性进展,但其巨大的计算代价又限制了它的应用,为了提高速度和降低计算代价,他们在Winograd算法和Strassen算法的基础上提出了混合算法,并采用视觉几何群(VGG)模型对结果进行了分析。 通过结合这两种算法,与传统算法相比,可以节省75%的计算量在表7和表8中比较了所提出的混合算法与原始Strassen和Winograd算法的计算性能。它从结果中观察到,所提出的混合算法XG. Habib和S. Qureshi沙特国王大学学报4248××对于小尺寸矩阵,就乘法减少而言,它显示出更好的性能,但另一方面,与Strassen算法相比,它会导致更多的加法所提出的算法的性能类似于Wino-grad算法,但是当矩阵大小减小时,Wino-grad算法优于混合算法(Chen等人,2015年)。该算法的主要局限性在于,虽然它大大降低了CNN的计算成本,但它很难在实时应用和嵌入式系统中实现。还通过在并行化CNN中造成障碍而使CNN的硬件加速变得困难(Zhao等人, 2018年)。(王玉林赵东辉等,2019年)为了克服这些快速卷积算法在上述实时和嵌入式系统中实际实现的困难,这些算法需要较低的作者提出了使用快速卷积算法的各种加速器设计。所提出的设计都是基于现场可编程门阵列的,要求低功耗,图形处理单元虽然是一个出色的处理器,但是功耗很大。与GPU相比,现场可编程门阵列(FPGA)由于其灵活的性质而被广泛实现,并且在其他方面是节能的。设计使用Xilinx kintex-7 32 t FGPA和vivado 2014.3使用ver- ilog实现和评估FGPA的实现在100 MHz下进行实验结果表明,所有设计在执行相似矩阵卷积时所花费的时间几乎相同,在功耗分析方面,基于Strassen算法的设计比传统算法的设计功耗降低了4%Rithm。然而,信号和逻辑功率的设计是比较,基于Winograd算法的设计比传统最后,基于Strassen和Winograd算法优于所有的,并显示出21: 3%的总动态功耗小于传统的设计。作者得出结论,所提出的设计能够降低总体资源利用率和功耗。越远也能够提高适合相同FPGA的设计的性能(Zhao等人, 2019年)的报告。(JeanKossaifi Adrain Bulat et all in 2019)通过将张量分解与有效卷积联系起来,提出了一个统一的框架他们还展示了如何从这个统一的框架中衍生出其他计算效率高的框架。他们将卷积表示为低秩1的线性组合,并有效地重构卷积从论文的实证分析中,他们表明,通过利用现有的框架,所提出的算法可以他们还表明,该方法是计算效率,内存效率和有效的准确性。 他们通过利用高阶张量分解理论上推导出用于ND卷积的有效卷积算法(Kossaifi等人, 2019年)的报告。(Partha Maji Andrew Mundy等,2019年)基于流行的Cook-Toom或Winograd卷积的一类算法由于其巨大的计算负担而限制了对嵌入式设备的应用。作者试图通过在最新的Arm cortex-A CPU上设计基于卷积的高效算法来弥补这一差距,这些算法他们提出的方法的结果表明,比现有技术提高了60%(Maji例如, 2019年)的报告。(DiHaung Xishan Zhang et all in 2020)如上所述,最流行的快速卷积算法之一是Winograd减少乘法以加速CNN。但当核大小大于1且步长大于1时,该算法失败。对于较大的卷积核大小,它会导致FLOPS数量的显着增加,并具有精度下降的问题。为了解决Winogard最小过滤算法所面临的问题。DiHaung等人提出了被称为可分解Winograd算法(DWM)的修改的Winograd算法。该方法将大于3 3的核或步长大于的核分解为步长为1的小于或等于3 3的小核,并对这些小核应用Winograd算法。因此,以这种方式,DWM有助于减少乘法运算而不降低精度。DWM可以适用于任何大小的卷积核,否则这是原始Winograd算法中最大的问题。DWM能在不降低数值精度的情况下达到20倍的加速比。他们在NVIDIA V100 GPU上测试了所有结果,并在Tensor Flow(Abadi et al. 2016)和PyTorch(Paszke et al. 2017)上实现了DWM。这些平台允许我们使用DWM作为播放和插入操作符,使其在推理和训练时更容易使用。作者观察到DWM优于原始的Winograd算法,特别是在大内核的情况下。有时,DWM显示出比CuDNN更好的性能(Huang等人, 2020年)。(Chao Cheng Keshab K.Path,2020年)提出了用于1D和2D卷积的快速CNN的效率可以只增加,如果乘法操作,在增加加法运算的该算法提供了灵活性,因为它处理具有相似大小的输入和输出特征图,并且与卷积权重核大小无关。该算法不仅加快了计算时间,而且大大提高了内存访问效率。实验结果表明,与直接二维卷积算法相比,该算法可节省高达3.24的乘法因子所提出的算法的潜力是,它是适用于软件以及硬件实现。2D并行卷积算法可以简单地以即插即用的方式实现(Cheng和Parhi,2020)。2.4. CNN新闻主义CNN在计算机视觉、文本分类、卫星图像和游戏方面的杰出成就这些CNN许多现有的并行化技术已经用来改进CNN的训练。大多数技术都采用数据并行来加速CNN的训练。但是这项技术提出了一些上面已经提到的关键挑战。另一种最常用的方法是模型并行,将整个网络分成不相交的集合,每个不相交的集合被分配给专用设备以提高性能。训练效率。(Zhihao Jia Sina Lin et al. 2018)提出了分层并行化,允许每一层利用单独的并行化。它们允许使用图搜索问题优化每一层。他们使用两个不同的图清楚地定义了prallelization问题。设备图和计算图,设备图表示所有现有的硬件以及设备如何相互连接。 后者表示如何为CNN网络分配设备图。提出了代价模型,通过动态图搜索算法,利用G. Habib和S. Qureshi沙特国王大学学报4249×- ××××提出的成本模型。逐层并行通过最小化通信成本、提高吞吐量而比现有技术水平表现得更好,并且在添加许多设备时显示出更好的可扩展性(Jia等人, 2018年)。( Minji Wang Chien-Chin Huang et al. 2018 ) 现 有 的TensorFLow和MXNET等系统一次只关注一种并行化技术,需要大规模的数据集来扩展。作者提出了一种新的方法来寻找最佳的平铺方法来划分张量,同时降低设备之间的通信成本。所提出的方法基本上是数据和模型并行化(大豆)技术的混合。该SOYBEAN技术负责寻找自动并行化技术。作者观察到,当在AlexNet和VGG上实现时,SOYABEAN比数据并行性好1:5 4(Wang等人, 2018年)。(Zhihao Jia Matei Zaharia et al. 2019)提出了CNN并行化技术的扩展搜索空间,称为SOAP。SOAP由负责在样本、操作、属性和参数维度上并行化CNN他们还提出了一个深度学习平台FlexFlow,负责为特定机器找到最佳并行化技术。该框架使得最佳等位基因化技术的预测比以前的技术快三倍。该框架在六个深度神经网络模型上进行了评估,其中包括两个GPU集群。所提出的平台能够将训练性能提高3: 8的最先进技术。该方法也被证明可以提高大量设备的可扩展性(Jia等人, 2018年)。(Yosuke Oyama Naoya Maruyama et al.(2019)已经观察到,在模型并行性的增加,在小批量。小批量大小的增加导致准确度逐渐下降。因此,最小批量极大地限制了并行性的最大量。这可以通过混合并行来解决,其中最大并行量可以超过小批量大小。作者使用3DCNN通过在128个GPU上利用混合并行来预测来自3D质量分布的宇宙学参数,并使利用率大于样本大小的64倍。该模型允许用户利用模型划分的样本,以及空间维度的每一个单独的层。这带来了不同GPU之间的灵活性和完美的负载平衡。作者通过利用在128 Tesla V 100 GPU上达到171 T/Flop/s的混合并行性成功地训练了Cos-moFlow框架的加速(Oyama等人, 2019年)的报告。(Nikoli Dryden Naoya Maruyama al 2019)随着数据集规模的不断增长大数据集的使用需要大量的内存,这也是需要解决的问题之默认数据并行不是解决方案,因为它将样本划分为小批量,但限制了大的小批量大小的可扩展性,并且内存消耗使得卷积的实际实现变得困难作者提出了一种新的卷积算法,它结合了样本以及空间张量分解。作者还设计了CNN的性能模型在ResNet-50上对所提出的图像分类算法进行了评估。他们表明,与先前的parallelization方法相比,他们提出的方法表现更好,并且提供了弱和强缩放,并且该方法允许对非常大的不可达数据集进行训练(Dryden等人, 2019年)的报告。(Fabiola Martins campos de Oliveira Edson Borin 2019)提出了一种新的算法,用于划分神经网络以实现高效的分布式环境执行。所提出的算法是负责优化的推理率和减少通信设备的神经网络。使用LeNet 5用于在有限数目的步骤中试验推理速率最大化。该算法每秒为分割LeNet 5提供的推断比最流行的分割框架(如TensorFlow和Metis)多38%作者使用9种方法划分CNN,用于分析分布式环境对物联网(IOT)约束设备的他们实现了提议的深度神经网络-DN2PCIoT在多个IOT设备上以分布式方式划分以图的形式呈现的神经网络,旨在实现各种设备之间的最大所提出的算法还负责解决由CNN参数和偏置有效共享的网络系统的内存需求,使得所提出的框架结果在IOT设备的有效分区中。DN2PCIoT还使整个系统变得灵活,并允许使用其他目标函数(Fabiola和Edson,2019)。(黄肇宗、丁玉春等)2019年),因为CNN加速器很难在边缘设备上支持高质量的图像和因此,微架构,这是计算和存储器效率的嵌入式设备是至关重要的,以加快训练推理。本文提出了一种基于硬件的网络模型ERNet,用于在硬件约束条件下对图像和视频分辨率进行优化作者还提出了粗粒度的指令集架构,FBISA,以满足功耗限制 卷 积 利 用 大 量 的 并 行 。 最 后 实 现 了 嵌 入 式 CNN 处 理 器(eCNN),该处理器集成了ERNet和FBISA,具有更灵活、可扩展的体系结构。作者表明,ERNet支持高质量和超分辨率,并在使用DDR-400时支持高达4K Ultra-HD 30 fps的去噪,消耗6.94 W(Huang等人,2019年)的报告。(Li Zhou Mohammad Hossein等人,2019)满足低约束IOT器械的要求。作者提出了自适应CNN框架,特别用于优化异构物联网环境。作者利用空间分区以及卷积层的融合,这是负责根据可用的计算资源池动态地实验结果表明,该框架在推理速度的性能评价和通信成本的降低方面优于现有技术作者在Raspberry-Pi 3无线连接设备上进行了实验据观察,所提出的框架通过使用三种不同的CNN模型(ResNet,VGG 16,YOLO)利用总共8个设备来实现1:9 3:7的加速(Zhou等人, 2019年)的报告。(凌浩宋佳晨毛等2020)由于要求使用CNN在各个领域吞吐量和效率的提高至关重要。为了实现这些目标,硬件加速在所有学术和工业领域被广泛研究。大多数情况下,多个加速器用于提供提高的吞吐量和提高的能效,以加速CNN的训练这些技术带来的最大挑战之一作者提出了预测由DNN加速器阵列组成的神经网络的逐层并行性的最佳解决方案HYPAR所提出的技术基本上划分了神经网络加速器的输入和输出特征图、梯度张量、误差张量和核张量优化任务的主要动机是找到最佳可能分区,该分区将增加吞吐量以及最小化通信成本。G. Habib和S. Qureshi沙特国王大学学报4250×××LL××.Σð×Þ×图三. CNN的组成部分加速器,同时完成深度神经网络的训练。作者利用通信模型确定通信代价,并采用分层动态规划方法确定各层的划分。该方法的时间复杂度是线性的。提出的模型在从基本LeNet5到VGG 19的10个深度神经网络模型上实现。他们得出的结论是,模型并行是最差的,数据并行不是最好的并行技术。混合并行比两者都好。 他们的结果表明,HYPAR比默认数据等位性实现了3:39的性能增益和1:51的效率,比“一个奇怪的技巧”(Song等人, 2019年)的报告。3. 为什么CNN我们从MLP转移到CNN极大地减少了整个网络的参数数目,使网络计算强度降低另一件事是维数减少,因为在网络中引入极化层。通常使用最大池化或平均池化,但这些池化技术已经取得了很多进展,以加速网络的效率。这也是负责诱导的平移不变性和增加的局部感受野的大小在下面的CONVO层。在多层预控制器(MLP)中没有权重共享的概念,因此这些网络对于小数据的训练是可行的,并且大数据将急剧增加使网络计算密集的参数的数量4. CNN组件简单卷积神经网络(CNN)可以被认为是通过池化层和非线性,以使用损失函数将在一端接收的一种形式的激活转换为在另一端接收的另一种形式的激活。CNN的分量表示为3。4.1. 卷积层卷积层由卷积核或滤波器组成这些滤波器与被称为局部感受野的输入原始图像的小网格耦合这些滤波器将整个图像划分为小网格3 3或5 5,并将这些小网格与内核或滤波器卷积,从而生成特征图。卷积层负责提取局部空间特征,并负责完成大部分计算繁重的负载。典型的卷积运算如下:Xi;jωWk其中,X表示具有空间局部性的输入图像表示第k层的第l个核。卷积层的输入是H W C的形式,其中h是输入图像的高度,W表示输入图像的宽度,C表示输入图像的深度 下图 4给出了典型卷积运算的见解。见图 五比八自2012年深度神经网络Alex Net取得成功以来,对CNN进行了几项改进,使表1列出了卷积层的一些改进。4.1.1. 池化层Pooling层:Pooling层是非常重要的一层,添加在卷积层之后,特别是ReLu层之后。这一层负责缓解输出特征映射对输入中存在的特定特征的位置的敏感性的问题。池化层使输出特征对图像中特征的重新定位(也称为方差平移)更加鲁棒。因此,它诱导了网络中的平移不变性,并且还有助于避免网络的过度拟合见图4。卷积层中受体场的可视化。G. Habib和S. Qureshi沙特国王大学学报4251[½× ×]半×]×图五. SGD优化器的分类。见图6。 分类展示了基于高效卷积的训练加速方法。见图7。 Winograd卷积。网络例如,大小为224 224 64的输入被下采样为大小为112 112 64的输出,其中滤波器大小和步长为2。最大池和平均池是两个常见的使用pooling技术。这些技术面临着一些挑战,并通过改进的合并技术进行了斗争,汇总在下表中。最近的几个池,用于G. Habib和S. Qureshi沙特国王大学学报4252¼ð Þð Þ8-.Σ-其中,Wk kk次迭代,k表示学习速率。SGD优化器的详细描述以及每个优化器提出的挑战总结在表5和表6中。总结为解决这些问题,现提出以下解决办法:1. Momentum,NAG解决了第一个问题,但NAG显示出比Momentum2. Ada grad,RMSprop解决了第二个问题,但RMSprop显示出比Adagrad3.“自动协调机制”和“不结盟运动”处理这两个问题,是更好的解决办法。5.1. 使用快速卷积提高训练和推理速度见图8。 扩张卷积。进一步提高常规CNN的性能的方法4.1.2. 全连接层该层主要用作网络的最后一层,并与前一层的所有激活具有完全连接性。该层负责通过从所有不同的特征提取阶段获取输入来执行全局操作,并对所有后续层的输出进行全局分析4.1.3. 激活函数激活函数在神经网络中执行决策工作,并帮助从输入图像中学习复杂的特征。在从原始输入数据中学习复杂模式时,激活函数的正确选择可以加快训练过程。表3中列出了CNN使用的各种现有的以及最近的激活函数4.2. CNN架构1998年至2019年的CNN架构总结见表4。5. 卷积神经网络神经网络的训练是繁琐的,需要花费大量时间,有时训练神经网络可能需要几天甚至几周。这限制了深度学习系统在各个研究领域的应用。由于这些原因,需要有效和改进的训练速度来执行这种应用,特别是在考虑CNN的并行化时。随机梯度下降(SGD)及其变体是用于训练深度学习模型(CNN)的最广泛使用的算法。SGD是一种一阶优化算法,发现它梯度均匀性同样在这种情况下,在训练过程中调整超参数学习率a以确保它收敛到局部最小值而不是围绕它移动变得很麻烦。调整衰减率a也很困难,并且随着不同的数据集而变化。SGD的数学迭代如下:Wk¼Wk1-ak15fWk-1;14用于提高卷积神经网络训练速度的快速卷积策略分类如下:卷积神经网络(CNN)在图像处理领域取得了巨大的成功,在计算机视觉、自动驾驶等领域得到了广泛的应用CNN结构复杂,需要处理大量数据,导致其计算负担增加因此,限制了其在资源受限设备(如基于物联网的应用和嵌入式系统)中的实际已经设计了几种加速方法来缓解这些问题,并将CNN完美地Denil等人(2013)指出了神经网络中的一些参数减少。Han et al.(2015)和Zhou et al.(2017)压缩了神经网络,但准确性没有太大下降。Zhang等人(2008)利用低秩近似进行有效的矩阵乘法。所有的方法都执行得很好;有他们的优点和缺点在他们的地方。图中给出了用于加速训练时间和基于有效卷积提高推理速度以上Strassen算法:Strassen算法用于确定如何有效地执行矩阵乘法,以减少与传统方法相比的加法和乘法操作的数量。Strassen算法的数学证明在Yulin et al. (YYYY),并表明Strassen算法与常规算法相比,只利用7次乘法运算而不是8次和18次加法,而不会显著改变计算结果。Strassen算法的递归版本Rithm 可 以 节 省 高 达 1-7N , 其 中 N 表 示 递 归 次 数 。 在 Yulin 等 人(YYYY)中给出了用于执行特殊矩阵乘法的Stassen算法的结构细节该算法分为三个阶段;其阶段负责在将输入数据发送到卷积层之前使用参数矩阵对其进行转换。第二阶段初始化8个并行卷积模块。第三阶段从这8个并行模块中获得特征图的输出,并使用参数矩阵进行转换(Yulin等人, YYYY)。缺点:该方法适用于大矩阵,但如果矩阵太大,则该方法失败并导致系统的整体性能下降已经观察到,与传统技术相比,它执行动态功耗的降低,但是由于其增加的信号速率,在信号功率和逻辑功率方面不能优于传统技术。Winograd算法:Winograd最小滤波算法,由Toom(Andrei,1963)和Cook(Cook,1966)给出Y. Xiong et al.G. Habib和S. Qureshi沙特国王大学学报表42534253×××××Convolution的进步卷积方法描述可视化平铺卷积平铺CNN的CNN变体,使CNN能够通过平铺和乘以不同的特征图来学习旋转和尺度不变的特征,平铺CNN的性能优于传统CNN的Ngiam等人, 2010转置卷积卷积运算的逆过程,有时称为反卷积。它不是将不同的传入激活链接到单个激活,而是将单个激活链接到许多传出激活卷积运算的逆过程,有时称为反卷积。它不是将不同的输入激活网络中的网络(NIN)由Lin等人给出的NIN用非线性滤波器或具有复合组件的微网络代替传统CNN中的线性滤波器,以解决方差并增加局部感受野的辨别能力。2014年。微网络的初始化是由多层感知器(mpconvlaye)完成的,被称为最佳函数逼近,网络中的网络
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功