自然言語処理をもっと学びたい人に:参考資料
Stanford大学の講義資料
Natural Language Processingwith Deep Learning
動画・演習のソースコードも充実
http://web.stanford.edu/class/cs224n/
Speech and Language Processing
Dan Jurafsky and James H. Martin
https://web.stanford.edu/~jurafsky/slp3/
東工大岡崎先生の講義資料
https://chokkan.github.io/deeplearning/
最新の研究は、Twitterも情報源
(NLPerの多くはTwitterにいる:ハッシュタグは#NLProc)
4
#33 系列から別の系列に変換する確率をモデル化したものがEncoder-decoderモデルです。
今日は晴れという単語列Xを固定長のベクトルZに変換するEncoderモデルと固定長のベクトルZからIt is sunny todayという系列Yを出力するDecoderモデルから構成されます。
ここで<BOS>はbeginning of sentenceの略で文頭, <EOS>はending of sentenceと文末を表す記号で、よく実装で使う記号なので覚えておいてください。
ここでのポイントはEncoderの最後の位置の隠れ状態ベクトルをDecoderの初期状態の隠れ状態ベクトルhとして利用するところです。
#49 Attentionを用いた代表的なモデルとしては、現在活発に研究されているTransformerというモデルがあります。これはAttention is all you needという論文のタイトルの通り、RNNやCNNを用いずAttentionのみを用いたEncoder-decoderモデルになっています。
Encoder, Decoderはそれぞれ6層あり、〜という3種類のAttentionを使用しています。順に説明します。
positional encoding: 一番最初にこのモデルに単語の分散表現を入力するときに単語位置に一意の値を各分散表現に加算する
masked decoder: 予測すべきターゲット単語の情報が予測前のデコーダにリークしないように自己注意にマスクをかけている