Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
DEEP LEARNING JP
[DL Papers]
http://deeplearning.jp/
BERT: Pre-training of Deep Bidirectional Transformers for
Language Un...
書誌情報
●タイトル:BERT: Pre-training of Deep Bidirectional Transformers
for Language Understanding
●著者:Jacob Devlin, Ming-Wei Cha...
アウトライン
1.背景
1. Feature-basedアプローチ
2. Fine-tuningアプローチ
2.BERT
1. 入力表現について
2. 事前学習タスク
3.実験
1. 11種類のNLPタスク
2. 提案手法の有効性
3
アウトライン
1.背景
1. Feature-basedアプローチ
2. Fine-tuningアプローチ
2.BERT
1. 入力表現について
2. 事前学習タスク
3.実験
1. 11種類のNLPタスク
2. 提案手法の有効性
4
背景
●様々な自然言語処理タスクにおいて,事前学習は有効
‣ 文レベルのタスク:文同士の関係性が大事
• 自然言語推論
• 言い換え
‣ トークンレベル:モデルはトークンレベルで良い出力が求められる
• 名付けられたエンティティ認識
• Q&A...
Feature-basedアプローチ
●様々なNLPタスクの素性として利用される
‣ N-gramモデル[Brown et al., 1992]やWord2Vec[Mikolov et al., 2013]
• 文や段落レベルの分散表現に拡張さ...
ELMo [Peters et al., 2017, 2018]
●BiLSTMをL層積んで,各隠れ層を加重平均する
●獲得したELMoをNLPタスクの入力および隠れ層に連結するだけ
7
or
Transformer[Ł.Kaiser et al., arXiv,2017]
●有名なXXX is All You Needの先駆者(今回はAttention)
●RNN構造ではなく,Attention機構のみで構成
●Encoder-De...
Fine-tuningアプローチ
●言語モデルの目的関数で事前学習する
‣ そのあと教師ありタスクでfine-tuningする
‣ 少ないパラメータで学習することが可能(らしい,,,)
●最近では,OpenAI GPT[Radford et a...
アウトライン
1.背景
1. Feature-basedアプローチ
2. Fine-tuningアプローチ
2.BERT
1. 入力表現について
2. 事前学習タスク
3.実験
1. 11種類のNLPタスク
2. 提案手法の有効性
10
BERT
●双方向Transformer
‣ 実装:tensor2tensor
‣ リークを防ぐマスクがない
‣ 二種類のモデルを用意
• BERTBASE:GPTと比較用
• BERTLARGE:Googleの本気用
●ちなみに
‣ 双方向T...
入力表現:一つの文章or文章のペア(QAなど)
●三種類の埋め込みの合計(sum≠concat)
‣ トークン埋め込み:30000種類のWordPiece埋め込み
• 分割されたところは「##」で表現
‣ 単語位置埋め込み:系列長1〜512個の...
タスク1:Masked Language Model
●双方向モデルは,left-to-rightモデルや双方向の連結より強力
‣ 一般的な条件付き言語モデルでは学習できない
• 特定の単語予想:p(xn | x1, x2, …, xn-1)
...
タスク1:Masked Language Model
●pre-traininig時とfine-tuning時で違いが生じてしまう
‣ Fine-tuningの時に[MASK]トークンは見ない
‣ 常に置換するのではなく,系列のうち15%の単語...
タスク1:Masked Language Model
●15%しか予測させないため,学習に時間がかかってしまう
‣ 実験で,MLMが全ての単語を予測するleft-to-rightモデルより時間が
かかることを示す
‣ 「時間はかかるけど,それ以...
タスク2:Next Sentence Prediction
●QAや自然言語推論(NLI):2つの文章の関係性理解が大事
‣ 言語モデルでは,捉えきれない
‣ 二値のnext sentence predictionタスクを解かせる
• 文章Aと...
Pre-training手続き
● データセット:BooksCorpus(800M)+English Wikipedia(2500M)
‣ Billion Word Benchmarkのような文より,ドキュメントレベルが大事
● 系列長が合計5...
Fine-tuning手続き
●系列レベルの分類問題
‣ 固定長の分散表現C∈RHを獲得するため,最初の[CLS]トークンを使う
‣ 新しく追加する層は分類層W∈RKxH+ソフトマックス層のみ
‣ BERTも一緒に学習させる
●スパンorトーク...
Fine-tuning手続き
19
アウトライン
1.背景
1. Feature-basedアプローチ
2. Fine-tuningアプローチ
2.BERT
1. 入力表現について
2. 事前学習タスク
3.実験
1. 11種類のNLPタスク
2. 提案手法の有効性
20
実験:8個のNLPベンチマークタスク
●General Language Understainding Evaluationベンチマーク
‣ 訓練/検証/テストに分割済
‣ 公平な評価が可能
• テストはラベルなしで公開
@_Ryobotさんの...
実験:QA
●Fine-tuning時
‣ 答えのStart/Endベクトルを学習
22
実験:Named Entity Recognition
●入力された単語のラベルを当てる
‣ Person, Organization, Location, Miscellaneous, Other(割り当てなし)
‣ 5クラス分類問題用の層を...
効果検証:事前学習タスク
●No NSP:MLMを学習させるだけ
●LTR&No NSP:MLMもなし=left-to-right言語モデルで学習
‣ Pre-training時:マスクなし, fine-tuning時:左からの情報のみ
• 別...
効果検証:事前学習タスク
●LTRはMLMに比べて全然ダメ
‣ QAは,右側の文脈も大事であることがわかる
‣ MRPCは,原因わからないが何度やってもダメだった
‣ BiLSTM追加したらQAは改善したが,それ以外はだめ
●LTR+RTLにつ...
効果検証:モデルのサイズ
●データセットが小さくても大きい方が精度高い
‣ 翻訳や言語モデルなどの巨大なデータセットを使うタスクでは当たり前
26
効果検証:学習回数
●Q:BERTの学習に,128,000単語/バッチx1,000,000回必要か?
‣ A:Yes.50万回より100万回の方が1%も精度高い🤔
●Q:LTRよりもMLMの方が収束まで時間かかる?
‣ A:Yes.時間はかかる...
効果検証:feature-basedアプローチ
●Feature-basedアプローチも有効なのではないか?
‣ 全てのNLPタスクをTransformer Encoderでは解けない
‣ 計算量コストも,一度計算すれば完了だから使いやすい
●...
まとめ
●双方向言語モデルが大事
●BERTを使えば,タスクSpecificなアーキテクチャいらない
●10月末にPre-trainedモデルが公開されるのでDLしましょう
‣ そして様々なNLPタスクにおけるSOTA戦争を!
●次のキャラは何...
Nächste SlideShare
Wird geladen in …5
×

[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

14.910 Aufrufe

Veröffentlicht am

2018/10/19
Deep Learning JP:
http://deeplearning.jp/seminar-2/

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

  1. 1. DEEP LEARNING JP [DL Papers] http://deeplearning.jp/ BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding Makoto Kawano, Keio University
  2. 2. 書誌情報 ●タイトル:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding ●著者:Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova ●投稿日:2018/10/11 ●選定理由:Twitterでバズってた ‣ NLP界隈のImageNet Pre-trainedモデル(VGGやResNet)的存在になるか もらしい ‣ Transformerって良くわかってない 2
  3. 3. アウトライン 1.背景 1. Feature-basedアプローチ 2. Fine-tuningアプローチ 2.BERT 1. 入力表現について 2. 事前学習タスク 3.実験 1. 11種類のNLPタスク 2. 提案手法の有効性 3
  4. 4. アウトライン 1.背景 1. Feature-basedアプローチ 2. Fine-tuningアプローチ 2.BERT 1. 入力表現について 2. 事前学習タスク 3.実験 1. 11種類のNLPタスク 2. 提案手法の有効性 4
  5. 5. 背景 ●様々な自然言語処理タスクにおいて,事前学習は有効 ‣ 文レベルのタスク:文同士の関係性が大事 • 自然言語推論 • 言い換え ‣ トークンレベル:モデルはトークンレベルで良い出力が求められる • 名付けられたエンティティ認識 • Q&A ●事前学習には二種類のアプローチがある 5
  6. 6. Feature-basedアプローチ ●様々なNLPタスクの素性として利用される ‣ N-gramモデル[Brown et al., 1992]やWord2Vec[Mikolov et al., 2013] • 文や段落レベルの分散表現に拡張されたものある ‣ タスクに合わせて学習させると性能向上[Turian et al., 2010] ●最近では,ELMo[Peters et al., 2017, 2018]が話題に ‣ Context-Sensitiveな素性を獲得 ‣ 複数のNLPタスクでSOTA • QA,極性分類,エンティティ認識 ‣ 既存の素性にConcatすると精度UP 6
  7. 7. ELMo [Peters et al., 2017, 2018] ●BiLSTMをL層積んで,各隠れ層を加重平均する ●獲得したELMoをNLPタスクの入力および隠れ層に連結するだけ 7 or
  8. 8. Transformer[Ł.Kaiser et al., arXiv,2017] ●有名なXXX is All You Needの先駆者(今回はAttention) ●RNN構造ではなく,Attention機構のみで構成 ●Encoder-Decoderで構成されている ‣ 左側:Transformer-Encoder ‣ 右側:Transformer-Decoder ●Transformerって結局? ‣ Multi-Head AttentionとPosition-wise FFNの集合体 (より詳細は@_Ryobotさんのブログhttp://deeplearning.hatenablog.com/entry/transformerでお願いします) 8
  9. 9. Fine-tuningアプローチ ●言語モデルの目的関数で事前学習する ‣ そのあと教師ありタスクでfine-tuningする ‣ 少ないパラメータで学習することが可能(らしい,,,) ●最近では,OpenAI GPT[Radford et al. 2018] ‣ GLUEスコアでSOTA ‣ TransformerのDecoderだけを利用[Liu et al., 2018] • 単方向のモデル 9
  10. 10. アウトライン 1.背景 1. Feature-basedアプローチ 2. Fine-tuningアプローチ 2.BERT 1. 入力表現について 2. 事前学習タスク 3.実験 1. 11種類のNLPタスク 2. 提案手法の有効性 10
  11. 11. BERT ●双方向Transformer ‣ 実装:tensor2tensor ‣ リークを防ぐマスクがない ‣ 二種類のモデルを用意 • BERTBASE:GPTと比較用 • BERTLARGE:Googleの本気用 ●ちなみに ‣ 双方向Transformer=Encoder ‣ 単方向Transformer=Decoder(生成に使えるかららしい) 系列長=バッチと同じ扱いらしい →一つの系列=系列長x特徴量 11
  12. 12. 入力表現:一つの文章or文章のペア(QAなど) ●三種類の埋め込みの合計(sum≠concat) ‣ トークン埋め込み:30000種類のWordPiece埋め込み • 分割されたところは「##」で表現 ‣ 単語位置埋め込み:系列長1〜512個の表現 • 位置0には,[CLS]トークンを追加→系列分類問題ではこの埋め込みを利用 ‣ 文区別埋め込み:QAなどの場合の話 • 一文の時はAのみ 12
  13. 13. タスク1:Masked Language Model ●双方向モデルは,left-to-rightモデルや双方向の連結より強力 ‣ 一般的な条件付き言語モデルでは学習できない • 特定の単語予想:p(xn | x1, x2, …, xn-1) • 双方向だと,間接的に複数層の文脈から「自身」をみてしまう ‣ 次の単語ではなく,ランダムで抜かれた単語を予測するモデルにする • Denoising Autoencoderに似ているが,全体を予測するわけではない • ただし,二つの欠点が生じてしまう 13
  14. 14. タスク1:Masked Language Model ●pre-traininig時とfine-tuning時で違いが生じてしまう ‣ Fine-tuningの時に[MASK]トークンは見ない ‣ 常に置換するのではなく,系列のうち15%の単語を置き換える • 例:my dog is hairy -> hairyが選択される • 80%:[MASK]トークンに置換 • my dog is hairy -> my dog is [MASK] • 10%:ランダムな別の単語に置換 • my dog is hairy -> my dog is apple • 10%:置き換えない(モデルに実際に観測される言葉表現に偏らせる) • my dog is hairy -> my dog is hairy 14
  15. 15. タスク1:Masked Language Model ●15%しか予測させないため,学習に時間がかかってしまう ‣ 実験で,MLMが全ての単語を予測するleft-to-rightモデルより時間が かかることを示す ‣ 「時間はかかるけど,それ以上に精度改善するからいいとする」 →🤔🤔🤔🤔🤔 15
  16. 16. タスク2:Next Sentence Prediction ●QAや自然言語推論(NLI):2つの文章の関係性理解が大事 ‣ 言語モデルでは,捉えきれない ‣ 二値のnext sentence predictionタスクを解かせる • 文章AとBが与えられた時に,50%で別のBに置き換える ‣ 解かせると,97%-98%の精度 • QAとNLIで非常に有効であることを実験では示す 16
  17. 17. Pre-training手続き ● データセット:BooksCorpus(800M)+English Wikipedia(2500M) ‣ Billion Word Benchmarkのような文より,ドキュメントレベルが大事 ● 系列長が合計512以下になるように2つの文章をサンプリング ‣ Next sentence predictionのため,AとBの組み合わせは50%で変わる ‣ MLMのためWordPieceトークンに分けられたあと,マスクされる ● バッチサイズ:256(=256文x512系列長=128000単語/バッチ) ‣ 1,000,000ステップ=33億の単語を40エポック学習 ● Adam:LR=1e-4, L2weight_decay=0.01 ● Dropout: 0.1 ● Gelu活性化関数を利用 BERTBASE:4台x4TPUx4日x$4.5 BERTLARGE:16台x4TPUx4日x$4.5 🤔🤔🤔 17
  18. 18. Fine-tuning手続き ●系列レベルの分類問題 ‣ 固定長の分散表現C∈RHを獲得するため,最初の[CLS]トークンを使う ‣ 新しく追加する層は分類層W∈RKxH+ソフトマックス層のみ ‣ BERTも一緒に学習させる ●スパンorトークンレベルの分類問題 ‣ 各タスクの仕様に合わせて学習させる ●バッチサイズ,学習率,エポック数のみ変更 ‣ ドロップアウト:常に0.1 ‣ 10万以上のラベル付きデータセットの場合はそこまで気にしなくていい ‣ Fine-tuningは高速でできるため,パラメータ探索すべき 18
  19. 19. Fine-tuning手続き 19
  20. 20. アウトライン 1.背景 1. Feature-basedアプローチ 2. Fine-tuningアプローチ 2.BERT 1. 入力表現について 2. 事前学習タスク 3.実験 1. 11種類のNLPタスク 2. 提案手法の有効性 20
  21. 21. 実験:8個のNLPベンチマークタスク ●General Language Understainding Evaluationベンチマーク ‣ 訓練/検証/テストに分割済 ‣ 公平な評価が可能 • テストはラベルなしで公開 @_Ryobotさんのツイート https://twitter.com/_Ryobot/status/1050925881894400000 から拝借(非常に助かりました) 21
  22. 22. 実験:QA ●Fine-tuning時 ‣ 答えのStart/Endベクトルを学習 22
  23. 23. 実験:Named Entity Recognition ●入力された単語のラベルを当てる ‣ Person, Organization, Location, Miscellaneous, Other(割り当てなし) ‣ 5クラス分類問題用の層を追加するのみ 23
  24. 24. 効果検証:事前学習タスク ●No NSP:MLMを学習させるだけ ●LTR&No NSP:MLMもなし=left-to-right言語モデルで学習 ‣ Pre-training時:マスクなし, fine-tuning時:左からの情報のみ • 別のパターンも試したけど,精度下がりすぎて意味がなかった ‣ OpenAI GPTと比較することが可能 • データセットの違い:GPTはBooksCorpusのみ • 入力表現の違い:GPTは[CLS][SEP]はfine-tuningのみ&文区別表現なし • Fine-tuning戦略:バッチに含まれる単語やパラメータ探索なし 24
  25. 25. 効果検証:事前学習タスク ●LTRはMLMに比べて全然ダメ ‣ QAは,右側の文脈も大事であることがわかる ‣ MRPCは,原因わからないが何度やってもダメだった ‣ BiLSTM追加したらQAは改善したが,それ以外はだめ ●LTR+RTLについて ‣ コストが倍 ‣ QAでRTLはおかしい ‣ 双方向の方が左と右の文脈を 選択することができる 25
  26. 26. 効果検証:モデルのサイズ ●データセットが小さくても大きい方が精度高い ‣ 翻訳や言語モデルなどの巨大なデータセットを使うタスクでは当たり前 26
  27. 27. 効果検証:学習回数 ●Q:BERTの学習に,128,000単語/バッチx1,000,000回必要か? ‣ A:Yes.50万回より100万回の方が1%も精度高い🤔 ●Q:LTRよりもMLMの方が収束まで時間かかる? ‣ A:Yes.時間はかかるけど,それ以上に精度改善するからいい →🤔🤔🤔🤔🤔 27
  28. 28. 効果検証:feature-basedアプローチ ●Feature-basedアプローチも有効なのではないか? ‣ 全てのNLPタスクをTransformer Encoderでは解けない ‣ 計算量コストも,一度計算すれば完了だから使いやすい ●Named Entity RecognitionタスクでPre-training ‣ BERTのパラメータは固定して,2層の768-BiLSTM+分類層追加 ●結果的には最後4つのTransformerの出力を連結 ‣ BERTは,feature-based,fine-tuningアプローチ どっちでも行けることがわかる 28
  29. 29. まとめ ●双方向言語モデルが大事 ●BERTを使えば,タスクSpecificなアーキテクチャいらない ●10月末にPre-trainedモデルが公開されるのでDLしましょう ‣ そして様々なNLPタスクにおけるSOTA戦争を! ●次のキャラは何がくる? 29

×