【深度学习算法原理】Deep Structured Semantic Models(DSSM)

2022-03-04 17:32:07 浏览数 (1)

1. 概述

深度语义模型(Deep Structured Sematic models, DSSM)是在2013年由微软的研究人员提出,主要解决的是在搜索的过程中,对于传统的依靠关键词匹配的方法的弊端(语义上的相似)提出的潜在语义模型。DSSM算法在实际工作中也被证明是卓有成效的算法,不仅在搜索中得到广泛的应用,同时也被使用在推荐系统的召回中。

2. 算法的基本思想

2.1. DSSM的网络结构

DSSM算法的网络结构如下所示:

从上述的网络结构图中可以看出,DSSM的核心思想是将不同的对象映射到统一的语义空间中,并在该空间中计算对象之间的相似度。 在其具体的计算过程包括两个方面:第一,将query和documents映射到同一个低维的向量空间中;第二,利用余弦计算相似性。

首先将query和documents分别表示成向量x_Qx_D ,在参考文献的论文中,作者针对向量的构建过程给出了一些具体的建议,针对具体的任务可以有选择的采用。得到query和documents的对应向量后,通过深层神经网络将其表示为同一个空间中的向量y_Qy_D ,即所谓的语义特征(Semantic feature)。具体的计算过程如下所示:l_i=fleft ( W_il_{i-1} b_i right )

其中,W_i 是第l_i 层网络的权重,b_i 是第l_i 层网络的偏置。f 是第l_i 层网络的激活函数。

在得到query和documents的语义特征后,通过cosine计算query和documents之间的相似性:

Rleft ( Q,D right )=cosineleft ( y_Q,y_D right )=frac{y_Q^Ty_D}{left | y_Q right |left | y_D right |}

2.2. DSSM模型的损失函数

假设给定的query为Q ,document为D ,那么相似的概率Pleft ( Dmid Q right ) 为:Pleft ( Dmid Q right )=frac{expleft ( gamma Rleft ( Q,D right ) right )}{sum _{{D}'in mathbf{D}}expleft ( gamma Rleft ( Q,{D}' right ) right )}

其中gamma 为平滑系数。在模型训练的过程中,我们希望使得相似的文档的概率较大,即对于正样本(Q,D ),使得其概率最大,通过最大似然,可以得到最终的损失函数:

Lleft ( Lambda right )=-logprod _{left ( Q,D^ right )}Pleft ( D^ mid Q right )

以上的损失函数是原始论文中提及的损失函数,同样,可以采用其他的损失函数形式,如直接使用相似性或者采用Triplet loss。

2.3. DSSM模型的训练

在训练的过程中,样本的构建也至关重要,对于Q ,选择一个正样本D^ 以及4个负样本left { D_j^-;j=1,cdots,4 right } ,除了样本选择之外,需要计算损失函数的梯度,以便计算除网络中的参数W_ib_i

参考文献

  • Learning deep structured semantic models for web search using clickthrough data

0 人点赞