DSSM论文阅读与总结

DSSM(Deep Structured Semantic Model)是一种基于深度网络的语义模型,通过将query和doc映射到共同的语义空间,最大化它们之间的余弦相似度,解决搜索引擎检索、广告相关性等问题。它克服了LSA、LDA等方法的字典爆炸问题,使用wordhashing技术降低向量空间,并通过有监督学习优化语义embedding。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文的地址:https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/cikm2013_DSSM_fullversion.pdf

1.背景

DSSM是Deep Structured Semantic Model的缩写,即我们通常说的基于深度网络的语义模型,其核心思想是将query和doc映射到到共同维度的语义空间中,通过最大化query和doc语义向量之间的余弦相似度,从而训练得到隐含语义模型,达到检索的目的。DSSM有很广泛的应用,比如:搜索引擎检索,广告相关性,问答系统,机器翻译等。

2.DSSM

2.1简介

典型的DNN结构是将原始的文本特征映射为在语义空间上表示的特征。DNN在搜索引擎排序中主要是有下面2个作用:

  1. 将query中term的高维向量映射为低维语义向量
  2. 根据语义向量计算query与doc之间的相关性分数

2.2 word hashing

 

2.3 DSSM的学习

点击日志里通常包含了用户搜索的query和用户点击的doc,可以假定如果用户在当前query下对doc进行了点击,则该query与doc是相关的。通过该规则,可以通过点击日志构造训练集与测试集。

3.总结

DSSM的提出主要有下面的优点:

  • 解决了LSA、LDA、Autoencoder等方法存在的一个最大的问题:字典爆炸(导致计算复杂度非常高),因为在英文单词中,词的数量可能是没有限制的,但是字母 n-gram的数量通常是有限的
  • 基于词的特征表示比较难处理新词,字母的 n-gram可以有效表示,鲁棒性较强
  • 使用有监督方法,优化语义embedding的映射问题
  • 省去了人工的特征工程

缺点:

  • word hashing可能造成冲突
  • DSSM采用了词袋模型,损失了上下文信息
  • 在排序中,搜索引擎的排序由多种因素决定,由于用户点击时doc的排名越靠前,点击的概率就越大,如果仅仅用点击来判断是否为正负样本,噪声比较大,难以收敛

对于中文而言,处理方式与英文有很多不一样的地方。中文往往需要进行分词,但是我们可以仿照英文的处理方式,将中文的最小粒度看作是单字(在某些文献里看到过用偏旁部首,笔画,拼音等方法)。因此,通过这种word hashing方式,可以将向量空间大大降低。

对DSSM的优化出现了很多的变种,有CNN-DSSM,LSTM-DSSM,MV-DSSM等。大多对隐藏层做了一些修改,原论文如下:

CNN-DSSM:http://www.iro.umontreal.ca/~lisa/pointeurs/ir0895-he-2.pdf

LSTM-DSSM:https://arxiv.org/pdf/1412.6629.pdf

MV-DSSM:https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/frp1159-songA.pdf

 

水平有限,本文如有错误的地方,请私信或者留言指出,谢谢。

