paper-reading
paper-reading copied to clipboard
[2020] DeBERTa: Decoding-enhanced BERT with Disentangled Attention
0. 論文
| タイトル | DeBERTa: Decoding-enhanced BERT with Disentangled Attention |
|---|---|
| リンク | https://arxiv.org/abs/2006.03654 , https://github.com/microsoft/DeBERTa |
| 著者 | Pengcheng He, Xiaodong Liu, Jianfeng Gao, Weizhu Chen (Microsoft) |
| 投稿日付 | 2020/6/5 on arxiv, ICLR 2021 |
1. どんなもの?
SuperGLUE のベンチマークで 2021/1/6 時点で1位 & 初めて人間によるベースラインを超えた DeBERTa の提案論文(なお、2021/2/21 現在も1位)。 次の3つのアイディアを RoBERTa に取り入れることで、NLU, NLG ともに精度を向上した。
- disentangled attention: あるトークンの表現をその意味と位置の2つのベクトルで分けて表現する
- enhanced mask decoder: pretrain 時に decoder で各トークンの absolute position を取り入れる
- Scale invariant Fine Tuning (SiFT): virtual adversarial training の改良手法
RoBERTa-Large に対して約半分のデータでスコアを改善したり、T5 より圧倒的に少ないパラメータ数で高いスコアを出している。
2. 先行研究と比べてどこがすごい?
- SuperGLUE ではじめて人間によるベースラインを超えた手法となった
3. 技術や手法のキモはどこ?
- disentangled attention
- トークンの意味とその(相対的な)位置の2つを明示的に分けることで表現力をUP
- 通常の self-attention は、前層の出力を H とすると下記.
-
- これに対して、最大の相対距離を k としたとき、各 i, j 番目のトークンの相対距離 δ は下記のようにかける
-
- relative position embedding を
P ∈ R^{2k×d}とすると、disentangled attention は下記のようになる-
- content (内容) 用の projection W_c と、position 用の projection W_r を別に用意して計算している
- これは Eq. 2 (下記) のように attention の計算を分解しているから
-
- 分解を頭から content-to-content, content-to-position, position-to-content, position-to-position としている
-
- 最後の position-to-position の部分は relative positional embedding をそもそも使っていることから余計な情報になるのではずしている とのこと
- content-to-content, content-to-position までを使う提案は過去にもされているが、以降を使ったのが先行研究との違い
-
- Enhanced mask decoder
- 事前学習時に、各トークンの absolute position をモデルの最終層付近 (softmax 前) で取り入れる手法
- 実験では softmax 前に通常の self-attention から EMD 2層に置き換えていた
- 最初の EMD 層の query に absolute position を使い、以降は前層の出力をそのまま用いる
- モデルは学習中に relative position を用いて学習するが、タスクによっては absolute position が必要になることもある
- BERT のように Input Layer で入れるよりも softmax layer 前に入れる EMD の方が性能が良かった
- finetuning 時にどうするのか不明、記述ある?
- 事前学習時に、各トークンの absolute position をモデルの最終層付近 (softmax 前) で取り入れる手法
- Scale invariant Fine Tuning (SiFT)
- 基本的には元の virtual adversarial training と同じ
- NLPタスクにおいては、特にモデルが大きほど、word embeddings のノルムの variance が大きいため adversarial training に対して不安定だった
- embeddings を normalize してから摂動を追加して adversarial training を行うことで性能を改善
4. どうやって有効だと検証した?
GLUE, SuperGLUE を含む様々なタスクで他の pretrained モデルと比較し実験。既存手法よりも少ないデータやパラメータ数で、既存手法のスコアを上回っていることを確認している。下図は一例で、GLUEの結果。

5. 議論はある?
future work として下記が挙げられている。
- EMD で absolute position を最後に加えることによる効果に関する実験
- SiFTの手法に関するさらなる実験
6. 次に読むべき論文は?
Enhanced Mask Decoder は pre-train のときに使うみたいな記述があるけど、finetuning 時はどうするんだろうか...? コードを見たけど EMD っぽい部分はないので、finetune 時はないように見える?ちょっとわからない。