$30 off During Our Annual Pro Sale. View Details »

【論文紹介】Automated Concatenation of Embeddings for Structured Prediction

Kaito Sugimoto
September 06, 2021

【論文紹介】Automated Concatenation of Embeddings for Structured Prediction

研究室の日本語輪読会で発表したスライドです。
内容に問題や不備がある場合は、お手数ですが hellorusk1998 [at] gmail.com までご連絡お願いいたします。

Kaito Sugimoto

September 06, 2021
Tweet

More Decks by Kaito Sugimoto

Other Decks in Research

Transcript

  1. Automated Concatenation of Embeddings for Structured Prediction Wang et al.,

    ACL-IJCNLP 2021 Kaito Sugimoto Aizawa Lab. M1 2021/09/06 1 / 22
  2. どんな論文? • ACL-IJCNLP 2021 (long paper) • 脚注によると著者が Alibaba の

    R&D 部門にインターンした際に 行われた研究らしい 2 / 22
  3. どんな論文? • Structured Prediction タスク(入力文のラベルや構造を予測するタ スク)をより上手く解く研究 • Neural Architecture Search

    (NAS) のアイデアを活用し, 最適な Embedding の組み合わせ方を強化学習として学習する • NER や Dependency Parsing などの 6 つのタスクで SOTA 3 / 22
  4. 背景 • NER タスクなどにおいて, BERT の Embedding を単独で用いるよ りも他のモデルの Embedding

    と連結して使う方が精度が良くな ることが知られていた 1 1Strakova et al., Neural Architectures for Nested NER through Linearization (ACL 2019) 4 / 22
  5. 背景 • 沢山種類がある言語モデルの Embedding から最も良い組み合わ せを考えることで性能を上げられないだろうか? • しかし, L 種類の

    Embedding があった場合に, ありうる Embedding の連結の仕方は 2L − 1 通りあり, 全探索するのは困難 • タスクごとに効果的な Embedding の組み合わせが異なる可能性 も十分考えられる 5 / 22
  6. 背景 • そこで本研究では Neural Architecture Search (NAS) の考え方を取 り入れる •

    NAS においては通常, タスクごとにアーキテクチャ自体を探索す る. NLP でもこれまでタスクに応じた RNN や Transformer のより 良いアーキテクチャ探索の応用例がある • 今回は, モデルのアーキテクチャは探索しない(ラベル予測では BiLSTM-CRF で, 構造予測では BiLSTM-Biaffine で統一). その代わ り, モデルの入力である Embedding の組み合わせ方を探索する. 6 / 22
  7. 提案手法のコンセプト • モデルのアーキテクチャではなく, モデルに入力する Embedding の組み合わせ方を探索する • アーキテクチャ自体を探索するよりも GPU 時間の少ない効率的

    な方法だと主張している 7 / 22
  8. 手法 L を候補の Embedding の総数とする. a = ( a1 a2

    ... aL ) をどの Embedding を使うか・使わないかの値とす る(強化学習における「行動」 ) 各 al は以下の 𝜽 = ( 𝜃1 𝜃2 ... 𝜃l ) をパラメータとする分布(強化学習 における「方策(Policy)関数」 )に従ってサンプリングされる PCtrl l (al ; 𝜃l ) = { 𝜎(𝜃l ) 1 − 𝜎(𝜃l ) 流れとしては, 前のステップで計算された 𝜽 をもとに a をサンプルし, モデルを訓練して accuracy を計算. その accuracy の結果をもとに 𝜽 を更新する. この繰り返し. 8 / 22
  9. 手法 accuracy の計算 前のステップで計算された 𝜽 をもとに a をサンプルし, どの Embedding

    を使うかを決める(1 ステップ目は全部使う ∀l al = 1). 以下の式のように, 使う Embedding 以外は 0 埋めされたベクトルが入 力になる. これを入力としてモデル(BiLSTM-CRF または BiLSTM-Biafiine)を訓 練し, evaluation データの accuracy を計算する. モデル自体は全ステップで同じものを使い続ける. 9 / 22
  10. 手法 𝜽 の更新 モデルの Accuracy を報酬としたとき, Vanilla Policy Gradient という強

    化学習の手法 2 により, 𝜽 は前のステップから以下の分だけ更新すれ ばよいと求まる(初期状態は 𝜽 = 0). (b は, この更新値の分散を小さくするための項で, 具体的にはその時 点までの accuracy の最高値を使えばよいとされる) 2『深層強化学習アルゴリズムまとめ』 https://qiita.com/shionhonda/items/ec05aade07b5bea78081 がわかりやすい 10 / 22
  11. 手法 著者らはさらに, どの Embedding がより accuracy の向上に寄与した のかを報酬関数に明示した方がよいのではないか? と考え, 先程の式

    を以下のように修正(実際に ablation study した際に効果的だった). 11 / 22
  12. 実験 以下の 6 種類のタスクを行う • NER • POS Tagging(品詞タグ付け) •

    Chunking("South Africa" のようなカタマリの抽出) • Aspect Extraction(品物のレビューなど, 意見や感情を含む文から それに関連する用語を抽出するタスク) • Syntactic Dependency Parsing • Semantic Dependency Parsing 12 / 22
  13. 実験 1. ベースラインとの比較 提案手法の探索がうまくいっているかを確かめるために, • 単純に全部の Embeddings を使った場合 • Random

    Search した場合(毎回ランダムに使う Embedding の組 み合わせを試す場合) と比較 Embedding の候補としては ELMo, Flair, BERT, Glove, fastText, Multilingual-BERT など 11 種類 (今回は fine-tuning は行わずに Embedding を生成する) 13 / 22
  14. 実験 (RANDOM も ALL を上回ることが多い) 14 / 22

  15. 実験 ランダムに組み合わせを試すよりも効率的 15 / 22

  16. 実験 2. SOTA との比較 実験 1. と異なり, モデルをタスクごとに fine-tuning してから

    Embedding を作成し, その組み合わせ方を提案手法で学習する Embedding の候補としてさらに XLNet と RoBERTa を追加. 16 / 22
  17. 実験 17 / 22

  18. 実験 18 / 22

  19. 実験 Embedding Weighting, Ensemble との比較 複数の Embedding の組み合わせ方は他にも考えられる • Embedding

    を選ぶか選ばないかを 0/1 で決めるのではなく, 連続 値の weight として考える All + weight 手法(つまり, Policy 関数で ある Sigmoid 関数の値をそのまま渡す) • それぞれの Embedding による予測結果の多数決で決める Ensemble 手法(この場合強化学習そのものが不要) これらに対して提案手法は優っているのか? 19 / 22
  20. 実験 どれも僅差だが POS, AE で若干差が開いている Random も強いベースライン 20 / 22

  21. 実験 結局, どのモデルの Embedding が役に立つのか? はっきりとした結論は出せなかった. タスクがラベル予測か構造予測か, あるいは文法的なタスクか意味的 なタスクか, で若干の傾向の違いはありそう.

    21 / 22
  22. 感想 • NAS の考え方を Embedding の組み合わせ方に応用するだけで, こ こまで多くのタスクで SOTA を出せるのは面白い

    • 入力文の構造予測以外のタスクでも使えそうかどうかは気になる • 一方で, SOTA レベルのパフォーマンスを出すためには前提とし て沢山の fine-tuning モデルが必要であり, 前準備が大変である. そ こも含めて Huggingface のライブラリに組み込まれると便利そう 22 / 22