NLPの分野における深い学習の発展(A)

NLPの分野における深い学習開発

    三段階:

  • Wordの埋め込み

    • Word2Vec

    • グローブ

  • RNN改善と拡充

    • LSTM / GRU

    • Seq2Seq

    • 注意/セルフ注意

  • コンテキストWordの埋め込み

    • ELMO

    • OpenAI GPT

    • BERT

第一段階は、主にWordの埋め込みである方が良い単語ベクトルは、モデルの汎化能力を向上させるために、下流の作業のための単語ベクトルを置くことができる期待教師なしで学習することができ、word2vecや手袋などが。

第二段階は、主に問題のほとんどは、機械翻訳、クイズ、抽象として、内部NLP解決することができる2つのRNN構成Seq2Seq含むオリジナルGRU LSTMと回答の改善、を含むRNN改善と膨張、です。注意/セルフ注意Seq2Seqのさらなる改善です。

第三段階は、ワード埋め込みのコンテキストを考慮することです。

言語モデル(NLPの基本的なタスク)

言語モデルは文の確率を予測するために、タスクの前に与えられた単語のテキスト内の次の単語を予測することです。

タスク:週にk個の単語、W1を含む、wの文を考えます。彼の条件付き確率の使用は、条件付き確率の積の形式に分解文の確率を計算する必要は:例えば、最初W1、W2の確率を計算した後、所定のW1、W1の場合の確率を計算した後に与えられW2確率計算のW3、及び週に所定のWK-1 W1の確率が計算されます。主流の言語モデルを学習の深さの前に、N-gramモデルです。しかし、このモデルは一般化の欠如です。

単語埋め込みます

それはとてもその2つの意味的に類似の単語意味空間比較的近い距離のマッピング、大きな意味の違い遠く、密なスペースの低緯度にマッピングされた言葉です。

word2vecあなたは、単語間の関係を学ぶことができます。

分散を使用してword2vec想定し、それは二つの単語の文脈が類似している場合は、その意味でも類似していることであることを意味していることを前提としています。

  • CBOWとスキップ・グラム:word2vec二つの基本的なモデルがあります。CBOWコンテキスト見出し語を用いて予測され、スキップ・グラムの見出し語は、コンテキストを使用して予測されます

 

  • 词袋(Bag of Words)模型,最常用的方法是one-hot编码和tf-IDF。

词袋将文本看作一个无序的词汇集合,忽略语法和单词顺序,对每一个单词进行统计,计算词频。 但是问题是BOW的最大缺点是严重缺乏相似词之间的表达。

对于nlp来说,我们输入的是一个一个离散的符号,比如说是一些是字符的序列,或者说是一些单词的序列。对于神经网络来说,他处理的都是向量或者矩阵。所以我们第一步就是需要把一个词编码成一个向量。最简单的编码方式就是One-Hot Encoding。但是这种编码产生的结果是高维的稀疏的,这是缺陷。

词袋模型和word2vec都是将文本向量化的常用方法。

在word embedding编码的时候,一个词经常会有多个语义,如果强行将用一个向量来编码它的语义的时候,我们只能把这几种语义都编码到向量里面,但实际上句子里面的词一般只有一种语义。

像上述的情况可以用RNN、LSTM、GRU来解决。

用两个RNN组成Seq2Seq的模型。

由于词向量是不考虑上下文的,比如在编码bank的时候,只能把“银行”“水边”两个意思编码进去。

RNN可以解决这个问题,因为RNN有记忆能力,比如上图中在计算t时刻的一个隐状态时,除了考虑Xt(输入),同时也会考虑t-1时刻的隐状态,会把这两个组合起来才可以求出St(t时刻的隐状态)。同时在计算t+1时刻时,除了考虑t+1时刻的输入Xt+1,还会考虑t时刻的隐状态。

St是记忆了从开始到t时刻的所有语义,加入最后一刻是Sn,则可以认为是编码了整个句子的语义。所以RNN是具有记忆能力,同时具有上下文表示的能力。

最原始的RNN,神经网络大部分梯度下降或者反向传播来训练参数。我们需要把loss或者error 向前传递。由于梯度消失的问题,普通的RNN很难学到长距离的依赖关系。此时LSTM可以来解决这个问题。

LSTM通过门的机制来避免了梯度消失的问题。

 

 

 

 

发布了34 篇原创文章 · 获赞 45 · 访问量 2万+

おすすめ

転載: blog.csdn.net/one_super_dreamer/article/details/104579271