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

More Decks by Kosuke Nishida

Other Decks in Research

Transcript

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

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

    – Memorization: 個々のデータを記憶する 6 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 Memorization中はノイズを正解するようになり,開発データの性能が落ちる 訓練データ中のノイズのある事例のみに おける性能の変化
  3. 導⼊ • BERTに代表される事前学習済み⾔語モデルが 何を学習しているのかについて,過去に分析がされてきた – 関係知識,⾔語知識,etc. • しかし,⾔語モデルがどのように知識を学習するのかに ついては知⾒が少ない •

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

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

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

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

    – Settlingが⻑いので,厳密なEarly StoppingはBERTには不要かつ Settling中で⽌められるならBERTはラベルノイズに対してロバスト – ノイズがなければEpochが⼤きくても性能は維持される 12 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 訓練データ中のノイズのある事例のみに おける性能の変化
  8. 実験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
  9. 提案⼿法・ProtoBERT 訓練1 • Few-shot learningの⼿法として⼀般的なPrototypical NetworkをBERTと組み合わせるProtoBERTを提案 • 訓練時は,各クラスからsupport example 𝑆!

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

    • query表現𝑓(𝑥)とクラスベクトル𝑐! の距離× −1 をlogitとし, Cross-Entropy Lossで学習 23
  11. まとめ • BERTのFine-Tuningの学習過程を分析することで, 汎化・記憶がどのように起こるのかを分析し, 以下の事項を発⾒した – Fine-Tuningには3つの段階(Fitting, Settling, Memorization)がある –

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