A primer in bertology what we know about how bert works1. A Primer in BERTology:
What we know about
how BERT works
2020.tacl-1.54.pdf (aclanthology.org)
1
2. 3
2017年
Attention is all you need transformerが発表
NLPを席巻
2019年
BERT 多くのNLPタスクで10%以上のスコア更新
BERTが他のモデルよりも優れていることは確か
明確な理由は分からない
この論文ではこれまでのbertの研究結果をまとめたものを示す.
未解決の解析事項を挙げる
bertが知識として何を学んでいるのかに焦点を当てて考える
attentionが何を獲得しているか多くの研究
Introduction
3. 4
Overview of BERT architecture
• pre-training
• fine-tuning
BERTの2段階のステージ
MLMとNSPの2つのタスクを実行 タスク毎に必要な層を追加
特殊トークン
5. What knowledge does BERT have?
6
BERTの内部が持つ知識の解析
1.構文知識
Lin et al.(2019)
BERTの表現が階層的情報を持っていることを確認
Tenney et al.(2019) Liu et al.(2019)
BERTの表現が品詞,構文チャンクの情報を一部持っていることを確認
ただし,構文情報においては自分から距離のある親ノードは知らない
BERTは構文的には子ノードの情報は獲得している
• MLMの分析
• attentionの重みの分析
アプローチ方法
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
6. What knowledge does BERT have?
7
1.構文知識
attentionの重みに構文情報が直接エンコードされているわけではない
変換を行うことで構文情報が獲得できているかを確認することができる
Htut et al.(2019)
rootのノードからgoldのアノテーションを用いても
attentionから完全な構文木は獲得できなかった
Jawahar et al.(2019)
直接抽出して,図を作成
定量的な評価はできていない
Hewitt and Manning (2019)
PennTreebankのスタンフォード依存関係式の多くを
変換する変換行列を獲得した
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
7. What knowledge does BERT have?
8
1.構文知識
attentionの重みに構文情報が直接エンコードされているわけではない
変換を行うことで構文情報が獲得できているかを確認することができる
Htut et al.(2019)
rootのノードからgoldのアノテーションを用いても
attentionから完全な構文木は獲得できなかった
Jawahar et al.(2019)
直接抽出して,図を作成
定量的な評価はできていない
Hewitt and Manning (2019)
PennTreebankのスタンフォード依存関係式の多くを
変換する変換行列を獲得した
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
8. What knowledge does BERT have?
9
1.構文知識
Goldberg (2019)
• BERTはclozeタスクにおいて主語と述語の関係は獲得している
ことを報告
• 主語と述語の間に紛らわしい語があっても獲得していることを確認
Warstadt (2019)
NPIs(negative polarity items)の存在を認識していることを確認
英語において肯定文には用いられずに否定文で用いられる語(yet, any, everなど)
• 「否定」を理解していない
• 入力が間違っていても認識できない
BERTが
という事実に基づいている
BERTの構文構造のエンコードは実際の知識には全く依存していない
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
9. What knowledge does BERT have?
10
2.意味的知識
Ettinger (2019)
MLMの調査により,BERTがある程度の意味的な知識を持っている
Tenney et al. (2019)
BERTがエンティティタイプ,関係,意味的な役割を持っていることを確認
Wallace et al. (2019b)
BERTが浮動小数点の数字を一般化して表現できないことを証明
トークンを作成する最初の分割が上手くできないため
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
10. What knowledge does BERT have?
11
3.世界の知識(常識的な知識)
Petroni et al. (2019)
一部の関係ラベルでBERTは
知識ベースに依存する方法と競合することを報告
Bouraoui et al. (2019)
BERTが知識を獲得するためには適切なテンプレート文が必要と結論付け
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
11. What knowledge does BERT have?
12
3.世界の知識(常識的な知識)
Forbes et al. (2019)
多くのものを「推測」はできるが相互作用に関する情報は獲得できない
モデルは「人々が家に入ること」と「家が大きい」ことは分かっていても
「家が人より大きい」ことは理解できない
Zhou et al.(2020) and Richardson and Sabharwal (2019)
推論の数が多くなるほどパフォーマンスが低下することを報告
Poerner et al.(2019)
ファクトイド知識探索において人間がありそうだと感じる
文字を組み合わせて学習していることを報告
イタリア語っぽい響きの名前の人は
実際にはいない名前でもイタリア人であるとBERTが判断
「っぽさ」を理解しているだろうという報告
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる
12. Localizing linguistic knowledge
13
1.Self-Attention heads
Self-attentionの分類
Raganato and Tiedemann. (2018)
単語自体,前後の単語,文の終わりに注目したattention
Clark et al.(2019)
前後の単語,[CLS],[SEP]トークン,文の終わりに注目したattention
Kovaleva et al.(2019)
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる
13. Localizing linguistic knowledge
14
1.Self-Attention heads
Self-attentionの分類
Clark et al.(2019)
特定の単語が現在の次の表現を計算する時にどれだけ重み付けされるか
Attentionの重みの意味
Kovaleva et al.(2019)
ほとんどのattentionは重要な言語情報を直接エンコードするわけではない
[CLS],[SEP],コンマといったものにVerticalのタイプのattention
Attentionには冗長性が存在
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる
Localizing linguistic knowledge
• attentionは重要な情報を直接エンコードしない
• attentionには冗長性が存在
14. Localizing linguistic knowledge
15
一部のBERTのheadは特定の構文関係に特化していることを示す
Htut et al.(2019) and Clark et al.(2019)
objにattentionをかけるheadが多いことを報告
1つのheadでは構文情報を全て獲得できないことを報告
Clark et al.(2019) and Htut et al.(2019)
attentionが主語と動詞の一致を反映していないことを報告
Lin et al.(2019)
attentionが関係を反映していても,
関連するタスク(推論など)で精度が上がるわけではないことを報告
Kovaleva et al.(2019)
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる
Localizing linguistic knowledge
• attentionは重要な情報を直接エンコードしない
• attentionには冗長性が存在
• 一部のheadは特定の構文関係に特化
• 1つのheadでは構文情報は全て獲得できない
• 主語と動詞の一致は獲得できない
• 関連タスクで必ず精度が上がるわけではない
15. Localizing linguistic knowledge
16
一番最初の層が線形の語順情報を獲得している
Hewitt and Manning et al.(2019)
2.BERT Layers
BERT-baseにおいて4層目以降語順情報が減ることを報告
Lin et al.(2019)
構文情報は中央辺りの中間層に多く含まれていることを報告
BERT-baseでは6-9層目
BERT-largeでは14-19層目
構文木を構築するのに一番有用
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる
Localizing linguistic knowledge
• attentionは重要な情報を直接エンコードしない
• attentionには冗長性が存在
• 一部のheadは特定の構文関係に特化
• 1つのheadでは構文情報は全て獲得できない
• 主語と動詞の一致は獲得できない
• 関連タスクで必ず精度が上がるわけではない
• 4層目以降語順情報は減少
• 構文情報は中央の層に多く含まれている
16. Localizing linguistic knowledge
17
一番最初の層が線形の語順情報を獲得している
Hewitt and Manning et al.(2019)
2.BERT Layers
BERT-baseにおいて4層目以降語順情報が減ることを報告
Lin et al.(2019)
構文情報は中央辺りの中間層に多く含まれていることを報告
BERT-baseでは6-9層目
BERT-largeでは14-19層目
構文木を構築するのに一番有用
中間層のパフォーマンスが良いことを報告
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる
Localizing linguistic knowledge
• attentionは重要な情報を直接エンコードしない
• attentionには冗長性が存在
• 一部のheadは特定の構文関係に特化
• 1つのheadでは構文情報は全て獲得できない
• 主語と動詞の一致は獲得できない
• 関連タスクで必ず精度が上がるわけではない
• 4層目以降語順情報は減少
• 構文情報は中央の層に多く含まれている
17. Localizing linguistic knowledge
18
構文チャンク
2.BERT Layers
基本的な構文情報は早い層で学習され,
意味的な情報は後ろの層で学習される
Tenney et al.(2019)
fine-tuningで最終層が一番変化する理由を説明
Liu et al.(2019)
最終層について
最終層がもっともタスク固有に変化する pre-trainingのMLMが大事
構文情報は層毎に情報が固まるが
意味的情報はモデル全体で獲得していることを報告
Tenney et al.(2019)
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる
Localizing linguistic knowledge
• attentionは重要な情報を直接エンコードしない
• attentionには冗長性が存在
• 一部のheadは特定の構文関係に特化
• 1つのheadでは構文情報は全て獲得できない
• 主語と動詞の一致は獲得できない
• 関連タスクで必ず精度が上がるわけではない
• 4層目以降語順情報は減少
• 構文情報は中央の層に多く含まれている
• 意味的情報はモデル全体で獲得している
18. Training BERT
19
cross-lingualにおいては
NSPのタスクを抜いてもタスクのパフォーマンスは落ちないことを報告
Liu et al.(2019b)
1.pre-training
動的なマスキングがMLMを改善することを報告
Liu et al.(2019b)
MLMのtraining中に入力のシーケンスを
順列で入れ替えるタスクに取り組む
Yang et al.(2019)
spanの境界のみを用いてMLMを解くタスクに取り組む
Joshi et al.(2020)
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる
Localizing linguistic knowledge
• attentionは重要な情報を直接エンコードしない
• attentionには冗長性が存在
• 一部のheadは特定の構文関係に特化
• 1つのheadでは構文情報は全て獲得できない
• 主語と動詞の一致は獲得できない
• 関連タスクで必ず精度が上がるわけではない
• 4層目以降語順情報は減少
• 構文情報は中央の層に多く含まれている
• 意味的情報はモデル全体で獲得している
Training BERT
• 動的なマスキングが有効
19. Training BERT
20
単語ではなくentityをmaskしたMLMに取り組む
Zhang et al.(2019b)
1.pre-training
別のタスクを用意しそれぞれ独自の損失でモデルを更新(継続学習)
Sun et al.(2019b)
マスクされたトークンを[UNK]トークンに置き換えてMLMに取り組む
Clinchant et al.(2019)
ニューラル機械翻訳で未知の表現をモデルが学習するため
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる
Localizing linguistic knowledge
• attentionは重要な情報を直接エンコードしない
• attentionには冗長性が存在
• 一部のheadは特定の構文関係に特化
• 1つのheadでは構文情報は全て獲得できない
• 主語と動詞の一致は獲得できない
• 関連タスクで必ず精度が上がるわけではない
• 4層目以降語順情報は減少
• 構文情報は中央の層に多く含まれている
• 意味的情報はモデル全体で獲得している
Training BERT
• 動的なマスキングが有効
20. Training BERT
21
大規模なバッチ学習(論文では8k)が有効であることを報告
Liu et al.(2019c)
2.Model architecture
バッチサイズ32kが時間効率が一番良いことを報告
You et al.(2019)
上位層と下位層でself-attentionが似ていることを報告
Gong et al.(2019)
モデルが再帰的な方法で実行可能
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる
Localizing linguistic knowledge
• attentionは重要な情報を直接エンコードしない
• attentionには冗長性が存在
• 一部のheadは特定の構文関係に特化
• 1つのheadでは構文情報は全て獲得できない
• 主語と動詞の一致は獲得できない
• 関連タスクで必ず精度が上がるわけではない
• 4層目以降語順情報は減少
• 構文情報は中央の層に多く含まれている
• 意味的情報はモデル全体で獲得している
Training BERT
• 動的なマスキングが有効
• バッチサイズ32kが時間効率一番良い
21. Training BERT
22
fine-tuining中にモデルの最後の2層で
[SEP]にattentionがかかっていることを発見
Kovaleva et al.(2019)
3.Fine-tuning
[SEP]トークンは「no-op」として学習
Clark et al.(2019)
fine-tuningではBERTが無視すべきことを教えると考えられる
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる
Localizing linguistic knowledge
• attentionは重要な情報を直接エンコードしない
• attentionには冗長性が存在
• 一部のheadは特定の構文関係に特化
• 1つのheadでは構文情報は全て獲得できない
• 主語と動詞の一致は獲得できない
• 関連タスクで必ず精度が上がるわけではない
• 4層目以降語順情報は減少
• 構文情報は中央の層に多く含まれている
• 意味的情報はモデル全体で獲得している
Training BERT
• 動的なマスキングが有効
• バッチサイズ32kが時間効率一番良い
• fine-tunedは必要ないことを教えている
22. Training BERT
23
Fine-tuningを改善する研究
3.Fine-tuning
最終層の出力の代わりに全ての層の重みを使うことを提案
Yang and Zhao(2019)
fine-tuningを二段階に分けて行う方法を提案
Phang et al.(2019)
敵対的トークンをfine-tuningで与えてモデルの頑強性を強くする研究
Zhu et al.(2019)
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる
Localizing linguistic knowledge
• attentionは重要な情報を直接エンコードしない
• attentionには冗長性が存在
• 一部のheadは特定の構文関係に特化
• 1つのheadでは構文情報は全て獲得できない
• 主語と動詞の一致は獲得できない
• 関連タスクで必ず精度が上がるわけではない
• 4層目以降語順情報は減少
• 構文情報は中央の層に多く含まれている
• 意味的情報はモデル全体で獲得している
Training BERT
• 動的なマスキングが有効
• バッチサイズ32kが時間効率一番良い
• fine-tunedは必要ないことを教えている
23. How big should BERT be ?
24
一部のheadは大事であるが
全てのheadを一つずつ剪定してもパフォーマンスが落ちないことを報告
Voita et al.(2019)
1.Overparametrization
同じ層内のheadはほとんど同じ注意機構を持っていることを報告
Clark et al.(2019)
同じMLPによる出力であることが原因と考察
一部のheadを無効にすることで翻訳タスクでは精度が向上したことを報告
Michel et al.(2019)
言語の複雑さと事前学習の量によってBERTがoverparameterになる
Clark et al.(2019)
dropoutの使用が過剰なパラメータの原因の一つであると考えられる
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる
Localizing linguistic knowledge
• attentionは重要な情報を直接エンコードしない
• attentionには冗長性が存在
• 一部のheadは特定の構文関係に特化
• 1つのheadでは構文情報は全て獲得できない
• 主語と動詞の一致は獲得できない
• 関連タスクで必ず精度が上がるわけではない
• 4層目以降語順情報は減少
• 構文情報は中央の層に多く含まれている
• 意味的情報はモデル全体で獲得している
Training BERT
• 動的なマスキングが有効
• バッチサイズ32kが時間効率一番良い
• fine-tunedは必要ないことを教えている
How big should BERT be ?
• 翻訳タスクではhead無効にした方が精度向上
• dropoutのせいで過剰にパラメータ計算している
26. Conclusion
27
BERT embedding
• 人間の間隔に対応,意味的クラスター
• コンテキストを含んだ表現
what knowledge
Localizing linguistic knowledge
• attentionは重要な情報を直接エンコードしない
• attentionには冗長性が存在
• 一部のheadは特定の構文関係に特化
• 1つのheadでは構文情報は全て獲得できない
• 主語と動詞の一致は獲得できない
• 関連タスクで必ず精度が上がるわけではない
• 4層目以降語順情報は減少
• 構文情報は中央の層に多く含まれている
• 意味的情報はモデル全体で獲得している
Training BERT
• 動的なマスキングが有効
• バッチサイズ32kが時間効率一番良い
• fine-tunedは必要ないことを教えている
How big should BERT be ?
• 翻訳タスクではhead無効にした方が精度向上
• dropoutのせいで過剰にパラメータ計算している
• 階層的表現
• 品詞,構文チャンク
• 親ノードは遠いと分からない
• 構文構造は完全には再現不可
• 構文構造を獲得するための変換と種類によっては
獲得可能
• 主述関係は獲得している
• NPIsも認識している
• 「否定」は理解していない
• エンティティタイプと関係は認識している
• 数字の表現は苦手
• 世界の常識は分からない
• 単語を構成する「っぽさ」は獲得していると考えられる