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

1. 概述

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

2. 算法的基本思想

2.1. DSSM的网络结构

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

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

首先将query和documents分别表示成向量 x Q x_Q xQ x D x_D xD,在参考文献的论文中,作者针对向量的构建过程给出了一些具体的建议,针对具体的任务可以有选择的采用。得到query和documents的对应向量后,通过深层神经网络将其表示为同一个空间中的向量 y Q y_Q yQ y D y_D yD,即所谓的语义特征(Semantic feature)。具体的计算过程如下所示:

l i = f ( W i l i − 1 + b i ) l_i=f\left ( W_il_{i-1}+b_i \right ) li=f(Wili1+bi)

其中, W i W_i Wi是第 l i l_i li层网络的权重, b i b_i bi是第 l i l_i li层网络的偏置。 f f f是第 l i l_i li层网络的激活函数。

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

R ( Q , D ) = c o s i n e ( y Q , y D ) = y Q T y D ∥ y Q ∥ ∥ y D ∥ R\left ( Q,D \right )=cosine\left ( y_Q,y_D \right )=\frac{y_Q^Ty_D}{\left \| y_Q \right \|\left \| y_D \right \|} R(Q,D)=cosine(yQ,yD)=yQyDyQTyD

2.2. DSSM模型的损失函数

假设给定的query为 Q Q Q,document为 D D D,那么相似的概率 P ( D ∣ Q ) P\left ( D\mid Q \right ) P(DQ)为:

P ( D ∣ Q ) = e x p ( γ R ( Q , D ) ) ∑ D ′ ∈ D e x p ( γ R ( Q , D ′ ) ) P\left ( D\mid Q \right )=\frac{exp\left ( \gamma R\left ( Q,D \right ) \right )}{\sum _{{D}'\in \mathbf{D}}exp\left ( \gamma R\left ( Q,{D}' \right ) \right )} P(DQ)=DDexp(γR(Q,D))exp(γR(Q,D))

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

L ( Λ ) = − l o g ∏ ( Q , D + ) P ( D + ∣ Q ) L\left ( \Lambda \right )=-log\prod _{\left ( Q,D^+ \right )}P\left ( D^+\mid Q \right ) L(Λ)=log(Q,D+)P(D+Q)

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

2.3. DSSM模型的训练

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

参考文献

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值