研究室の日本語輪読会で発表したスライドです。 内容に問題や不備がある場合は、お手数ですが hellorusk1998 [at] gmail.com までご連絡お願いいたします。
Automated Concatenation of Embeddings forStructured PredictionWang et al., ACL-IJCNLP 2021Kaito SugimotoAizawa Lab. M12021/09/061 / 22
View Slide
どんな論文?• ACL-IJCNLP 2021 (long paper)• 脚注によると著者が Alibaba の R&D 部門にインターンした際に行われた研究らしい2 / 22
どんな論文?• Structured Prediction タスク(入力文のラベルや構造を予測するタスク)をより上手く解く研究• Neural Architecture Search (NAS) のアイデアを活用し, 最適なEmbedding の組み合わせ方を強化学習として学習する• NER や Dependency Parsing などの 6 つのタスクで SOTA3 / 22
背景• NER タスクなどにおいて, BERT の Embedding を単独で用いるよりも他のモデルの Embedding と連結して使う方が精度が良くなることが知られていた 11Strakova et al., Neural Architectures for Nested NER through Linearization (ACL 2019)4 / 22
背景• 沢山種類がある言語モデルの Embedding から最も良い組み合わせを考えることで性能を上げられないだろうか?• しかし, L 種類の Embedding があった場合に, ありうるEmbedding の連結の仕方は 2L − 1 通りあり, 全探索するのは困難• タスクごとに効果的な Embedding の組み合わせが異なる可能性も十分考えられる5 / 22
背景• そこで本研究では Neural Architecture Search (NAS) の考え方を取り入れる• NAS においては通常, タスクごとにアーキテクチャ自体を探索する. NLP でもこれまでタスクに応じた RNN や Transformer のより良いアーキテクチャ探索の応用例がある• 今回は, モデルのアーキテクチャは探索しない(ラベル予測ではBiLSTM-CRF で, 構造予測では BiLSTM-Biaffine で統一). その代わり, モデルの入力である Embedding の組み合わせ方を探索する.6 / 22
提案手法のコンセプト• モデルのアーキテクチャではなく, モデルに入力する Embeddingの組み合わせ方を探索する• アーキテクチャ自体を探索するよりも GPU 時間の少ない効率的な方法だと主張している7 / 22
手法L を候補の Embedding の総数とする.a =(a1 a2 ... aL)をどの Embedding を使うか・使わないかの値とする(強化学習における「行動」)各 alは以下の 𝜽 =(𝜃1𝜃2 ... 𝜃l)をパラメータとする分布(強化学習における「方策(Policy)関数」)に従ってサンプリングされるPCtrll(al; 𝜃l) ={𝜎(𝜃l)1 − 𝜎(𝜃l)流れとしては, 前のステップで計算された 𝜽 をもとに a をサンプルし,モデルを訓練して accuracy を計算. その accuracy の結果をもとに 𝜽を更新する. この繰り返し.8 / 22
手法accuracy の計算前のステップで計算された 𝜽 をもとに a をサンプルし, どのEmbedding を使うかを決める(1 ステップ目は全部使う ∀l al= 1).以下の式のように, 使う Embedding 以外は 0 埋めされたベクトルが入力になる.これを入力としてモデル(BiLSTM-CRF または BiLSTM-Biafiine)を訓練し, evaluation データの accuracy を計算する.モデル自体は全ステップで同じものを使い続ける.9 / 22
手法𝜽 の更新モデルの Accuracy を報酬としたとき, Vanilla Policy Gradient という強化学習の手法 2 により, 𝜽 は前のステップから以下の分だけ更新すればよいと求まる(初期状態は 𝜽 = 0).(b は, この更新値の分散を小さくするための項で, 具体的にはその時点までの accuracy の最高値を使えばよいとされる)2『深層強化学習アルゴリズムまとめ』https://qiita.com/shionhonda/items/ec05aade07b5bea78081 がわかりやすい10 / 22
手法著者らはさらに, どの Embedding がより accuracy の向上に寄与したのかを報酬関数に明示した方がよいのではないか? と考え, 先程の式を以下のように修正(実際に ablation study した際に効果的だった).11 / 22
実験以下の 6 種類のタスクを行う• NER• POS Tagging(品詞タグ付け)• Chunking("South Africa" のようなカタマリの抽出)• Aspect Extraction(品物のレビューなど, 意見や感情を含む文からそれに関連する用語を抽出するタスク)• Syntactic Dependency Parsing• Semantic Dependency Parsing12 / 22
実験1. ベースラインとの比較提案手法の探索がうまくいっているかを確かめるために,• 単純に全部の Embeddings を使った場合• Random Search した場合(毎回ランダムに使う Embedding の組み合わせを試す場合)と比較Embedding の候補としては ELMo, Flair, BERT, Glove, fastText,Multilingual-BERT など 11 種類(今回は fine-tuning は行わずに Embedding を生成する)13 / 22
実験(RANDOM も ALL を上回ることが多い)14 / 22
実験ランダムに組み合わせを試すよりも効率的15 / 22
実験2. SOTA との比較実験 1. と異なり, モデルをタスクごとに fine-tuning してからEmbedding を作成し, その組み合わせ方を提案手法で学習するEmbedding の候補としてさらに XLNet と RoBERTa を追加.16 / 22
実験17 / 22
実験18 / 22
実験Embedding Weighting, Ensemble との比較複数の Embedding の組み合わせ方は他にも考えられる• Embedding を選ぶか選ばないかを 0/1 で決めるのではなく, 連続値の weight として考える All + weight 手法(つまり, Policy 関数である Sigmoid 関数の値をそのまま渡す)• それぞれの Embedding による予測結果の多数決で決めるEnsemble 手法(この場合強化学習そのものが不要)これらに対して提案手法は優っているのか?19 / 22
実験どれも僅差だが POS, AE で若干差が開いているRandom も強いベースライン20 / 22
実験結局, どのモデルの Embedding が役に立つのか?はっきりとした結論は出せなかった.タスクがラベル予測か構造予測か, あるいは文法的なタスクか意味的なタスクか, で若干の傾向の違いはありそう.21 / 22
感想• NAS の考え方を Embedding の組み合わせ方に応用するだけで, ここまで多くのタスクで SOTA を出せるのは面白い• 入力文の構造予測以外のタスクでも使えそうかどうかは気になる• 一方で, SOTA レベルのパフォーマンスを出すためには前提として沢山の fine-tuning モデルが必要であり, 前準備が大変である. そこも含めて Huggingface のライブラリに組み込まれると便利そう22 / 22