解密谷歌 Gmail 新功能:结合 BoW 模型和 RNN-LM,帮助用户快速写邮件

谷歌在上周的 I/O 大会上,推出了 Gmail 新功能 Smart Compose,其结合了 BoW 模型和 RNN-LM,在用户打字时提出建议,帮助完成句子,提高电子邮件的写作速度。

在上周的 I/O 大会上,谷歌推出了 Gmail 新功能——Smart Compose,该功能使用机器学习在用户打字时提出建议,帮助用户完成句子,从而提高电子邮件的写作速度。Smart Compose 基于为 Smart Reply 开发的技术,为电子邮件写作提供了一种新的方式——无论是回复收到的电子邮件还是从头写作新邮件。

开发 Smart Compose 过程中面临的主要挑战包括:

  • 延迟:Smart Compose 基于每次击键提供预测,因此它必须在 100 毫秒内做出理想响应,用户才不会注意到任何延迟。如何平衡模型复杂度和推断速度是一个关键问题。

  • 规模:Gmail 有超过 14 亿用户。要为所有用户提供有效的自动填充建议,模型必须具备足够的建模能力,才能够在不同的语境中提出恰当的建议。

  • 公平性和隐私性:在开发 Smart Compose 时,谷歌需要解决训练过程中潜在偏见的源头,还必须遵守与 Smart Reply 相同的严格用户隐私标准,确保模型不会泄露用户的隐私信息。此外,研究人员无法访问电子邮件,这意味着他们必须开发、训练一个机器学习系统来处理他们无法读取的数据集。

找到合适的模型

典型的语言生成模型,如 n-gram、神经词袋模型(BoW)和 RNN 语言模型(RNN-LM),基于前面的单词序列学习预测下一个单词。但是,用户在当前电子邮件中正在打出的单词只是模型可用于预测下一个单词的「信号」。为了整合用户想表达内容的更多语境,谷歌的模型还基于电子邮件主题和之前的电子邮件主体内容(如果用户正在回复收到的电邮的话)。

包含这一额外语境的一种方法是将该问题看作序列到序列(seq2seq)机器翻译任务,其中源句子是主题和之前电子邮件主体的结合,目标序列是用户正在写的当前邮件。尽管该方法在预测质量方面表现良好,但它远远无法满足谷歌严格的延迟约束。

为了改善这种情况,谷歌研究者将 BoW 模型与 RNN-LM 结合起来,其速度快于 seq2seq 模型,且仅出现轻微的模型预测质量损失。在这种混合方法中,谷歌研究者通过把每个字段中的词嵌入取平均,对主题和之前的电子邮件进行编码。然后在每个解码步中,将这些平均词嵌入输入到目标序列 RNN-LM。模型架构如下图所示。

Smart Compose RNN-LM 模型架构。通过对每个字段中的词嵌入取平均,对主题和之前的电子邮件信息进行编码。然后在每个解码步将平均词嵌入输入到 RNN-LM。

加速模型训练 & 服务

当然,确定使用该建模方法后,谷歌仍然需要调整不同的模型超参数,并在数十亿样本上训练模型,这些样本需要消耗大量时间。为了加速,谷歌使用完整的 TPUv2 Pod 进行实验,能够在不到一天的时间中训练模型至收敛

即使在训练较快的混合模型之后,在标准 CPU 上运行的 Smart Compose 最初版本仍然具备数百毫秒的平均服务延迟,这对于一个试图节约用户时间的功能来说是不可接受的。幸运的是,TPU 在推断时间可以使用,从而极大地加速用户体验。通过将大量计算卸载到 TPU 上,谷歌将平均延迟减少到几十毫秒,同时极大地提高了单个机器可服务的请求数量。

公平性和隐私

机器学习中的公平性非常重要,因为理解语言的模型可以反映出人类的认知偏见,从而导致惹人厌的词关联和句子。正如 Caliskan 等人在其近期论文《Semantics derived automatically from language corpora contain human-like biases》中所指出的,这些关联与自然语言数据有很深的纠缠,这是构建语言模型的挑战。谷歌正在积极探索继续减少训练步骤中的潜在偏见的方式。同时,由于 Smart Compose 在数十亿词组和句子上训练而成,类似于垃圾邮件机器学习模型的训练方式,因此谷歌已经进行大量测试,以确保只有多个用户使用的共同词组才会被模型记住,此举使用了论文《The Secret Sharer: Measuring Unintended Neural Network Memorization & Extracting Secrets》的研究成果。

未来工作

谷歌一贯致力于通过先进架构(如 Transformer、RNMT + 等)提高语言生成模型的建议质量,并使用最近、最先进的训练技术进行实验。一旦这些模型满足谷歌严格的延迟约束,谷歌将把它们部署到生产。谷歌还研究整合人类语言模型,旨在更准确地在其系统中模仿人类的写作风格。

原文链接:https://ai.googleblog.com/2018/05/smart-compose-using-neural-networks-to.html

理论文本生成NLP应用Google I/O 2018谷歌
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

词嵌入技术

词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

词袋模型技术

词袋模型(英语:Bag-of-words model)是个在自然语言处理和信息检索(IR)下被简化的表达模型。此模型下,像是句子或是文件这样的文字可以用一个袋子装着这些词的方式表现,这种表现方式不考虑文法以及词的顺序。最近词袋模型也被应用在电脑视觉领域。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

序列到序列技术

语义学技术

语义学,也作“语意学”,是一个涉及到语言学、逻辑学、计算机科学、自然语言处理、认知科学、心理学等诸多领域的一个术语。虽然各个学科之间对语义学的研究有一定的共同性,但是具体的研究方法和内容大相径庭。语义学的研究对象是自然语言的意义,这里的自然语言可以是词汇,句子,篇章等等不同级别的语言单位。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

推荐文章
暂无评论
暂无评论~