二值化每个特征,微软用1350亿参数稀疏神经网络改进搜索结果( 二 )


与基于Transformer的深度学习模型相比 , MEB模型还展示了超越语义关系的学习能力 。 在查看MEB学习的主要特征时 , 研究者发现它可以学习查询和文档之间的隐藏关系 。
二值化每个特征,微软用1350亿参数稀疏神经网络改进搜索结果
文章图片
表1:MEB模型学习的示例 。
例如 , MEB了解到「Hotmail」与「MicrosoftOutlook」密切相关 , 即使它们在语义上并不接近 。 但MEB发现了这些词之间微妙的关系:Hotmail是一种免费的基于Web的电子邮件服务 , 由Microsoft提供 , 后来更名为MicrosoftOutlook 。 同样 , 它了解到「Fox31」和「KDVR」之间有很强的联系 , 其中KDVR是位于科罗拉多州丹佛市的电视频道的呼号 , 该频道以Fox31品牌运营 , 而表面上看这两个词之间并没有明显的语义联系 。
更有趣的是 , MEB可以识别单词或短语之间的负面关系 , 揭示用户不希望在查询中看到的内容 。 例如 , 搜索「棒球」的用户通常不会点击谈论「曲棍球」的页面 , 即使它们都是流行运动 。 了解这些负面关系有助于忽略不相关的搜索结果 。
MEB学习的这些关系与基于Transformer的DNN模型学习的关系非常互补 , 搜索相关性和用户体验得到了很好的提升 。 微软在生产型Transformer模型的基础上引入MEB带来了以下结果:
页面中最顶端搜索结果的点击率(CTR)增加了近2% 。 这些结果在页面折叠上方 , 无需向下滚动即可找到所需结果 。 手动查询重构减少了1%以上 。 用户需要手动重新制定查询意味着他们不喜欢他们在原始查询中搜索到的结果 , 因此该比重减少说明了模型性能的提升 。 「下一页」等分页点击量减少了1.5%以上 。 用户需要点击「下一页」按钮意味着他们没有在第一页找到他们想要的东西 。MEB如何在大型数据集上训练和提供特征
模型结构
如下图1所示 , MEB模型是由1个二值化特征输入层、1个特征嵌入层、1个池化层和2个密集层组成 。 输入层包含从49个特征组生成的90亿个特征 , 每个二值化特征被编码为一个15维嵌入向量 。 在每组sum-pooling和拼接(concatenation)之后 , 向量通过2个密集层来产生点击概率估计 。
二值化每个特征,微软用1350亿参数稀疏神经网络改进搜索结果
文章图片
图1:MEB是一个稀疏神经网络模型 , 由一个接受二值化特征的输入层、一个将每个二值化特征转换为15维向量的特征嵌入层、一个应用于49个特征组中每个特征组并拼接以产生一个735维向量的sumpooling层 , 然后通过两个密集层来产生一个点击概率 。 如下图2所示 , 上图1中显示的功能是从样例查询「MicrosoftWindows」和链接:https://www.microsoft.com/en-us/windows中的文档中生成的 。
训练数据和将特征二值化
MEB使用来自Bing的三年搜索日志作为训练数据 。 对于每次Bing搜索的结果 , 该研究使用启发式方法来确定用户是否对他们点击的文档感到满意 。 研究者将「令人满意」的文档标记为正样本 。 同一搜索结果中的其他文档被标记为负样本 。 对于每个查询和文档对 , 从查询文本、文档URL、标题和正文文本中提取二值化特征 。 这些特征被输入到一个稀疏神经网络模型中 , 以最小化模型预测的点击概率和实际点击标签之间的交叉熵损失 。
特征设计和大规模训练是MEB成功的关键 。 MEB特征是在查询和文档之间非常具体的术语级别(term–level)或N-gram–level(N-grams是含有N个术语的序列)关系上定义的 , 传统的数值特征无法捕获这些特征 , 传统的数值特征只关心查询和文档之间的匹配计数 。
为了充分释放这个大规模训练平台的力量 , 所有的特征都被设计为二值化特征 , 可以很容易地以一致的方式覆盖手工构建的数值特征和直接从原始文本中提取的特征 。 这样做可以让MEB在一条路径上进行端到端的优化 。 当前的生产模型使用三种主要类型的特征 , 包括: