联合学习让Android上的智慧文本选择更聪明

Google披露使用联合学习(Federated Learning)技术,强化Android系统上的智慧文本选择(Smart Text Selection),开发人员提到,由于运用联合学习,除了能够借由用户交互来训练神经网络模型之外,同时还能保护隐私,进而提高智能文本选择的性能。这项改进工作是Android新的私密运算核心(Private Compute Core)安全环境的一部分,对于部分文本实体,模型选择精确度可提升20%。

智能文本选择是Google在2017年的时候,在Android Oreo加入的新功能,也是现在用户常用功能之一,能够通过用户的点击来预测需要的单词,使得用户能够快速选择、复制和使用文本,并适当地扩大选择范围,对于具有定义分类的实体,像是地址和电话号码,用户可以直接使用应用程序打开,以减少用户操作的步骤。

开发人员提到,智能文本选择和智能连接(Smart Linkify)背后使用的技术相同,并不会预测随意的选择,而是针对明确定义的实体,像是地址和电话号码,并且尝试预测这些类别的选择范围,模型会尽量选择单词,来减少多字选择发生错误的频率。

智能文本选择的模型,Google一开始使用schema.org中的结构化代理资料进行训练,这些实体会被嵌入到随机文本中,训练模型只选择实体,而不会选到实体周围的文本,开发人员解释,虽然这种针对schema.org注解的训练方法有效果,但是具有几个限制,像是资料和用户设备增至到的文本可能有差距,schema.org的资料通常比用户手机上输入的格式更正确,而且训练实体嵌入在随机文本样本,并无法真实反映设备中的上下文。

而最新的模型使用联合学习,已经不使用代理资料进行预测,而是设备上真实的交互资料。联合学习是一种机器学习模型的训练方法,中央服务器会协调分散在许多设备上的模型训练,但是用户的原始资料,会保留在本地端设备上。

联合学习的训练程序,由服务器启动模型初始化,迭代过程从设备采样开始,选择设备并且使用本地端资料改进模型,接着设备仅会回传改进后的模型,而非训练资料,服务器对接受到的更新进行平均,并创建用于下一次迭代的模型。

每次用户点击选择文本,并且更正模型建议时,Android都能获得关于模型选择范围的精确反馈,但是为了保护用户的隐私,这些选择会暂存在设备上,服务器并无法取得这些资料,通过联合学习技术来改进模型,而这种技术的优点,是能够使用推理过程看到的资料,来进一步训练模型。

联合学习的优点还有能够保护用户隐私,开发人员解释,因为原始资料不会暴露给服务器,服务器只能接受更新的模型权重。不过为了抵御各种可能的威胁,Google还用上各种安全方法,像是用来训练智能文本选择模型的设备上程序代码,是Android私密运算核心安全环境一部分,因此能够安全地处理用户资料。

由于要聚合来自设备上的模型更新,开发人员使用安全聚合(Secure Aggregation)技术,这是一种加密协议,可以让服务器不需要读取单个设备所提供的更新,就能计算联合学习模型训练的平均更新。

借由使用新的联合学习方法,Google明显提升智能文本选择模型性能,多字选择精确度改善介于5%到7%,最复杂的地址选择,准确度提高8%到20%。联合智能的另一个优势,是能够扩展至其他语言,因为使用用户交互来训练模型,也就更容易扩展支持其他语言,模型不只在英文上表现良好,将相同工作管线应用在日文,不需要针对日文特别进行调整,就能获得良好的进展。