7. All rights reserved| micin.jp 77
BERTの略称
Bidirectional Encoder Representations
from Transformers
これがモデルの中身の全てを示している
Transformerの2方向の
エンコーダ表現
と直訳ができます
8. All rights reserved| micin.jp 88
Transformer
Attentionと呼ばれる機構のみで構成され
ているEncoder-Decoderモデル。
• Attentionを使って文字列をエンコード
• Attentionを使ってデコードする
このモデルを発表した論文のタイトルは
「Attention is All You Need」
10. All rights reserved| micin.jp 1010
BERTのモデル構造(概略)
TransformerのEncoder部分を複数重ね
たものがBERT本体のモデル構造の全て
とてもシンプル!
だけど大きいんです
11. All rights reserved| micin.jp 1111
BERTのモデル構造(概略)
パラメータ数が O(108)
小さいモデルでも1枚のGPU(8GB)で訓
練しようとするとバッチサイズが2にな
るレベル
→用途に合わせてモデルの大きさを変え
たものが公開される
12. All rights reserved| micin.jp 1212
BERTのモデル構造(概略)
BERTbase : 1億パラメータ
BERTlarge : 3億パラメータ
13. All rights reserved| micin.jp 1313
BERTの出力と入力
“I have a pen.” が入力の時
𝑋 = 𝑥𝐼, 𝑥ℎ𝑎𝑣𝑒, 𝑥 𝑎, 𝑥 𝑝𝑒𝑛
𝑇
𝑥𝑖 ∈ ℝ 𝑊
出力は
𝑌 = 𝑦𝐼, 𝑦ℎ𝑎𝑣𝑒, 𝑦𝑎, 𝑦𝑝𝑒𝑛
𝑇
𝑦𝑖 ∈ ℝ 𝐹
, F ∈ {768,1024}
(厳密には文章の先頭などに特殊トークンが
設置される)
詳しい式部分の解説はkibe.laにて公開しています
14. All rights reserved| micin.jp 1414
BERTがやっていること
BERTが行っているのは
基本的には文章の単語(token)ごとの
エンコードのみ
特定タスク利用にはデコードする部分を
付け加えて利用する
(大抵全結合層を1つ加える)
15. All rights reserved| micin.jp 1515
BERTがやっていること
エンコードしかしないが、エンコード部分は
いろんなタスクに共通するのでは
↓
デコード部分だけ入れ替えれば使い回しがで
きる(はず)
↓
エンコード部分だけ事前に特定のタスクで学
習させて、色々なタスクに応用しよう
16. All rights reserved| micin.jp 1616
使いまわした結果
これまでの既存の10を超えるタスクに
おいて歴代最高スコア(SOTA; State of
The Art)を達成(モデル発表当時)
GLUEタスク: (General Language Understand Evaluation)
いくつかの自然言語処理タスクをまとめたもの
Jacob Devlin et al.(2018). BERT: Pre-training of Deep
Bidirectional Transformers for Language Understanding. より
17. All rights reserved| micin.jp 1717
使いまわした結果
SQuAD 1.1
SQuAD 2.0
SWAG
人間超えるタスクも
Jacob Devlin et al.(2018). BERT: Pre-training of Deep
Bidirectional Transformers for Language Understanding. より
22. All rights reserved| micin.jp 22
事前学習
このようなタスクにするために必要不可欠なのが、
大規模コーパスを用いた事前学習
オリジナルでは主に2つのタスクを解かせている
• Masked Language Modeling (MLM)
一定確率で単語(token)を隠し、隠した部分が
どんな単語かを予測(多クラス分類)
• Next Sentence Prediction (NSP)
ランダムに接合した2つの文章が関連があるか
どうかを判定(2値分類)
23. All rights reserved| micin.jp 23
事前学習
MLMとNSPは同時並行で学習させていく
(MLMとNSPタスクによって算出された損失を元
に学習をしていく)
これらのタスクそのものを入れ替えることも改善
の一手
24. All rights reserved| micin.jp 24
事前学習
入力と出力は以下のイメージ
http://kento1109.hatenablog.com/entry/2019/04/28/142507
25. All rights reserved| micin.jp 25
NSPタスクはあまり意味がない?
(Yang et al., 2019; Liu et al., 2019)
↓
ランダムに入れ替えた文章を並べ直すというタス
クに変更
(ALBERT) (Lan et al., 2019)
事前学習
26. All rights reserved| micin.jp 26
MLMで、単語(token)を複数マスクするとマス
クされたもの同士の依存関係はモデリングでき
ない
↓
単語をランダムに並べ替えたものを予測するタ
スクに変更
(XLNet)(Yang et al.,2019)
事前学習
27. All rights reserved| micin.jp 27
MLMで、単語(token)を複数マスクするとマスク
されたもの同士の依存関係はモデリングできない
↓
似たような単語で入れ替えたものに
対して、入れ替えを検知する
(ELECTRA) (Kevin et al., 2020)
事前学習
28. All rights reserved| micin.jp 28
事前学習
膨大な計算量
BERTbase : TPU 4枚(16チップ)で丸4日間
BERTlarge : TPU16枚(64チップ)で丸4日間
対象コーパス :
BookCorpus 1億 words
English Wikipedia : 25億 words
29. All rights reserved| micin.jp 2929
ここまでのまとめ
• BERTは事前学習済みの学習モデル
• AttentionベースのTransformerが構成単位と
なる
• 文章をエンコードするのが役割
• 様々なタスクに使い回しできる
• スコアめっちゃすごい
31. All rights reserved| micin.jp 31
Do Attention Heads in BERT Track Syntactic
Dependencies?
• BERTのAttention Headsが係り受け解析を内
在的にモデル化しているかどうかを検証した論
文
• 答えは一部的にyes。
• (nsubj, obj, conjなどは良好に取得できた)
• 一方で、係り受け木を完全に生成できるような
Attention Headは存在しなかった
Attentionは何をモデル化しているのか
32. All rights reserved| micin.jp 32
Attentionは何をモデル化しているのか
2つのやり方で係受け木を作成した時のそれぞれ
のスコア
(右から二番目がbaseline)
33. All rights reserved| micin.jp 33
Attentionから解釈をすることは難しい
Attention is not Explainable
BERTで学習されているAttentionの重みは説
明可能性を持っていないとする研究結果を発
表。
• Attentionの重みと、タスクを解く上で重要
視される単語とに関連がない
• Attentionの重みを入れ替えても精度に差が
生じない
34. All rights reserved| micin.jp 34
ここまでのまとめ
• Attentionの中身が何を見ているのかと
いう解釈は難しい
• Attentionの中身の一部を使うと係り受
け解析の情報を抽出することも可能
35. All rights reserved| micin.jp 35
参考になるスライド
BERT系列のモデルについて
非常によくまとめられたスライドが存在するので
ぜひこちらもご覧ください。
西田京介さんによって作成されたスライド
「事前学習済言語モデルの動向」
https://speakerdeck.com/kyoun/survey-of-
pretrained-language-models-f6319c84-a3bc-
42ed-b7b9-05e2588b12c7