Google披露移动设备键盘Gboard,所使用的新联合学习(Federated Learning)技术,这项技术被Google称为联合重建(Federated Reconstruction),目标是要大规模进行部分本地联合学习,使得在训练模型时,让部分模型参数永远不会在服务器聚合。
Google提到,在矩阵分解(Matrix Factorization)用例,他们推荐使用联合重建,因为可以将用户的嵌入保留在用户的设备本地端,也就是说,在训练模型时,针对每个用户完全个性化,但是又能避免这些参数交流。Google将这项联合学习技术部署到Gboard中,提供数亿键盘用户更好的推荐结果。
联合学习技术让用户能够在不将原始资料发送到中央服务器的情况下训练模型,进而避免隐私敏感资料被收集。传统联合学习技术,通常所有用户拥有单一全局模型,像是行动键盘应用程序的用户,会共同训练建议模型,但因为每个人对建议有不同的偏好,这种差异驱使全局模型可针对每个用户进行个性化。
但研究人员解释,在特定情况下,因为隐私的考量,可能无法训练全局模型,像是推荐系统的矩阵分解模型,要训练一个完全全局模型的联合模型,将会需要发送用户嵌入更新到中央服务器,而这个动作可能会披露嵌入中用户的喜好,而且即便模型没有用户特有的嵌入,将部分参数完全留在用户设备上,也能够减少服务器和客户端的通信,并且负责任地替每个用户个性化这些参数。
过去部分本地端联合学习方法使用有状态算法,这会需要用户的设备存储多轮联合训练的状态,也就是说,这些方法需要设备跨轮存储本地参数。在大规模联合学习环境中,这些算法往往不够实用,因为大多数用户不参与训练,而参加的用户可能仅参与一次,导致状态很少可用,或是在数轮之后状态过于陈旧,此外,不参与的用户都没有经过训练的本地端参数,也就阻碍了实际应用。
而联合重建技术是无状态的,用户设备不需要存储本地端参数,当用户参与训练时,在更新任何全局模型参数之前,会在全局参数冻结的情况下,在本地端参数上使用梯度下降法,随机初始化和训练本地端参数,接着便可以在本地端参数冻结的情况,计算全局参数更新。联合重建方法不假设用户具有前几轮的训练状态,如此便能实现大规模训练,并且不断重建本地端参数,避免参数过时。
Google为了验证联合重建在大规模用例的实用性,便将算法部署到拥有数亿用户的Gboard中。Gboard用户使用GIF和表情符号与其他人交流,而用户对于这些情绪表达有高度的差异,因此刚好非常适合使用矩阵分解,来预测用户想要分享的情绪表达。
Google在用户情绪表达归类上使用联合重建,训练了矩阵分解模型,将用户嵌入留存在每个Gboard用户的本地端,然后部署使用该模型,研究发现表达推荐的点击率大幅增加29.3%。