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
2.1k
論文紹介:What Learning Algorithm is In-Context Learning?Investigation with Linear Models
kosuken
0
890
Other Decks in Research
See All in Research
ナレッジプロデューサーとしてのミドルマネージャー支援 - MIMIGURI「知識創造室」の事例の考察 -
chiemitaki
0
160
医療支援AI開発における臨床と情報学の連携を円滑に進めるために
moda0
0
140
Leveraging LLMs for Unsupervised Dense Retriever Ranking (SIGIR 2024)
kampersanda
2
280
メタヒューリスティクスに基づく汎用線形整数計画ソルバーの開発
snowberryfield
3
680
湯村研究室の紹介2024 / yumulab2024
yumulab
0
370
論文読み会 KDD2024 | Relevance meets Diversity: A User-Centric Framework for Knowledge Exploration through Recommendations
cocomoff
0
140
Poster: Feasibility of Runtime-Neutral Wasm Instrumentation for Edge-Cloud Workload Handover
chikuwait
0
280
[輪講] Transformer Layers as Painters
nk35jk
4
580
PetiteSRE_GenAIEraにおけるインフラのあり方観察
ichichi
0
240
地理空間情報と自然言語処理:「地球の歩き方旅行記データセット」の高付加価値化を通じて
hiroki13
1
160
「熊本県内バス・電車無料デー」の振り返りとその後の展開@土木計画学SS:成功失敗事例に学ぶ公共交通運賃設定
trafficbrain
0
120
20240918 交通くまもとーく 未来の鉄道網編(こねくま)
trafficbrain
0
400
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Docker and Python
trallard
43
3.2k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
We Have a Design System, Now What?
morganepeng
51
7.3k
Documentation Writing (for coders)
carmenintech
67
4.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
4 Signs Your Business is Dying
shpigford
182
22k
Being A Developer After 40
akosma
89
590k
Designing for humans not robots
tammielis
250
25k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
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