返回介绍

数学基础

统计学习

深度学习

工具

Scala

三、FastSent [2016]

发布于 2023-07-17 23:38:25 字数 32586 浏览 0 评论 0 收藏 0

  1. distributed representation 在当今的 NLP 研究中无处不在。对于单词或 word-like entity ,人们已经提出方法从自然发生的(未标记的)训练数据中获得这种representation ,这些方法基于相对而言 task-agnostic objective (如预测相邻的单词)。相比之下,学习短语或句子的 distributed representation 的最佳方法还没有定论。 随着更先进的语言处理技术的出现,将短语或句子表示为连续值向量的模型比较常见。 虽然人们已经非正式地观察到这种模型的内部 sentence representation 可以反映语义直觉,但不知道哪些架构或目标可以产生 “最佳” 的或最有用的 representation 。解决这个问题最终会对语言处理系统产生重大影响。事实上,正是短语和句子,而不是单个的单词,编码了 human-like 的通用世界知识(或 "常识 common sense "),这是目前大多数语言理解系统的一个关键缺失部分。

    论文 《Learning Distributed Representations of Sentences from Unlabelled Data》 通过对学习句子 distributed representation 的前沿方法的系统性比较来解决这个问题。论文将比较的范围限制在不需要为训练模型而收集标记数据的方法上,因为这种方法更具有成本效益,而且适用于各种语言和领域。作者还提出了两个新的短语或句子的 representation learning objectiveSequential Denoising Autoencoder: SDAEFastSent (一个 sentence-level log-linear bag-of-words model)。作者在在两种类型的任务(监督评估和非监督评估)上比较了所有的方法。

    • 在监督评估任务上,representation 被用于分类器或回归模型。

    • 在非监督评估任务上,representation 用于余弦距离从而进行查询。

    作者观察到,根据评估指标的性质,不同方法存在明显的差异。具体而言,更深或更复杂的模型(需要更多的时间和资源来训练)通常在监督任务中表现最好,而浅层对数线性 log-linear 模型在无监督的 benchmark 上效果最好。具体而言:

    • SkipThought Vectors 在大多数监督评估任务中表现最好,但 SDAE 在转述识别 paraphrase identification 任务中表现最好。

    • 相反,在(无监督的)SICK 句子关联性基准上,FastSent ,一个简单的 SkipThought objective 的对数线性变体,比所有其他模型表现得更好。

    • 有趣的是,在有监督基准和无监督基准中表现出最强性能的方法是一个bag-of-word 模型,该模型被训练从而组合 word embedding (即,学习 word emebdding 的线性组合)。

