Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? • 実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? • Few-shot learningにおける提案⼿法と評価 7

Slide 8

Slide 8 text

導⼊ • BERTに代表される事前学習済み⾔語モデルが 何を学習しているのかについて,過去に分析がされてきた – 関係知識,⾔語知識,etc. • しかし,⾔語モデルがどのように知識を学習するのかに ついては知⾒が少ない • Fine-Tuningではデータに共通のパターンを発⾒する汎化が 重要である⼀⽅,低頻度な事例を記憶することも重要 • BERTのFine-Tuningの学習過程を分析することで, 汎化・記憶がどのように起こるのかを分析した 8

Slide 9

Slide 9 text

実験設定1 • 固有表現認識(NER)で分析 – structured predictionの評価として⼀般的 – label imbalanceが存在するため,今回の分析に適切 – (私⾒)別にテキスト分類でもよかったのでは? • 以下の2つの⼿段でモデルが個々のデータを記憶する 能⼒を分析 – 𝑥%の訓練データのラベルを⼊れ替える(𝑥 = 0~50.実験1) – あるクラスの訓練データを𝑁個に制限する(𝑁 = 0~200.実験3) 9

Slide 10

Slide 10 text

実験設定2 • データセット – CoNLL03: NERで標準的なデータセット – JNLPBA: Bio-NERで標準的なデータセット (付録⾏きの結果は本発表では割愛) – WNUT17: テスト時に低頻度なentityが多く現れるデータセット (付録⾏きの結果は本発表では割愛) • モデル – BERT-base – RoBERTa(BERTと同じ傾向のため本発表では割愛) – DeBERTa(BERTと同じ傾向のため本発表では割愛) – bi-LSTM-CRF(10層・300次元単語ベクトル+50次元⽂字ベクト ル.総パラメータ数30M.実験2のみ) 10

Slide 11

Slide 11 text

⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? – 𝑥%の訓練データのラベルを⼊れ替える(𝑥 = 0~50) • 実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? • Few-shot learningにおける提案⼿法と評価 11

Slide 12

Slide 12 text

実験1: 分析1 • Fine-Tuningに3つの段階(Fitting, Settling, Memorization) があることを明らかにした – 特にSettlingの発⾒が貢献.事前学習済みResNetにもSettlingは存在 するが,BERTはSettlingが⻑いのが特徴 – Settlingが⻑いので,厳密なEarly StoppingはBERTには不要かつ Settling中で⽌められるならBERTはラベルノイズに対してロバスト – ノイズがなければEpochが⼤きくても性能は維持される 12 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 訓練データ中のノイズのある事例のみに おける性能の変化

Slide 13

Slide 13 text

• ラベルノイズはMemorizationで初めて学習される – Settling中はノイズのあるデータは誤分類する – ノイズからはパターンを学習できないので,Memorization中に 何回も事例を⾒ることで徐々に丸暗記していく • (私⾒)なら,訓練データを綺麗にすることにお⾦を かけるのはコスパが悪い? 13 実験1: 分析2 訓練データ(ノイズあり)と開発データ (ノイズなし)における性能の変化 訓練データ中のノイズのある事例のみに おける性能の変化

Slide 14

Slide 14 text

⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? • 実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? • Few-shot learningにおける提案⼿法と評価 14

Slide 15

Slide 15 text

実験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

Slide 16

Slide 16 text

実験2: 分析1 • 事前学習済みのBERTは忘却の起こる割合が少ない →事前学習は重要な情報を維持することに有効 • 画像処理では忘却の割合がモデル構造に⾮依存であるこ とが知られているが,⾔語処理ではモデル構造への依存 が⼤きい →(私⾒)単純にLSTMが⼤規模化に適さないのでは? 16

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? • 実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? – あるクラスの訓練データを𝑁個に制限する(𝑁 = 0~200) • Few-shot learningにおける提案⼿法と評価 18

Slide 19

Slide 19 text

