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
880
Other Decks in Research
See All in Research
打率7割を実現する、プロダクトディスカバリーの7つの極意(pmconf2024)
geshi0820
0
130
第 2 部 11 章「大規模言語モデルの研究開発から実運用に向けて」に向けて / MLOps Book Chapter 11
upura
0
430
Neural Fieldの紹介
nnchiba
1
410
文献紹介:A Multidimensional Framework for Evaluating Lexical Semantic Change with Social Science Applications
a1da4
1
230
尺度開発における質的研究アプローチ(自主企画シンポジウム7:認知行動療法における尺度開発のこれから)
litalicolab
0
360
12
0325
0
200
Human-Informed Machine Learning Models and Interactions
hiromu1996
2
520
秘伝:脆弱性診断をうまく活用してセキュリティを確保するには
okdt
PRO
4
770
システムから変える 自分と世界を変えるシステムチェンジの方法論 / Systems Change Approaches
dmattsun
3
900
言語処理学会30周年記念事業留学支援交流会@YANS2024:「学生のための短期留学」
a1da4
1
260
Language is primarily a tool for communication rather than thought
ryou0634
4
790
Introducing Research Units of Matsuo-Iwasawa Laboratory
matsuolab
0
1.3k
Featured
See All Featured
It's Worth the Effort
3n
183
28k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Designing for Performance
lara
604
68k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Mobile First: as difficult as doing things right
swwweet
222
9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
How to Ace a Technical Interview
jacobian
276
23k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
BBQ
matthewcrist
85
9.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Unsuck your backbone
ammeep
669
57k
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