Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
論文紹介: Memorisation versus Generalisation in Pre...
Search
Kosuke Nishida
September 20, 2022
Research
2
1.1k
論文紹介: Memorisation versus Generalisation in Pre-trained Language Models
第14回最先端NLP勉強会の論文(
https://aclanthology.org/2022.acl-long.521/)紹介スライドです
.
Kosuke Nishida
September 20, 2022
Tweet
Share
More Decks by Kosuke Nishida
See All by Kosuke Nishida
⼤規模⾔語モデルとVision-and-Language
kosuken
6
2k
論文紹介:What Learning Algorithm is In-Context Learning?Investigation with Linear Models
kosuken
0
860
Other Decks in Research
See All in Research
The Fellowship of Trust in AI
tomzimmermann
0
130
Weekly AI Agents News! 8月号 論文のアーカイブ
masatoto
1
180
Active Adaptive Experimental Design for Treatment Effect Estimation with Covariate Choices
masakat0
0
220
VisFocus: Prompt-Guided Vision Encoders for OCR-Free Dense Document Understanding
sansan_randd
1
250
LiDARとカメラのセンサーフュージョンによる点群からのノイズ除去
kentaitakura
0
130
テキストマイニングことはじめー基本的な考え方からメディアディスコース研究への応用まで
langstat
1
120
Matching 2D Images in 3D: Metric Relative Pose from Metric Correspondences
sgk
1
320
LLM時代にLabは何をすべきか聞いて回った1年間
hargon24
1
490
外積やロドリゲスの回転公式を利用した点群の回転
kentaitakura
1
650
Practical The One Person Framework
asonas
1
1.6k
20240820: Minimum Bayes Risk Decoding for High-Quality Text Generation Beyond High-Probability Text
de9uch1
0
120
メールからの名刺情報抽出におけるLLM活用 / Use of LLM in extracting business card information from e-mails
sansan_randd
2
140
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
73
9.1k
Statistics for Hackers
jakevdp
796
220k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Embracing the Ebb and Flow
colly
84
4.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Building Adaptive Systems
keathley
38
2.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Code Reviewing Like a Champion
maltzj
520
39k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Transcript
読み⼿:⻄⽥光甫(NTT⼈間研・東⼤吉永研) @最先端NLP勉強会 1
⼀⾔で⾔うと • 事前学習済み⾔語モデルのFine-Tuningにおける 学習過程を分析した論⽂ 2
もう少し説明すると • 訓練データにノイズを与えて学習することで, Fine-Tuningに3つの段階があることを明らかにした 3 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 訓練データ中のノイズのある事例のみに おける性能の変化 ※薄い線ほどノイズが⼩さい学習
もう少し説明すると • 訓練データにノイズを与えて学習することで, Fine-Tuningに3つの段階があることを明らかにした – Fitting: 汎化によりデータ中のパターンを発⾒・学習する 4 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化
Fitting中は訓練・開発データでの性能が向上し,ノイズは誤分類する 訓練データ中のノイズのある事例のみに おける性能の変化
もう少し説明すると • 訓練データにノイズを与えて学習することで, Fine-Tuningに3つの段階があることを明らかにした – Fitting: 汎化によりデータ中のパターンを発⾒・学習する – Settling: 変化が起こらない
5 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 Settling中は全データにおける性能が停滞する 訓練データ中のノイズのある事例のみに おける性能の変化
もう少し説明すると • 訓練データにノイズを与えて学習することで, Fine-Tuningに3つの段階があることを明らかにした – Fitting: 汎化によりデータ中のパターンを発⾒・学習する – Settling: 変化が起こらない
– Memorization: 個々のデータを記憶する 6 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 Memorization中はノイズを正解するようになり,開発データの性能が落ちる 訓練データ中のノイズのある事例のみに おける性能の変化
⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? • 実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? •
Few-shot learningにおける提案⼿法と評価 7
導⼊ • BERTに代表される事前学習済み⾔語モデルが 何を学習しているのかについて,過去に分析がされてきた – 関係知識,⾔語知識,etc. • しかし,⾔語モデルがどのように知識を学習するのかに ついては知⾒が少ない •
Fine-Tuningではデータに共通のパターンを発⾒する汎化が 重要である⼀⽅,低頻度な事例を記憶することも重要 • BERTのFine-Tuningの学習過程を分析することで, 汎化・記憶がどのように起こるのかを分析した 8
実験設定1 • 固有表現認識(NER)で分析 – structured predictionの評価として⼀般的 – label imbalanceが存在するため,今回の分析に適切 –
(私⾒)別にテキスト分類でもよかったのでは? • 以下の2つの⼿段でモデルが個々のデータを記憶する 能⼒を分析 – 𝑥%の訓練データのラベルを⼊れ替える(𝑥 = 0~50.実験1) – あるクラスの訓練データを𝑁個に制限する(𝑁 = 0~200.実験3) 9
実験設定2 • データセット – CoNLL03: NERで標準的なデータセット – JNLPBA: Bio-NERで標準的なデータセット (付録⾏きの結果は本発表では割愛)
– WNUT17: テスト時に低頻度なentityが多く現れるデータセット (付録⾏きの結果は本発表では割愛) • モデル – BERT-base – RoBERTa(BERTと同じ傾向のため本発表では割愛) – DeBERTa(BERTと同じ傾向のため本発表では割愛) – bi-LSTM-CRF(10層・300次元単語ベクトル+50次元⽂字ベクト ル.総パラメータ数30M.実験2のみ) 10
⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? – 𝑥%の訓練データのラベルを⼊れ替える(𝑥 = 0~50) •
実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? • Few-shot learningにおける提案⼿法と評価 11
実験1: 分析1 • Fine-Tuningに3つの段階(Fitting, Settling, Memorization) があることを明らかにした – 特にSettlingの発⾒が貢献.事前学習済みResNetにもSettlingは存在 するが,BERTはSettlingが⻑いのが特徴
– Settlingが⻑いので,厳密なEarly StoppingはBERTには不要かつ Settling中で⽌められるならBERTはラベルノイズに対してロバスト – ノイズがなければEpochが⼤きくても性能は維持される 12 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 訓練データ中のノイズのある事例のみに おける性能の変化
• ラベルノイズはMemorizationで初めて学習される – Settling中はノイズのあるデータは誤分類する – ノイズからはパターンを学習できないので,Memorization中に 何回も事例を⾒ることで徐々に丸暗記していく • (私⾒)なら,訓練データを綺麗にすることにお⾦を かけるのはコスパが悪い?
13 実験1: 分析2 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 訓練データ中のノイズのある事例のみに おける性能の変化
⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? • 実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? •
Few-shot learningにおける提案⼿法と評価 14
実験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
実験2: 分析1 • 事前学習済みのBERTは忘却の起こる割合が少ない →事前学習は重要な情報を維持することに有効 • 画像処理では忘却の割合がモデル構造に⾮依存であるこ とが知られているが,⾔語処理ではモデル構造への依存 が⼤きい →(私⾒)単純にLSTMが⼤規模化に適さないのでは?
16
実験2: 分析2 • ラベルノイズを与えると実験1と同様の結果が得られる – Fittingでクリーンなデータを学習 – SettlingではFirst Learning Eventは起こらない
– Memorizationでノイズを学習 17 First Learning Eventsの発⽣率
⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? • 実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? –
あるクラスの訓練データを𝑁個に制限する(𝑁 = 0~200) • Few-shot learningにおける提案⼿法と評価 18
実験3: 分析1 • 訓練データの性能は下がらないが,開発データの性能は⼤ きく下がる →データ量は汎化性能を上げるために重要 • データ量が少ないほど初期に記憶される →(私⾒)と⾔うより,データ量が少ないとノイズとして 認識され,珍しいノイズほど初期に記憶する?
19 CoNLL03でLOCを削減したときの LOCクラスのfirst learning eventの分布 CoNLL03でLOCを削減したときの 学習過程 ※濃い線ほどデータが少ない学習(N=5~95)
実験3: 分析2 • クラスの学習にはCoNLL03で25~100データ,JNLPBAで 50データ以上が必要 20 CoNLL03でMISC, LOCをそれぞれ削減した ときの削減ラベル・全体に対する性能 JNLPBAでMISC,
LOCをそれぞれ削減した ときの削減ラベル・全体に対する性能
⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? • 実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? •
Few-shot learningにおける提案⼿法と評価 21
提案⼿法・ProtoBERT 訓練1 • Few-shot learningの⼿法として⼀般的なPrototypical NetworkをBERTと組み合わせるProtoBERTを提案 • 訓練時は,各クラスからsupport example 𝑆!
とquery example 𝑄! をサンプリングしてmini-batchとする – イメージ:(通常はモデルパラメータの)クラス⾏列を supportを使って都度計算 – イメージ:queryの分類確率を計算し,正しく分類するように学習 (つまり,queryが普通の訓練データの役割) 22
提案⼿法・ProtoBERT 訓練2 • クラス𝑘のsupport example 𝑥" の表現𝑓(𝑥" )のクラス平均を クラスベクトル𝑐! とする
• query表現𝑓(𝑥)とクラスベクトル𝑐! の距離× −1 をlogitとし, Cross-Entropy Lossで学習 23
提案⼿法・ProtoBERT 推論 • 訓練終了時に訓練データ全体をsupportとして再度 クラスベクトルを計算 – 計算量削減のために訓練中のクラスベクトルの指数移動平均を 使うこともできる(running centroids) •
評価データをqueryとして分類確率を計算,出⼒する 24
評価結果・低リソース設定 • 低リソース設定においてProtoBERTは通常のBERTを上回る • 少数クラスのデータが増えるにつれBERTに追いつかれ, BERTを下回るようになる – (私⾒)スケールが⼤きいのでかなり負けている? 25 CoNLL03でMISCとLOCを削減したときの
全開発データにおける評価結果. CoNLL03でMISCとLOCを削減したときの 同クラスにおける評価結果.
評価結果・全データで訓練した場合 • 全データで訓練・評価した場合も通常のBERTと同程度の 性能を発揮 – (私⾒)前⾴の結果と反する?最後には追いつくということ? • 評価データに低頻度entityが多いWNUT17では 全データでもBERTを上回る •
計算量の⼩さいrunning centroids(クラスベクトルが 訓練中の指数移動平均)でも僅かに下がるだけ 26
まとめ • BERTのFine-Tuningの学習過程を分析することで, 汎化・記憶がどのように起こるのかを分析し, 以下の事項を発⾒した – Fine-Tuningには3つの段階(Fitting, Settling, Memorization)がある –
Settling中に⽌められればBERTはラベルノイズにロバスト – 事前学習済みのBERTは知識忘却を他のモデルに⽐べて起こさない – BERTは少数クラスの分類に弱い – ProtoBERTは低リソースの設定でBERTを上回り,全データの 設定でも⼀部のデータセットではBERTを上回る • (私⾒)知⾒として⾯⽩いが,⼀般的な現象なのかは疑問 – NER以外のタスク? – ラベル⼊れ替え以外のノイズ? 27
28
SettlingはResNetでは現れない 29
Settlingは事前学習済みモデルにのみ現れる 30
Forgettable Examplesの実例 31
ノイズ検知器としてのBERT • サンプルごとにLoss(epochを次元としてベクトル化?)を k-meansでクラスタリングするだけでノイズ検知器となる 32
ノイズ検知器としてのBERT • 4epoch訓練したBERTを使って閾値を最適化するだけで ノイズ検知器となる – 𝑥はサンプルレベルのLoss – 𝜇!(#) は正(負)例の平均 •
少量の例外以外は分類可能 – 例外はSettling以前に記憶できていない(いる)データと思われる 33