您的位置::金鸡五金网 >> 最新文章

反渗透系统谷歌MLKit核心功能Learn2Compress技术支持的自动模型压缩服务物流

时间:2019年11月29日

近日,谷歌在Google I/O发布了ML Kit,其核心功能之一是「Learn2Compress」技术支持的自动模型压缩服务。Learn2Compress可直接将TensorFlow模型压缩为TensorFlow Lite中的设备内置(on-device)模型,可在移动设备上高效运行,而无需担心内存优化和速度问题。

成功的深度学习模型的训练和运行通常需要大量的计算资源、内存和计算能力,这成为其在移动设备和物联网设备上表现良好的障碍。设备内置的机器学习技术使得在移动设备上运行推断成为可能,具有保护数据隐私和随处访问的优势,而无需考虑连接性。设备内置的机器学习系统(如MobileNet和ProjectionNet)通过优化模型效率来解决移动设备上的资源瓶颈。但是,如果希望为自己的个人移动应用程序训练定制的设备内置模型,该怎么办呢?

近日,谷歌在Google I/O发布了ML Kit,使所有移动开发人员都可以利用机器学习。即将推出的ML Kit核心功能之一是由我们的研究团队开发的「Learn2Compress」技术支持的自动模型压缩服务。Learn2Compress支持TensorFlow Lite中的自定义设备内置深度学习模型,可在移动设备上高效运行,而无需担心内存优化和速度问题。用于图像分类的Learn2Compress将很快可用,研究者可以通过ML Kit获取。Learn2Compress最初将提供给少数开发人员,并在未来几个月里扩大范围。如果希望使用此功能构建自己的模型,可以点击该链接进行注册:https://docs.google.com/forms/d/e/1FAIpQLSd7Uzx6eepXeF5osByifFsBT_L3BJOymIEjG9uz1wa51Fl9dA/viewform。

运行原理

Learn2Compress是对ProjectionNet等之前论文中介绍的学习框架的概括,结合了几种最先进的压缩神经网络模型的技术。它将用户提供的大型预训练TensorFlow模型作为输入,执行训练和优化,然后自动生成规模较小、内存效率更高、功耗更低、推断速度更快且准确率损失最小的即用设备内置模型。Learn2Compress用于自动生成设备内置机器学习模型。

为此,Learn2Compress使用了多种神经网络优化和压缩技术,包括:

修剪(pruning):通过删除对于预测结果影响最小的权重或运算(如得分低的权重)来缩小模型。该方法可以达到很好的效果,特别是对于涉及稀疏输入或输出的设备内置模型,这些模型可以被压缩到一半的大小,同时保留97%的原始预测质量。

离散化(quantization):该技术在训练过程中特别有用,可以通过减少模型权重和激活值占用的位数提高推断速度。例如,使用8位定点表示法替代浮点数可以加速模型推断、减少能耗,并进一步将模型大小压缩到原来的1/4。

联合训练(joint training)和精炼(distillation):该方法使用老师-学生的学习策略,即使用较大的老师网络(该案例中是用户提供的TensorFlow模型)来训练一个紧凑的学生网络(设备内置模型),确保最小的准确率损失。使用联合训练和精炼方法学习紧凑的学生网络。

老师网络可以被固定(正如在精炼过程中)或联合优化,甚至同时训练多个不同大小的学生网络。因此,Learn2Compress可以单次生成多个设备内置模型而不是一个,这些模型的大小和推断速度互不相同,开发者可以在其中选取最适合应用需求的模型。这些方法以及迁移学习等技术让压缩过程更加高效,并可更好地扩展到大规模数据集上。

性能如何?

为了展示Learn2Compress的有效性,谷歌研究者使用它构建多个图像和自然语言任务中当前最先进深度神经网络(如MobileNet、NASNet、Inception、ProjectionNet)的紧凑设备内置模型。对于给定任务和数据集,谷歌生成多个不同推断速度和模型大小的设备内置模型。

不同大小的Learn2Compress模型和全尺寸基线网络在CIFAR-10(左)和ImageNet(右)图像分类任务上的准确率。用于生成CIFAR-10和ImageNet压缩变量的学生网络分别使用NASNet和MobileNet的变体架构进行建模。对于图像分类,Learn2Compress可以生成适用于移动端应用、具备较好预测准确率的小型快速模型。例如,在ImageNet任务上,Learn2Compress模型的大小是Inception v3基线模型的1/22、MobileNet v1基线模型的1/4,而准确率仅下降了4.6-7%。在CIFAR-10上,使用共享参数联合训练多个Learn2Compress模型花费的时间仅比训练单个较大Learn2Compress模型多10%,而获得的3个压缩模型大小是后者的1/94,速度是后者的27倍,开销是后者的1/36,且预测质量较好(90-95%的top-1准确率)。

基线模型和Learn2Compress模型在CIFAR-10图像分类任务上的计算成本和平均预测延迟(Pixel phone)。Learn2Compress优化的模型使用类似NASNet的网络架构。

谷歌很兴奋地看到该模型在开发者用例上的优秀性能。例如,Fishbrain(钓鱼爱好者社交平台)使用Learn2Compress将现有图像分类云模型(大小80MB+,top-3准确率91.8%)压缩成规模较小的移动端模型,大小仅有5MB,而准确率与之前类似。在很多使用案例中,压缩模型的准确率甚至稍微优于原来的较大模型,原因在于前者更好的正则化效应(regularization effect)。

谷歌将继续改进Learn2Compress,并扩展至图像分类以外的其他任务。谷歌很期待通过云端的ML Kit压缩服务实现这一目标。谷歌希望Learn2Compress能够帮助开发者更简单地自动构建和优化设备端ML模型,以便他们可以集中精力构建强大的app,创造更酷的用户体验,包括计算机视觉、自然语言处理和其他机器学习应用。注:文章内的所有配图皆为网络转载图片,侵权即删!

汽车运输

成都物流

成都到云南物流专线

成都到云南运输物流公司

友情链接