<think>好的,我需要帮助用户了解SSM6状态空间模型的实现方法及相关资料。首先,我需要确认用户提到的SSM6是否是指某个特定的模型版本或变体。根据用户提供的引用资料,提到了Gu等人[122]的DSSM和Gupta等人[38]的S4模型,以及DSS模型。通常,状态空间模型(SSM)有不同的变体,如S4、S5、S6等,可能SSM6是其中的一种后续改进。 首先,我应该回顾用户提供的参考文献,看看是否有直接提到SSM6的内容。引用中提到了DSSM(对角状态空间模型)和S4模型,但没有明确提到SSM6。因此,可能需要推断SSM6可能是基于这些工作的进一步发展,比如S4的后续版本或另一种改进模型,比如S6。 接下来,我需要查找是否有文献或资料直接涉及SSM6。根据我的知识库,状态空间模型的最新进展包括S4、S5、S6等。例如,S4模型引入了结构化状态空间,而S6(可能称为Mamba)是一种基于选择性状态空间的模型,由Gu和团队在2023年左右提出。因此,用户提到的SSM6可能指的是Mamba模型或其相关变体。 接下来,我需要总结这些模型的实现方法。例如,S4模型通常涉及状态矩阵的初始化、参数化方法、HiPPO(高维多项式投影)理论的应用等。而S6(Mamba)引入了选择性机制,改进了传统状态空间模型在处理长序列时的效率和表现。 在实现方法上,用户可能需要了解如何构建状态空间层、参数化状态矩阵、处理离散化步骤,以及如何集成到神经网络中。此外,代码示例对于理解实现细节非常重要,比如使用PyTorch或JAX框架。 同时,需要确保回答中正确引用用户提供的参考文献,尤其是关于DSSM和S4的部分,并补充关于S6/Mamba的最新资料。可能还需要推荐相关的GitHub仓库,如Mamba的官方实现,以及关键论文,如Gu的后续工作。 最后,生成的相关问题需要围绕状态空间模型的优化、应用场景以及传统模型的比较展开,帮助用户进一步探索该主题。</think>### SSM6(状态空间模型)实现方法及资料 目前公开文献中并未明确提及“SSM6”这一命名规范,但根据上下文推测,您可能指的是**结构化状态空间模型(Structured State Space Models, S4/S5/S6)**的演进版本,尤其是2023年提出的**Mamba模型**(也称为S6)[^1]。以下是相关实现方法及资料: --- #### 1. **核心实现原理** - **状态空间模型基础** 状态空间模型通过线性微分方程描述系统动态: $$ h'(t) = A h(t) + B x(t) \\ y(t) = C h(t) + D x(t) $$ 其中,$A$为状态矩阵,$B, C, D$为参数矩阵。离散化后(如零阶保持法)可转换为RNN-like结构,适用于深度学习。 - **S6/Mamba的创新点** - **选择性机制**:根据输入动态调整参数($B, C, \Delta$),增强上下文感知能力。 - **硬件感知算法**:通过并行扫描(Parallel Scan)优化GPU计算效率。 --- #### 2. **实现步骤(以PyTorch为例)** **步骤1:参数化状态矩阵** 使用HiPPO初始化或对角化矩阵简化计算: ```python import torch class SSMLayer(torch.nn.Module): def __init__(self, d_model): super().__init__() self.A = torch.nn.Parameter(torch.randn(d_model, d_model // 2)) # 低秩参数化 self.B = torch.nn.Parameter(torch.randn(d_model)) ``` **步骤2:离散化处理** 应用双线性变换(零阶保持): $$ A_d = (I + \Delta A)^{-1}(I - \Delta A) \\ B_d = (I + \Delta A)^{-1} \Delta B $$ **步骤3:并行扫描加速** 利用CUDA内核实现高效序列建模: ```python from mamba_ssm.ops.selective_scan_interface import selective_scan_fn output = selective_scan_fn(x, A, B, C, D) # 调用优化后的扫描算子 ``` --- #### 3. **关键参考资料** - **论文** - [Mamba: Linear-Time Sequence Modeling with Selective State Spaces](https://arxiv.org/abs/2312.00752)(S6/Mamba原论文) - [Efficiently Modeling Long Sequences with Structured State Spaces](https://arxiv.org/abs/2111.00396)(S4基础理论) - **代码库** - [Mamba官方实现](https://github.com/state-spaces/mamba)(PyTorch) - [S4参考实现](https://github.com/HazyResearch/state-spaces) --- #### 4. **应用场景** - **长序列建模**:如基因组分析、高分辨率视频处理。 - **替代Transformer**:在语言建模中减少计算复杂度至$O(L)$。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值