Transformer(NIPS2017)


リンクテキスト
リンクテキスト

深い学習に基づくNLP発展過程


  • Transformerベースの高性能機種が増えている
  • GPT: Decoder of Transformer
  • BERT: Encoder of Transformer

  • 既存のSeq 2 Seqの制限


    :文書情報をContext Vector->ボトルネックに圧縮するとパフォーマンスが低下します.
    :コンテキストベクトルを参照するたびに->情報の損失を減らす(ただし、ベクトルに圧縮)
    :つまり、context vectorの情報が多すぎるため、パフォーマンスが低下します.
  • ソリューション:最新GPUを使用して、ソース文の出力情報を入力します!
  • *Seq2Seq with Attention
    :エンコーダのすべての出力を参照してください

    :加重ベクトルを使用します.

  • Decoder

    :すべての出力で最も重要な中間波を計算します.

  • i=デコーダが処理しているインデックス

  • j=各エンコーダの出力インデックス

  • h = hidden state

  • ビジュアル化

    :Atting weight->出力は、どの入力情報が参照されているかを示します.
    :輝度が高いほど確率が高くなる

    Transformer




  • 現代NLPの中核.

  • RNN、CNNは必要ありません.
    :使用位置符号化

  • BERTなどの拡張ネットワークの採用

  • エンコーダとデコーダからなる
    :複数の階層で注意プロセスを繰り返す
  • Transformerの動作原理


  • 入力値埋め込み

    :位置情報を埋め込み、RNNを必要としない
  • エンコーダ

  • :imbedding終了後の注意
    :リアルタイム学習によるパフォーマンスの向上(学習の難易度が低く、実行速度が速い)
    :繰り返しの注意と正常化
     - 각 레이어는 서로 다른 파라미터.
     

  • エンコーダとデコーダ
    :最後のエンコーダレイヤの出力を入力->すべてのデコーダレイヤ
    :RNNを使用せず、複数のエンコーダとデコーダを使用
    :表示されるまでデコーダを使用


  • Attention

    :マルチヘッドAttentionレイヤの使用

    :3つの入力要素
  • Query
  • Key
  • Value

  • Query, Key, Value

    :各単語の埋め込みを使用して作成
    :埋め込み次元->Query、Key、Value次元
    :行列


  • Scaled Dot-Product Attention
    Attention Energies:
    Flow:
    Mask Matrix(一部の単語は無視し、負の値は0->softmax関数の出力は0%に近い)


  • Multi-Head Attention

  • :マルチヘッド(Q,K,V)を実行した後、次元を保持します.

  • アテンションのタイプ
    1) Encoder Self-Attention:

    2) Masked Decoder Self-Attention:

    3) Encoder-Decoder Attention:


  • Self-Attention
    :エンコーダデコーダですべて使用
    :入力文で各単語に同義語があるかどうかを計算します.

  • Positional Encoding
    :ネットワークに相対位置情報を入力します.

    実際の例:

  • コードビュー