AkihikoWatanabe / paper_notes

たまに追加される論文メモ
https://AkihikoWatanabe.github.io/paper_notes
14 stars 0 forks source link

Deep contextualized word representations, Peters+, Allen Institute for Artificial intelligence, NAACL'18 #457

Open AkihikoWatanabe opened 2 years ago

AkihikoWatanabe commented 2 years ago

https://arxiv.org/pdf/1802.05365.pdf

AkihikoWatanabe commented 2 years ago

ELMo論文。 通常のword embeddingでは一つの単語につき一つの意味しか持たせられなかったが、文脈に応じて異なる意味を表現できるようなEmbeddingを実現し(同じ単語でも文脈に応じて意味が変わったりするので。たとえばrightは文脈に応じて右なのか、正しいなのか、権利なのか意味が変わる)様々な言語処理タスク(e.g. Question Answering, Sentiment Analysisなど)でSoTAを達成。

image

Embedding Layer + 2層のLSTM(1,2の間にはresidual connection)+ linear layerで言語モデルを構成し、順方向言語モデルと逆方向言語モデルを同時に独立して学習する(双方向LSTMではない;損失関数が両方向の言語モデルの対数尤度の和になっている)。 また、Linear LayerとEmbedding Layerのパラメータは両方向の言語モデルで共有されている。

k番目の単語のEmbedding Layerの出力ベクトル、各LSTMのhidden stateをタスクspecificなスカラーパラメタs_taskで足し合わせ、最後にベクトルのスケールを調整するパラメタγ_taskで大きさを調整する。これにより、k番目の単語のELMo Embeddingを得る。 単語単体の意味だけでこと足りるタスクの場合はEmbedding Layerの出力ベクトルに対する重みが大きくなり、文脈を考慮した情報が欲しい場合はLSTMのhidden stateに対する重みが大きくなるイメージ(LSTMの層が深いほど意味的semanticな情報を含み、浅いほど文法的syntacticな情報を含んでいる)。

使い方としては簡単で、ELMoを事前学習しておき、自身のNNモデルのWord Embeddingに(場合によってはRNNのhidden stateにも)、入力文から得られたELMo Embeddingをconcatして順伝搬させるだけで良い。

AkihikoWatanabe commented 2 years ago

s_taskとγ_taskはtrainableなパラメータで、 ELMoを適用した先のNNモデルの訓練時に、NNモデルのパラメタと一緒にチューニングする(と思われる)。

https://github.com/allenai/allennlp/issues/1166 https://github.com/allenai/allennlp/issues/2552

AkihikoWatanabe commented 2 years ago

ELMoのEmbedding Layerでは、2048 characterの(vocab size?)n-gram convolution filter(文字ごとにembeddingし、単語のembeddingを得るためにfilterを適用する?)の後に2つのhighway networkをかませてlinearで512次元に落とすみたいなことごやられているらしい。ここまで追えていない。

詳細は下記 https://datascience.stackexchange.com/questions/97867/how-does-the-character-convolution-work-in-elmo