业界 | 一步实现从TF到TF Lite,谷歌提出定制on-device模型框架

作者:Sujith Ravi

机器之心编译

近日,谷歌在 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,创造更酷的用户体验,包括计算机视觉、自然语言处理和其他机器学习应用。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2018-05-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习

机器学习教材中的 7 大经典问题

一、神经网络不宜超过三层 这是最有名错误判断,现在的教科书几乎已经不再有这样的结论,但如果看15年、20年前的机器学习教科书,会有一个很有趣的结论:神经网络不能...

3448
来自专栏吉浦迅科技

英伟达帮助开发人员通过合成数据训练和完善他们的深度网络

手工注释训练数据既费力又耗时。这意味着,针对计算机视觉任务的深度网络训练通常需要大量标记的训练数据,这可能既昂贵又难以获取。为了让深度学习变得更容易获取,英伟达...

722
来自专栏机器学习算法与Python学习

手把手教你从零搭建深度学习项目(可下载PDF版)

1904
来自专栏量子位

谷歌新论文:让机器人依靠视觉识别抓取特定物体

安妮 编译自 arXiv 量子位出品 | 公众号 QbitAI 近日,谷歌团队在arXiv上发布了新论文《End-to-End Learning of Sema...

3424
来自专栏机器学习实践二三事

Machine Learning基础入门

断断续续接触机器学习也差不多有1年多的时间了,论文看了一些,教程也看了一些,也动手写过一些东西,自认略微优点心得吧(大牛莫笑) 之前写的也很零散,所以这次就...

1829
来自专栏AI科技评论

动态 | Yann LeCun爆惊人言论:深度学习已死?

AI科技评论按:深度学习领域最知名的学者之一 Yann LeCun 今日在自己facebook 上发表的一篇短文,瞬间引爆了人工智能关注者们的朋友圈。这条动态讲...

35911
来自专栏目标检测和深度学习

如何从零开始构建深度学习项目?这里有一份详细的教程

选自Medium 作者:Jonathan Hui 机器之心编译 在学习了有关深度学习的理论课程之后,很多人都会有兴趣尝试构建一个属于自己的项目。本文将会从第一步...

3508
来自专栏AI研习社

用神经网络预测 2018 年美国中期选举

本文中,研究人员使用Python从网上爬取历史数据,并采用神经网络分析这些数据,然后搭建了一个预测模型,用来预测2018年各个地区众议院的中期选举结果。提供给模...

402
来自专栏深度学习

机器学习中的七大经典问题

这是最有名错误判断,现在的教科书几乎已经不再有这样的结论,但如果看15年、20年前的机器学习教科书,会有一个很有趣的结论:神经网络不能超过三层。这和我们现在说的...

40812
来自专栏新智元

【ICML2016】谷歌 DeepMind 论文下辑

【新智元导读】深度学习重要会议 ICML2016 接收谷歌 DeepMind 9篇论文,新智元系统整理,继上篇之后,本次邀请国家千人计划专家、平安科技数据平台部...

3435

扫码关注云+社区