关于self-attention与transformer参考之前的博文
BERT基础(二):Transformer 详解
BERT基础(一):self_attention自注意力详解
简单来说,词向量模型是一个工具,可以把文字(词语/字符)转换成向量,然后我们使用这些向量来完成各种 NLP 任务。因而某种意义上,NLP 任务分成两部分:预训练产生词向量,对词向量进行操作(下游具体 NLP 任务)。
一、 Word2vec
Word2Vec 模型训练出来的词向量之间具有类似线性的关系,这是一个很神奇的地方,例如:
v e c ( k i n g ) − v e c ( m a n ) = v e c ( q u e e n ) − v e c ( w o m a n ) vec(king)-vec(man)=vec(queen)-vec(woman) vec(king)−vec(man)=vec(queen)−vec(woman) {v}
从而也说明高维空间映射的词向量可以很好体现真实世界中 token 之间的关系。
Word2Ved 的另一个重要特性就是其采用的负采样(nagative sampling)技术。由于训练词向量模型的目标不是为了得到一个多么精准的语言模型,而是为了获得它的副产物——词向量。所以要做到的不是在几万几十万个 token 中艰难计算 softmax 获得最优的那个词(预测对于给定词的下一词),而只需能做到在几个词中找到对的那个词就行。这几个词包括一个正例(即直接给定下一词),和随机产生的噪声词(采样抽取的几个负例),就是说训练一个 sigmoid 二分类器,只要模型