Page 29 - 《软件学报》2020年第10期
P. 29
徐梦炜 等:面向移动终端智能的自治学习系统 3005
models. Researchers have been exploring approaches of training neural networks on decentralized data. Those efforts will be summarized
and their limitations be pointed out. To this end, this work presents a novel neural network training paradigm on mobile devices, which
distributes all training computations associated with private data on local devices and requires no data to be uploaded in any form. Such
training paradigm autonomous learning is named. To deal with two main challenges of autonomous learning, i.e., limited data volume and
insufficient computing power available on mobile devices, the first autonomous learning system AutLearn is designed and implemented. It
incorporates the cloud (public data, pre-training)—client (private data, transfer learning) cooperation methodology and data augmentation
techniques to ensure the model convergence on mobile devices. Furthermore, by utilizing a series of optimization techniques such as
model compression, neural network compiler, and runtime cache reuse, AutLearn can significantly reduce the on-client training cost. Two
classical scenarios of autonomous learning are implemented based on AutLearn and carried out a set of experiments. The results showed
that AutLearn can train the neural networks with comparable or even higher accuracy compared to traditional centralized/federated
training mode with privacy preserved. AutLearn can also significantly reduce the computational and energy cost of neural network training
on mobile devices.
Key words: machine learning; mobile computing; edge computing; distributed system
近些年,以神经网络(neural network)为代表的机器学习技术得到了快速的发展,提升了计算机系统的智能
化程度,在计算机视觉、自然语言处理等多个重要研究领域得到了广泛应用.近年来,机器学习应用的发展趋势
[1]
之一是由云端逐渐迁移到终端设备,如智能手机.例如,近期的实证研究 发现,Google Play 应用商店中搭载神经
网络并进行本地计算的移动应用数量在 2018 年第三季度内增加了 27%,这些深度学习应用拥有千万级的用户
下载与评论量,占应用商店中所有应用下载评论总量超过 10%.此外,各大互联网厂商纷纷自研了面向移动终端
的深度学习框架,包括 Google 的 TF Lite、Facebook 的 Caffe2、苹果的 Core ML、高通的 SNPE、腾讯的 ncnn
等,以优化神经网络模型在这些资源受限设备上的部署.考虑到神经网络在性能上的优势以及部署上更具挑战
性,本文将以神经网络为代表研究终端设备上的机器学习部署问题.
开发面向移动终端的神经网络面临的核心挑战之一是:模型的训练需要大量的数据,而这些数据往往来自
于终端设备本身且包含大量用户隐私信息.例如,输入法应用的词预测任务中需要用户的输入文本作为训练集,
其中可能包含用户的信用卡号、聊天记录、邮件等隐私信息.近年来,为了更加规范地保护用户数据隐私,各个
[2]
国家机构出台了相关的法律法规.例如,欧盟于 2018 年正式施行《通用数据保护条例》(GDPR) ,其中详细规定
了公司在涉及用户数据时需要遵循的原则;我国制订中的《个人信息保护法》对 APP 违规收集用户信息等行
为给出了法律定义,对用户隐私保护做到有法可依.
如何在保护用户隐私的前提下训练机器学习模型正在逐渐引起学术界和工业界的广泛关注.以联邦学
[4]
[5]
[3]
习 、同态加密 、差分隐私 为代表的技术在某种程度上提供了解决方案,但都存在一定的局限性.例如,联邦
学习通过将数据和训练分布在不同终端设备上,通过中心化的参数服务器来分发模型、聚合梯度,从而达到隐
私保护的目的.但在联邦学习过程中,依旧存在着上传梯度被攻击、网络带宽开销大等问题.同态加密利用经典
的密码学算法实现了数据保护,但会造成大量的额外计算开销,导致其在复杂神经网络上无法用于实践.
为此,本文提出了“自治式学习”的神经网络训练模式:将与用户数据相关的模型计算任务完全部署在本地
终端,保证数据不会以任何形式(原始数据、加密数据、模型梯度等)传到外部.本文主要关注其中的模型训练过
程.与传统的集中式或联邦式学习相比,自治式学习除了能够更大程度地保护用户隐私之外,还具有另外两个优
势:(1) 个性化学习:自治式学习利用每个终端上产生的数据训练各自的模型,然后服务该特定的用户,意味着该
模型是为每个用户定制化训练学习得到的.在很多移动场景下,用户的行为习惯(如输入法,语音助手)各异,定制
化训练得到的模型相较所有用户共享的全局模型具有更高的准确率.(2) 高扩展性:传统的集中式/联邦式的学
习模式所需要的硬件资源,包括计算、存储、网络带宽等,与接入的终端设备数量呈近似线性关系,对于用户量
巨大的应用而言,这会带来应用开发和维护成本的巨大增加.而自治式学习要求每一台接入设备只通过本地的
计算存储资源进行模型训练,云端无需提供更多的硬件资源,因此具有更强的扩展性.
实现一个自治式学习系统面临两个主要挑战:首先,如何在终端上数据不传到外部的前提下,训练出高质量
的神经网络模型?其次,每个终端设备上的硬件资源受限,如何在不影响用户体验的前提下,快速完成训练并进