华为诺亚实验室:端侧AI模型的技术进展与未来|量子位·吃瓜社

      最后更新:2020-05-30 09:57:57 手机定位技术交流文章

      演讲者|华为诺亚实验室量子编辑王运合|公开号码QbitAI

      在过去的两年里,终端人工智能在技术和应用上取得了飞速的发展。与云端人工智能相比,端人工智能具有低延迟、保护数据隐私和安全、降低云能耗、网络稳定性独立等显著优势。

      然而,终端人工智能也面临着巨大的挑战,如计算需求大、实时性要求高、受限于操作环境、内存、存储空等。面对这些挑战,人工智能最终取得了哪些技术进步?未来将如何应用?

      5月13日,华为诺亚方舟实验室技术专家王运合在量子比特吃瓜协会第九届在线活动现场分享了人工智能模型的最新技术进展。

      共享的主要内容包括:

      最后介绍了人工智能模型的背景,如何压缩和加速神经网络模型,如何搜索神经网络体系结构,如何保护用户隐私等。在文章的最后附有现场回放链接和PPT采集方法。以下是由昆比特吃瓜俱乐部组织的云荷老师分享的内容:

      大家好,我是王运合。我于2018年毕业于北京大学。现在我在华为的诺亚方舟实验室。我的主要研究方向是末端人工智能模型的优化和加速。

      很荣幸今晚能参加量子比特吃瓜俱乐部的在线活动,并有机会与大家分享一些相关的工作。我今天谈论的主要是终端人工智能模型,包括我的公司和学术界的一些新发展。

      在今天的分享中,我将首先介绍终端人工智能模型的相关背景。然后介绍了三种框架的最新技术进展,包括如何压缩和加速模型、如何搜索框架以及如何保护用户的隐私数据。然后我会给你看一个案例,它是华为终端的人工智能算法和上升芯片的结合。最后是总结,包括我们使用的算法和未来的计划。

      终端人工智能模型的背景介绍

      针对最终人工智能,我们主要对深层神经网络模型进行结构优化,使其最终达到更好的性能。首先,让我们看看深层神经网络体系结构的发展。

      上图是LeCun于1998年提出的LeNet,它是一个五层或六层的神经网络,用来建立一系列的手写字体号码识别。这是第一个商业上可用的神经网络,只有5个卷积层和51K参数,速度也非常快,用于许多手写字体识别场景。

      上图显示了深层神经网络框架的演变。自从LeNet手写字体识别在1998年开始,从现在到深入的神经网络已经有很长一段时间的沉默。

      2012年,AlexNet在ImageNet的大规模物体识别比赛中获得冠军。当时的实验结果远远超过了其他传统手工设计的精度。虽然AlexNet在我们看来是一个相对较小的模型,但它当时是在两个NVIDIA图形处理器上训练了6天。

      2014年,更多不同的模型被提出,包括谷歌、VGG和其他非常深和非常大的神经网络。深度神经网络正逐步应用于更广泛的领域,如超分辨率成像神经网络、GAN成像对抗模型等。

      2015年,这些深层神经网络将在更高层次的语义学中得到进一步推广。例如,在此时间段内,提出了快速R-CNN目标检测网络和ResNet深度残差神经网络。

      2017年取得突破性进展。例如,AlphaGo通过使用强化学习深度神经网络超越了人类围棋冠军。移动互联网和网络连接存储也是在这个时候提出的。

      到2018年,一个更大的BERT预训练模型将在NLP任务中表现出非常好的表现。胶囊网等相继被提出。

      现在我们仍在探索什么样的神经网络是更好的架构,它可以产生更好的性能,也带来更好的用户体验。

      如上所述,许多深层神经网络已经实现了更好的性能,但是当将模型从云迁移到端时,存在许多问题。

      首先是隐私和安全。对于训练有素的模型,当用户数据不公开时,我们不能使用这些人工智能模型。

      第二个是时间延迟问题,这个问题已经引起了很大的关注。云上的人工智能模型具有非常好的特性,但是它们的计算量也相应地非常大。当它被移植到计算能力较低的终端人工智能设备时,时延是一个亟待解决的优化问题。

      第三点是可靠性。尽管终端测量设备可以将我们需要的任务和数据传输到云进行推理,但有时连接到云的网络可能不稳定。例如,自动驾驶,在一些无人地带或地下车库,因为网络不可靠,我们需要在本地推出人工智能模型。

      最后,还有能源消耗问题,这一问题在过去两年中受到了极大的关注。人工智能模型在推理过程中会产生大量的计算量。如果将其放置在终端移动设备上,将会产生非常大的能耗。特别是在AIoT应用中,许多终端处理器的电池容量相对较小,这种大量的深度神经网络计算将导致设备使用寿命的降低。

      如何压缩和加速神经网络模型

      麻省理工学院的韩松老师在2015年提出了一些观察结果:在预先训练好的AlexNet和VGGNet模型中,去除约90%的参数后,精确度仍然完好无损。因此,韩松先生开始提出一些模型压缩技术。

      如上所示,预先训练的神经网络模型识别一些不重要的权重,然后对其进行微调以确保其准确性。接下来,通过权重的量化和熵编码获得非常小的压缩文件。那时,最佳结果可以达到模型压缩比的40倍以上。

      这种方法的唯一缺点是,尽管可以构造非常稀疏的神经网络,但是它的计算是非结构化的,并且它的稀疏性需要一些特殊的技术来帮助实现,这在大规模的GPU计算单元上是难以加速的。接下来,让我们介绍一下华为为解决这个问题做了些什么。

      频域模型压缩技术(NIPS 2016)

      第一项工作发表在NIPS 2016上,这是一种频域模型压缩技术。如下图所示,第一行是通过算法压缩模型的神经元参数的过程。这张图是当时卷积神经网络的可视化。本质上,这些卷积核仍然需要从自然图像中提取一些重要信息,如斑点、条纹等。

      因此,我们建议使用离散余弦变换作为模型压缩。首先,对卷积核进行离散余弦变换,生成频域系数。然后在频域进行K均值聚类,挖掘卷积核和卷积核之间的冗余信息。最后,L1被用来修剪,量化和差分编码与最小的权重,以获得压缩模型文件。

      第二行是模型加速。压缩完成后,我们不希望在线推理时压缩的模型被解压缩。因此,与此同时,通过使用离散余弦变换变化,输入数据被用于在频域中生成一系列离散余弦变换产物。该系列中的每个特征图可以理解为左侧输入数据与相应的离散余弦变换的乘积的卷积计算,以生成中间特征图。然后,我们对这些卷积核的系数进行加权线性组合,在频域中进行稀疏处理,以生成该层的压缩特征图。

      这里有一个有趣的现象。由于离散余弦变换是正交变换,我们利用原始卷积核在空域与原始图像进行卷积计算,生成特征映射,相当于在离散余弦变换频域进行卷积计算。这可以确保我们也可以在频域中实现模型压缩和加速技术。

      下图是当时的一些实验结果。从容量上看,这种模型压缩的技术效果非常显著,包括AlexNet、VGGNet、ResNet都有很好的压缩比和加速比。但是也有一些缺陷。尽管内存和理论计算复杂度有所下降,但在实际应用中很难将加速比改为在线推理的加速比。

      基于对抗学习的知识提取方案(AAAI 2018)

      除了上述修剪预先训练的卷积神经网络的卷积核的技术之外,另一个技术路线是使用较大的教师神经网络来帮助较小的学生神经网络学习,希望较小的学生神经网络可以达到与较大的教师神经网络相同的精度。

      通常我们设计的学生神经网络比较小,所以如果它的精度能与教师神经网络一致,学生神经网络的推理速度就能达到一个较好的水平。模型压缩的思想是由辛顿首先提出的,它帮助我们更好地学习一些较小的神经网络,同时保持精度。

      华为提出了一种基于对抗学习的知识提取方法。顾名思义,GAN技术是在上述教师和学生的神经网络的知识提取过程中引入的。具体来说,在整个PipeLine中,我们将需要训练的数据集同时输入到教师和学生的两个神经网络中,并在得到它们的特征时添加一个鉴别器。其目的是将教师和学生的神经网络特征同时输入到鉴别器中,希望如果鉴别器最终不能鉴别出教师和学生的特征,它将把同类特征混合在一起,有助于提高学生神经网络的准确性。

      自动修剪和量化(SIGKDD 2018)

      第三个任务是筛选模型中多余的神经元。我们提出了一个自动剪枝和量化的进化策略,发表在SIGKDD 2018上。我之前所说的是通过人工先验知识来识别卷积神经网络中的冗余信息。例如,如果一个神经元相对较小,并且认为它对输出特性图的影响相对较小,我们将删除它,这样它的精度一般不会丢失。这种方法的缺点是需要对神经网络进行逐层剪枝。

      因此,我们提出了一个新概念,将神经网络的剪枝视为一个全局01规划问题。我们对预训练的深层神经网络的每一层中的每个卷积核进行01编码,以获得长的01编码串。在进化算法的过程中,会产生一系列的种群。下图显示了进化算法的实验过程:

      左边的每个红点代表搜索过程中产生的神经网络。横坐标表示执行算法所需的迭代次数。纵坐标是适应值的函数。这里我们使用评估过程中的单个网络的精度值和剩余神经网络参数的测量指标。我们希望精度越高越好,网络的稀疏度越高越好。指数越高,我们将得到一个更小、更精确的网络。

      从视觉结果来看迭代过程,在以前的迭代过程中,网络的精度很低,但其冗余度相对较高。通过进化算法的逐步迭代,中间的一些网络会产生更好的性能,但模型相对较大。在最后一次优化截止之后,我们得到了一个非常小的网络模型,只有103kb,最终精度是99.2。这是一个非常小的MNIST网络。它的基线是1.5G型号。通过优化进化算法,压缩比可以达到15倍左右。

      这种卷积核修剪不同于刚才提到的权重修剪。由于卷积核剪枝后一些神经元被直接切断,我们可以直接梳理出一个比较好的紧凑的神经网络结构。我们用这种方法制作的神经网络可以直接应用到实际过程中,产生了很好的加速效果。

      在实际应用中做一些项目和产品时会有更多的要求。例如,我们需要对神经网络的权重和激活函数做一些量化运算,然后我们将引入一些遗传算法来进行搜索。优点是我们可以在搜索过程中同时导出这个帕累托边界。用户可以根据自己的倾向,例如,模型尺寸较小但精度稍低,或者模型尺寸中等但精度较高。

      上图是卷积核剪枝的结果,可以同时输出帕累托前沿。这是一种相对简单易用的技术,我们经常在实际项目中使用。

      用于生成模型的协同进化压缩算法(ICCV 2019)

      这项工作是自动修剪和量化的继续。在此之前,深度神经网络的大量模型压缩算法都在讨论如何压缩和加速ImageNet、图像识别等任务,很少讨论如何压缩生成的模型。

      因此,我们提出了一个共同进化的压缩算法来帮助我们优化预训练的模型,如CycleGAN。我们用01在预训练发生器中编码卷积核。0被保留,1被删除。同时,因为CycleGAN的原始结构必须同时维护两个生成器,所以我们的算法同时维护两个种群。这两组的优势在于,在CycleGAN的整个结构优化过程中,下一次迭代中的生成器A可以在前一次迭代中找到生成器B的最优结构,这有助于我们进行迭代和交互。经过连续迭代直到算法收敛,生成元A和生成元B将同时获得原网络的属性,从而减少整个网络的计算量和成本。

      在这项工作中,我们提出了一些压缩氮化镓的指标。例如,鉴别器会有一个损失,也就是说,我们期望压缩的GAN生成的一些图像被放置在原始鉴别器中,这仍然与原始真实图像不可区分,也就是说,我们仍然希望尽可能地保持图像生成能力。

      右上角是一些可视化结果。第一个是完整的从马到斑马的结果。左侧是输入图像,右侧是本机CycleGAN输出的斑马图像。如果我们使用传统的模型压缩技术来修剪这个生成器,我们可以看到从马到斑马的任务不能保持好的结果,并且生成的图像质量非常差。

      右下角是CycleGAN对六个数据集的压缩和验证结果。可以看出,在实践中我们都可以获得6.8秒到2.1秒的测量推理速度。我们应该注意这里的一个问题。CycleGAN的型号并不大。压缩比之前模型的大小只有40G,但是浮点运算将非常大,浮点运算的计算与输入图像的大小和每一层的特征图密切相关。这种图像生成模型的特点是输入图像有多大,而输出图像通常有多大甚至更大。对中间特征图的一些密集计算将使FLOPs带非常高。因此,这种模型加速算法可以将CycleGAN的模型大小和浮点运算增加5倍。

      我们还发现了一些有趣的规则。CycleGAN的设计是两个发生器具有相同的结构和相同的参数量,但是通过这种共同进化压缩,将会有不同的位置。最后一行的数据集是街景图和语义分割图的转换。可以看出,在A2B任务中实现了更高的压缩比,但是在B2A不能实现这样高的压缩比。原因可能是从真实街景图到像素图的任务相对简单,因此所需的参数和计算量将相应减少。通过这一发现,希望对以后的GAN设计有一定的启发意义。

      高效单元和结构设计

      我之前所说的都是关于如何优化和删除预先训练好的模型,并加速在线推理。除了如何去除原始的冗余信息,另一个技术路线是如何设计一个有效的单元结构。我们已经做了很多尝试。

      华为在2018年提出了多用途卷积内核,并在神经网络上发布。我们发现卷积核有许多参数,但是它不产生许多特征,所以我们的想法是如何使用预设的卷积核参数来产生尽可能多的特征。

      以5×5的卷积核为例,我们将进行三次卷积计算,即5×5一次、3×3一次和1×1一次,然后5×5的原始卷积核可以产生三个特征。最初,一个神经网络需要三个特征,也就是说,三个卷积核,但是现在只需要一个卷积核。通过这种参数共享,可以减少原始神经网络架构设计中所需的参数数量和大量神经计算。

      同时,我们扩展了在空之间更频繁使用的卷积核,并在通道中引入步长的概念以生成更多的特征。通过复用卷积核,产生了更有效的神经网络设计。右边是多用途卷积核的扩展。我们使用全精度神经网络卷积核通过边界掩码生成子卷积核,然后重用原始的全精度参数。然而,它是用更简单的一位参数量生成的,并且它的计算也可以用这种方式筛选。

      这是华为在ICML2019上提出的乐高卷积内核。具体的东西和乐高非常相似。如上所示,正常的卷积核是上面不同颜色的立方体,它们通常是具有大量通道的卷积核。在乐高卷积核中,我们将生成一些更小的卷积核,并且通道的数量比原始构造中所需的通道数量少得多。在学习深层神经网络的过程中,我们不学习原来较长的卷积核,而是学习较小的卷积核和较小的卷积核在相应位置的排列和组合。如图所示,通过学习小卷积核的排序和权重,可以极大地优化整个网络的计算和所需参数。

      下面是乐高卷积核如何在实际计算中使用,以帮助我们在线做出一些推论。根据Lego卷积核,我们对输入数据x进行分割,并逐个绘制其特征图。最后,我们将它们组合在一起,根据上面学习的排列、组合和拼接方法生成输出。

      我想在这一部分分享的是,除了一些现有的神经网络架构,实际上还有更多的算子值得探索。谷歌也不断提出一些新的业务,比如深度智慧。虽然在现有的一些推理平台上很难实现实际的压缩和加速,但我认为这些探索对未来的神经网络体系结构设计也具有重要意义。

      GhostNet:业界性能最佳的终端人工智能架构(CVPR 2020)

      沿着刚才提到的路线,我们一直在尝试制造一个更好的神经网络架构。在今年的CVPR,华为提出了GhostNet。如果没有任何额外的培训技能,包括学习速度和数据扩展,GhostNet的性能相对较好。

      我们之前对ResNet、VGG和普通神经网络体系结构的观察发现,当输入相同的数据时,特征和特征之间的冗余非常高,并且经常出现一些非常相似的特征。这些非常相似的特征可以通过更简单的改变而不是如此大量的卷积计算来产生吗?

      GhostNet的想法是,如果输入通道是c,正常的神经网络需要n个输出通道,但是在具体实现中,我们用较小的m表示卷积核通道数,m=n/2。在此生成的要素图直接馈送到输出图层后,剩余的要素也通过一些简单的转换通过m通道生成。在具体的实现中,因为我们的主要目标是在CPU上产生更好的结果,所以我们使用DepthWise来代替大量的计算来构建这个架构。

      左下角是一个具体的实验结果,当时GhostNet比MoblieNetv3高。对于相同的FLPOS,精度提高了约0.1个点。在实验中,我们将这些模型放在末端设备上。这里我们用一个980中央处理器来测量速度。我们可以看到,虽然已经添加了许多深度方向的操作,但是这个操作在CPU上非常友好。在堆叠了一些GhostNet模块后,我们取得了很好的加速效果。蓝线也是我们自己复制和测试的手机。我们可以看到GhostNet在同样的精度下将测量效果提高了15%。右边是GhostNet应用于目标检测,这也产生了更好的结果。

      AdderNet:使用加法代替乘法的深层神经网络(CVPR 2020)

      在众多的模型压缩算法中,压缩是卷积神经网络中必不可少的乘法运算。我们的想法是,如果乘法可以用加法来代替,它带来的意义和降低能耗的指标都超出了我们的预期。

      本文提出卷积的本质也是度量的函数,度量的是特征和卷积核之间的余弦相似性。通过将最后一个神经元限制为两个,可以实现良好的特征可视化,左边是加法,右边是乘法。可以看出,乘法特征都是径向的,分类器会根据不同特征的角度进行比较来区分每一种类型。根据输入数据的类别中心来区分加性分类器。

      观察结果用公式表示。原始输入数据X和卷积核数据逐位相乘,然后求和。除了神经网络,它变成了另一种形式,即从卷积核中一点一点地减去输入数据x,取绝对值,然后取负数(取负数的目的与卷积相同,当x在卷积中完全等于f时,这样的事情是最相似的)。同时,我们还对这些特征进行了BN、ReLU等操作,保证了整个神经网络的训练。此外,我们还使用了训练技术,如学习率调整和梯度剪辑。

      右边是对图像分类的验证,性能与原神经网络基本相同。在ImageNet上,结果是我们在ResNet50上的精度损失Top5与基线的乘法神经网络相比相差1.2。在我们的最新结果中,我们通过一些额外的训练技术进行了优化。这种加性神经网络的精度高于乘性神经网络。

      这也与BN相比较,因为这种加法计算实际上相当于权重为1位、激活函数为32位的计算。这时,另一个问题将会出现。32位加法的能耗将相对较高。我们最近正在做的是将所有的加法参数和激活函数改变为8位。获得的精度与以前基本相同,并且降低了能耗。

      我们希望改变现有的人工智能系统框架,用加法代替乘法来达到降低能耗和提高性能的目的。一些学生在接二连三地问开源。我们已经公开了一些推理代码和简单的训练技巧。我们将力争在两个月内做好开源工作。

      如何搜索模型架构

      接下来要分享的是过去两年热门的模型架构搜索。神经网络架构搜索的概念是由谷歌在2016年提出的。这也是使用进化算法作为种群的概念。将大量的神经网络块和公共单元进行堆叠,然后通过进化算法的概念对种群进行倍增和进化。

      他们面前是一些非常简单的网络,精确度相对较低。通过进化算法,对大型网络进行高精度搜索。由于谷歌的计算资源仍然有相关的人力投入,我们现在看到,谷歌的网络连接存储技术和自动化技术相对先进,谷歌的高效网和高效检测在不同任务上搜索到的神经网络框架相对良好。

      基于连续进化的神经网络架构搜索算法(CVPR 2020)

      让我们先分享一个不同的概念。在大多数论文中,每个人的报告主要集中在FLOPs和mAP上,但是这一理论的计算复杂性远远没有达到模型在公司实际应用中的测量速度。举一个简单的例子,如果我们制作一个DenseNet,去掉DenseNet的所有卷积核,但保留Concat、Short-cut等。,然后测试它的实际速度仍然很慢。

      因此,我们提出了这个概念。第一步是将硬件作为压缩模型搜索的工具。搜索索引不再是理论上的计算复杂度,而是将实际模型的推理速度发送给手机,然后返回这个索引来做模型优化的索引。通过这种终端云协作,我们可以找到最适合我们当前硬件的模型。还有一些技术细节。该算法可以继承上一次搜索得到的体系结构的一些参数,并且每次都更新Pareto前沿的一些体系结构和参数。通过这种方式,我们可以在图形处理器上搜索。

      与其他模型相比,这个结果仍然是好的。在相同的搜索空的情况下,我们搜索的模型将比用具有相同精度的飞镖算法搜索的模型快两倍(这里不是训练速度,而是搜索模型的推理速度)。通过硬件在环思想,我们可以将搜索模型部署到特定的设备上,以达到更好的效果。这也反映出理论算法与实际推理速度相差很大。因此,在实际工程项目中,我们将把人工智能模型的测量速度作为更重要的指标。

      轻量级超分辨率模型架构搜索(AAAI 2020)

      大量现有的网络连接存储算法运行在分类任务上,很少有模型关注底层的愿景。

      因此,我们提到了使用AutoML来生成一些更好的模型。CARN算法目前是一个更好的超分裂模型。在这一部分中,我们提出了几个更适合于超子网模型的模块,然后通过模块的组合、连接和设计来进行算法搜索,产生一个更适合于超子网的模型。

      在标准数据集上的验证结果表明,PSNR比SOTA超子模型高约0.5 db,推理速度快0.2秒。当用户实际拍照时,可以感觉到这200毫秒。推理时间越长,用户的体验就越差。

      下面是一些具体的可视化结果。原始图像是标准的高清晰度图像。在相同的触发器和模型大小约束下,上述算法搜索得到的可视化结果优于其他算法。这篇论文是今年在AAAI发表的。你可以看到其中的细节。我们也将在五月底开放源代码。

      二元神经网络的等价问题

      我们也对汽车做了更多的探索。这项工作是寻找二元神经网络的等价性。

      众所周知,1位神经网络的精度不是很好,但它具有很好的能耗、速度和模型尺寸。我们可以将全精度神经网络的大量密集计算转换成1比特的相对简单的计算。如何开发高精度的1位神经网络一直是人们关注的问题,这方面的论文也很多。

      在这项工作之前的观察是,如果我们将1位神经网络的宽度从1调整到2、4、8倍,并且发现当4倍时,1位神经网络的精度,即它在ImageNet上的精度,可以接近甚至完全精度超过原始的32位神经网络。继续扩大,也会产生更好的效果。

      我们在这个方向做了一个尝试,把1位神经网络的宽度作为编码信息,然后用进化算法进行搜索,搜索结果在右上角。我们可以调整1位神经网络的宽度,以产生具有更高精度和可控计算复杂度的实验结果和现象。这项工作的实用性和意义是相当大的,现在有人开始关注它,并在华为的一些实际项目中使用了它。

      如何保护用户隐私

      我们接下来想分享的是,当我们压缩、加速和搜索这些模型时,如何保护用户的隐私。学术界可能不太关心这个问题,因为许多训练有素的神经网络使用一些公共数据集。然而,在实际应用中,有许多涉及隐私的终端应用,包括面部解锁、语音助手、指纹识别和一些娱乐应用,这些应用基本上要求用户实时收集自己的一些隐私数据来完成培训。如果我们想获得这些私人数据,用户可能会感到焦虑。例如,以前流行的一键式变脸软件所面临的隐私问题也受到了极大的关注。

      然而,如果用户的本地训练模型,例如人脸识别和解锁,没有被很好地体验,或者人脸解锁相对较慢,并且希望我们优化他的人工智能模型的速度,但是他不想给我们人脸,而是只想将他的训练好的人工智能应用于我们,在这种情况下如何进行一些模型压缩和加速?我们提出两种解决方案。

      第一种方案是左下角的无数据方案,这是一种不需要任何训练数据集的模型压缩技术。我们把用户给出的网络放在这里。网络的结构和权重信息未知。我们只知道网络的输入接口和输出特性是什么。在这个方案中,如果我们有这样一个教师网络模型,我们将有一个理想的学生网络模型,它可以根据速度、大小、能耗等进行设计。我们需要提前。然后在前端连接一个发生器,将输入的随机信号送入发生器,生成的图像送入教师网络提取信息,生成的数据在教师网络中有望表现出非常好的特性,因此我们认为它更符合原教师网络要求的训练数据集。

      使用这个生成器和生成的图像,它的标签由教师网络标记,这样我们就可以构建我们想要的数据集。通过这种方式,结合师生蒸馏法,帮助我们学习小学生的神经网络,可以产生很好的压缩效果。

      第二个方案是上图右下角的聚氨酯方案。如果用户只愿意给我们一点数据,比如说5%的数据,我们如何才能更好地完成压缩任务?这里有一种方法可以帮助我们在云中找到我们想要的数据。因为云上通常有大量未标记的数据,所以我们可以通过向云中添加一个PU分类器并结合用户提供的少量数据来获得一些有用的数据。利用原始的预训练网络对这些数据集进行压缩和加速,并结合知识提取,可以获得较好的压缩效果。

      没有必要训练数据的压缩方面(ICCV 2019)

      2

      首先,让我们看看未经训练的数据压缩方法的可视化结果。右上角是手写字体数据集。我们有一个训练有素的神经网络。我们可以通过无数据学习来模拟每种类型的数据。因为这个数据集实际上相对简单,它会生成一些图像的纹理信息。右下角是我们对一些人脸数据集的结果。由于机器识别不关注整个图像,而是关注眉毛、眼睛等的特征,因此会生成一些不同的纹理。

      实验结果表明,使用该方案学习学生网络,在CIFAR-10和CIFAR-100上都取得了较好的效果。例如,在CIFAR-10中,原始的教师网络是94.85,但是如果我们使用正态分布噪声作为原始数据的替换,其准确性是非常差的,因为它可能直接涉及到某种类型的识别,并且学生只能学习很差。

      我们在这里提到了另一种选择,即交换CIFS-10和CIFS-100,用CIFS-100替换原始的CIFS-10数据,然后得知准确率为90.65。虽然这两个数据集基本上是同源的并且非常相似,但是如果没有原始的注释信息,它们就学得不够好。无数据的思想可以从学生网络中学习到92.2的精度,比基线神经网络的精度低了约两个点,差异很大。这项工作也希望为做模型压缩和加速的学生提供一个新的想法,以及如何在制作终端人工智能框架时更好地保护用户隐私。

      云上的聚氨酯压缩方案

      PU指的是根据给定的数据识别哪些未标记的数据集是正样本,哪些是负样本,并从大量未标记的数据集中挑选出我们想要的并且对我们的任务有用的数据。

      云上图像压缩的一般算法如下:首先,利用图像压缩方法选择与用户给定数据集相关的图像,同时排除一些不重要的、看似无关的数据。由于这里使用了少量的数据和大量的未标记数据,效果非常好。例如,在CIFS-10上,我们仅使用原始的2%数据集,这可以达到93.75%。如果我们只有10%的ImageNet训练数据集,然后在更大的数据集上进行一些选择,我们也可以很好地训练学生网络的准确性。这是使用ResNet50来教授ResNet18的任务。老师是91.26。如果使用全套数据,学生为88.76。然后用聚氨酯法,学生可以达到86.0。

      这个想法也很有意义。我们还不断投资于研究。从完全未经训练的数据集到少量训练数据集,两个方向都给出了相应的解决方案,并取得了较好的效果。

      终端人工智能与华为上升芯片

      上述分享都是算法论文等研究工作。这部分是关于实际应用。

      这是今年华为开发者大会上的实时视频风格迁移。例如,我们输入电影的图像,通过GAN技术,我们可以实时生成一些电影。

      然而,这些模型的计算成本相对较高。在华为Atlas200上,其原始推理速度为630毫秒,远远超过了摄像机捕捉实时数据所需的速度。通过一系列模型优化技术,我们最终将模型的推理速度优化到40毫秒,差距超过15倍。如果我想每秒捕捉20幅图像,那么40毫秒足以完成实时推理。

      在这个项目中,我们使用了以下技术:

      模型蒸馏:从原始模型中移除光流模块,帮助我们解决稳定性问题。神经元修剪:降低视频生成器的计算复杂度。操作员优化:在不同的硬件上将有不同的最佳操作员和最佳架构。我们使用自动线技术自动选择最适合Atlas200的人工智能操作模型进行适应:包括各种风格的迁移。例如,由于今年的疫情,华为的开发者大会也将在网上举行。这是一个风格转换的现场演示,感兴趣的学生也可以看看(链接:https://developer.huaweicloud.com/exhibition/atlas _中立_ style.html)

      未来的前景

      从数据效率的角度来看,我们将使用GAN、PU学习、迁移学习、小样本学习等。帮助我们收集更好的数据。

      另一方面,人工智能模型的优化涉及到一些技术算法,如权重剪枝、模型量化、知识提取等。

      在计算机视觉中,有许多地方需要针对终端的人工智能模型进行优化,主要有两个方向:高级视觉和底层视觉。有很多研究和工程空可以做。

      最后,这些东西在华为的应用场景相对较低,包括自动驾驶、智能终端、平安城市、华为云等。

      我今天分享的所有内容都可以在Github的开源连接上获得。在不久的将来,我们还将开放——管道,这是诺亚实验室的一个自动化平台,它将整合我们更多同事的一些更好的东西和许多成功的案例来帮助我们制造自动化技术。谢谢你。

      入口

      本期直播链接:https://www.bilibili.com/video/BV1xT4y1u7Re

      获取链接:https://pan.baidu.com/s/18x2kJWZeYltu2WSMgi9NVg

      提取代码:x49q

      最后,云和先生经常分享他们对智虎的研究成果,包括最新的论文和开源链接。欢迎大家关注云和智虎先生的专栏:深度模型压缩领域论文

      -完毕-

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/7544.html

          热门文章

          文章分类