3.1 模型

  1. 为了限制分析,我们比较了从无标签的、自然产生的数据中计算 sentence representation 的神经语言模型,就像 word representation 的主要方法一样。同样,我们也不关注 "bottom up" 的模型,其中 phrase representationsentence representation 是由单词(这些单词组成了短语或句子)的 word vector 上的固定数学运算建立的,尽管我们确实考虑了一个典型的案例,如 CBOW

  2. 文本上的现有方法:

    • SkipThought Vectors:对于文档中的连续句子si1,si,si+1$ \mathbf s_{i-1}, \mathbf s_i, \mathbf s_{i+1} $ ,SkipThought 模型被训练为,给定 source sentence 的条件下,预测 target sentencesi1$ \mathbf s_{i-1} $ 和si+1$ \mathbf s_{i+1} $ 。与所有的 sequence-to-sequence 模型一样,在训练中, source sentence 被一个具有 GRU 单元的 RNN 网络所 “编码”,然后依次 “解码” 到两个 target sentence 中。重要的是,由于 RNN 在每个 time-step 采用了一组 update weights ,编码器和解码器都对 source sentence 中的单词顺序很敏感。

      对于 target sentence 中的每个位置,解码器计算 vocabularysoftmax 分布。训练目标是 target sentencesi1$ \mathbf s_{i-1} $ 和si+1$ \mathbf s_{i+1} $ 中每个 correct word 的负对数似然之和。当训练之后,编码器可以将单词序列映射到单个向量。

    • Paragraph Vector《Distributed representations of sentences and documents》 提出了两个关于 sentence representation 的对数线性模型:

      • DBOW 模型为训练语料库中的每个句子s$ \mathbf s $ 学习一个向量s$ \mathbf{\vec s} $ ,该向量与 word embeddingvw$ \mathbf{\vec v}_w $ 一起定义了一个 softmax 分布,该分布被优化以预测给定句子s$ \mathbf s $ 中的单词ws$ w\in \mathbf s $ 。word embeddingvw$ \mathbf{\vec v}_w $ 在语料库的所有句子中共享。

      • DM 模型中,连续单词的 k-gram{w1,,wi+ks}$ \{w_1,\cdots,w_{i+k}\in \mathbf s\} $ 被选中,然后它们的 word embeddings$ \mathbf{\vec s} $ 拼接起来从而预测wi+k+1$ w_{i+k+1} $ 。

      我们使用了 Gensim 的实现,按照作者的建议,将训练数据中的每个句子视为一个"paragraph" 。在训练过程中,DMDBOW 模型都为训练语料库中的每一个句子(以及单词)存储 representation 。因此,即使在大型服务器上,也只能训练 representation size = 200 的模型,以及 combination 操作为均值池化(而不是拼接)的 DM 模型。

    • Bottom-Up Method:我们在 Books 语料库上训练 CBOW word embeddingSkip-Gram word embedding ,并执行 sum 池化从而得到 sentence representation

      我们还与 CPHRASE 进行了比较,后者是利用基于句法解析的(监督)解析器来推断分布式 semantic representationC-PHRASE 在本文中使用的几个 evaluation 中取得了 distributed representationSOTA

    • Non-Distributed Baseline:我们实现了一个 TFIDF BOW model ,在这个模型中,句子s$ \mathbf s $ 的 representation 编码了一组 feature-words$ \mathbf s $ 中的数量,并以它们在语料库C$ \mathcal C $ 中的 TFIDF 来加权。这些 feature-wordC$ \mathcal C $ 中最常见的 20 万个单词。

  3. 在结构化资源上训练的模型:下面的模型依赖于更加结构化的数据(相比较于 raw text 而言):

    • DictRep:训练神经网络模型从而将 dictionary definition 映射到单词的 pre-trained word embedding ,这些单词都是由 dictionary definition 所定义的。他们试验了 BOWRNN (带 LSTM 单元)编码架构和变体,其中 input word embedding 是学到的或 pre-trained 的(+embs )从而匹配 target word embedding 。我们使用现有的代码和训练数据实现他们的模型。

    • CaptionRep:使用与 DictRep 相同的整体架构,我们训练了(BOWRNN )模型,将 COCO 数据集中的caption 映射到图片的 pre-trained vector representation 上。image representation 由深度卷积网络编码,该网络是在 ILSVRC 2014 年的 object recognition 任务中训练的。

    • NMT:我们考虑由神经机器翻译模型学到的 sentence representation 。这些模型具有与 SkipThought 相同的架构,但在 sentence-aligned translated text 上进行训练。我们在 2015 WMT 的所有可用的 En-FrEn-De 数据上使用标准架构。

  4. 新的 test-based 模型:我们引入两种新的方法来解决现有方法的某些不足:

    • Sequential (Denoising) AutoencoderSkipThought objective 需要具有连贯的句子间叙述coherent inter-sentence narrative 的训练文本,这使得它在移植到社交网络、或由符号知识产生的人工语言等领域方面存在问题。 为了避免这一限制,我们试验了一种基于 denoising autoencoder: DAErepresentation-learning objective 。在 DAE 中,高维输入数据根据一些噪声函数被破坏,模型被训练为从 corrupted version 中恢复原始数据。作为这个过程的结果,DAE 学会通过解释其variation 的重要因子的特征来表达数据。将数据转化为 DAE representation (作为 "pre-training" 或初始化步骤)可以在深度前馈网络中获得更强大的(监督)分类性能。

      最初的 DAE 是前馈神经网络,应用于固定尺寸的(图像)数据。在这里,我们通过噪声函数N(s|po,px)$ \mathcal N(\mathbf s|p_o, p_x) $ 来适配可变长度的句子,该函数由自由参数po,px[0,1]$ p_o, p_x \in [0, 1] $ 来决定。

      • 首先,对于s$ \mathbf s $ 中的每个单词w$ w $ ,N$ \mathcal N $ (独立地)以概率po$ p_o $ 删除w$ w $ 。

      • 然后,对于s$ \mathbf s $ 中的每个non-overlapping bigramwiwi+1$ w_iw_{i+1} $ ,N$ \mathcal N $ 以概率px$ p_x $ 交换wi$ w_i $ 和wi+1$ w_{i+1} $ 。

      • 然后,我们训练与 NMT 相同的 LSTM-based encoder-decoder 架构,但使用 denoising objective 从而在给定s$ \mathbf s $ 的 corrupted versionN(s|po,px)$ \mathcal N(\mathbf s|p_o, p_x) $ 的条件下来恢复原始句子。

      训练好的模型可以将新的单词序列编码为 distributed representation 。我们称这个模型为 Sequential Denoising Autoencoder: SDAE 。注意,与 SkipThought 不同,SDAE 可以在任意顺序的句子集上训练。

      • 我们给没有噪音的情况(即po=px=0$ p_o = p_x = 0 $ 和N()$ \mathcal N(\cdot) $ 为恒等映射)命名为 Sequential Autoencoder: SAE 。这种 setting 对应了 《Semi-supervised sequence learning》 应用于文本分类任务的方法。

      • p00$ p_0\ge 0 $ 对应了 word dropout ,它在有监督的语言任务中也被用作深度网络的正则化器。

      • 对于较大的px$ p_x $ ,objective 类似于 word-level debagging

      对于 SDAE ,我们在验证集上调优了po,px$ p_o, p_x $ 。我们还尝试了一个变体(+embs ),其中单词由(固定的)pre-trained embedding 来表示。

      SDAE 类似于 BERTBART 等预训练方法。

    • FastSentSkipThought 的表现表明,丰富的句子语义可以从相邻句子的内容中推断出来。该模型可以说是利用了一种 sentence-level Distributional Hypothesis 。尽管如此,像许多深度神经语言模型一样,SkipThought 的训练速度非常慢。FastSent 是一个简单的 additive (log-linear) sentence model ,旨在利用相同的信号,但计算成本要低得多。

      给定某个句子在上下文中的 BOW representation ,该模型只需预测相邻的句子(也表示为 BOW )。更正式地说,FastSentvocabulary 中的每个单词w$ w $ 学习一个 source embeddinguw$ \mathbf{\vec u}_w $ 和 target embeddingvw$ \mathbf{\vec v}_w $ 。对于连续句子构成的训练样本(si1,si,si+1)$ (\mathbf s_{i-1}, \mathbf s_i, \mathbf s_{i+1}) $ ,句子si$ \mathbf s_i $ 的 embedding 为构成它的单词的所有 source embedding 之和:

      (9)si=wsiuw

      损失函数为:

      (10)wsi1si+1ϕ(si,vw)

      其中:ϕ(,)$ \phi(\cdot,\cdot) $ 为 softmax 函数。

      SkipThoughts 相比,FastSent 用均值池化代替了编码器,同时剔除了解码器。FastSent 类似于 CBOW,只是 FastSent 用整个句子作为上下文,而不是固定长度的上下文窗口。

      我们还试验了一个变体(+AE ),在这个变体中,除了相邻的句子作为目标之外,encoded (source) representationsi$ \mathbf{\vec s}_i $ 还必须预测它自己包含的那些单词。因此 FastSent+AE 的损失函数为:

      (11)wsi1sisi+1ϕ(si,vw)

      在测试期间,训练好的模型(非常快速地)将 unseen 单词序列编码到 distributed representations=wsuw$ \mathbf{\vec s} = \sum_{w\in \mathbb s} \mathbf{\vec u}_w $ 。

  5. 模型训练和调优:除非另有说明,否则所有模型都是在 Toronto Books Corpus 上训练的,该语料库具有 SkipThoughtFastSent 所需的语义连贯性。该语料库由 7000 多本书中的 70M 个有序句子组成。

    • log-linear modelSkipGram, CBOW, ParagraphVec, FastSent )在一个 CPU core 上训练了一个 epoch 。这些模型的 representation 维度d$ d $ 是在验证集上调优的,搜索空间d{100,200,300,400,500}$ d \in \{100, 200, 300, 400, 500\} $ 。所有其他模型都在一个 GPU 上训练。

    • S(D)AE 也训练了一个 epoch8 天)。SkipThought 模型训练了两个星期,覆盖了不到一个 epoch

    • 对于 CaptionRepDictRep 来说,性能是在 held-out training data 上监测的,并且在损失函数达到一个 plateau (大约 24 个小时)后停止训练。

    • NMT 模型的训练时间为 72 小时。