実験3: 分析1 • 訓練データの性能は下がらないが,開発データの性能は⼤ きく下がる →データ量は汎化性能を上げるために重要 • データ量が少ないほど初期に記憶される →(私⾒)と⾔うより,データ量が少ないとノイズとして 認識され,珍しいノイズほど初期に記憶する? 19 CoNLL03でLOCを削減したときの LOCクラスのfirst learning eventの分布 CoNLL03でLOCを削減したときの 学習過程 ※濃い線ほどデータが少ない学習(N=5~95)

Slide 20

Slide 20 text

実験3: 分析2 • クラスの学習にはCoNLL03で25~100データ,JNLPBAで 50データ以上が必要 20 CoNLL03でMISC, LOCをそれぞれ削減した ときの削減ラベル・全体に対する性能 JNLPBAでMISC, LOCをそれぞれ削減した ときの削減ラベル・全体に対する性能

Slide 21

Slide 21 text

⽬次 • 導⼊ • 実験1:ノイズ下の設定でどのように汎化・記憶が進むか? • 実験2:データの記憶と忘却はどのように起こるか? • 実験3:少数クラスを記憶できるか? • Few-shot learningにおける提案⼿法と評価 21

Slide 22

Slide 22 text

提案⼿法・ProtoBERT 訓練1 • Few-shot learningの⼿法として⼀般的なPrototypical NetworkをBERTと組み合わせるProtoBERTを提案 • 訓練時は,各クラスからsupport example 𝑆! とquery example 𝑄! をサンプリングしてmini-batchとする – イメージ:(通常はモデルパラメータの)クラス⾏列を supportを使って都度計算 – イメージ:queryの分類確率を計算し,正しく分類するように学習 (つまり,queryが普通の訓練データの役割) 22

Slide 23

Slide 23 text

提案⼿法・ProtoBERT 訓練2 • クラス𝑘のsupport example 𝑥" の表現𝑓(𝑥" )のクラス平均を クラスベクトル𝑐! とする • query表現𝑓(𝑥)とクラスベクトル𝑐! の距離× −1 をlogitとし, Cross-Entropy Lossで学習 23

Slide 24

Slide 24 text

提案⼿法・ProtoBERT 推論 • 訓練終了時に訓練データ全体をsupportとして再度 クラスベクトルを計算 – 計算量削減のために訓練中のクラスベクトルの指数移動平均を 使うこともできる(running centroids) • 評価データをqueryとして分類確率を計算,出⼒する 24

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

評価結果・全データで訓練した場合 • 全データで訓練・評価した場合も通常のBERTと同程度の 性能を発揮 – (私⾒)前⾴の結果と反する?最後には追いつくということ? • 評価データに低頻度entityが多いWNUT17では 全データでもBERTを上回る • 計算量の⼩さいrunning centroids(クラスベクトルが 訓練中の指数移動平均)でも僅かに下がるだけ 26

Slide 27

Slide 27 text

まとめ • BERTのFine-Tuningの学習過程を分析することで, 汎化・記憶がどのように起こるのかを分析し, 以下の事項を発⾒した – Fine-Tuningには3つの段階(Fitting, Settling, Memorization)がある – Settling中に⽌められればBERTはラベルノイズにロバスト – 事前学習済みのBERTは知識忘却を他のモデルに⽐べて起こさない – BERTは少数クラスの分類に弱い – ProtoBERTは低リソースの設定でBERTを上回り,全データの 設定でも⼀部のデータセットではBERTを上回る • (私⾒)知⾒として⾯⽩いが,⼀般的な現象なのかは疑問 – NER以外のタスク? – ラベル⼊れ替え以外のノイズ? 27

Slide 28

Slide 28 text

28

Slide 29

Slide 29 text

SettlingはResNetでは現れない 29

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

Forgettable Examplesの実例 31

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

ノイズ検知器としてのBERT • 4epoch訓練したBERTを使って閾値を最適化するだけで ノイズ検知器となる – 𝑥はサンプルレベルのLoss – 𝜇!(#) は正(負)例の平均 • 少量の例外以外は分類可能 – 例外はSettling以前に記憶できていない(いる)データと思われる 33