微信号:ai-front

介绍:面向AI爱好者、开发者和科学家,提供最新最全AI领域技术资讯、一线业界实践案例、搜罗整理业界技术分享干货、最新AI论文解读。每周一节技术分享公开课,助力你全面拥抱人工智能技术。

谷歌推出Learn2Compress,可在移动端定制机器学习模型

2018-05-11 17:26 Sujith Ravi

编辑 | Debra

AI 前线导读: 成功的深度学习模型,往往离不开规模可观的计算资源、内存以及电力对其进行训练与运行。也正因为如此,我们往往很难在移动及物联网设备上建立起表现良好的深度学习方案。端上机器学习概念,允许我们直接在设备上运行推断,且无论是否联网皆可实现数据隐私与访问能力。端上机器学习系统(例如 MobileNets 与 ProjectionNets)通过优化模型效率以解决移动设备上的资源瓶颈问题。然而,如果我们希望为自己的移动应用训练定制化机器学习模型,又该如何实现?

更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front)

在昨天的谷歌 I/O 大会上,谷歌公布了 ML Kit,旨在帮助移动开发者们获取机器学习能力。谷歌将于近期推出的一大 ML Kit 核心功能,正是由其研究团队开发出的 Learn2Compress 技术支持并实现的自动模型压缩服务。Learn2Compress 支持 TensorFlow Lite 中的在线深度学习模型定制功能,其可在移动设备上高效运行,帮助开发人员摆脱内存与速度优化等难题。在 ML Kit 的帮助下,我们已经通过 Learn2Compress 提供图像分类功能。Learn2Compress 初步仅供少数开发者使用,并将在未来几个月内逐步扩大发布范围。如果你有意利用此项功能构建自己的模型,请点击此处注册。

工作原理

Learn2Compress 囊括了 ProjectionNet 等以往方案中出现的学习框架,同时结合多种用于压缩神经网络模型的最新技术。其为用户提供大量预先训练完成的 TensorFlow 模型作为输入内容,执行训练与优化,并可自动生成尺寸更小、内存效率更高、功耗更低且功能更强大的即用型设备模型。其推断速度更快,准确度损失则被控制在最低水平。

Learn2Compress 自动生成设备上机器学习模型。为了实现上述目标,Learn2Compress 利用了多种神经网络优化与压缩技术,具体包括:修剪(Pruning),通过去除对预测结果最不利的权重或运算(例如低分值权重)降低模型大小。这种方式对于涉及稀疏输入或输出的设备上模型尤其有效,其可将模型尺寸减少至原本的二分之一,同时保留原始预测质量的 97%。

量化(Quantization)技术在训练期间非常有效,其可通过减少用于模型权重与激活的 bit 数量以提高推断速度。举例来说,使用 8 位 xed 点(而非 oats)进行表达可提高模型推断速度、降低功耗并将其体积进一步缩小至四分之一。联合训练(Joint training)与蒸馏(distillation)方法遵循师 - 生学习策略——我们利用规模更大的教师网络(在此种场景下,即用户提供的 TensorFlow 模型)以最低的准确度损失训练紧凑学生网络(即设备上模型)。

利用联合训练与蒸馏方法学习紧凑学生模型。教师网络可进行 xed(如蒸馏)或联合优化,甚至可同时训练出多种不同尺寸的学生模型。因此,Learn2Compress 不仅能够生成单一模型,更可以利用一次处理构建起尺寸各异且推断速度不同的多种设备上模型,进而帮助开发人员从中选择最适合自身实际需求的模型选项。除此之外,迁移学习等技术亦被引入进来,共同提升压缩流程效率并实现面向大规模数据集的扩展能力。

那么,其实际效果如何?为了演示 Learn2Compress 的实际效果,我们利用其构建起用于图像与自然语言处理任务(例如 MobileNets、NASNet、Inception 以及 ProjectionNet 等)的几种最先进的深度网络的紧凑型设备上版本。对于给定任务与数据集,我们亦可以生成具有不同推断速度与模型大小的多套设备上模型。Learn2Compress 模型在 CIFAR-10(左)与 ImageNet(右)图像分类任务当中的不同模型大小与对应准确度,外加全尺寸基准网络。

学生网络用于生成面向 CIFAR-10 与 ImageNet 的压缩版本模型,且建模方式分别以 NASnet 与 MobileNet 架构为基础。在图像分类方面,Learn2Compress 能够以适合移动应用的方式在准确度合理的前提下,生成更小且运行速度更快的模型。举例来说,在 ImageNet 任务方面,Learn2Compress 的模型大小仅为 Inception v3 基准的二十二分之一,MobileNet v1 基准的四分之一,而准确度下降比例仅为 4.6% 至 7%。在 CIFAR-10 方面,联合训练出的多套 Learn2Compress 模型采用同样的参数配置,其整体训练时长仅比训练单一 Learn2Compress 模型多 10%,但却同时生成三套经过压缩的模型,尺寸压缩比高达九十四分之一、速度提升多达二十七倍,成本降低至三十六分之一,且预测准确度同样值得肯定(可达最高准确度的 90% 至 95%)。

CIFAR-10 图像分类任务基准模型与 Learn2Compress 模型(立足 Pixel 手机)的计算成本与平均预测延迟结果比较。

Learn2Compress 优化型模型利用 NASNet 类网络架构。我们亦对其在开发者用例中的实际表现感到满意。举例来说,Fishbrain 是一套爱好者社交平台,其利用 Learn2Compress 将现有图像分类云模型(大小超过 80 MB,前三种结果的准确度为 91.8%)压缩为更小的设备上模型——大小不足 5 MB,准确度基本不变。在某些情况下,我们观察到压缩后模型的准确度仍然由于具备更出色的正则化效应而略高于原始大型模型。

随着机器学习与深度学习技术的不断发展,我们将继续改进 Learn2Compress,并将其扩展到除图像分类之外的更多用例当中。我们也期待着能够通过云服务方式发布 ML Kit 压缩方案。我们希望它的出现能够帮助更多开发人员轻松地自动构建并优化自己的设备上机器学习模型,从而专注于构建出色的应用程序以及用户体验,最终为市场带来更多强大的计算机视觉、自然语言以及其它机器学习应用。

原文链接:

https://ai.googleblog.com/2018/05/custom-on-device-ml-models.html


AI前线
紧跟前沿的AI技术社群


如果你喜欢这篇文章,或希望看到更多类似优质报道,记得给我留言和点赞哦!

 
AI前线 更多文章 数据领域最强编程语言Python和R要合作了! 给你打电话的可能不是人!谷歌Duplex颠覆智能助手 Build大会没有了Windows,微软祭出哪些AI杀手锏? Netflix 20年拼杀史:推荐系统捧起来的千亿美金公司 我们只关心区块链,想一夜暴富的慢走不送!
猜您喜欢 浅谈AndroidTV开发与常规APP开发的异同点 Android开发命名规范和编码规范 Get这份大数据面试题及答案!还怕面试不通过? 性能测试应该怎么做? druid前言-OLAP简介