美文网首页
NLP与embedding

NLP与embedding

作者: xiiatuuo | 来源:发表于2019-04-01 17:14 被阅读0次

前记

基本上深度学习和nlp的几个阶段性成果大家都认为是NNLM、word2vec、bert

word2vec

NNLM就不说了,算是初创作品,神经网络语言模型的始祖,建模方式不复杂,但是是完整的语言模型,we只是其中一个副产物,计算量太大,实际不好应用。
word2vec专门用来做embedding的训练,做了很多优化,包括模型结构,包括负采样和层次softmax,极大的提升了效率,而且效果也很不错。
但是,解决不了多义词问题是硬伤,忽略了上下文环境。

Bert

经过GPT、ELMO等模型的演进之后终于到了Bert,目前的STOA。它采用首先是语言模型预训练,在预训练阶段采用了类似ELMO的双向语言模型;其次是使用Fine-Tuning模式解决下游任务。结构中核心的部件是采用Transformer改进了RNN最被人诟病的训练慢的缺点,利用self-attention机制实现快速并行。并且Transformer可以增加到非常深的深度,充分发掘DNN模型的特性,提升模型准确率。Bert采用了Transformer中encoder的双向结构。在输入端除了有token embedding,position embedding之外,还加上了segment embedding。这主要是为了处理双句任务,比如判断两个句子之间的关系,以及Question Answering等,通过segment embedding来区分前后句子。
下面先讲讲《Attention is All You Need》
随着模型处理输入序列的每个单词,自注意力会关注整个输入序列的所有单词,帮助模型对本单词更好地进行编码。希望关注语义上相关的单词,并弱化不相关的单词。

  • 计算自注意力的第一步就是从每个编码器的输入向量(每个单词的词向量)中生成三个向量。也就是说对于每个单词,我们创造一个查询向量、一个键向量和一个值向量。这三个向量是通过词嵌入与三个权重矩阵后相乘创建的。这些新向量在维度上比词嵌入向量更低。
  • 我们需要拿输入句子中的每个单词对“Thinking”打分。这些分数决定了在编码单词“Thinking”的过程中有多重视句子的其它部分。这些分数是通过打分单词(所有输入句子的单词)的键向量与“Thinking”的查询向量相点积来计算的。
  • 第三步和第四步是将分数除以8(8是论文中使用的键向量的维数64的平方根,这会让梯度更稳定。这里也可以使用其它值,8只是默认值),然后通过softmax传递结果。softmax的作用是使所有单词的分数归一化,得到的分数都是正值且和为1。
    通过矩阵运算实现自注意力机制以便算得更快。
    通过增加一种叫做“多头”注意力(“multi-headed” attention)的机制,论文进一步完善了自注意力层。


    image.png

    将位置向量添加到词嵌入中使得它们在接下来的运算中,能够更好地表达的词与词之间的距离。
    在每个编码器中的每个子层(自注意力、前馈网络)的周围都有一个残差连接,并且都跟随着一个“层-归一化”步骤。

参考资料

从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史
Hulu背后的故事:NLP在Hulu的研究与实践
BERT大火却不懂Transformer?读这一篇就够了
放弃幻想,全面拥抱Transformer

相关文章

  • NLP与embedding

    前记 基本上深度学习和nlp的几个阶段性成果大家都认为是NNLM、word2vec、bert word2vec N...

  • NLP in TensorFlow: Embedding

    主要知识点Embedding。 导入所需的包 下载数据 预处理数据 tokenizer化和padding 构造in...

  • 使用的词向量

    腾讯AILAB词向量:https://ai.tencent.com/ailab/nlp/embedding.htm...

  • NLP-词嵌入学习笔记

    1.NLP当前热点方向 词法/句法分析 词嵌入(word embedding) 命名实体识别(Name Entit...

  • node2vec (上)

    ​可能大家对嵌入(embedding)词了解都是来源 NLP。 最近一直在做模型构建和训练的工作,今天大家都过于相...

  • Keras里Embedding层的理解

    问题描述 Embedding层在机器学习中用的非常多,不问是NLP系统还是推荐系统,都会用到这个层,而且是放在最模...

  • NLP-Word Embedding-Attention机制

    attention机制是个坑。要明白attention机制,首先要明白seq2seq要明白seq2sql,首先要明...

  • 一文详解图表示学习

    Graph Embedding与Word Embedding一样,目的是用低维、稠密、实值的向量表示网络中的节点。...

  • MF与embedding

    推荐系统常用的MF(矩阵分解)方法,旨在通过评分矩阵R有损分解得到矩阵U(代表所有用户的feature vecto...

  • encoding与embedding

    encoding和embedding都是自然语言处理中将词语向量化的方法。 encoding 不考虑词之间的联系,...

网友评论

      本文标题:NLP与embedding

      本文链接:https://www.haomeiwen.com/subject/kcivbqtx.html