数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
三、FastSent [2016]
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 objective
:Sequential Denoising Autoencoder: SDAE
、FastSent
(一个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 模型
为了限制分析,我们比较了从无标签的、自然产生的数据中计算
sentence representation
的神经语言模型,就像word representation
的主要方法一样。同样,我们也不关注"bottom up"
的模型,其中phrase representation
或sentence representation
是由单词(这些单词组成了短语或句子)的word vector
上的固定数学运算建立的,尽管我们确实考虑了一个典型的案例,如CBOW
。文本上的现有方法:
SkipThought Vectors
:对于文档中的连续句子 $ \mathbf s_{i-1}, \mathbf s_i, \mathbf s_{i+1} $ ,SkipThought
模型被训练为,给定source sentence
的条件下,预测target sentence
$ \mathbf s_{i-1} $ 和 $ \mathbf s_{i+1} $ 。与所有的sequence-to-sequence
模型一样,在训练中,source sentence
被一个具有GRU
单元的RNN
网络所 “编码”,然后依次 “解码” 到两个target sentence
中。重要的是,由于RNN
在每个time-step
采用了一组update weights
,编码器和解码器都对source sentence
中的单词顺序很敏感。对于
target sentence
中的每个位置,解码器计算vocabulary
的softmax
分布。训练目标是target sentence
$ \mathbf s_{i-1} $ 和 $ \mathbf s_{i+1} $ 中每个correct word
的负对数似然之和。当训练之后,编码器可以将单词序列映射到单个向量。Paragraph Vector
:《Distributed representations of sentences and documents》
提出了两个关于sentence representation
的对数线性模型:DBOW
模型为训练语料库中的每个句子 $ \mathbf s $ 学习一个向量 $ \mathbf{\vec s} $ ,该向量与word embedding
$ \mathbf{\vec v}_w $ 一起定义了一个softmax
分布,该分布被优化以预测给定句子 $ \mathbf s $ 中的单词 $ w\in \mathbf s $ 。word embedding
$ \mathbf{\vec v}_w $ 在语料库的所有句子中共享。在
DM
模型中,连续单词的k-gram
$ \{w_1,\cdots,w_{i+k}\in \mathbf s\} $ 被选中,然后它们的word embedding
与 $ \mathbf{\vec s} $ 拼接起来从而预测 $ w_{i+k+1} $ 。
我们使用了
Gensim
的实现,按照作者的建议,将训练数据中的每个句子视为一个"paragraph"
。在训练过程中,DM
和DBOW
模型都为训练语料库中的每一个句子(以及单词)存储representation
。因此,即使在大型服务器上,也只能训练representation size = 200
的模型,以及combination
操作为均值池化(而不是拼接)的DM
模型。Bottom-Up Method
:我们在Books
语料库上训练CBOW word embedding
和Skip-Gram word embedding
,并执行sum
池化从而得到sentence representation
。我们还与
CPHRASE
进行了比较,后者是利用基于句法解析的(监督)解析器来推断分布式semantic representation
。C-PHRASE
在本文中使用的几个evaluation
中取得了distributed representation
的SOTA
。Non-Distributed Baseline
:我们实现了一个TFIDF BOW model
,在这个模型中,句子 $ \mathbf s $ 的representation
编码了一组feature-word
在 $ \mathbf s $ 中的数量,并以它们在语料库 $ \mathcal C $ 中的TFIDF
来加权。这些feature-word
是 $ \mathcal C $ 中最常见的20
万个单词。
在结构化资源上训练的模型:下面的模型依赖于更加结构化的数据(相比较于
raw text
而言):DictRep
:训练神经网络模型从而将dictionary definition
映射到单词的pre-trained word embedding
,这些单词都是由dictionary definition
所定义的。他们试验了BOW
和RNN
(带LSTM
单元)编码架构和变体,其中input word embedding
是学到的或pre-trained
的(+embs
)从而匹配target word embedding
。我们使用现有的代码和训练数据实现他们的模型。CaptionRep
:使用与DictRep
相同的整体架构,我们训练了(BOW
和RNN
)模型,将COCO
数据集中的caption
映射到图片的pre-trained vector representation
上。image representation
由深度卷积网络编码,该网络是在ILSVRC 2014
年的object recognition
任务中训练的。NMT
:我们考虑由神经机器翻译模型学到的sentence representation
。这些模型具有与SkipThought
相同的架构,但在sentence-aligned translated text
上进行训练。我们在2015 WMT
的所有可用的En-Fr
和En-De
数据上使用标准架构。
新的
test-based
模型:我们引入两种新的方法来解决现有方法的某些不足:Sequential (Denoising) Autoencoder
:SkipThought objective
需要具有连贯的句子间叙述coherent inter-sentence narrative
的训练文本,这使得它在移植到社交网络、或由符号知识产生的人工语言等领域方面存在问题。 为了避免这一限制,我们试验了一种基于denoising autoencoder: DAE
的representation-learning objective
。在DAE
中,高维输入数据根据一些噪声函数被破坏,模型被训练为从corrupted version
中恢复原始数据。作为这个过程的结果,DAE
学会通过解释其variation
的重要因子的特征来表达数据。将数据转化为DAE representation
(作为"pre-training"
或初始化步骤)可以在深度前馈网络中获得更强大的(监督)分类性能。最初的
DAE
是前馈神经网络,应用于固定尺寸的(图像)数据。在这里,我们通过噪声函数 $ \mathcal N(\mathbf s|p_o, p_x) $ 来适配可变长度的句子,该函数由自由参数 $ p_o, p_x \in [0, 1] $ 来决定。首先,对于
$ \mathbf s $ 中的每个单词 $ w $ , $ \mathcal N $ (独立地)以概率 $ p_o $ 删除 $ w $ 。然后,对于
$ \mathbf s $ 中的每个non-overlapping bigram
$ w_iw_{i+1} $ , $ \mathcal N $ 以概率 $ p_x $ 交换 $ w_i $ 和 $ w_{i+1} $ 。然后,我们训练与
NMT
相同的LSTM-based encoder-decoder
架构,但使用denoising objective
从而在给定 $ \mathbf s $ 的corrupted version
$ \mathcal N(\mathbf s|p_o, p_x) $ 的条件下来恢复原始句子。
训练好的模型可以将新的单词序列编码为
distributed representation
。我们称这个模型为Sequential Denoising Autoencoder: SDAE
。注意,与SkipThought
不同,SDAE
可以在任意顺序的句子集上训练。我们给没有噪音的情况(即
$ p_o = p_x = 0 $ 和 $ \mathcal N(\cdot) $ 为恒等映射)命名为Sequential Autoencoder: SAE
。这种setting
对应了《Semi-supervised sequence learning》
应用于文本分类任务的方法。当
$ p_0\ge 0 $ 对应了word dropout
,它在有监督的语言任务中也被用作深度网络的正则化器。对于较大的
$ p_x $ ,objective
类似于word-level debagging
。
对于
SDAE
,我们在验证集上调优了 $ p_o, p_x $ 。我们还尝试了一个变体(+embs
),其中单词由(固定的)pre-trained embedding
来表示。SDAE
类似于BERT
或BART
等预训练方法。FastSent
:SkipThought
的表现表明,丰富的句子语义可以从相邻句子的内容中推断出来。该模型可以说是利用了一种sentence-level Distributional Hypothesis
。尽管如此,像许多深度神经语言模型一样,SkipThought
的训练速度非常慢。FastSent
是一个简单的additive (log-linear) sentence model
,旨在利用相同的信号,但计算成本要低得多。给定某个句子在上下文中的
BOW representation
,该模型只需预测相邻的句子(也表示为BOW
)。更正式地说,FastSent
为vocabulary
中的每个单词 $ w $ 学习一个source embedding
$ \mathbf{\vec u}_w $ 和target embedding
$ \mathbf{\vec v}_w $ 。对于连续句子构成的训练样本 $ (\mathbf s_{i-1}, \mathbf s_i, \mathbf s_{i+1}) $ ,句子 $ \mathbf s_i $ 的embedding
为构成它的单词的所有source embedding
之和:损失函数为:
其中:
$ \phi(\cdot,\cdot) $ 为softmax
函数。与
SkipThoughts
相比,FastSent
用均值池化代替了编码器,同时剔除了解码器。FastSent
类似于CBOW
,只是FastSent
用整个句子作为上下文,而不是固定长度的上下文窗口。我们还试验了一个变体(
+AE
),在这个变体中,除了相邻的句子作为目标之外,encoded (source) representation
$ \mathbf{\vec s}_i $ 还必须预测它自己包含的那些单词。因此FastSent+AE
的损失函数为:在测试期间,训练好的模型(非常快速地)将
unseen
单词序列编码到distributed representation
: $ \mathbf{\vec s} = \sum_{w\in \mathbb s} \mathbf{\vec u}_w $ 。
模型训练和调优:除非另有说明,否则所有模型都是在
Toronto Books Corpus
上训练的,该语料库具有SkipThought
和FastSent
所需的语义连贯性。该语料库由7000
多本书中的70M
个有序句子组成。log-linear model
(SkipGram, CBOW, ParagraphVec, FastSent
)在一个CPU core
上训练了一个epoch
。这些模型的representation
维度 $ d $ 是在验证集上调优的,搜索空间 $ d \in \{100, 200, 300, 400, 500\} $ 。所有其他模型都在一个GPU
上训练。S(D)AE
也训练了一个epoch
(8
天)。SkipThought
模型训练了两个星期,覆盖了不到一个epoch
。对于
CaptionRep
和DictRep
来说,性能是在held-out training data
上监测的,并且在损失函数达到一个plateau
(大约24
个小时)后停止训练。NMT
模型的训练时间为72
小时。
3.2 实验
略。(技术过于古老,不用花时间研究实验细节)。
3.3 讨论
不同的
objective
产生不同的representation
:这似乎是显而易见的,但是结果证实了应该对不同的application
采用不同的学习方法。例如:SkipThought
在TREC
上表现最好也许并不奇怪,因为这个数据集的标签是由紧随question
之后的语言(即answer
)所决定的。另一方面,完全聚焦于句子内容的模型,如
SDAE
,可能更有利于转述检测paraphrase detection
。
有监督的性能和无监督的性能之间的差异:许多在监督评估中表现最好的模型在无监督的环境中表现不佳。在
SkipThought、S(D)AE
和NMT
模型中,损失函数的计算是基于内部sentence representation
的非线性解码,因此,representation space
的几何信息可能不会反映在一个简单的余弦距离中。log-linear model
在这种无监督的情况下通常表现更好。资源需求的差异:不同的模型需要不同的资源来训练和使用,这可能会限制它们的应用。
单词顺序的作用尚不清楚:
在监督评估中,对词序敏感的模型(
76.3
)和不敏感的模型(76.6
)的平均得分大致相同。然而,在无监督评估中,
BOW
模型的平均得分是0.55
,而基于RNN
的模型(顺序敏感)的平均得分是0.42
。
这似乎与广泛持有的观点不一致,即单词顺序在决定英语句子的意义方面起着重要作用。
一种可能的原因是:大多数句子都可以被一个概念语义(可以在
distributed lexical representation
中进行编码)所区分,而这个概念语义与单词顺序无关。另一个可能的原因是:目前的评价标准没有充分反映order-dependent
。在
2023
年,随着Large Language Model
的兴起,单词顺序被证明是非常重要的。评估结果的局限性:所有评价结果的内部一致性
internal consistency
为0.81
(略高于"acceptable"
)。当分别考虑监督任务(或无监督任务)时,一致性指标要高得多。这表明,就sentence representation
的共同特性而言,有监督的基准和无监督的基准确实优先考虑了不同的属性。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论