Upgrade to Pro — share decks privately, control downloads, hide ads and more …

論文紹介: Memorisation versus Generalisation in Pre-trained Language Models

Kosuke Nishida
September 20, 2022

論文紹介: Memorisation versus Generalisation in Pre-trained Language Models

Kosuke Nishida

September 20, 2022
Tweet

Other Decks in Research

Transcript

  1. 読み⼿:⻄⽥光甫(NTT⼈間研・東⼤吉永研) @最先端NLP勉強会 1

  2. ⼀⾔で⾔うと • 事前学習済み⾔語モデルのFine-Tuningにおける 学習過程を分析した論⽂ 2

  3. もう少し説明すると • 訓練データにノイズを与えて学習することで, Fine-Tuningに3つの段階があることを明らかにした 3 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 訓練データ中のノイズのある事例のみに おける性能の変化 ※薄い線ほどノイズが⼩さい学習

  4. もう少し説明すると • 訓練データにノイズを与えて学習することで, Fine-Tuningに3つの段階があることを明らかにした – Fitting: 汎化によりデータ中のパターンを発⾒・学習する 4 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化

    Fitting中は訓練・開発データでの性能が向上し,ノイズは誤分類する 訓練データ中のノイズのある事例のみに おける性能の変化
  5. もう少し説明すると • 訓練データにノイズを与えて学習することで, Fine-Tuningに3つの段階があることを明らかにした – Fitting: 汎化によりデータ中のパターンを発⾒・学習する – Settling: 変化が起こらない

    5 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 Settling中は全データにおける性能が停滞する 訓練データ中のノイズのある事例のみに おける性能の変化
  6. もう少し説明すると • 訓練データにノイズを与えて学習することで, Fine-Tuningに3つの段階があることを明らかにした – Fitting: 汎化によりデータ中のパターンを発⾒・学習する – Settling: 変化が起こらない

    – Memorization: 個々のデータを記憶する 6 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 Memorization中はノイズを正解するようになり,開発データの性能が落ちる 訓練データ中のノイズのある事例のみに おける性能の変化
  7. ⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? • 実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? •

    Few-shot learningにおける提案⼿法と評価 7
  8. 導⼊ • BERTに代表される事前学習済み⾔語モデルが 何を学習しているのかについて,過去に分析がされてきた – 関係知識,⾔語知識,etc. • しかし,⾔語モデルがどのように知識を学習するのかに ついては知⾒が少ない •

    Fine-Tuningではデータに共通のパターンを発⾒する汎化が 重要である⼀⽅,低頻度な事例を記憶することも重要 • BERTのFine-Tuningの学習過程を分析することで, 汎化・記憶がどのように起こるのかを分析した 8
  9. 実験設定1 • 固有表現認識(NER)で分析 – structured predictionの評価として⼀般的 – label imbalanceが存在するため,今回の分析に適切 –

    (私⾒)別にテキスト分類でもよかったのでは? • 以下の2つの⼿段でモデルが個々のデータを記憶する 能⼒を分析 – 𝑥%の訓練データのラベルを⼊れ替える(𝑥 = 0~50.実験1) – あるクラスの訓練データを𝑁個に制限する(𝑁 = 0~200.実験3) 9
  10. 実験設定2 • データセット – CoNLL03: NERで標準的なデータセット – JNLPBA: Bio-NERで標準的なデータセット (付録⾏きの結果は本発表では割愛)

    – WNUT17: テスト時に低頻度なentityが多く現れるデータセット (付録⾏きの結果は本発表では割愛) • モデル – BERT-base – RoBERTa(BERTと同じ傾向のため本発表では割愛) – DeBERTa(BERTと同じ傾向のため本発表では割愛) – bi-LSTM-CRF(10層・300次元単語ベクトル+50次元⽂字ベクト ル.総パラメータ数30M.実験2のみ) 10
  11. ⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? – 𝑥%の訓練データのラベルを⼊れ替える(𝑥 = 0~50) •

    実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? • Few-shot learningにおける提案⼿法と評価 11
  12. 実験1: 分析1 • Fine-Tuningに3つの段階(Fitting, Settling, Memorization) があることを明らかにした – 特にSettlingの発⾒が貢献.事前学習済みResNetにもSettlingは存在 するが,BERTはSettlingが⻑いのが特徴

    – Settlingが⻑いので,厳密なEarly StoppingはBERTには不要かつ Settling中で⽌められるならBERTはラベルノイズに対してロバスト – ノイズがなければEpochが⼤きくても性能は維持される 12 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 訓練データ中のノイズのある事例のみに おける性能の変化
  13. • ラベルノイズはMemorizationで初めて学習される – Settling中はノイズのあるデータは誤分類する – ノイズからはパターンを学習できないので,Memorization中に 何回も事例を⾒ることで徐々に丸暗記していく • (私⾒)なら,訓練データを綺麗にすることにお⾦を かけるのはコスパが悪い?

    13 実験1: 分析2 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 訓練データ中のノイズのある事例のみに おける性能の変化
  14. ⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? • 実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? •

    Few-shot learningにおける提案⼿法と評価 14
  15. 実験2: 定義 • データに対するeventを以下のように定義する – Forgetting Event: 今のepochでは誤分類したが1epoch前は正解 – Learning

    Event: 今のepochでは正解したが1epoch前は誤分類 – First Learning Event: 初めて正解した • 条件を満たすデータを以下のように呼ぶ – Unforgettable Example: Forgetting Eventが起こらないデータ – Forgettable Example: Forgetting Eventが⼀度以上起こったデータ – Learned Example: Learning Eventが⼀度以上起こったデータ 15
  16. 実験2: 分析1 • 事前学習済みのBERTは忘却の起こる割合が少ない →事前学習は重要な情報を維持することに有効 • 画像処理では忘却の割合がモデル構造に⾮依存であるこ とが知られているが,⾔語処理ではモデル構造への依存 が⼤きい →(私⾒)単純にLSTMが⼤規模化に適さないのでは?

    16
  17. 実験2: 分析2 • ラベルノイズを与えると実験1と同様の結果が得られる – Fittingでクリーンなデータを学習 – SettlingではFirst Learning Eventは起こらない

    – Memorizationでノイズを学習 17 First Learning Eventsの発⽣率
  18. ⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? • 実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? –

    あるクラスの訓練データを𝑁個に制限する(𝑁 = 0~200) • Few-shot learningにおける提案⼿法と評価 18
  19. 実験3: 分析1 • 訓練データの性能は下がらないが,開発データの性能は⼤ きく下がる →データ量は汎化性能を上げるために重要 • データ量が少ないほど初期に記憶される →(私⾒)と⾔うより,データ量が少ないとノイズとして 認識され,珍しいノイズほど初期に記憶する?

    19 CoNLL03でLOCを削減したときの LOCクラスのfirst learning eventの分布 CoNLL03でLOCを削減したときの 学習過程 ※濃い線ほどデータが少ない学習(N=5~95)
  20. 実験3: 分析2 • クラスの学習にはCoNLL03で25~100データ,JNLPBAで 50データ以上が必要 20 CoNLL03でMISC, LOCをそれぞれ削減した ときの削減ラベル・全体に対する性能 JNLPBAでMISC,

    LOCをそれぞれ削減した ときの削減ラベル・全体に対する性能
  21. ⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? • 実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? •

    Few-shot learningにおける提案⼿法と評価 21
  22. 提案⼿法・ProtoBERT 訓練1 • Few-shot learningの⼿法として⼀般的なPrototypical NetworkをBERTと組み合わせるProtoBERTを提案 • 訓練時は,各クラスからsupport example 𝑆!

    とquery example 𝑄! をサンプリングしてmini-batchとする – イメージ:(通常はモデルパラメータの)クラス⾏列を supportを使って都度計算 – イメージ:queryの分類確率を計算し,正しく分類するように学習 (つまり,queryが普通の訓練データの役割) 22
  23. 提案⼿法・ProtoBERT 訓練2 • クラス𝑘のsupport example 𝑥" の表現𝑓(𝑥" )のクラス平均を クラスベクトル𝑐! とする

    • query表現𝑓(𝑥)とクラスベクトル𝑐! の距離× −1 をlogitとし, Cross-Entropy Lossで学習 23
  24. 提案⼿法・ProtoBERT 推論 • 訓練終了時に訓練データ全体をsupportとして再度 クラスベクトルを計算 – 計算量削減のために訓練中のクラスベクトルの指数移動平均を 使うこともできる(running centroids) •

    評価データをqueryとして分類確率を計算,出⼒する 24
  25. 評価結果・低リソース設定 • 低リソース設定においてProtoBERTは通常のBERTを上回る • 少数クラスのデータが増えるにつれBERTに追いつかれ, BERTを下回るようになる – (私⾒)スケールが⼤きいのでかなり負けている? 25 CoNLL03でMISCとLOCを削減したときの

    全開発データにおける評価結果. CoNLL03でMISCとLOCを削減したときの 同クラスにおける評価結果.
  26. 評価結果・全データで訓練した場合 • 全データで訓練・評価した場合も通常のBERTと同程度の 性能を発揮 – (私⾒)前⾴の結果と反する?最後には追いつくということ? • 評価データに低頻度entityが多いWNUT17では 全データでもBERTを上回る •

    計算量の⼩さいrunning centroids(クラスベクトルが 訓練中の指数移動平均)でも僅かに下がるだけ 26
  27. まとめ • BERTのFine-Tuningの学習過程を分析することで, 汎化・記憶がどのように起こるのかを分析し, 以下の事項を発⾒した – Fine-Tuningには3つの段階(Fitting, Settling, Memorization)がある –

    Settling中に⽌められればBERTはラベルノイズにロバスト – 事前学習済みのBERTは知識忘却を他のモデルに⽐べて起こさない – BERTは少数クラスの分類に弱い – ProtoBERTは低リソースの設定でBERTを上回り,全データの 設定でも⼀部のデータセットではBERTを上回る • (私⾒)知⾒として⾯⽩いが,⼀般的な現象なのかは疑問 – NER以外のタスク? – ラベル⼊れ替え以外のノイズ? 27
  28. 28

  29. SettlingはResNetでは現れない 29

  30. Settlingは事前学習済みモデルにのみ現れる 30

  31. Forgettable Examplesの実例 31

  32. ノイズ検知器としてのBERT • サンプルごとにLoss(epochを次元としてベクトル化?)を k-meansでクラスタリングするだけでノイズ検知器となる 32

  33. ノイズ検知器としてのBERT • 4epoch訓練したBERTを使って閾値を最適化するだけで ノイズ検知器となる – 𝑥はサンプルレベルのLoss – 𝜇!(#) は正(負)例の平均 •

    少量の例外以外は分類可能 – 例外はSettling以前に記憶できていない(いる)データと思われる 33