Neunomizuの日記

俺だけが俺だけじゃない

論文"BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding"を読んだ

tags: 論文

Title

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

推測できること

trainデータになんらかの加工をするDeep Learningを利用した自然言語処理の新手法に関する論文かな?

Abstract

アブストアブスト

  • BERT とは Bidirectional Encoder Representations from Transformers の頭文字を取ったもの.
  • BERTは左右両方の文脈を条件に,"deep bidirectional representation"をラベル付けされていない文章(教師なし?)から前学習させる手法
  • やることに合わせてアーキテクチャをそこまで最適化させずにただ出力層を一つ加えるだけで微調整され,質問に答えたり,推論をする最新のモデルができる

推測できること

  • 今までの手法よりもより汎化性能が高い?

結論

  • 近年,転移学習によりリッチで(色々な文章からということかな?)教師なし事前学習は欠かせないものだと示されていた
  • その結果がリソースが少ない(計算資源のことかな?)仕事でも"deep unidirectional architecture"から利益を得られていた
  • この論文の結果は上の発見を"deep bidirectional architecture"にも広げたこと(同じ"pre-trained model"でも)

結局どんな論文だったのか

  • BERT
    • 2 stepが必要
      • pre-training
        • 異なるモデルのラベル付けのされていないデータでpre-trainingされる
      • fine-tuning
        • downstreamのときにラベル付けされたデータで微調整される
    • 他と違う点: 異なるタスクに対して統一されたアーキテクチャ(pre-trainingを通したアーキテクチャと最終的なdownstreamのアーキテクチャに最小限の違いしかない)
      • Masked LM
        • ランダムに入力のうちの15%を隠して,それを予想させることでモデルが多層化された文脈から目標(ここでは言葉?)を予想できるようにすること
      • Next Sentence Prediction
        • モデルに文章の関係を理解させるために,コーパスから作ることができるbinarized(真偽値に置き換えられたということ?)次の文章の予測のためにpre-trainをすること
    • Fine-tuning BERT
      • 2つの文章感で双方向にcross attentionをしているらしい(よくわからない...)(bidirectional transformerの説明かな?)
      • これで計算にかかるコストが少なくなっているらしい

何についての論文か

転移学習で双方向的に言語モデルを更新するという手法を用いて自然言語処理の新しい手法についての論文

先行研究と比べた強み

  • Bidirectional Transformer Representation
    • 過去のモデルでは片方向からの文脈に依存して言語モデルの更新をしていた
    • これで精度が向上した

技術や手法のキモはどこか

上と同様

どうやって有効と示したのか

  • BERTに対しては下記のテストのスコアで示した
    • GLUE
    • SQuAD v1.1
    • SQuAD v2.0
    • SWAG
  • NSPに対して
    • MLMを用いてLTR(Left-to-Right)モデルと,NSPを用いるモデルを比べた
      • 結果はNSPを用いた方がスコアが高い
    • RTLもできるよね(でもやらない)
  • モデルのサイズに関して
    • 層,隠れunit,attendtionのheadの数を変えてやってみた(ハイパーパラメエータ,訓練方法は前と同じ)
    • モデルのサイズを非常に大きくするとデータのサイズが小さくても?(very small scale tasks)性能がかなり向上するらしい
    • ただし,限界はある
  • fine-tuningに関して
    • 代わりにfeature-basedを使ったモデルと比較
    • 大差はなかった
    • BERTはfine-tuningでもfeature-basedな手法でも効果的らしい

議論はあるのか

うーん,わからん

調べた点

  • deep bidirectional representationとは?
    • 深層学習の隠れ層と違うのこれ?(入力層と出力層がないけど)
    • 読んだ
    • 言語モデル(Transformer)を使って双方向に学習させる
    • 変数が多いだけ?
  • "transfer learning"
    • 読んだ
    • 似たようなドメインA,Bがあり,すでにAで学習したモデルがあるとする
    • その際,Bにそのモデルを使うことが大まかに言うと転移学習(transfer training)
    • CNNでは上位層は普遍的な特徴,下位層にはrichな特徴が抽出されるから上位層のみ再学習させればよいという考え
  • "pre-training"とはただの"training"と何が違うのか?
    • 転移学習に必要なものらしい
    • モデルの学習に必要なドメインの異なるデータ
  • "fine-tuning"とは?
    • "pre-train"モデルの重みを流用して新たなモデルを再学習させること
  • "mask R-CNN"とは?
    • 物体を切り分ける,検出すること
  • "attention"とは
    • ゼロから始めるdeep learning2でやった記憶があるが忘れた
    • 読んだ
    • 読んだ
    • 連続したデータを扱う際に重要なポイントに注目する手法
    • 出力の際に隠れ層を用いて,入力側の隠れ層を加重平均した文脈ベクトルを用いて出力を予想する

次に読むべき論文は

知識が足りなかったので,転移学習に関する論文とfeature-basedとfine-tuningに注目した論文を読むべき

読むのにかけた時間

5~6時間くらい?

前提知識が少なすぎて時間が溶けた