3.2 实验

  1. 略。(技术过于古老,不用花时间研究实验细节)。

3.3 讨论

  1. 不同的 objective 产生不同的 representation :这似乎是显而易见的,但是结果证实了应该对不同的 application 采用不同的学习方法。例如:

    • SkipThoughtTREC 上表现最好也许并不奇怪,因为这个数据集的标签是由紧随 question 之后的语言(即 answer )所决定的。

    • 另一方面,完全聚焦于句子内容的模型,如SDAE ,可能更有利于转述检测paraphrase detection

  2. 有监督的性能和无监督的性能之间的差异:许多在监督评估中表现最好的模型在无监督的环境中表现不佳。在 SkipThought、S(D)AENMT 模型中,损失函数的计算是基于内部 sentence representation 的非线性解码,因此,representation space 的几何信息可能不会反映在一个简单的余弦距离中。log-linear model 在这种无监督的情况下通常表现更好。

  3. 资源需求的差异:不同的模型需要不同的资源来训练和使用,这可能会限制它们的应用。

  4. 单词顺序的作用尚不清楚:

    • 在监督评估中,对词序敏感的模型(76.3 )和不敏感的模型(76.6 )的平均得分大致相同。

    • 然而,在无监督评估中,BOW 模型的平均得分是 0.55 ,而基于 RNN 的模型(顺序敏感)的平均得分是 0.42

    这似乎与广泛持有的观点不一致,即单词顺序在决定英语句子的意义方面起着重要作用。

    一种可能的原因是:大多数句子都可以被一个概念语义(可以在 distributed lexical representation 中进行编码)所区分,而这个概念语义与单词顺序无关。另一个可能的原因是:目前的评价标准没有充分反映 order-dependent

    2023 年,随着 Large Language Model 的兴起,单词顺序被证明是非常重要的。

  5. 评估结果的局限性:所有评价结果的内部一致性 internal consistency0.81 (略高于 "acceptable" )。当分别考虑监督任务(或无监督任务)时,一致性指标要高得多。这表明,就 sentence representation 的共同特性而言,有监督的基准和无监督的基准确实优先考虑了不同的属性。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文